<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleGetInfoString</key>
- <string>System Resource Pseudoextension, Apple Computer Inc, 7.6.0</string>
+ <string>System Resource Pseudoextension, Apple Computer Inc, 7.7.0</string>
<key>CFBundleIdentifier</key>
<string>com.apple.kernel</string>
<key>CFBundleInfoDictionaryVersion</key>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleCompatibleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleRequired</key>
<string>Root</string>
<key>OSKernelResource</key>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleGetInfoString</key>
- <string>AppleNMI Pseudoextension, Apple Computer Inc, 7.6.0</string>
+ <string>AppleNMI Pseudoextension, Apple Computer Inc, 7.7.0</string>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleNMI</string>
<key>CFBundleInfoDictionaryVersion</key>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleRequired</key>
<string>Root</string>
<key>OSKernelResource</key>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleGetInfoString</key>
- <string>Apple Platform Family Pseudoextension, Apple Computer Inc, 7.6.0</string>
+ <string>Apple Platform Family Pseudoextension, Apple Computer Inc, 7.7.0</string>
<key>CFBundleIdentifier</key>
<string>com.apple.iokit.ApplePlatformFamily</string>
<key>CFBundleInfoDictionaryVersion</key>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleCompatibleVersion</key>
<string>1.0</string>
<key>OSBundleRequired</key>
<key>CFBundleExecutable</key>
<string>BSDKernel</string>
<key>CFBundleGetInfoString</key>
- <string>BSD Kernel Pseudoextension, Apple Computer Inc, 7.6.0</string>
+ <string>BSD Kernel Pseudoextension, Apple Computer Inc, 7.7.0</string>
<key>CFBundleIdentifier</key>
<string>com.apple.kpi.bsd</string>
<key>CFBundleInfoDictionaryVersion</key>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleCompatibleVersion</key>
<string>7.0</string>
<key>OSBundleRequired</key>
<key>CFBundleExecutable</key>
<string>IOKit</string>
<key>CFBundleGetInfoString</key>
- <string>I/O Kit Pseudoextension, Apple Computer Inc, 7.6.0</string>
+ <string>I/O Kit Pseudoextension, Apple Computer Inc, 7.7.0</string>
<key>CFBundleIdentifier</key>
<string>com.apple.kpi.iokit</string>
<key>CFBundleInfoDictionaryVersion</key>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleCompatibleVersion</key>
<string>7.0</string>
<key>OSBundleRequired</key>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleGetInfoString</key>
- <string>AppleNMI Pseudoextension, Apple Computer Inc, 7.6.0</string>
+ <string>AppleNMI Pseudoextension, Apple Computer Inc, 7.7.0</string>
<key>CFBundleIdentifier</key>
<string>com.apple.iokit.IONVRAMFamily</string>
<key>CFBundleInfoDictionaryVersion</key>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleCompatibleVersion</key>
<string>1.1</string>
<key>OSBundleRequired</key>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleGetInfoString</key>
- <string>System Management Pseudoextension, Apple Computer Inc, 7.6.0</string>
+ <string>System Management Pseudoextension, Apple Computer Inc, 7.7.0</string>
<key>CFBundleIdentifier</key>
<string>com.apple.iokit.IOSystemManagementFamily</string>
<key>CFBundleInfoDictionaryVersion</key>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleCompatibleVersion</key>
<string>1.0.0b1</string>
<key>OSBundleRequired</key>
<key>CFBundleExecutable</key>
<string>Libkern</string>
<key>CFBundleGetInfoString</key>
- <string>Libkern Pseudoextension, Apple Computer Inc, 7.6.0</string>
+ <string>Libkern Pseudoextension, Apple Computer Inc, 7.7.0</string>
<key>CFBundleIdentifier</key>
<string>com.apple.kpi.libkern</string>
<key>CFBundleInfoDictionaryVersion</key>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleCompatibleVersion</key>
<string>7.0</string>
<key>OSBundleRequired</key>
<key>CFBundleExecutable</key>
<string>Mach</string>
<key>CFBundleGetInfoString</key>
- <string>Mach Kernel Pseudoextension, Apple Computer Inc, 7.6.0</string>
+ <string>Mach Kernel Pseudoextension, Apple Computer Inc, 7.7.0</string>
<key>CFBundleIdentifier</key>
<string>com.apple.kpi.mach</string>
<key>CFBundleInfoDictionaryVersion</key>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>7.6.0</string>
+ <string>7.7.0</string>
<key>OSBundleCompatibleVersion</key>
<string>7.0</string>
<key>OSBundleRequired</key>
*/
const char * gIOKernelKmods =
"{"
-" 'com.apple.kernel' = '7.6.0';"
-" 'com.apple.kpi.bsd' = '7.6.0';"
-" 'com.apple.kpi.iokit' = '7.6.0';"
-" 'com.apple.kpi.libkern' = '7.6.0';"
-" 'com.apple.kpi.mach' = '7.6.0';"
-" 'com.apple.iokit.IONVRAMFamily' = '7.6.0';"
-" 'com.apple.driver.AppleNMI' = '7.6.0';"
-" 'com.apple.iokit.IOSystemManagementFamily' = '7.6.0';"
-" 'com.apple.iokit.ApplePlatformFamily' = '7.6.0';"
+" 'com.apple.kernel' = '7.7.0';"
+" 'com.apple.kpi.bsd' = '7.7.0';"
+" 'com.apple.kpi.iokit' = '7.7.0';"
+" 'com.apple.kpi.libkern' = '7.7.0';"
+" 'com.apple.kpi.mach' = '7.7.0';"
+" 'com.apple.iokit.IONVRAMFamily' = '7.7.0';"
+" 'com.apple.driver.AppleNMI' = '7.7.0';"
+" 'com.apple.iokit.IOSystemManagementFamily' = '7.7.0';"
+" 'com.apple.iokit.ApplePlatformFamily' = '7.7.0';"
" 'com.apple.kernel.6.0' = '6.9.9';"
" 'com.apple.kernel.bsd' = '6.9.9';"
" 'com.apple.kernel.iokit' = '6.9.9';"
+++ /dev/null
-***************
-*** 235,238 ****
- #define chud_970_mmcr1 798
- #define chud_970_imc 799
-
-
---- 235,269 ----
- #define chud_970_mmcr1 798
- #define chud_970_imc 799
-
-+ /* PPC SPRs - 7400/7410 Specific */
-+ #define chud_7400_msscr1 1015
-
-+ /* PPC SPRs - 64-bit implementations */
-+ #define chud_ppc64_accr 29
-+ #define chud_ppc64_ctrl 152
-+
-+ /* PPC SPRs - 970 Specific */
-+ #define chud_970_scomc 276
-+ #define chud_970_scomd 277
-+ #define chud_970_hsprg0 304
-+ #define chud_970_hsprg1 305
-+ #define chud_970_hdec 310
-+ #define chud_970_hior 311
-+ #define chud_970_rmor 312
-+ #define chud_970_hrmor 313
-+ #define chud_970_hsrr0 314
-+ #define chud_970_hsrr1 315
-+ #define chud_970_lpcr 318
-+ #define chud_970_lpidr 319
-+ #define chud_970_trig0 976
-+ #define chud_970_trig1 977
-+ #define chud_970_trig2 978
-+ #define chud_970_hid0 1008
-+ #define chud_970_hid1 1009
-+ #define chud_970_hid4 1012
-+ #define chud_970_hid5 1014
-+ #define chud_970_dabrx 1015
-+ #define chud_970_trace 1022
-+ #define chud_970_pir 1023
-+
-+ #endif // _CHUD_SPR_H_
tlbie r12 ; Invalidate it everywhere
- stw r0,tlbieLock(0) ; Clear the tlbie lock
-
beq- hpfNoTS32 ; Can not have MP on this machine...
eieio ; Make sure that the tlbie happens first
tlbsync ; Wait for everyone to catch up
sync ; Make sure of it all
-hpfNoTS32: stw r7,hwSteals(r4) ; Save the steal count
+hpfNoTS32:
+ stw r0,tlbieLock(0) ; Clear the tlbie lock
+
+ stw r7,hwSteals(r4) ; Save the steal count
bgt cr5,hpfInser32 ; We just stole a block mapping...
lwz r4,4(r19) ; Get the RC of the just invalidated PTE
tlbie r11 ; Invalidate it everywhere
- stw r0,tlbieLock(0) ; Clear the tlbie lock
-
mr r7,r8 ; Get a copy of the space ID
eieio ; Make sure that the tlbie happens first
rldimi r7,r7,14,36 ; Copy address space to make hash value
srdi r2,r6,26 ; Shift original segment down to bottom
ptesync ; Make sure of it all
+
+ stw r0,tlbieLock(0) ; Clear the tlbie lock
+
xor r7,r7,r2 ; Compute original segment
stw r10,hwSteals(r4) ; Save the steal count
tlbie r5 ; Invalidate it everywhere
- stw r0,tlbieLock(0) ; Clear the tlbie lock
-
beq- mINoTS32 ; Can not have MP on this machine...
eieio ; Make sure that the tlbie happens first
tlbsync ; Wait for everyone to catch up
sync ; Make sure of it all
-mINoTS32: lwz r5,4(r3) ; Get the real part
+mINoTS32:
+ stw r0,tlbieLock(0) ; Clear the tlbie lock
+
+ lwz r5,4(r3) ; Get the real part
srwi r10,r5,12 ; Change physical address to a ppnum
mINmerge: lbz r11,mpFlags+1(r31) ; Get the offset to the physical entry table
tlbie r2 ; Invalidate it everywhere
- stw r0,tlbieLock(0) ; Clear the tlbie lock
-
eieio ; Make sure that the tlbie happens first
tlbsync ; Wait for everyone to catch up
isync
ptesync ; Wait for quiet again
-mINoTS64: sync ; Make sure of it all
+mINoTS64:
+ stw r0,tlbieLock(0) ; Clear the tlbie lock
+
+ sync ; Make sure of it all
ld r5,8(r3) ; Get the real part
srdi r10,r5,12 ; Change physical address to a ppnum
mftbu r8 ; Get the upper one again
cmplw r9,r8 ; Did the top tick?
bne- yesnap ; Yeah, need to get it again...
+
stw r8,napStamp(r12) ; Set high order time stamp
stw r7,napStamp+4(r12) ; Set low order nap stamp
+ rlwinm. r0,r11,0,pfAltivecb,pfAltivecb ; Do we have altivec?
+ beq- minovec ; No...
+ dssall ; Stop the streams before we nap/doze
+ sync
+ lwz r8,napStamp(r12) ; Reload high order time stamp
+clearpipe:
+ cmplw r8,r8
+ bne- clearpipe
+ isync
+minovec:
+
rlwinm. r7,r11,0,pfNoL2PFNapb,pfNoL2PFNapb ; Turn off L2 Prefetch before nap?
beq miL2PFok
isync ; Make sure it is set
mtmsr r7 ; Enable for interrupts
- rlwinm. r11,r11,0,pfAltivecb,pfAltivecb ; Do we have altivec?
- beq- minovec ; No...
- dssall ; Stop the streams before we nap/doze
-minovec:
bf-- pf64Bitb,mipowloop ; skip if 32-bit...
li r3,0x10 ; Fancy nap threashold is 0x10 ticks
savearea_fpu *find_user_fpu(thread_act_t act) {
savearea_fpu *fsv;
+ boolean_t intr;
+ intr = ml_set_interrupts_enabled(FALSE);
fsv = act->mact.curctx->FPUsave; /* Get the start of the floating point chain */
while(fsv) { /* Look until the end or we find it */
if(!(fsv->save_hdr.save_level)) break; /* Is the the user state stuff? (the level is 0 if so) */
fsv = CAST_DOWN(savearea_fpu *, fsv->save_hdr.save_prev); /* Try the previous one */
}
+ (void) ml_set_interrupts_enabled(intr);
return fsv; /* Bye bye... */
}
savearea_vec *find_user_vec(thread_act_t act) {
savearea_vec *vsv;
+ boolean_t intr;
+ intr = ml_set_interrupts_enabled(FALSE);
vsv = act->mact.curctx->VMXsave; /* Get the start of the vector chain */
while(vsv) { /* Look until the end or we find it */
if(!(vsv->save_hdr.save_level)) break; /* Is the the user state stuff? (the level is 0 if so) */
vsv = CAST_DOWN(savearea_vec *, vsv->save_hdr.save_prev); /* Try the previous one */
}
+ (void) ml_set_interrupts_enabled(intr);
return vsv; /* Bye bye... */
}
savearea_vec *vsv;
thread_act_t act;
-
+ boolean_t intr;
+
act = current_act(); /* Get the current activation */
vec_save(act->mact.curctx); /* Force save if live */
+ intr = ml_set_interrupts_enabled(FALSE);
vsv = act->mact.curctx->VMXsave; /* Get the start of the vector chain */
while(vsv) { /* Look until the end or we find it */
if(!(vsv->save_hdr.save_level)) break; /* Is the the user state stuff? (the level is 0 if so) */
vsv = CAST_DOWN(savearea_vec *, vsv->save_hdr.save_prev); /* Try the previous one */
}
+ (void) ml_set_interrupts_enabled(intr);
return vsv; /* Bye bye... */
}