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();
|
||||
scheduler.init();
|
||||
|
||||
pint:= puint32(0);
|
||||
pint^:= 10;
|
||||
|
||||
STI;
|
||||
isr32.hook(uint32(@bios_data_area.tick_update));
|
||||
|
||||
@ -67,6 +70,12 @@ begin
|
||||
|
||||
//drivers
|
||||
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
|
||||
MOV dds, CS
|
||||
|
@ -6,20 +6,32 @@ type
|
||||
PPageTableEntry = ^TPageTableEntry;
|
||||
|
||||
TPageTableEntry = bitpacked record
|
||||
Present, Writable, UserMode, WriteThrough,
|
||||
NotCacheable, Accessed, Dirty, AttrIndex,
|
||||
Present,
|
||||
Writable,
|
||||
UserMode,
|
||||
WriteThrough,
|
||||
NotCacheable,
|
||||
Accessed,
|
||||
Dirty,
|
||||
AttrIndex,
|
||||
GlobalPage: Boolean;
|
||||
Avail: UBit3;
|
||||
FrameAddr: UBit20;
|
||||
Available: UBit3;
|
||||
FrameAddress: UBit20;
|
||||
end;
|
||||
|
||||
PPageDirEntry = ^TPageDirEntry;
|
||||
TPageDirEntry = bitpacked record
|
||||
Present, Writable, UserMode, WriteThrough,
|
||||
NotCacheable, Accessed, Reserved, PageSize,
|
||||
Present,
|
||||
Writable,
|
||||
UserMode,
|
||||
WriteThrough,
|
||||
NotCacheable,
|
||||
Accessed,
|
||||
Reserved,
|
||||
PageSize,
|
||||
GlobalPage: Boolean;
|
||||
Avail: UBit3;
|
||||
TableAddr: UBit20;
|
||||
Available: UBit3;
|
||||
TableAddress: UBit20;
|
||||
end;
|
||||
|
||||
TPageDirectory = Array[1..1024] of TPageDirEntry;
|
||||
|
@ -32,7 +32,8 @@ function inl(port : uint16) : uint32;
|
||||
procedure memset(location : uint32; value : uint8; size : uint32);
|
||||
procedure psleep(t : uint16);
|
||||
|
||||
procedure endptr(); external '__end' name '__end';
|
||||
var
|
||||
endptr : uint32; external name '__end';
|
||||
|
||||
implementation
|
||||
|
||||
@ -174,7 +175,7 @@ var
|
||||
i : uint32;
|
||||
|
||||
begin
|
||||
for i:=0 to size do begin
|
||||
for i:=0 to size-1 do begin
|
||||
loc:= puint8(location + i);
|
||||
loc^:= value;
|
||||
end;
|
||||
|
Loading…
x
Reference in New Issue
Block a user