mirror of
https://github.com/elliotnunn/powermac-rom.git
synced 2024-09-16 17:55:56 +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
|