diff options
-rw-r--r-- | 120allocate.subx | 2 | ||||
-rw-r--r-- | 315stack-debug.subx | 2 | ||||
-rw-r--r-- | boot.subx | 8 |
3 files changed, 6 insertions, 6 deletions
diff --git a/120allocate.subx b/120allocate.subx index c4f954f8..fd5b5490 100644 --- a/120allocate.subx +++ b/120allocate.subx @@ -26,7 +26,7 @@ Handle-size: # (addr int) # A default allocation descriptor for programs to use. Heap: # allocation-descriptor # curr - 0x01000000/imm32 # 16 MB + 0x02000000/imm32 # 32 MB # limit 0x80000000/imm32 # 2 GB diff --git a/315stack-debug.subx b/315stack-debug.subx index 99156707..375e8adc 100644 --- a/315stack-debug.subx +++ b/315stack-debug.subx @@ -10,7 +10,7 @@ check-stack: 50/push-eax # 89/<- %eax 4/r32/esp - 81 7/subop/compare %eax 0x48600/imm32 + 81 7/subop/compare %eax 0x01000000/imm32 { 7f/jump-if-> break/disp8 (abort "stack overflow") diff --git a/boot.subx b/boot.subx index 7b355ff6..7ded7309 100644 --- a/boot.subx +++ b/boot.subx @@ -16,8 +16,8 @@ # Memory map of a Mu computer: # code: currently 4 tracks loaded from the primary disk to [0x00007c00, 0x00048600) -# stack: grows down from 0x00070000 -# heap: [0x01000000, 0x08000000) +# stack: grows down from 0x02000000 to 0x01000000 +# heap: [0x02000000, 0x08000000) # see 120allocate.subx; Qemu initializes with 128MB RAM by default # Consult https://wiki.osdev.org/Memory_Map_(x86) before modifying any of # this. And don't forget to keep *stack-debug.subx in sync. @@ -41,7 +41,7 @@ 8e/->seg 3/mod/direct 0/rm32/ax 4/r32/fs 8e/->seg 3/mod/direct 0/rm32/ax 5/r32/gs - # initialize stack to 0x00070000 + # Temporarily initialize stack to 0x00070000 in real mode. # We don't read or write the stack before we get to 32-bit mode, but BIOS # calls do. We need to move the stack in case BIOS initializes it to some # low address that we want to write code into. @@ -209,7 +209,7 @@ initialize_32bit_mode: 8e/->seg 3/mod/direct 0/rm32/ax 4/r32/fs 8e/->seg 3/mod/direct 0/rm32/ax 5/r32/gs - bc/copy-to-esp 0x00070000/imm32 + bc/copy-to-esp 0x02000000/imm32 ## load interrupt handlers # We can't refer to the label directly because SubX doesn't do the right |