[OpenBIOS] Haiku/ppc regression?

Andreas Färber andreas.faerber at web.de
Sat Dec 26 23:24:45 CET 2009


Am 22.12.2009 um 22:48 schrieb Andreas Färber:

> checking for memory...
> 0: base = 0x00000000, size = 134217728
> 1: empty region
> total physical memory = 128 MB
> suggested page table size = 1048576
> need new page table, size = 1048576!
> new table at: 0x07f00000

This hang here can be reproduced by the following 1-byte memset (given  
-m 128). The commented-out memset does not trigger it. Does the  
address ring a bell for anyone?
The address of env->nip appears to be 0x4703dec, so no obvious  
connection between the two.

Andreas

diff --git a/src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp b/ 
src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp
index 262e2c1..7af7247 100644
--- a/src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp
+++ b/src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp
@@ -909,7 +909,8 @@ arch_mmu_init(void)

  	sPageTableHashMask = tableSize / sizeof(page_table_entry_group) - 1;
  	if (sPageTable != oldTable)
-		memset(sPageTable, 0, tableSize);
+		//memset(sPageTable, 0, 9308 /*tableSize*/);
+		memset((void*)0x7F0245c, 0, 1);

  	// turn off address translation via the page table/segment mechanism,
  	// identity map the first 256 MB (where our code/data reside)




More information about the OpenBIOS mailing list