From: Alan Cox Date: Thu, 20 Oct 2016 16:46:57 +0000 (+0100) Subject: 68000: add a sort of vdso over the headers X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=93d8b70bf55f73d3a902ff8f88af4ffab0f37e6f;p=FUZIX.git 68000: add a sort of vdso over the headers This lets us change the trap# and the like if we make syscalls call the stub handler, and also lets us put the signal unwinder somewhere useful Experimenting for now --- diff --git a/Kernel/include/kernel32.h b/Kernel/include/kernel32.h index e1c6924a..2b9cf7a8 100644 --- a/Kernel/include/kernel32.h +++ b/Kernel/include/kernel32.h @@ -20,5 +20,6 @@ extern uaddr_t pagemap_base(void); extern uint32_t ugetl(void *uaddr, int *err); extern int uputl(uint32_t val, void *uaddr); +extern void install_vdso(void); #endif diff --git a/Kernel/platform-v68/main.c b/Kernel/platform-v68/main.c index 4afbb190..7b7e84e8 100644 --- a/Kernel/platform-v68/main.c +++ b/Kernel/platform-v68/main.c @@ -59,3 +59,12 @@ arg_t _memfree(void) /* Live udata and kernel stack */ u_block udata_block; uint16_t irqstack[128]; /* Used for swapping only */ + +/* This will belong in the core 68K code once finalized */ + +void install_vdso(void) +{ + extern uint8_t *vdso; + /* Should be uput etc */ + memcpy((void *)udata.u_codebase, vdso, 0x40); +}