Paging stuff.
git-svn-id: https://spexeah.com:8443/svn/Asuro@114 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
97299c839c
commit
1f2f7cf380
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
BIN
lib/console.ppu
BIN
lib/console.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/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.
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.
BIN
lib/paging.ppu
BIN
lib/paging.ppu
Binary file not shown.
BIN
lib/util.ppu
BIN
lib/util.ppu
Binary file not shown.
@ -54,6 +54,9 @@ begin
|
|||||||
memorymanager.init();
|
memorymanager.init();
|
||||||
scheduler.init();
|
scheduler.init();
|
||||||
|
|
||||||
|
pint:= puint32(0);
|
||||||
|
pint^:= 10;
|
||||||
|
|
||||||
STI;
|
STI;
|
||||||
isr32.hook(uint32(@bios_data_area.tick_update));
|
isr32.hook(uint32(@bios_data_area.tick_update));
|
||||||
|
|
||||||
@ -67,6 +70,12 @@ begin
|
|||||||
|
|
||||||
//drivers
|
//drivers
|
||||||
keyboard.init(keyboard_layout);
|
keyboard.init(keyboard_layout);
|
||||||
|
if PageDirectory[KERNEL_PAGE_NUMBER].Present then begin
|
||||||
|
console.writestringln('!');
|
||||||
|
end else begin
|
||||||
|
console.writestringln('?');
|
||||||
|
end;
|
||||||
|
while true do begin end;
|
||||||
|
|
||||||
asm
|
asm
|
||||||
MOV dds, CS
|
MOV dds, CS
|
||||||
|
@ -6,20 +6,32 @@ type
|
|||||||
PPageTableEntry = ^TPageTableEntry;
|
PPageTableEntry = ^TPageTableEntry;
|
||||||
|
|
||||||
TPageTableEntry = bitpacked record
|
TPageTableEntry = bitpacked record
|
||||||
Present, Writable, UserMode, WriteThrough,
|
Present,
|
||||||
NotCacheable, Accessed, Dirty, AttrIndex,
|
Writable,
|
||||||
|
UserMode,
|
||||||
|
WriteThrough,
|
||||||
|
NotCacheable,
|
||||||
|
Accessed,
|
||||||
|
Dirty,
|
||||||
|
AttrIndex,
|
||||||
GlobalPage: Boolean;
|
GlobalPage: Boolean;
|
||||||
Avail: UBit3;
|
Available: UBit3;
|
||||||
FrameAddr: UBit20;
|
FrameAddress: UBit20;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
PPageDirEntry = ^TPageDirEntry;
|
PPageDirEntry = ^TPageDirEntry;
|
||||||
TPageDirEntry = bitpacked record
|
TPageDirEntry = bitpacked record
|
||||||
Present, Writable, UserMode, WriteThrough,
|
Present,
|
||||||
NotCacheable, Accessed, Reserved, PageSize,
|
Writable,
|
||||||
|
UserMode,
|
||||||
|
WriteThrough,
|
||||||
|
NotCacheable,
|
||||||
|
Accessed,
|
||||||
|
Reserved,
|
||||||
|
PageSize,
|
||||||
GlobalPage: Boolean;
|
GlobalPage: Boolean;
|
||||||
Avail: UBit3;
|
Available: UBit3;
|
||||||
TableAddr: UBit20;
|
TableAddress: UBit20;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TPageDirectory = Array[1..1024] of TPageDirEntry;
|
TPageDirectory = Array[1..1024] of TPageDirEntry;
|
||||||
|
@ -32,7 +32,8 @@ function inl(port : uint16) : uint32;
|
|||||||
procedure memset(location : uint32; value : uint8; size : uint32);
|
procedure memset(location : uint32; value : uint8; size : uint32);
|
||||||
procedure psleep(t : uint16);
|
procedure psleep(t : uint16);
|
||||||
|
|
||||||
procedure endptr(); external '__end' name '__end';
|
var
|
||||||
|
endptr : uint32; external name '__end';
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
@ -174,7 +175,7 @@ var
|
|||||||
i : uint32;
|
i : uint32;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
for i:=0 to size do begin
|
for i:=0 to size-1 do begin
|
||||||
loc:= puint8(location + i);
|
loc:= puint8(location + i);
|
||||||
loc^:= value;
|
loc^:= value;
|
||||||
end;
|
end;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user