code: 9ferno

Download patch

ref: d88bdc7d12310dee3e61978f386c12640852794b
parent: 6dbebb2b4b262f0ab78f1202cc97805401ae298e
author: 9ferno <gophone2015@gmail.com>
date: Sat Oct 16 08:50:51 EDT 2021

more debugging details of the page table setup

--- a/os/pc64/main.c
+++ b/os/pc64/main.c
@@ -91,16 +91,16 @@
 	pdpe = mmuwalk((uintptr*)PML4ADDR, pa, 2, 0);
 	pde = mmuwalk((uintptr*)PML4ADDR, pa, 1, 0);
 	if((intptr)pde > 0){
-		snprint(pdestr, 64, "at 0x%p i %zd",
-				pde, ((intptr)pde-(intptr)PD0ADDR)/sizeof(intptr));
+		snprint(pdestr, 64, "at 0x%p i %zd has 0x%p",
+				pde, ((intptr)pde-(intptr)PD0ADDR)/sizeof(intptr), *pde);
 	}
 	print("\tpage of address 0x%zux (%s) with pml4 at 0x%p\n"
-			"\t\tpml4 entry at 0x%p i %zd\n"
-			"\t\tpdp entry at 0x%p i %zd\n"
+			"\t\tpml4 entry at 0x%p i %zd has 0x%p\n"
+			"\t\tpdp entry at 0x%p i %zd has 0x%p\n"
 			"\t\tpd entry %s\n",
 			pa, desc, m->pml4,
-			pml4e, (pml4e-m->pml4)/sizeof(intptr),
-			pdpe, ((intptr)pdpe-(intptr)PDPADDR)/sizeof(intptr),
+			pml4e, (pml4e-m->pml4)/sizeof(intptr), *pml4e,
+			pdpe, ((intptr)pdpe-(intptr)PDPADDR)/sizeof(intptr), *pdpe,
 			pdestr);
 }
 
@@ -119,6 +119,11 @@
 	print("Some page table entries\n");
 	ptedebug(1*MiB,"1 MiB");
 	ptedebug(2*MiB,"2 MiB");
+	ptedebug(400*MiB,"400 MiB");
+	ptedebug(466*MiB,"466 MiB");
+	ptedebug(468*MiB,"468 MiB");
+	ptedebug(470*MiB,"470 MiB");
+	ptedebug(512*MiB,"512 MiB");
 	ptedebug(1*GiB,"1 GiB");
 	ptedebug(4ull*GiB,"4 GiB");
 }