mirror of
https://github.com/elliotnunn/powermac-rom.git
synced 2025-01-23 10:31:18 +00:00
73 lines
2.7 KiB
ArmAsm
73 lines
2.7 KiB
ArmAsm
; Contains the table used by Init.s:SetProcessorFlags, and a label to find it with.
|
|
;
|
|
; Using this table, three fields in KDP are set:
|
|
; KDP.CpuSpecificByte1
|
|
; KDP.CpuSpecificByte2 (immediately follows Byte1)
|
|
; KDP.ProcessorInfo.ProcessorFlags
|
|
|
|
ProcessorFlagsTable
|
|
dcb.b 32 * (1 + 1 + 4), 0
|
|
ProcessorFlagsTableEnd
|
|
|
|
|
|
|
|
PflgTblCtr set 0
|
|
|
|
macro
|
|
PflgTblEnt &CpuSpecificByte1, &CpuSpecificByte2, &ProcessorFlags
|
|
|
|
@fb
|
|
org ProcessorFlagsTable + PflgTblCtr
|
|
dc.b &CpuSpecificByte1
|
|
org ProcessorFlagsTable + 32 + PflgTblCtr
|
|
dc.b &CpuSpecificByte2
|
|
org ProcessorFlagsTable + 64 + 4*PflgTblCtr
|
|
dc.l &ProcessorFlags
|
|
org @fb
|
|
PflgTblCtr set PflgTblCtr + 1
|
|
|
|
endm
|
|
|
|
|
|
|
|
with NKProcessorInfo
|
|
|
|
; CpuSpecificByte
|
|
; 1 2 ProcessorFlags CPU
|
|
; ---- - ------------------------------------------------------------------------ -----------------------
|
|
PflgTblEnt 0x03, 1, 0 ; 0**0
|
|
PflgTblEnt 0x00, 0, 0 ; 0**1 = 601
|
|
PflgTblEnt 0x03, 1, 0 ; 0**2
|
|
PflgTblEnt 0x1b, 2, 0 ; 0**3 = 603
|
|
PflgTblEnt 0x0a, 1, 0 ; 0**4 = 604
|
|
PflgTblEnt 0x1b, 2, 0 ; 0**5
|
|
PflgTblEnt 0x1b, 2, 0 ; 0**6 = 603e
|
|
PflgTblEnt 0x1b, 2, 0 ; 0**7 = 750FX
|
|
PflgTblEnt 0x1b, 2, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU ; 0**8 = 750
|
|
PflgTblEnt 0x0a, 1, 0 ; 0**9
|
|
PflgTblEnt 0x0a, 1, 0 ; 0**a
|
|
PflgTblEnt 0x03, 1, 0 ; 0**b
|
|
PflgTblEnt 0x1b, 2, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU | 1<< hasVMX | 1<< unknownFlag ; 0**c = 7400
|
|
PflgTblEnt 0x0b, 2, 0 ; 0**d
|
|
PflgTblEnt 0x03, 2, 0 ; 0**e
|
|
PflgTblEnt 0x03, 2, 0 ; 0**f
|
|
|
|
PflgTblEnt 0x03, 2, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU | 1<< hasVMX | 1<< unknownFlag ; 8**0 = 7450
|
|
PflgTblEnt 0x1b, 2, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU | 1<< hasVMX | 1<< unknownFlag ; 8**1 = 7445/55
|
|
PflgTblEnt 0x03, 2, 0 ; 8**2 = 7447 (OS X only)
|
|
PflgTblEnt 0x03, 2, 0 ; 8**3
|
|
PflgTblEnt 0x03, 1, 0 ; 8**4
|
|
PflgTblEnt 0x03, 2, 0 ; 8**5
|
|
PflgTblEnt 0x03, 2, 0 ; 8**6
|
|
PflgTblEnt 0x03, 2, 0 ; 8**7
|
|
PflgTblEnt 0x03, 2, 0 ; 8**8
|
|
PflgTblEnt 0x03, 2, 0 ; 8**9
|
|
PflgTblEnt 0x03, 2, 0 ; 8**a
|
|
PflgTblEnt 0x03, 2, 0 ; 8**b
|
|
PflgTblEnt 0x1b, 2, 1<< hasL2CR | 1<< hasPLRUL1 | 1<< hasTAU | 1<< hasVMX | 1<< unknownFlag ; 8**c = 7410
|
|
PflgTblEnt 0x03, 2, 0 ; 8**d
|
|
PflgTblEnt 0x03, 2, 0 ; 8**e
|
|
PflgTblEnt 0x03, 2, 0 ; 8**f
|
|
|
|
endwith
|