From: Apple Date: Mon, 13 Dec 2004 19:34:44 +0000 (+0000) Subject: xnu-517.9.5.tar.gz X-Git-Tag: mac-os-x-1037^0 X-Git-Url: https://git.saurik.com/apple/xnu.git/commitdiff_plain/5eebf7385fedb1517b66b53c28e5aa6bb0a2be50 xnu-517.9.5.tar.gz --- diff --git a/bsd/conf/version.minor b/bsd/conf/version.minor index 1e8b31496..7f8f011eb 100644 --- a/bsd/conf/version.minor +++ b/bsd/conf/version.minor @@ -1 +1 @@ -6 +7 diff --git a/config/System.kext/Info.plist b/config/System.kext/Info.plist index 11a1a4c4d..3ba6f7944 100644 --- a/config/System.kext/Info.plist +++ b/config/System.kext/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion English CFBundleGetInfoString - System Resource Pseudoextension, Apple Computer Inc, 7.6.0 + System Resource Pseudoextension, Apple Computer Inc, 7.7.0 CFBundleIdentifier com.apple.kernel CFBundleInfoDictionaryVersion @@ -15,13 +15,13 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 7.6.0 + 7.7.0 CFBundleSignature ???? CFBundleVersion - 7.6.0 + 7.7.0 OSBundleCompatibleVersion - 7.6.0 + 7.7.0 OSBundleRequired Root OSKernelResource diff --git a/config/System.kext/PlugIns/AppleNMI.kext/Info.plist b/config/System.kext/PlugIns/AppleNMI.kext/Info.plist index 9cfbafdb2..32db5a2f8 100644 --- a/config/System.kext/PlugIns/AppleNMI.kext/Info.plist +++ b/config/System.kext/PlugIns/AppleNMI.kext/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion English CFBundleGetInfoString - AppleNMI Pseudoextension, Apple Computer Inc, 7.6.0 + AppleNMI Pseudoextension, Apple Computer Inc, 7.7.0 CFBundleIdentifier com.apple.driver.AppleNMI CFBundleInfoDictionaryVersion @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 7.6.0 + 7.7.0 CFBundleSignature ???? CFBundleVersion - 7.6.0 + 7.7.0 OSBundleRequired Root OSKernelResource diff --git a/config/System.kext/PlugIns/ApplePlatformFamily.kext/Info.plist b/config/System.kext/PlugIns/ApplePlatformFamily.kext/Info.plist index 87a0540fd..456376dae 100644 --- a/config/System.kext/PlugIns/ApplePlatformFamily.kext/Info.plist +++ b/config/System.kext/PlugIns/ApplePlatformFamily.kext/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion English CFBundleGetInfoString - Apple Platform Family Pseudoextension, Apple Computer Inc, 7.6.0 + Apple Platform Family Pseudoextension, Apple Computer Inc, 7.7.0 CFBundleIdentifier com.apple.iokit.ApplePlatformFamily CFBundleInfoDictionaryVersion @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 7.6.0 + 7.7.0 CFBundleSignature ???? CFBundleVersion - 7.6.0 + 7.7.0 OSBundleCompatibleVersion 1.0 OSBundleRequired diff --git a/config/System.kext/PlugIns/BSDKernel.kext/Info.plist b/config/System.kext/PlugIns/BSDKernel.kext/Info.plist index a642b3f49..46ba9476b 100644 --- a/config/System.kext/PlugIns/BSDKernel.kext/Info.plist +++ b/config/System.kext/PlugIns/BSDKernel.kext/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable BSDKernel CFBundleGetInfoString - BSD Kernel Pseudoextension, Apple Computer Inc, 7.6.0 + BSD Kernel Pseudoextension, Apple Computer Inc, 7.7.0 CFBundleIdentifier com.apple.kpi.bsd CFBundleInfoDictionaryVersion @@ -17,11 +17,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 7.6.0 + 7.7.0 CFBundleSignature ???? CFBundleVersion - 7.6.0 + 7.7.0 OSBundleCompatibleVersion 7.0 OSBundleRequired diff --git a/config/System.kext/PlugIns/IOKit.kext/Info.plist b/config/System.kext/PlugIns/IOKit.kext/Info.plist index 33f710a3c..578593042 100644 --- a/config/System.kext/PlugIns/IOKit.kext/Info.plist +++ b/config/System.kext/PlugIns/IOKit.kext/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable IOKit CFBundleGetInfoString - I/O Kit Pseudoextension, Apple Computer Inc, 7.6.0 + I/O Kit Pseudoextension, Apple Computer Inc, 7.7.0 CFBundleIdentifier com.apple.kpi.iokit CFBundleInfoDictionaryVersion @@ -17,11 +17,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 7.6.0 + 7.7.0 CFBundleSignature ???? CFBundleVersion - 7.6.0 + 7.7.0 OSBundleCompatibleVersion 7.0 OSBundleRequired diff --git a/config/System.kext/PlugIns/IONVRAMFamily.kext/Info.plist b/config/System.kext/PlugIns/IONVRAMFamily.kext/Info.plist index dc06c315b..06ef6d9b0 100644 --- a/config/System.kext/PlugIns/IONVRAMFamily.kext/Info.plist +++ b/config/System.kext/PlugIns/IONVRAMFamily.kext/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion English CFBundleGetInfoString - AppleNMI Pseudoextension, Apple Computer Inc, 7.6.0 + AppleNMI Pseudoextension, Apple Computer Inc, 7.7.0 CFBundleIdentifier com.apple.iokit.IONVRAMFamily CFBundleInfoDictionaryVersion @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 7.6.0 + 7.7.0 CFBundleSignature ???? CFBundleVersion - 7.6.0 + 7.7.0 OSBundleCompatibleVersion 1.1 OSBundleRequired diff --git a/config/System.kext/PlugIns/IOSystemManagement.kext/Info.plist b/config/System.kext/PlugIns/IOSystemManagement.kext/Info.plist index cb1f66a8d..3cb75f85f 100644 --- a/config/System.kext/PlugIns/IOSystemManagement.kext/Info.plist +++ b/config/System.kext/PlugIns/IOSystemManagement.kext/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion English CFBundleGetInfoString - System Management Pseudoextension, Apple Computer Inc, 7.6.0 + System Management Pseudoextension, Apple Computer Inc, 7.7.0 CFBundleIdentifier com.apple.iokit.IOSystemManagementFamily CFBundleInfoDictionaryVersion @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 7.6.0 + 7.7.0 CFBundleSignature ???? CFBundleVersion - 7.6.0 + 7.7.0 OSBundleCompatibleVersion 1.0.0b1 OSBundleRequired diff --git a/config/System.kext/PlugIns/Libkern.kext/Info.plist b/config/System.kext/PlugIns/Libkern.kext/Info.plist index 5f6510609..a48a5fcb1 100644 --- a/config/System.kext/PlugIns/Libkern.kext/Info.plist +++ b/config/System.kext/PlugIns/Libkern.kext/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable Libkern CFBundleGetInfoString - Libkern Pseudoextension, Apple Computer Inc, 7.6.0 + Libkern Pseudoextension, Apple Computer Inc, 7.7.0 CFBundleIdentifier com.apple.kpi.libkern CFBundleInfoDictionaryVersion @@ -17,11 +17,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 7.6.0 + 7.7.0 CFBundleSignature ???? CFBundleVersion - 7.6.0 + 7.7.0 OSBundleCompatibleVersion 7.0 OSBundleRequired diff --git a/config/System.kext/PlugIns/Mach.kext/Info.plist b/config/System.kext/PlugIns/Mach.kext/Info.plist index 1028b5cfb..fab20c925 100644 --- a/config/System.kext/PlugIns/Mach.kext/Info.plist +++ b/config/System.kext/PlugIns/Mach.kext/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable Mach CFBundleGetInfoString - Mach Kernel Pseudoextension, Apple Computer Inc, 7.6.0 + Mach Kernel Pseudoextension, Apple Computer Inc, 7.7.0 CFBundleIdentifier com.apple.kpi.mach CFBundleInfoDictionaryVersion @@ -17,11 +17,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 7.6.0 + 7.7.0 CFBundleSignature ???? CFBundleVersion - 7.6.0 + 7.7.0 OSBundleCompatibleVersion 7.0 OSBundleRequired diff --git a/iokit/KernelConfigTables.cpp b/iokit/KernelConfigTables.cpp index 7de42d769..014ec6af6 100644 --- a/iokit/KernelConfigTables.cpp +++ b/iokit/KernelConfigTables.cpp @@ -26,15 +26,15 @@ */ 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';" diff --git a/iokit/conf/version.minor b/iokit/conf/version.minor index 1e8b31496..7f8f011eb 100644 --- a/iokit/conf/version.minor +++ b/iokit/conf/version.minor @@ -1 +1 @@ -6 +7 diff --git a/libkern/conf/version.minor b/libkern/conf/version.minor index 1e8b31496..7f8f011eb 100644 --- a/libkern/conf/version.minor +++ b/libkern/conf/version.minor @@ -1 +1 @@ -6 +7 diff --git a/libsa/conf/version.minor b/libsa/conf/version.minor index 1e8b31496..7f8f011eb 100644 --- a/libsa/conf/version.minor +++ b/libsa/conf/version.minor @@ -1 +1 @@ -6 +7 diff --git a/osfmk/conf/kernelversion.minor b/osfmk/conf/kernelversion.minor index 1e8b31496..7f8f011eb 100644 --- a/osfmk/conf/kernelversion.minor +++ b/osfmk/conf/kernelversion.minor @@ -1 +1 @@ -6 +7 diff --git a/osfmk/conf/version.minor b/osfmk/conf/version.minor index 1e8b31496..7f8f011eb 100644 --- a/osfmk/conf/version.minor +++ b/osfmk/conf/version.minor @@ -1 +1 @@ -6 +7 diff --git a/osfmk/ppc/chud/chud_spr.h.rej b/osfmk/ppc/chud/chud_spr.h.rej deleted file mode 100644 index e4cf2a55d..000000000 --- a/osfmk/ppc/chud/chud_spr.h.rej +++ /dev/null @@ -1,42 +0,0 @@ -*************** -*** 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_ diff --git a/osfmk/ppc/hw_vm.s b/osfmk/ppc/hw_vm.s index cc1b49a4d..0db8a5a68 100644 --- a/osfmk/ppc/hw_vm.s +++ b/osfmk/ppc/hw_vm.s @@ -3655,15 +3655,16 @@ hpfTLBIE32: lwarx r0,0,r9 ; Get the TLBIE lock 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 @@ -3839,8 +3840,6 @@ hpfTLBIE64: lwarx r0,0,r9 ; Get the TLBIE lock 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 @@ -3850,6 +3849,9 @@ hpfTLBIE64: lwarx r0,0,r9 ; Get the TLBIE lock 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 @@ -5058,15 +5060,16 @@ mITLBIE32: lwarx r0,0,r8 ; Get the TLBIE lock 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 @@ -5148,14 +5151,15 @@ mITLBIE64: lwarx r0,0,r8 ; Get the TLBIE lock 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 diff --git a/osfmk/ppc/machine_routines_asm.s b/osfmk/ppc/machine_routines_asm.s index 67b1da4f0..e0d376d44 100644 --- a/osfmk/ppc/machine_routines_asm.s +++ b/osfmk/ppc/machine_routines_asm.s @@ -793,9 +793,21 @@ yesnap: mftbu r9 ; Get the upper timebase 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 @@ -848,11 +860,7 @@ mipNSF1: andc r6,r6,r10 ; Clean up the old power bits 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 diff --git a/osfmk/ppc/status.c b/osfmk/ppc/status.c index 9e8063c6f..3fef44cc1 100644 --- a/osfmk/ppc/status.c +++ b/osfmk/ppc/status.c @@ -1093,13 +1093,16 @@ savearea *find_kern_regs(thread_act_t act) { 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... */ } @@ -1112,13 +1115,16 @@ savearea_fpu *find_user_fpu(thread_act_t act) { 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... */ } @@ -1131,17 +1137,20 @@ savearea_vec *find_user_vec_curr(void) { 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... */ } diff --git a/pexpert/conf/version.minor b/pexpert/conf/version.minor index 1e8b31496..7f8f011eb 100644 --- a/pexpert/conf/version.minor +++ b/pexpert/conf/version.minor @@ -1 +1 @@ -6 +7