G5/970 updates:
Setup cache bits in HID5 early on so that dcbz/icbi use the 128 byte cache line size. The mismatch was causing dynamically linked apps to randomly coredump. With this fix, the G5 can boot into full multi-user by using a NFS mounted root file system.
This commit is contained in:
parent
282f07d643
commit
5576a1bb85
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: locore.S,v 1.55 2006/08/05 21:26:48 sanjayl Exp $ */
|
||||
/* $NetBSD: locore.S,v 1.56 2006/08/15 03:29:55 sanjayl Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
|
||||
@ -103,6 +103,29 @@ __start:
|
||||
1:
|
||||
#endif
|
||||
|
||||
#if defined (PMAC_G5)
|
||||
/* and clear HID5 DCBZ bits (56/57), need to do this early */
|
||||
mfspr 11,SPR_HID5
|
||||
rldimi 11,0,6,56
|
||||
sync
|
||||
mtspr SPR_HID5,11
|
||||
isync
|
||||
sync
|
||||
|
||||
/* Setup HID1 features, prefetch + i-cacheability controlled by PTE */
|
||||
mfspr 0,SPR_HID1
|
||||
li 11,0x1200
|
||||
sldi 11,11,44
|
||||
or 0,0,11
|
||||
mtspr SPR_HID1,0
|
||||
isync
|
||||
sync
|
||||
|
||||
/* Restore r0 */
|
||||
li 0,0
|
||||
#endif /* PMAC_G5 */
|
||||
|
||||
|
||||
/*
|
||||
* Initialize cpu_info[0]
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user