Paging stuff.
git-svn-id: https://spexeah.com:8443/svn/Asuro@113 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
f40c1ca749
commit
97299c839c
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/console.ppu
BIN
lib/console.ppu
Binary file not shown.
BIN
lib/gdt.ppu
BIN
lib/gdt.ppu
Binary file not shown.
BIN
lib/idt.ppu
BIN
lib/idt.ppu
Binary file not shown.
BIN
lib/irq.ppu
BIN
lib/irq.ppu
Binary file not shown.
BIN
lib/isr.ppu
BIN
lib/isr.ppu
Binary file not shown.
BIN
lib/isr0.ppu
BIN
lib/isr0.ppu
Binary file not shown.
BIN
lib/isr1.ppu
BIN
lib/isr1.ppu
Binary file not shown.
BIN
lib/isr10.ppu
BIN
lib/isr10.ppu
Binary file not shown.
BIN
lib/isr11.ppu
BIN
lib/isr11.ppu
Binary file not shown.
BIN
lib/isr12.ppu
BIN
lib/isr12.ppu
Binary file not shown.
BIN
lib/isr13.ppu
BIN
lib/isr13.ppu
Binary file not shown.
BIN
lib/isr14.ppu
BIN
lib/isr14.ppu
Binary file not shown.
BIN
lib/isr15.ppu
BIN
lib/isr15.ppu
Binary file not shown.
BIN
lib/isr16.ppu
BIN
lib/isr16.ppu
Binary file not shown.
BIN
lib/isr17.ppu
BIN
lib/isr17.ppu
Binary file not shown.
BIN
lib/isr18.ppu
BIN
lib/isr18.ppu
Binary file not shown.
BIN
lib/isr2.ppu
BIN
lib/isr2.ppu
Binary file not shown.
BIN
lib/isr3.ppu
BIN
lib/isr3.ppu
Binary file not shown.
BIN
lib/isr32.ppu
BIN
lib/isr32.ppu
Binary file not shown.
BIN
lib/isr33.ppu
BIN
lib/isr33.ppu
Binary file not shown.
BIN
lib/isr4.ppu
BIN
lib/isr4.ppu
Binary file not shown.
BIN
lib/isr40.ppu
BIN
lib/isr40.ppu
Binary file not shown.
BIN
lib/isr5.ppu
BIN
lib/isr5.ppu
Binary file not shown.
BIN
lib/isr6.ppu
BIN
lib/isr6.ppu
Binary file not shown.
BIN
lib/isr7.ppu
BIN
lib/isr7.ppu
Binary file not shown.
BIN
lib/isr8.ppu
BIN
lib/isr8.ppu
Binary file not shown.
BIN
lib/isr9.ppu
BIN
lib/isr9.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/kernel.ppu
BIN
lib/kernel.ppu
Binary file not shown.
BIN
lib/keyboard.ppu
BIN
lib/keyboard.ppu
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/libpsystem.a
BIN
lib/libpsystem.a
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/paging.ppu
Normal file
BIN
lib/paging.ppu
Normal file
Binary file not shown.
Binary file not shown.
BIN
lib/stub.o
BIN
lib/stub.o
Binary file not shown.
BIN
lib/system.o
BIN
lib/system.o
Binary file not shown.
BIN
lib/system.ppu
BIN
lib/system.ppu
Binary file not shown.
BIN
lib/util.ppu
BIN
lib/util.ppu
Binary file not shown.
@ -57,6 +57,14 @@ begin
|
|||||||
STI;
|
STI;
|
||||||
isr32.hook(uint32(@bios_data_area.tick_update));
|
isr32.hook(uint32(@bios_data_area.tick_update));
|
||||||
|
|
||||||
|
{z:= 1;
|
||||||
|
while true do begin
|
||||||
|
console.writeintln(z);
|
||||||
|
pint:= kalloc(65000);
|
||||||
|
if pint = nil then while true do begin end else pint^:= 1234;
|
||||||
|
z:=z+1;
|
||||||
|
end;}
|
||||||
|
|
||||||
//drivers
|
//drivers
|
||||||
keyboard.init(keyboard_layout);
|
keyboard.init(keyboard_layout);
|
||||||
|
|
||||||
|
@ -2,6 +2,32 @@ unit paging;
|
|||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
type
|
||||||
|
PPageTableEntry = ^TPageTableEntry;
|
||||||
|
|
||||||
|
TPageTableEntry = bitpacked record
|
||||||
|
Present, Writable, UserMode, WriteThrough,
|
||||||
|
NotCacheable, Accessed, Dirty, AttrIndex,
|
||||||
|
GlobalPage: Boolean;
|
||||||
|
Avail: UBit3;
|
||||||
|
FrameAddr: UBit20;
|
||||||
|
end;
|
||||||
|
|
||||||
|
PPageDirEntry = ^TPageDirEntry;
|
||||||
|
TPageDirEntry = bitpacked record
|
||||||
|
Present, Writable, UserMode, WriteThrough,
|
||||||
|
NotCacheable, Accessed, Reserved, PageSize,
|
||||||
|
GlobalPage: Boolean;
|
||||||
|
Avail: UBit3;
|
||||||
|
TableAddr: UBit20;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TPageDirectory = Array[1..1024] of TPageDirEntry;
|
||||||
|
PPageDirectory = ^TPageDirectory;
|
||||||
|
|
||||||
|
Var
|
||||||
|
PageDirectory : TPageDirectory; external name '_PageDirectory';
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
end.
|
end.
|
@ -41,6 +41,8 @@ KERNEL_PAGE_NUMBER equ (KERNEL_VIRTUAL_BASE >> 22)
|
|||||||
|
|
||||||
section .data
|
section .data
|
||||||
align 0x1000
|
align 0x1000
|
||||||
|
_PageDirectory equ BootPageDirectory
|
||||||
|
global _PageDirectory
|
||||||
BootPageDirectory:
|
BootPageDirectory:
|
||||||
dd 0x00000083
|
dd 0x00000083
|
||||||
times (KERNEL_PAGE_NUMBER - 1) dd 0
|
times (KERNEL_PAGE_NUMBER - 1) dd 0
|
||||||
|
@ -13,6 +13,7 @@ interface
|
|||||||
|
|
||||||
const
|
const
|
||||||
KERNEL_VIRTUAL_BASE = $C0000000;
|
KERNEL_VIRTUAL_BASE = $C0000000;
|
||||||
|
KERNEL_PAGE_NUMBER = KERNEL_VIRTUAL_BASE SHR 22;
|
||||||
|
|
||||||
type
|
type
|
||||||
//internal types
|
//internal types
|
||||||
@ -53,6 +54,10 @@ type
|
|||||||
|
|
||||||
Void = ^uInt32;
|
Void = ^uInt32;
|
||||||
|
|
||||||
|
//Alternate Types
|
||||||
|
UBit3 = 0..(1 shl 3) - 1;
|
||||||
|
UBit20 = 0..(1 shl 20) - 1;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user