9os

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 30632e47ec860fdd6711174f07df248c5ba2f80b
parent 48ac9f3a650b85264c38cd060a4b9db8bd595e1d
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Wed, 16 Sep 2020 20:19:32 +0200

kernel: Get rid of const poison

This const poison was added because in the old times
of rcode was necessary to allocate some data structures
in the read only section that could be joined with
text segment and avoid data segment, which was not
accesible in rcode.

Change-Id: Ib94bb0be157440b3bdb6da6c22cf12b8d7291a6d

Diffstat:
Minclude/9os/io.h | 6+++---
Msrc/kernel/dev/dev.c | 28++++++++++++++--------------
Msrc/kernel/dev/dev.h | 20++++++++++----------
Msrc/kernel/dev/devar.c | 6+++---
Msrc/kernel/dev/devblk.c | 6+++---
Msrc/kernel/dev/devcons.c | 6+++---
Msrc/kernel/dev/devfip.c | 14+++++++-------
Msrc/kernel/dev/devproc.c | 16++++++++--------
Msrc/kernel/dev/devroot.c | 14+++++++-------
Msrc/kernel/dev/devuart.c | 6+++---
Msrc/kernel/dev/dummyblk.c | 2+-
Msrc/kernel/dev/dummyuart.c | 2+-
Msrc/kernel/dev/mkblobh | 2+-
Msrc/kernel/dev/pl011.c | 2+-
Msrc/lib9p/opendir.c | 2+-
15 files changed, 66 insertions(+), 66 deletions(-)

diff --git a/include/9os/io.h b/include/9os/io.h @@ -53,15 +53,15 @@ typedef struct { extern int dirtop9(Dir *dp, unsigned char *buf, int n); extern int p9todir(Dir *dp, unsigned char *buf, int n); -extern DIR *opendir(const char *name); +extern DIR *opendir(char *name); extern int readdir(DIR *dir, struct dirent *ent); extern int closedir(DIR *dir); extern int dirstat(char *name, Dir *dir); /* driver functions */ extern int mount(char *srv, char *mnt, char *spec); -extern int create(const char *name, int flags); -extern int open(const char *name, int flags); +extern int create(char *name, int flags); +extern int open(char *name, int flags); extern int close(int fd); extern int read(int fd, void *buf, int n); extern int write(int fd, void *buf, int n); diff --git a/src/kernel/dev/dev.c b/src/kernel/dev/dev.c @@ -111,11 +111,11 @@ err: return 0; } -static const char * -next(const char *s, char *elem) +static char * +next(char *s, char *elem) { int n; - const char *t; + char *t; while (*s == '/') ++s; @@ -140,7 +140,7 @@ static int devtype(int c) { int i; - Dev * const *dp; + Dev **dp; for (i = 0, dp = devtab; *dp && (*dp)->id != c; ++dp) i++; @@ -219,10 +219,10 @@ devattach(int id, int dev) } Chan * -namec(const char *name, int mode) +namec(char *name, int mode) { int n, i; - const char *s; + char *s; Chan *mnt, *c; char el[NAMELEN]; @@ -296,7 +296,7 @@ devclone(Chan *c, Chan *nc) } int -devwalk(Chan *c, const char *name, const Dirtab *tab, int ntab, Devgen *gen) +devwalk(Chan *c, char *name, Dirtab *tab, int ntab, Devgen *gen) { int i; Dir dir; @@ -321,7 +321,7 @@ devwalk(Chan *c, const char *name, const Dirtab *tab, int ntab, Devgen *gen) int dirread(Chan *c, unsigned char *buf, int nbytes, - const Dirtab *tab, int ntab, + Dirtab *tab, int ntab, Devgen *gen) { int cnt, i, n; @@ -347,7 +347,7 @@ dirread(Chan *c, void mkentry(Chan *c, Dir *dir, - const char *name, long length, Qid qid, unsigned mode) + char *name, long length, Qid qid, unsigned mode) { strcpy(dir->name, name); dir->length = length; @@ -360,9 +360,9 @@ mkentry(Chan *c, Dir *dir, } int -devgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) +devgen(Chan *c, Dirtab *tab, int ntab, int n, Dir *dir) { - const Dirtab *dp; + Dirtab *dp; if (!tab || n >= ntab) return 0; @@ -373,7 +373,7 @@ devgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) } int -open(const char *fname, int mode) +open(char *fname, int mode) { Chan *c; int r; @@ -403,7 +403,7 @@ close(int fd) int devstat(Chan *dirc, char *file, unsigned char *buf, int n, - const Dirtab *tab, int ntab, + Dirtab *tab, int ntab, Devgen *gen) { int i, r = -1; @@ -554,7 +554,7 @@ void sync(void) { Chan *c; - Dev * const *dp; + Dev **dp; for (dp = devtab; *dp; ++dp) { c = attach((*dp)->id, 0); diff --git a/src/kernel/dev/dev.h b/src/kernel/dev/dev.h @@ -14,7 +14,7 @@ typedef struct dev Dev; typedef struct chan Chan; typedef struct dirtab Dirtab; -typedef int Devgen(Chan *, const Dirtab *, int, int, Dir *); +typedef int Devgen(Chan *, Dirtab *, int, int, Dir *); typedef struct attr Attr; struct dirtab { @@ -28,7 +28,7 @@ struct dirtab { struct dev { char id; int (*stat)(Chan *c, char *file, unsigned char *buf, int n); - int (*walk)(Chan *c, const char *name); + int (*walk)(Chan *c, char *name); int (*read)(Chan *c, void *buf, int n); int (*write)(Chan *c, void *buf, int n); int (*seek)(Chan *c, long off, int whence); @@ -53,7 +53,7 @@ struct attr { }; extern int sameqid(Qid q1, Qid qid2); -extern Chan *namec(const char *name, int mode); +extern Chan *namec(char *name, int mode); extern Chan *clone(Chan *c, Chan *nc); extern Chan *attach(int id, int dev); extern Chan *newchan(unsigned char type); @@ -62,7 +62,7 @@ extern int buf2chan(Chan *c, void *dst, void *src, int nbytes, long len); extern void mkentry(Chan *c, Dir *dir, - const char *name, + char *name, long length, Qid qid, unsigned mode); extern void devlink(void); @@ -71,25 +71,25 @@ extern int devseek(Chan *c, long off, int whence); extern int devsync(Chan *c, int what); extern Chan *devclone(Chan *c, Chan *nc); extern int devgen(Chan *c, - const Dirtab *tab, int ntab, + Dirtab *tab, int ntab, int n, Dir *dir); extern int devwalk(Chan *c, - const char *name, - const Dirtab *tab, int ntab, + char *name, + Dirtab *tab, int ntab, Devgen *gen); extern int dirread(Chan *c, unsigned char *buf, int nbytes, - const Dirtab *tab, int ntab, + Dirtab *tab, int ntab, Devgen *gen); int extern devstat(Chan *dirc, char *file, unsigned char *buf, int n, - const Dirtab *tab, int ntab, + Dirtab *tab, int ntab, Devgen *gen); extern Chan *deverrmount(Chan *c, char *spec); extern int deverrwrite(Chan *c, void *buf, int n); extern int deverrseek(Chan *c, long off, int whence); -extern Dev *const devtab[]; +extern Dev *devtab[]; diff --git a/src/kernel/dev/devar.c b/src/kernel/dev/devar.c @@ -61,7 +61,7 @@ gethdr(Chan *c, struct ar_hdr *hdr) } static int -argen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) +argen(Chan *c, Dirtab *tab, int ntab, int n, Dir *dir) { int i, r, len; long off; @@ -98,7 +98,7 @@ argen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) } static int -arwalk(Chan *c, const char *name) +arwalk(Chan *c, char *name) { return devwalk(c, name, NULL, 0, argen); } @@ -210,7 +210,7 @@ err: return NULL; } -const Dev ardevtab = { +Dev ardevtab = { .id = 'R', .stat = arstat, .clone = devclone, diff --git a/src/kernel/dev/devblk.c b/src/kernel/dev/devblk.c @@ -38,7 +38,7 @@ struct buffer { static char buffers[NR_BUFFERS][BLKSIZ]; static Buffer bcache[NR_BUFFERS]; -static const Dirtab dirtab[] = { +static Dirtab dirtab[] = { {"raw", QID(CHFILE, 0, Qraw), 0, O_READ | O_WRITE}, {"ctl", QID(CHFILE, 0, Qctl), 0, O_READ | O_WRITE} }; @@ -47,7 +47,7 @@ static Blk *blks[NR_BLKS]; static int nblks; static int -blkwalk(Chan *c, const char *name) +blkwalk(Chan *c, char *name) { return devwalk(c, name, dirtab, NELEM(dirtab), devgen); } @@ -287,7 +287,7 @@ blklink(Blkphy *phy, Attr *attr) (*phy->init)(dev, attr); } -const Dev blkdevtab = { +Dev blkdevtab = { .id = 'b', .stat = blkstat, .clone = devclone, diff --git a/src/kernel/dev/devcons.c b/src/kernel/dev/devcons.c @@ -30,7 +30,7 @@ struct conscmd { static struct conscmd cmds[]; -static const Dirtab dirtab[] = { +static Dirtab dirtab[] = { {"raw", QID(CHFILE, 0, Qraw), 0, O_READ | O_WRITE}, {"ctl", QID(CHFILE, 0, Qctl), 0, O_READ | O_WRITE} }; @@ -46,7 +46,7 @@ static int tail; static int cookedf, echof; static int -conswalk(Chan *c, const char *name) +conswalk(Chan *c, char *name) { return devwalk(c, name, dirtab, NELEM(dirtab), devgen); } @@ -402,7 +402,7 @@ static struct conscmd cmds[] = { {""} }; -const Dev consdevtab = { +Dev consdevtab = { .id = 'c', .stat = consstat, .clone = devclone, diff --git a/src/kernel/dev/devfip.c b/src/kernel/dev/devfip.c @@ -85,7 +85,7 @@ getntry(Chan *c, struct fipntry *ntry) } static int -uuideq(const struct fipuuid *u1, const struct fipuuid *u2) +uuideq(struct fipuuid *u1, struct fipuuid *u2) { if (u1->clock_seq_hi_and_reserved != u2->clock_seq_hi_and_reserved) return 0; @@ -103,7 +103,7 @@ uuideq(const struct fipuuid *u1, const struct fipuuid *u2) } static int -fipgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) +fipgen(Chan *c, Dirtab *tab, int ntab, int n, Dir *dir) { int i, r; long off; @@ -113,12 +113,12 @@ fipgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) static char unk[NAMELEN]; struct uuidnames { - const char name[NAMELEN]; - const struct fipuuid uuid; + char name[NAMELEN]; + struct fipuuid uuid; }; // TODO: generate this array from a text file - static const struct uuidnames uuidnames[] = { + static struct uuidnames uuidnames[] = { {"scp-bl2u.bin", UUID_TRUSTED_UPDATE_FIRMWARE_SCP_BL2U}, {"bl2u.bin", UUID_TRUSTED_UPDATE_FIRMWARE_BL2U}, {"ns-bl2u.bin", UUID_TRUSTED_UPDATE_FIRMWARE_NS_BL2U}, @@ -185,7 +185,7 @@ fipgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) } static int -fipwalk(Chan *c, const char *name) +fipwalk(Chan *c, char *name) { return devwalk(c, name, NULL, 0, fipgen); } @@ -294,7 +294,7 @@ err: return NULL; } -const Dev fipdevtab = { +Dev fipdevtab = { .id = 'F', .stat = fipstat, .clone = devclone, diff --git a/src/kernel/dev/devproc.c b/src/kernel/dev/devproc.c @@ -25,18 +25,18 @@ enum procqid { Qtaskstatus, }; -static const Dirtab procdirtab[] = { +static Dirtab procdirtab[] = { {"attr", QID(CHFILE, 0, Qprocattr), 0, O_READ}, {"status", QID(CHFILE, 0, Qprocstatus), 0, O_READ}, }; -static const Dirtab tasktab[] = { +static Dirtab tasktab[] = { {"attr", QID(CHFILE, 0, Qtaskattr), 0, O_READ}, {"status", QID(CHFILE, 0, Qtaskstatus), 0, O_READ}, }; static int -procfsgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) +procfsgen(Chan *c, Dirtab *tab, int ntab, int n, Dir *dir) { Proc *p; char nam[NAMELEN]; @@ -54,7 +54,7 @@ procfsgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) } static int -procdirgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) +procdirgen(Chan *c, Dirtab *tab, int ntab, int n, Dir *dir) { Proc *pp; Task *tp; @@ -84,7 +84,7 @@ procdirgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) } static int -taskgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) +taskgen(Chan *c, Dirtab *tab, int ntab, int n, Dir *dir) { int pid = PROC(c->qid); int tid = TASK(c->qid); @@ -97,7 +97,7 @@ taskgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) } static int -procgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) +procgen(Chan *c, Dirtab *tab, int ntab, int n, Dir *dir) { switch (TYPE(c->qid)) { case Qprocfs: @@ -112,7 +112,7 @@ procgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) } static int -procwalk(Chan *c, const char *name) +procwalk(Chan *c, char *name) { return devwalk(c, name, NULL, 0, procgen); } @@ -290,7 +290,7 @@ procstat(Chan *c, char *file, unsigned char *buf, int n) return devstat(c, file, buf, n, NULL, 0, procgen); } -const Dev procdevtab = { +Dev procdevtab = { .id = 'p', .stat = procstat, .clone = devclone, diff --git a/src/kernel/dev/devroot.c b/src/kernel/dev/devroot.c @@ -23,7 +23,7 @@ enum Orootqid { #include "blobfil.h" #include "blobs.h" -static const Dirtab dirtab[] = { +static Dirtab dirtab[] = { {"dev", QID(CHDIR, 0, Qdev), 0, O_READ}, {"blobs", QID(CHDIR, 0, Qblobs), 0, O_READ}, {"arfs", QID(CHDIR, 0, Qarfs), 0, O_READ}, @@ -31,7 +31,7 @@ static const Dirtab dirtab[] = { {"proc", QID(CHDIR, 0, Qproc), 0, O_READ}, }; -static const Dirtab devfstab[] = { +static Dirtab devfstab[] = { {"uart0", QID(CHDIR, 0, Qdevuart0), 0, O_READ}, {"uart1", QID(CHDIR, 0, Qdevuart1), 0, O_READ}, {"uart2", QID(CHDIR, 0, Qdevuart2), 0, O_READ}, @@ -41,7 +41,7 @@ static const Dirtab devfstab[] = { }; static int -rootgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) +rootgen(Chan *c, Dirtab *tab, int ntab, int n, Dir *dir) { switch (c->qid.path) { case Qroot: @@ -64,7 +64,7 @@ rootgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir) } static int -rootwalk(Chan *c, const char *name) +rootwalk(Chan *c, char *name) { return devwalk(c, name, NULL, 0, rootgen); } @@ -73,7 +73,7 @@ static int blobstatus(Chan *c, void *buf, int n) { int i, len; - const Dirtab *dp; + Dirtab *dp; char info[NELEM(blobtab) * (NAMELEN + 20)]; len = 0; @@ -95,7 +95,7 @@ blobstatus(Chan *c, void *buf, int n) static int rootread(Chan *c, void *buf, int n) { - const Dirtab *dp; + Dirtab *dp; if (c->qid.type == CHDIR) return dirread(c, buf, n, NULL, 0, rootgen); @@ -113,7 +113,7 @@ rootstat(Chan *c, char *file, unsigned char *buf, int n) return devstat(c, file, buf, n, NULL, 0, rootgen); } -const Dev rootdevtab = { +Dev rootdevtab = { .id = '/', .stat = rootstat, .clone = devclone, diff --git a/src/kernel/dev/devuart.c b/src/kernel/dev/devuart.c @@ -18,7 +18,7 @@ enum Ouartqid { Qctl, }; -static const Dirtab dirtab[] = { +static Dirtab dirtab[] = { {"raw", QID(CHFILE, 0, Qraw), 0, O_READ | O_WRITE}, {"ctl", QID(CHFILE, 0, Qctl), 0, O_READ | O_WRITE} }; @@ -27,7 +27,7 @@ static Uart *uarts[NR_UARTS]; static int nuarts; static int -uartwalk(Chan *c, const char *name) +uartwalk(Chan *c, char *name) { return devwalk(c, name, dirtab, NELEM(dirtab), devgen); } @@ -245,7 +245,7 @@ uartlink(Uartphy *phy, Attr *attr) panic("uartlink2"); } -const Dev uartdevtab = { +Dev uartdevtab = { .id = 't', .stat = uartstat, .clone = devclone, diff --git a/src/kernel/dev/dummyblk.c b/src/kernel/dev/dummyblk.c @@ -44,7 +44,7 @@ dummyblkbwrite(Blk *dev, long blkno, void *buf) return _write(fd, buf, BLKSIZ); } -const Blkphy dummyblkphy = { +Blkphy dummyblkphy = { .init = dummyblkinit, .bread = dummyblkbread, .bwrite = dummyblkbwrite diff --git a/src/kernel/dev/dummyuart.c b/src/kernel/dev/dummyuart.c @@ -78,7 +78,7 @@ dummyuartstatus(Uart *up, struct uartstat *st) return 0; } -const Uartphy dummyuartphy = { +Uartphy dummyuartphy = { .init = dummyuartinit, .setbauds = setbauds, .read = dummyuartread, diff --git a/src/kernel/dev/mkblobh b/src/kernel/dev/mkblobh @@ -14,7 +14,7 @@ END {mkblob()} function mkblob() { - printf "static const Dirtab blobtab[] = {\n" + printf "static Dirtab blobtab[] = {\n" printf "\t{\"ctl\", QID(CHFILE, 0, Qblobctl), 0, O_READ},\n" for (file in blob) { if (blobaddr[file]) { diff --git a/src/kernel/dev/pl011.c b/src/kernel/dev/pl011.c @@ -378,7 +378,7 @@ pl011status(Uart *up, struct uartstat *st) return 0; } -const Uartphy pl011phy = { +Uartphy pl011phy = { .init = pl011init, .setbauds = setbauds, .read = pl011read, diff --git a/src/lib9p/opendir.c b/src/lib9p/opendir.c @@ -12,7 +12,7 @@ * return 0 because it is the console fd. */ DIR * -opendir(const char *name) +opendir(char *name) { int fd; DIR *dir;