@@ -14,17 +14,18 @@ use x86_64::{PhysAddr, VirtAddr};
1414// Reminder of the memory layout (documented in more
1515// detail in README.md):
1616//
17- // | Region | Start address | Last address |
18- // | ------------------- | --------------------- | --------------------- |
19- // | NULL page | 0x0 | 0x1f_ffff |
20- // | Userspace | 0x20_0000 | 0x7fff_ffff_ffff |
21- // | Kernel binary | 0xffff_8000_0000_0000 | 0xffff_8000_3fff_ffff |
22- // | Bootloader info | 0xffff_8000_4000_0000 | 0xffff_8000_4000_0fff |
23- // | Kernel heap | 0xffff_8000_4444_0000 | 0xffff_8000_444b_ffff |
24- // | Kernel stack guard | 0xffff_8000_5554_f000 | 0xffff_8000_5554_ffff |
25- // | Kernel stack | 0xffff_8000_5555_0000 | 0xffff_8000_555c_ffff |
26- // | MMIO address space | 0xffff_8000_6666_0000 | 0xffff_8000_6675_ffff |
27- // | Physical memory map | 0xffff_8000_8000_0000 | 0xffff_ffff_ffff_ffff |
17+ // | Region | Start address | Last address |
18+ // | -------------------- | --------------------- | --------------------- |
19+ // | NULL page | 0x0 | 0x1f_ffff |
20+ // | Userspace | 0x20_0000 | 0x7fff_ffff_ffff |
21+ // | Kernel binary | 0xffff_8000_0000_0000 | 0xffff_8000_3fff_ffff |
22+ // | Bootloader info | 0xffff_8000_4000_0000 | 0xffff_8000_4000_0fff |
23+ // | Kernel heap | 0xffff_8000_4444_0000 | 0xffff_8000_444b_ffff |
24+ // | Kernel stack 0 guard | 0xffff_8000_5554_f000 | 0xffff_8000_5554_ffff |
25+ // | Kernel stack 0 | 0xffff_8000_5555_0000 | 0xffff_8000_555c_ffff |
26+ // | Kernel stacks 1+ | 0xffff_8000_555d_0000 | 0xffff_8000_5d5c_ffff |
27+ // | MMIO address space | 0xffff_8000_6666_0000 | 0xffff_8000_6675_ffff |
28+ // | Physical memory map | 0xffff_8000_8000_0000 | 0xffff_ffff_ffff_ffff |
2829
2930/// NULL_PAGE is reserved and always unmapped to ensure that null pointer
3031/// dereferences always result in a page fault.
@@ -75,8 +76,9 @@ const KERNEL_STACK_GUARD_END: VirtAddr = const_virt_addr(0xffff_8000_5554_ffff a
7576/// the end address.
7677///
7778pub const KERNEL_STACK : VirtAddrRange = VirtAddrRange :: new ( KERNEL_STACK_END , KERNEL_STACK_START ) ;
78- const KERNEL_STACK_START : VirtAddr = const_virt_addr ( 0xffff_8000_555c_ffff as u64 ) ;
79+ const KERNEL_STACK_START : VirtAddr = const_virt_addr ( 0xffff_8000_5d5c_ffff as u64 ) ;
7980const KERNEL_STACK_END : VirtAddr = const_virt_addr ( 0xffff_8000_5555_0000 as u64 ) ;
81+ pub const KERNEL_STACK_1_START : VirtAddr = const_virt_addr ( 0xffff_8000_555d_0000 as u64 ) ;
8082
8183/// MMIO_SPACE is the virtual address space used for accessing
8284/// hardware devices via memory mapped I/O.
0 commit comments