diff --git a/include/mem.inc b/include/mem.inc index ca8ac77..0ac49da 100755 --- a/include/mem.inc +++ b/include/mem.inc @@ -43,13 +43,6 @@ ; 0x0000000100000000 ??? ??? (whatever exists) RAM -- free for use (PAE/64bit)/More Extended memory ; ???????????????? ??? ??? Potentially usable for memory mapped PCI devices in modern hardware (but typically not, due to backward compatibility) -; 0x2700 -> 0x28FF -%define disk_buffer 0x2700 -; 0x2900 -> 0x2AFF -%define fat_buffer 0x2900 -; 0x2B00 -> 0x2CFF -%define dir_buffer 0x2B00 - ; copy of partition table, 72 bytes %define partition_table 0x3000 %define partition_table_SIZE 72 @@ -64,15 +57,6 @@ %define fat32_ebpb 0x306E %define fat32_ebpb_SIZE 54 -; FAT32 FSInfo, 512 bytes -;0x30A2 -%define fat32_fsinfo 0x30B0 -%define fat32_fsinfo_SIZE 512 - -; some stored state for the fat32 driver -;0x32A2 -%define fat32_state 0x34B0 -%define fat32_state_SIZE 32 ; next free space is 0x32D0 %define fat32_nc_data 0x35D0 @@ -81,14 +65,6 @@ ; lba_packet for raw_disk_read %define lba_packet 0x4000 -%define BIOSMemoryMap 0x4200 -%define SteviaInfo 0x5200 - - -; High memory addresses for loading kernel (for use with unreal mode and 32bit override) - -; file load buffer at 16MB -%define HMEM_load_buffer 0x1000000 ;PhysicalAddress = Segment * 16 + Offset @@ -104,6 +80,10 @@ ; Segement = linear >> 4 (top 16 bits) ; offset = linear & 0x0F (low 4 bits) +struc EarlyBootStruct_t + .lba_packet_offset resw 1 +endstruc + ; 20 bytes, passed to loaded kernel struc SteviaInfoStruct_t .MemoryMapPtr resd 1 diff --git a/src/stage2/stage2.nasm b/src/stage2/stage2.nasm index ca7484b..8d4df81 100755 --- a/src/stage2/stage2.nasm +++ b/src/stage2/stage2.nasm @@ -472,8 +472,24 @@ STAGE2_SIG: dd 0xDEADBEEF ; Signature to mark the end of the stage section .bss follows=.sign align 512 begin_bss: -buffer1 resb 512 -buffer2 resb 512 -buffer3 resb 512 -buffer4 resb 512 + +disk_buffer resb 512 + +fat_buffer resb 512 + +dir_buffer resb 512 + +fat_fsinfo resb 512 + +fat32_state resb FAT32_State_t_size + +%define BIOSMemoryMap_SIZE 4096 +BIOSMemoryMap resb 4096 + +SteviaInfo resd 4 + +align 16 +stack_bottom: + stack resb 4096 +stack_top: end_bss: \ No newline at end of file