diff options
| author | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2025-12-28 12:27:31 +0300 |
|---|---|---|
| committer | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2025-12-28 12:27:31 +0300 |
| commit | 78ee7d5717807e6ac779293d0d3c78341de6130a (patch) | |
| tree | a43e3b0f61318ac45e6d907c7cc5bad2c6d7f497 /os/cerf405/devboot.c | |
| parent | bdaf46cf45bbb59261da245d548a179d95a42768 (diff) | |
Move existing boards into subdits split per arch
Diffstat (limited to 'os/cerf405/devboot.c')
| -rw-r--r-- | os/cerf405/devboot.c | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/os/cerf405/devboot.c b/os/cerf405/devboot.c deleted file mode 100644 index 126fe6e6..00000000 --- a/os/cerf405/devboot.c +++ /dev/null @@ -1,132 +0,0 @@ -#include "u.h" -#include "../port/lib.h" -#include "mem.h" -#include "dat.h" -#include "fns.h" -#include "../port/error.h" - -enum{ - Qdir, - Qboot, - Qmem, -}; - -Dirtab bootdir[]={ - ".", {Qdir,0,QTDIR}, 0, 0555, - "boot", {Qboot}, 0, 0666, - "mem", {Qmem}, 0, 0666, -}; - -#define NBOOT (sizeof bootdir/sizeof(Dirtab)) - -static void -bootreset(void) -{ -} - -static Chan* -bootattach(char *spec) -{ - return devattach('B', spec); -} - -static Walkqid* -bootwalk(Chan *c, Chan *nc, char **name, int nname) -{ - return devwalk(c, nc, name, nname, bootdir, NBOOT, devgen); -} - -static int -bootstat(Chan *c, uchar *dp, int n) -{ - return devstat(c, dp, n, bootdir, NBOOT, devgen); -} - -static Chan* -bootopen(Chan *c, int omode) -{ - return devopen(c, omode, bootdir, NBOOT, devgen); -} - -static void -bootclose(Chan*) -{ -} - -static long -bootread(Chan *c, void *buf, long n, vlong off) -{ - ulong offset = off; - - switch((ulong)c->qid.path){ - - case Qdir: - return devdirread(c, buf, n, bootdir, NBOOT, devgen); - - case Qmem: - /* kernel memory */ - if(offset>=KZERO && offset<KZERO+conf.npage*BY2PG){ - if(offset+n > KZERO+conf.npage*BY2PG) - n = KZERO+conf.npage*BY2PG - offset; - memmove(buf, (char*)offset, n); - return n; - } - error(Ebadarg); - } - - error(Egreg); - return 0; /* not reached */ -} - -static long -bootwrite(Chan *c, void *buf, long n, vlong off) -{ - ulong offset = off; - ulong pc; - uchar *p; - - switch((ulong)c->qid.path){ - case Qmem: - /* kernel memory */ - if(offset>=KZERO && offset<KZERO+conf.npage*BY2PG){ - if(offset+n > KZERO+conf.npage*BY2PG) - n = KZERO+conf.npage*BY2PG - offset; - memmove((char*)offset, buf, n); - segflush((void*)offset, n); - return n; - } - error(Ebadarg); - - case Qboot: - p = (uchar*)buf; - pc = (((((p[0]<<8)|p[1])<<8)|p[2])<<8)|p[3]; - if(pc < KZERO || pc >= KZERO+conf.npage*BY2PG) - error(Ebadarg); - splhi(); - segflush((void*)pc, 64*1024); - gotopc(pc); - } - error(Ebadarg); - return 0; /* not reached */ -} - -Dev bootdevtab = { - 'B', - "boot", - - bootreset, - devinit, - devshutdown, - bootattach, - bootwalk, - bootstat, - bootopen, - devcreate, - bootclose, - bootread, - devbread, - bootwrite, - devbwrite, - devremove, - devwstat, -}; |
