feat: GICv2 and timer

fix: TimerReset in GIC.c now uses kTimerFrequency
This commit is contained in:
karina
2026-04-29 08:46:13 +04:00
parent 270aae56b4
commit 7fcb50587e
10 changed files with 181 additions and 5 deletions
+9
View File
@@ -77,6 +77,15 @@ void DTBParse(Pointer dtb, VMBootMemoryMap* bootMap) {
bootMap->UART.base = Merge32To64(BytesSwap32(cells[1]), BytesSwap32(cells[0]));
bootMap->UART.size = Merge32To64(BytesSwap32(cells[3]), BytesSwap32(cells[2]));
}
else if (StringStartsWith(currentNode, "intc")) {
UInt32* cells = (UInt32*)structs;
bootMap->GIC.GICD.base = Merge32To64(BytesSwap32(cells[1]), BytesSwap32(cells[0]));
bootMap->GIC.GICD.size = Merge32To64(BytesSwap32(cells[3]), BytesSwap32(cells[2]));
bootMap->GIC.GICC.base = Merge32To64(BytesSwap32(cells[5]), BytesSwap32(cells[4]));
bootMap->GIC.GICC.size = Merge32To64(BytesSwap32(cells[7]), BytesSwap32(cells[6]));
}
}
structs += propertyLength;