📄 e0post.asm
字号:
; DRAM plugeed.
;R52 08/08/96 KVN Added customer EPA LOGO support
;R17D 08/07/96 RCH Fixed error coding of R17C , this cause 6x86 hang up
; while L2 cache is turned on.
;R17C 08/05/96 KGN Bypass 0.5M cacheable for shall memory
;R51 08/05/96 RCH Some customers won't display real clock for 6x86 CPU
;R50 07/26/96 RCH Some customers want to support 6x86 CPU with 50x1,60x1
; and 66x1
;R49 07/24/96 RCH Let routine "F000_Set_Cyrix" be public
;R44C 07/23/96 KEN Modified for initializing USB keyboard earlier.
;R48 07/22/96 RCH Display ODP & MMX for P6 CPUs
;R47 06/18/96 RCH Skip memory clearing to enter setup as soon as
; possible for large memory installed
;R46 06/18/96 RCH Modify memory high limit to support DRAM up to 512Mb
;R44B 06/14/96 TNY Fix coding error, otherwise KBD_STATUS error is always
; not present when no PS2 mouse support.
;R45 06/10/96 KGN Add defin Beep_Before_Boot for USI
;R44A 06/07/96 KEN Remove codes of calling Usb_Kbd to E8POST.ASM that it
; should be done after SMI_Handler being setup.
;R42A 06/03/96 RCH Reduce clock checking value for 200Mhz to prevent
; 200Mhz detected as 180Mhz
;R44 05/28/96 KEN Add USB_SUPPORT
;R43 05/21/96 RCH Added PENTIUM 225Mhz(75x3) support
;R42 05/21/96 TNY Add NEW_P6_200_TBL definition for QDI.
;R39A 05/11/96 RCH Clear shutdown byte CMOS for PCI reset as soon as
; possible.
;R41 05/11/96 RCH Take all codes of R37 off due to resource assign
; conflict. Old code was saved as E0POST.511
;R40 05/10/96 KVN Display exact HDD fail drive
;R39 05/09/96 RCH Restore warm flag from CMOS if PCI reset fucntion is
; supported
;R34A 05/08/96 RCH Also open 210,233 & 240Mhz for PENTIUM CPUs(CPU name
; is Tillamook of INTEL)
;R37C 05/07/96 RCH R37 cause all non-PnP BIOS can not program super I/O
; correctly.
;R37B 05/06/96 RCH Fixed WIN/95 can not find COM & LPT ports due to later
; super I/O initialization
;R30A 05/06/96 RAY Fix bug: Under some conditions, the BIOS will show
; "Conflict I/O: 000"
;R38 05/06/96 RAY Bug: - Setup set to "Halt on : All but Keyboard"
; - Keyboard is lock
; ====> no error message but still wait for "F1"
;
; Reason: this is due to Keylock error is recorded
; in FIXED_ERROR[BP], the old code checked
; for FIXED_ERROR[BP], FLOPPY_ERROR[BP]
; whether to stop for F1 if it is not set to
; "Halt on : No errors", "Halt on : All but
; diskette" or "Halt on : All but disk/key"
;
;R37A 05/06/96 RAY Fix R37 coding mistake
;R37 05/03/96 RAY 1. Initialize PnP device which request for COM/LPT
; addr before we init the onboard devices, i.e. card
; devices has higher priority that the onboard
; devices !
;
; 2. Also, the BIOS will report conflict.
;
; Reason : Most PnP FAX/MODEM card request for COM addr
;
;R36 05/02/96 DNL Added codes for Notebook Power Management
;R35 05/02/96 KVN Fixed musted to clear [CDROM_Exist_Flag] value before
; Auto_IDE_Detect function otherwise HDD will detect none
;R34 05/01/96 RCH Added 210,233 & 240Mhz support for P6(Klamath) CPU
;R33A 04/30/96 RCH Fixed error coding of R33 , this cause all ISA/VGA
; cards hang at POST 0DH
;R33 04/30/96 RAY Enable C000 shadow R/W before initializing VGA BIOS.
; This is stated in PCI specification & is strongly
; request by PCI SIG.
;R32 04/27/96 RAY Check Update-In-Process bit when writing to RTC
; This will prevent system from accidentally set the
; system time to default year: 1996
;R31 04/23/96 DNL Modify code to save space
;R30 04/19/96 RCH Added routine to display conflict I/O for COM & LPT
; ports and halt system for user to change CMOS setup
; for super I/O. Note: it need a routine named
; "Disable_SuperIO_ComLptPort" in .SIO file
;R29 04/17/96 RCH Added a hook to do special program before VGA ROM
; initial.
;R28 04/12/96 TNY Add Higher_120MHz_Tbl definition.
;R26B 04/11/96 RCH MP initial should be programmed earlier due to system
; hang of reading Time Stamp Counter for PENTIUM multi-
; processors support
;R26A 04/11/96 RCH Fixed Some TRITON M/Bs detect 90Mhz as 83Mhz
;R27 04/09/96 KVN Added P6 BIOS update feature
;R26 04/05/96 RCH Change CPU clock detection alorigthm to get more
; accurate CPU clock. Note: this new algorithm only
; available for INTEL PENTIUM & P6 CPUs
;R25 04/05/96 RCH Added a switch to skip 110Mhz clock support
;R24 04/02/96 DNL Added C&T,Cirrus LCD controller support
;R23 04/02/96 RCH Hide some standard items for special customer (ECS)
; "floppy seek","boot up speed" & "typematic rate"
;R22 03/27/96 KVN Fixed bug for execute awdflash.exe hang if support one
; full 640X464 logo
;R21 03/27/96 RCH The MP table should be modified to report PCI level
; trigger IRQs to OS for new INTEL I/O APIC, otherwise
; MP OS can not boot on PCI card.
;R17B 03/25/96 KGN Reset Cyrix 6x86 Cacheable Address setting
;R20 03/25/96 RAY Force display type to mono when no display card is plugged
;R15A 03/25/96 RAY Save codes for R15
;R19 03/22/96 DNL Added table for P54CT-125
;R18 03/21/96 DNL Added Pentiem-100 CPU for 50MHzx2 mode
;R17A 03/20/96 JSN Use old Cyrix 6x86 Cacheable function for ALI M152x,
; some chipsets(support share) will hang when M1 pluged.
;R17 03/19/96 KGN Change Cyrix 6x86 Cacheable Address setting
;R16 03/14/96 HTR Special_Cyrix_Tbl_For_VSI59X
;R15 03/14/96 RCH Some chipsets will wrap around memory address if
; access address beyond chipset top address. so add
; checking to avoid error memory sizing.
;R14 03/06/96 RCH Support P6 BIOS update code with multiple stepping
;R13 03/04/96 AVN Fixed Triton II Somtime CPU 180MHz Show 200MHz,
; Add "Higher_200MHz_Tbl" define in bios.cfg
;R12 02/28/96 RAY Add BIOS.CFG switch: No_Report_Cmos_Error
;R11 02/16/96 KVN Fixed AWARD logo display wrong
;R05B 02/16/96 KVN The ATi-MACH64 VGA card have updated ROM
;R04A 02/16/96 RCH There two combinations for 150Mhz of 6x86, BIOS have
; to check the clock mode and set right host clock
; 50Mhz for 3x mode and 66Mhz for 2x (75x2) mode,
; because chipset only support up to 66Mhz, no 75Mhz
;R08A 02/15/96 TNY Add RePrepare_LMEM_RESOURCE hook.
;R09A 02/15/96 KVN Fixed bug for execute awdflash.exe hang
;R10 02/14/96 TNY Public CompressVga_Seg for PCIPOST to used.
;R09 02/14/96 KVN Added 640x480 logo display
;R05A 02/14/96 KVN Fixed some SCSI card display string error
;R08 02/13/96 TNY Support new VGA BIOS which's size is tenderable.
;R07 02/09/96 RAY Support new VGA BIOS which's size is larger than 32k.
;R06 02/08/96 KVN Initial POST_temp_byte value
;R05 02/07/96 KVN Fixed ATi-MACH64 VGA card show POST screen error after
; screen change scanline
;R04 02/07/96 RIC Add Cyrix 6x86-P200+ (speed=75*2=150) CPU type.
;R03 02/06/96 RIC Fix Lucky-Start CPU Speed 166 sometimes show 180.
; Add "LUCKY_START_166_CPU_DETECT" define in bios.cfg
;R02 02/03/96 RIC Modify P24C-83 CPU Speed Detect Value 80 to 81,
; Because Pentiem-75 CPU Speed Show '83' in VLSI Lynx.
;R01 02/02/96 DRS Add hook Weitek_Share_Vga_GCLK for special WEITEK onboard VGA
;R00 01/26/96 RCH Clean all revisions and start from R00 , old file
; is saved as e0post.125
.386P
;[]-----------------------------------[]
;
; Award Software 386/486 BIOS
; Power-On Self-Test located in E0000-E7FFF area
;
; Copyright (C) 1996
; Award Software, Inc.
; All Rights Reserved
;[]-----------------------------------[]
.XLIST
INCLUDE BIOS.CFG
ifndef No_Support_4_IDE ;support 4 HDDs as default
Support_4_IDE EQU 1
endif ;No_Support_4_IDE
INCLUDE BTROMSEG.EQU ;R59A
INCLUDE COMMON.EQU
INCLUDE POST.EQU
INCLUDE ATORGS.EQU
INCLUDE PORT61.EQU
INCLUDE 8042.EQU
INCLUDE 8259.EQU
INCLUDE COMMON.MAC
INCLUDE POST.MAC
INCLUDE USERINT.MAC
;R59A INCLUDE PNP.EQU ;R59
ifdef RPB_ENABLED ;R143
INCLUDE rpb_err.equ ;R143
endif ;RPB_ENABLED ;R143
extrn POST_decompress:near ;R152D
ifdef HPM_Support ;R176
extrn Init_HPM:Near ;R176
extrn Post_init_hpm:Near ;R176
endif ;HPM_Support ;R176
ifdef JUMPER_CMOS_CLEAR_SUPPORT ;R149
extrn Ct_Cmos_Jumper_Chk:near ;R149
endif; JUMPER_CMOS_CLEAR_SUPPORT ;R149
;R168 - start
ifdef LAN_BOOT_SUPPORT
extrn LanBoot_Item:near
endif; LAN_BOOT_SUPPORT
;R168 - end
ifndef No_Post_Auto_IDE_Detect ;support auto-HDD detection as default
Post_Auto_IDE_Detect equ 1
endif ;No_Post_Auto_IDE_Detect
extrn xcall_proc:near ;R145
extrn E000_Enter_Prot_mode:near ;R67
extrn E000_Back_Real_Mode:near ;R67
extrn BootSeq_Item:near ;R64
ifdef NEW_SUPERIO_KERNEL ;R56
extrn Cut_Irq12:near ;R56
endif; NEW_SUPERIO_KERNEL ;R56
extrn Temp_Int06:near ;R26
;R30 - start
ifdef PNP_BIOS
ifdef NEW_SUPERIO_KERNEL
ifdef CT_IO_DECODE ;R30B
extrn Ct_Disable_IO_DECODE:near ;R30B
endif ;CT_IO_DECODE ;R30B
extrn Disable_SuperIO_ComLptPort:near
extrn Get_Node_IO:near
endif; PNP_BIOS
endif; NEW_SUPERIO_KERNEL
;R30 - end
ifdef Support_4_IDE
extrn HDDE_ITEM:near
extrn HDDF_ITEM:near
endif ;Support_4_IDE
IF BUS_TYPE EQ EISA_BUS
extrn Eisa_Early_Init:near
extrn Init_Eisa_Slots:near
extrn Eisa_Error_Chk:near
endif;BUS_TYPE EQ EISA_BUS
ifdef MP_SUPPORT
extrn If_MP_PLUGGED:near
endif; MP_SUPPORT
ifdef ACPI_SUPPORT ;R156A
extrn ACPITableAddress:near ;R156A
extrn ACPINVSAddress:near ;R156B
extrn RSD_PTR:near ;R182
extrn Ct_ACPI_Option:near ;R182
endif ;ACPI_SUPPORT ;R156A
ifdef PS2_SETUPABLE
extrn PS2_select_item:near
extrn Clear_Ps2Mouse_Flag:near
endif ;PS2_SETUPABLE
extrn E_F000_Shadow_W:near ;R150
extrn E_F000_Shadow_R:near ;R150
QUERY_SYSTEM_ADDRESS_MAP EQU 1 ;enable INT 15H , 0E820H
ifdef QUERY_SYSTEM_ADDRESS_MAP
extrn ExtData1Kb:near
extrn ExtMem128Mb:near
;R150 extrn F000_Shadow_W:near
;R150 extrn F000_Shadow_R:near
endif; QUERY_SYSTEM_ADDRESS_MAP
;R185Mono_Card_support = 1 ;R181
;R185ifdef EPA_LOGO_Use_Graphics ;R181
;R185FULL_SCREEN_LOGO EQU 1 ;R181
;R185CENTER_SHOW_LOGO EQU 16 ;R181
;R185No_Show_Graphic_POST_MSG EQU 1 ;R181
;R185AWARDLOGO_COLOR EQU LIGHTBLUE ;R181
;R185endif; EPA_LOGO_Use_Graphics ;R181
;R185ifndef EPA_LOGO_Use_Graphics ;R181
;R185ifdef FULL_SCREEN_LOGO
ifdef Graphics_Post ;R185
ifdef Notebook_Power_Management ;R69
extrn Resume_POST_MSG:near ;R69
endif ;Notebook_Power_Management ;R69
ifndef No_Show_Graphic_POST_MSG ;R114
extrn Graphic_POST_MSG:near
endif ;Notebook_Power_Management ;R69
extrn POST_INT9_Vect:near
extrn KBDINT_VECT:near
endif; Graphics_Post ;R185
;R185Mono_Card_support = 0 ;R181
;R185endif ;FULL_SCREEN_LOGO
;R185endif; EPA_LOGO_Use_Graphics ;R181
ifdef PM_SUPPORT
EXTRN PM_Sign_On_Msg:NEAR
IFDEF NoteBook_Power_Management
EXTRN Check_0V_Resume:NEAR
EXTRN Show_PM_Config:NEAR
EXTRN Notebook_Resume:NEAR
;R173 ifndef NO_LCD_DISPLAY ;R24
;R173 LCD_CRT_OPTION EQU 1 ;R24
;R173 endif ;NO_LCD_DISPLAY ;R24
ENDIF ;NoteBook_Power_Management
;R173 ifdef LCD_CRT_OPTION ;R24
;R173 ifdef ONBOARD_PCI_VGA ;R163
;R173 extrn PCI_VGA_INFO:near ;R163
;R173 endif ;ONBOARD_PCI_VGA ;R163
;R173 extrn Set_SimulScan:NEAR ;R24
;R173 endif ;LCD_CRT_OPTION ;R24
extrn PM_Option_Check:near
extrn EARLY_PM_INIT:near
extrn Cfg_Video_Mode:near
ifndef NO_EPA_LOGO
extrn EPA_pattern:NEAR
endif ;NO_EPA_LOGO
;R181 extrn Award_Mark_Font:Near
extrn Ct_PMRAM_Use_SYSRAM:near
extrn PM_INIT:near
extrn Ct_PM_Final_Init:Near
endif; PM_SUPPORT
if EPA_LOGO_Switch ;R181
extrn Award_Mark_Font:Near ;R181
endif ;EPA_LOGO_Switch ;R181
;R173 start
ifdef LCD_CRT_OPTION
ifdef ONBOARD_PCI_VGA
extrn PCI_VGA_INFO:near
endif ;ONBOARD_PCI_VGA
extrn Set_SimulScan:NEAR
endif ;LCD_CRT_OPTION
;R173 end
ifdef AUTO_CFG_IO
extrn AUTO_CFG_IDE_PORT:near
endif; AUTO_CFG_IO
ifdef Turbo_Pin_Handler
extrn TB_SW_Input_Item:near
endif ;Turbo_Pin_Handler
ifdef QUERY_SYSTEM_ADDRESS_MAP
extrn Setup_PS2:Near
endif; QUERY_SYSTEM_ADDRESS_MAP
ifdef No_Cyrix_Mark_For_M6M7
extrn Cyrix_Detect:near
endif ;No_Cyrix_Mark_For_M6M7
ifdef PCI_BUS
extrn PCI_VGA_FOUND:abs ;R33A
extrn PciRom_Before_Init:near
extrn PciRom_After_Init:near
extrn Copy_ROM:Near
extrn Disable_UnUsed_Shadow:near ;R08A
extrn Before_PciVGARomInit:near ;R29
extrn Move_VGA_BIOS_To_C000:Near ;R106
extrn Release_Shadow_From_PCI_VGA:Near ;R106
endif; PCI_BUS
ifdef PNP_BIOS
extrn PNP_System_Resource:near
extrn PNP_Early_Init:near
extrn PNP_Video_Init:near
extrn PNP_BootDev_Init:near
extrn PNP_OptROM_Init:near
extrn PNP_Final_Init:near
extrn PNP_IPL_Init:near
extrn PNP_Disp_Logo:near
extrn PNP_SuperIO_Init:near
extrn Kill_Onboard_PnP_IO:near
extrn Superio_Early_Init:Near ;R159
endif ;PNP_BIOS
Early_Init_PS2Mouse = 0 ;R169
ifdef Password_ON_NOW_SUPPORT ;R164
ifdef MOUSE_BUTTON_ON_SUPPORT ;R164
Early_Init_PS2Mouse = 1 ;R169
;R169 extrn Init_Ps2Mouse_Proc:near ;R164
endif; MOUSE_BUTTON_ON_SUPPORT ;R164
endif; Password_ON_NOW_SUPPORT ;R164
ifdef Init_PS2Mouse_at_POST ;R169
Early_Init_PS2Mouse = 1 ;R169
endif; Init_PS2Mouse_at_POST ;R169
if Early_Init_PS2Mouse ;R169
extrn Init_Ps2Mouse_Proc:near ;R169
endif; Early_Init_PS2Mouse ;R169
ifdef CLEAR_PASSWORD_SUPPORT
extrn Ck_Password_Switch:near
endif ;CLEAR_PASSWORD_SUPPORT
ifdef NO_SYSTEM_CONFIG
extrn AX_To_DEC3:Near
extrn Show_SIX_DIGIT:near
endif ;NO_SYSTEM_CONFIG
ifdef CD_ROM
extrn AUTO_CDROM_DETECT:near
endif ;CD_ROM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -