diff --git a/sys/amd64/amd64/genassym.c b/sys/amd64/amd64/genassym.c --- a/sys/amd64/amd64/genassym.c +++ b/sys/amd64/amd64/genassym.c @@ -116,6 +116,7 @@ ASSYM(KERNLOAD, KERNLOAD); ASSYM(DMAP_MIN_ADDRESS, DMAP_MIN_ADDRESS); ASSYM(DMAP_MAX_ADDRESS, DMAP_MAX_ADDRESS); +ASSYM(KSTACK_PAGES, KSTACK_PAGES); ASSYM(PCB_R15, offsetof(struct pcb, pcb_r15)); ASSYM(PCB_R14, offsetof(struct pcb, pcb_r14)); diff --git a/sys/amd64/amd64/locore.S b/sys/amd64/amd64/locore.S --- a/sys/amd64/amd64/locore.S +++ b/sys/amd64/amd64/locore.S @@ -48,7 +48,7 @@ .set dmapbase,DMAP_MIN_ADDRESS .set dmapend,DMAP_MAX_ADDRESS -#define BOOTSTACK_SIZE 4096 +#define BOOTSTACK_SIZE (PAGE_SIZE * KSTACK_PAGES) .text /********************************************************************** @@ -148,7 +148,7 @@ ENTRY(la57_trampoline_end) .bss - ALIGN_DATA /* just to be sure */ + .p2align PAGE_SHIFT .globl bootstack .space BOOTSTACK_SIZE /* space for bootstack - temporary stack */ bootstack: