From e8c6577617bffa4402c07c7aa20e3c24f03c1c20 Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Sun, 6 Sep 2020 00:48:07 -0400 Subject: program loading, others big kernel additions: paging, elf loading, separate kernel and user page allocation it now properly loads and runs sd0:bin/init.elf still need to determine which disk was booted from, and start the init on that disk --- doc/internal/gdt.txt | 5 ----- doc/internal/mem.txt | 23 +++++++++++++++++------ doc/internal/ple.txt | 12 ------------ 3 files changed, 17 insertions(+), 23 deletions(-) delete mode 100644 doc/internal/gdt.txt delete mode 100644 doc/internal/ple.txt (limited to 'doc/internal') diff --git a/doc/internal/gdt.txt b/doc/internal/gdt.txt deleted file mode 100644 index 26f7be9..0000000 --- a/doc/internal/gdt.txt +++ /dev/null @@ -1,5 +0,0 @@ -0x08: 0x0000.0000 - 0x0003.7fff (code) -0x10: 0x0000.0000 - 0x1fff.ffff (data) -0x18: task -0x20: user code -0x28: user data \ No newline at end of file diff --git a/doc/internal/mem.txt b/doc/internal/mem.txt index 0819fb7..c5f5e8b 100644 --- a/doc/internal/mem.txt +++ b/doc/internal/mem.txt @@ -1,17 +1,28 @@ -0x0000.4000 - 0x0000.4003 (4): bootloader info +0x0000.4000 - 0x0000.4007 (8): bootloader info 0x0 byte: support flags 0x80: PCI + 0x40: PAE 0x1 byte: PCI "hardware characteristics" 0x2 byte: PCI minor 0x3 byte: PCI major 0x4 byte: last PCI bus -0x0000.4200 - 0x0000.42ff (256): VESA info -0x0000.4300 - 0x0000.43ff (256): VBE strings + 0x6 word: BIOS memory map length -0x0001.0000 - 0x0001.1fff (8k): memory map +0x0000.4f98 - 0x0000.4fff (104): TSS +0x0000.5000 - 0x0000.5fff (4k): kernel page directory -0x0003.0000 - 0x0003.7fff (32k): kernel +0x0001.0000 - 0x0001.ffff (64k): BIOS memory map + +0x0003.0000 - 0x0003.7fff (32k): kernel text, data, rodata 0x0003.8000 - 0x0003.ffff (32k): kernel stack +0x0004.0000 - 0x0005.ffff (128k): pagemap + +0x000a.0000 - 0x000f.ffff (384k): VGA and BIOS memory + +0x0040.0000 - 0x007f.ffff (4M): kernel page tables + +0x00f0.0000 - 0x00ff.ffff (1M): ISA memory -0x1000.0000 - 0x1fff.ffff (256M): dynamic memory \ No newline at end of file +0x0400.0000 - 0x07ff.ffff (64M): kernel heap, bss pages +0x0800.0000 - 0xffff.ffff (rest): user pages, hardware memory \ No newline at end of file diff --git a/doc/internal/ple.txt b/doc/internal/ple.txt deleted file mode 100644 index 1bcceb4..0000000 --- a/doc/internal/ple.txt +++ /dev/null @@ -1,12 +0,0 @@ -Portland Executable Format - -0x00 magic dword 0xb9ba4c50 -0x04 minor version word 0x0000 -0x06 major version word 0x0000 -0x08 payload file offset dword -0x0c payload length dword -0x10 bss length dword -0x14 virtual entry point dword - -Payload loaded at start of cs=ds=ss. -bss after payload, esp set to end of bss. \ No newline at end of file -- cgit v1.2.3