68000: add a sort of vdso over the headers
authorAlan Cox <alan@linux.intel.com>
Thu, 20 Oct 2016 16:46:57 +0000 (17:46 +0100)
committerAlan Cox <alan@linux.intel.com>
Thu, 20 Oct 2016 16:46:57 +0000 (17:46 +0100)
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

Kernel/include/kernel32.h
Kernel/platform-v68/main.c

index e1c6924..2b9cf7a 100644 (file)
@@ -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
index 4afbb19..7b7e84e 100644 (file)
@@ -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);
+}