mirror of
https://github.com/elliotnunn/powermac-rom.git
synced 2024-06-09 07:29:36 +00:00
aggressive power management
This commit is contained in:
parent
b725df3cf7
commit
4f95ec6b34
|
@ -59,3 +59,45 @@ NKDebug
|
||||||
b ReturnMPCallOOM
|
b ReturnMPCallOOM
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; The 7447a does not have THRM registers. Enable me to stop the mini
|
||||||
|
; crashing with a vanilla CPU plugin
|
||||||
|
|
||||||
|
IF 1
|
||||||
|
|
||||||
|
; ARG selector r3, arbitrary args r4...
|
||||||
|
; RET arbitrary
|
||||||
|
|
||||||
|
DeclareMPCall 46, MPCpuPluginThatDoesntTrustThrmRegisters
|
||||||
|
|
||||||
|
MPCpuPluginThatDoesntTrustThrmRegisters
|
||||||
|
|
||||||
|
cmpwi r3, kGetProcessorTemp
|
||||||
|
bne @not_temp_selector
|
||||||
|
|
||||||
|
mfpvr r8
|
||||||
|
rlwinm r8, r8, 0, 0xffff0000
|
||||||
|
lis r9, 0x8003
|
||||||
|
cmpw r8, r9
|
||||||
|
bne @not_G4e
|
||||||
|
|
||||||
|
li r3, kCantReportProcessorTemperatureErr ; (MacErrors.a)
|
||||||
|
b CommonMPCallReturnPath
|
||||||
|
|
||||||
|
@not_temp_selector
|
||||||
|
@not_G4e
|
||||||
|
|
||||||
|
; Arguments in registers
|
||||||
|
li r8, 0
|
||||||
|
|
||||||
|
; Hopefully returns via kcReturnFromInterrupt? Geez...
|
||||||
|
bl SIGP
|
||||||
|
|
||||||
|
mr r3, r8
|
||||||
|
mr r4, r9 ; r4 not accessible calling MPLibrary func from C
|
||||||
|
|
||||||
|
b CommonMPCallReturnPath
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
|
|
@ -62,7 +62,7 @@ HID0_neither equ 0
|
||||||
PflgTblEnt 0x03, HID0_NHR_and_sleep, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU | 1<< hasVMX | 1<< hasMSSregs ; 8**0 = 7450 (see note below)
|
PflgTblEnt 0x03, HID0_NHR_and_sleep, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU | 1<< hasVMX | 1<< hasMSSregs ; 8**0 = 7450 (see note below)
|
||||||
PflgTblEnt 0x1b, HID0_NHR_and_sleep, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU | 1<< hasVMX | 1<< hasMSSregs ; 8**1 = 7445/55
|
PflgTblEnt 0x1b, HID0_NHR_and_sleep, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU | 1<< hasVMX | 1<< hasMSSregs ; 8**1 = 7445/55
|
||||||
PflgTblEnt 0x03, HID0_NHR_and_sleep, 0 ; 8**2 = 7447 (OS X only)
|
PflgTblEnt 0x03, HID0_NHR_and_sleep, 0 ; 8**2 = 7447 (OS X only)
|
||||||
PflgTblEnt 0x03, HID0_NHR_and_sleep, 0 ; 8**3
|
PflgTblEnt 0x23, HID0_NHR_and_sleep, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU | 1<< hasVMX | 1<< hasMSSregs ; 8**3 like 7450 but better
|
||||||
PflgTblEnt 0x03, HID0_NHR_only, 0 ; 8**4
|
PflgTblEnt 0x03, HID0_NHR_only, 0 ; 8**4
|
||||||
PflgTblEnt 0x03, HID0_NHR_and_sleep, 0 ; 8**5
|
PflgTblEnt 0x03, HID0_NHR_and_sleep, 0 ; 8**5
|
||||||
PflgTblEnt 0x03, HID0_NHR_and_sleep, 0 ; 8**6
|
PflgTblEnt 0x03, HID0_NHR_and_sleep, 0 ; 8**6
|
||||||
|
|
|
@ -2179,13 +2179,6 @@ SchIdleTask
|
||||||
|
|
||||||
; Check that CPU plugin trusts this CPU
|
; Check that CPU plugin trusts this CPU
|
||||||
|
|
||||||
li r3, kGetProcessorTemp
|
|
||||||
li r4, 1 ; 2nd arg ignored
|
|
||||||
li r0, 46 ; KCCpuPlugin
|
|
||||||
sc
|
|
||||||
cmpwi r3, 0
|
|
||||||
beq @startagain
|
|
||||||
|
|
||||||
|
|
||||||
li r3, 1
|
li r3, 1
|
||||||
li r4, 0
|
li r4, 0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user