diff options
-rw-r--r-- | main.c | 2 | ||||
-rw-r--r-- | memlayout.h | 2 |
2 files changed, 2 insertions, 2 deletions
@@ -83,7 +83,7 @@ startothers(void) // is running in low memory, so we use entrypgdir for the APs too. stack = kalloc(); *(void**)(code-4) = stack + KSTACKSIZE; - *(void**)(code-8) = mpenter; + *(void(**)(void))(code-8) = mpenter; *(int**)(code-12) = (void *) V2P(entrypgdir); lapicstartap(c->apicid, V2P(code)); diff --git a/memlayout.h b/memlayout.h index 70c1968..d1615f7 100644 --- a/memlayout.h +++ b/memlayout.h @@ -9,7 +9,7 @@ #define KERNLINK (KERNBASE+EXTMEM) // Address where kernel is linked #define V2P(a) (((uint) (a)) - KERNBASE) -#define P2V(a) (((void *) (a)) + KERNBASE) +#define P2V(a) ((void *)(((char *) (a)) + KERNBASE)) #define V2P_WO(x) ((x) - KERNBASE) // same as V2P, but without casts #define P2V_WO(x) ((x) + KERNBASE) // same as P2V, but without casts |