📄 northb.asm
字号:
;**************************************************************************
;*
;* NORTHB.ASM
;*
;* Copyright (c) 1999 National Semiconductor Corporation.
;* All Rights Reserved.
;*
;* Function:
;* Set up the CPU north bridge to default values.
;*
;* $Revision:: 3 $
;*
;**************************************************************************
.486P
INCLUDE DEF.INC
INCLUDE MACROS.INC
INCLUDE PORT80.INC
INCLUDE 5530.INC
INCLUDE OPTIONS.INC
_TEXT SEGMENT PUBLIC use16 'CODE'
EXTERN cy55x0RegRead8:NEAR
EXTERN cy55x0RegWrite8:NEAR
FUN_NORTHBRIDGE_TABLE:
db 040h, 0Eh
;GXM bug: RAW Clock (bit6) does not change but writing it will turn RAW clock off.
; db 041h, 01ah ;80000041 should be set to 1ah for best performance if NOT using VIP
db 041h, 012h ;80000041 should be set to 12h for best performance using VIP
; db 041h, 010h ;80000041 set to 10h as a compromise if unsure whether vip will be used
db 043h, 041h
;reprogram 41h if needed
IF ((MDEBUG) and (SC_CHIP))
IF SCx1xx_PROCESSOR
db 041h, 01Eh ; tavor : RWCLK should be enabled for scxxxx chips when using mtest
ELSE
db 041h, 012h ;80000041 should be set to 12h for best performance using VIP
; db 041h, 010h ;80000041 set to 10h as a compromise if unsure whether vip will be used
ENDIF
ELSE
IF SCx1xx_PROCESSOR
db 041h, 05Eh ;tavor : GXM bug: RAW Clock (bit6) does not change but writing it will turn RAW clock off
ENDIF
ENDIF
TOTAL_NORTHBRIDGE_COUNT EQU (($ - FUN_NORTHBRIDGE_TABLE)/2 )
;**************************************************************************
;*
;* northBridgeInit
;*
;* Core Logic initialization: Host bridge
;*
;* Entry:
;* Exit:
;* Modified:
;*
;**************************************************************************
northBridgeInit PROC NEAR PUBLIC
push bx
PORT80 POST_NORTHB_INIT ;post_e8h - Chipset init
mov cx, TOTAL_NORTHBRIDGE_COUNT
lea si, FUN_NORTHBRIDGE_TABLE
mov eax, CPUPCI_ID
Register_northb_Loop:
mov al, cs:[si]
inc si
mov dl, cs:[si]
inc si
cmp al, 0FFh
jne ValidReg
cmp dl, 0FFh
jne ValidReg
inc ah ; Crossed a Function Table
; Add one to the Function
jmp SkipRegWrite
ValidReg:
push edx
push eax
push ecx
NOSTACK bx, cy55x0RegWrite8
pop ecx
pop eax
pop edx
SkipRegWrite:
loop Register_northb_Loop
pop bx
jmp bx
northBridgeInit ENDP
_TEXT ENDS
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -