Paging stuff.
git-svn-id: https://spexeah.com:8443/svn/Asuro@114 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
		
							
								
								
									
										
											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; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 kieron
					kieron