📄 e0post.asm
字号:
; []===========================================================[]
;
; NOTICE: THIS PROGRAM BELONGS TO AWARD SOFTWARE INTERNATIONAL(R)
; INC. IT IS CONSIDERED A TRADE SECRET AND IS NOT TO BE
; DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED
; WRITTEN AUTHORIZATION FROM THE OWNER.
;
; []===========================================================[]
;
; PAGE 60,132
; TITLE POST -- 386 ROM/BIOS POST
;----------------------------------------------------------------------------
;Rev Date Name Description
;---------------------------------------------------------------------------
;R274B 05/31/99 STV Fixed R274A cause it's too short time to enter setup
; screen,because not add "Enter_Setup_Check" func.
; Now,delete "No_Enter_Setup_When_HDD_Detect" define.
;R285 05/24/99 KVN Change BIOS version string to "Award Medallion Modular"
; when bios define 'Bar_Menu_Setup'
;R284 05/22/99 RAX Add Intel VBU support.
;R283 05/06/99 MIL Add definition: SPECIAL_PATCH_FOR_EARLY_INIT_VGA
; :
; The purpose of this hook to add customization codes
; in chipset dependent files.
; (add define in BIOS.CFG & add hook in CHIPPOST.ASM)
; :
;R281 05/05/99 GAR Add code for swap kb/mouse for super I/O
;R280 05/04/99 DNL Fix that cause yellow bang mark on the keyboard device
; while no legacy keyboard pluged under Win2K
;R225A 04/28/99 BAR Add Flash_64K_Unit autmaticlly load
; awdflash.exe in Post & BootBlock.
;R253B 04/27/99 KVN Fixed system shadow write data abnormally by R253.
; This reason is CPU cache be enabled while memory test
; and not be disabled until POST_97S.That will cause
; write IDE HDD parameter wrong data.Now we diabled CPU
; cache after memory test.This case occur at 2A41800E
;R279 04/20/99 RAY Prepare CMOS info in stack in POST 28 instead of
; POST 35 so that CT_EARLY_PM_INIT (POST_29) can use [BP]
;
;R278A 04/20/99 RAY Change the CLIP of POST in USERINT.ASM instead
;R278 04/19/99 RAY Fix message cannot be displayed under full_screen_logo
;R274A 03/25/99 TNY R274 cause it's too short time to enter setup screen.
; , so I add a option for R274.
; "(No_Enter_Setup_When_HDD_Detect)"
;R277 03/22/99 GAR Enable PS2 mouse in post_105s if support on_now_function
;R276 03/16/99 RAY NO "Check_K6_CPU" if it is not 586 BIOS
;R275 03/12/99 TNY Move initial clock generator hook after PCI initaial
; for patching ICH (Intel).
;R274 03/10/99 RAX Added flag to prevent HDD detect not ready then enter
; setup.
;R273 02/26/99 RIC Fixed that "NO_CPU_CLOCK_DISPLAY" definition is not
; available.
;R255C 02/10/99 RAX Fixed memory test fail, coz by clear memory range
; wrong.
;R270 02/03/99 RCH Move password clearring message display from POST 45
; to POST 83 to prevent POST screen corrupt for UMA
; platform.
;R268 02/03/99 KVN Fixed screen display wrong when none EPA be combined
;R255B 02/03/99 KVN Fixed decompress data of source be destroyed while
; memory test (POST_82S)
;R267 02/01/99 RAY Kill all codes defined by NOT_USE_CBROM_EPALOGO
;R266 02/01/99 KVN Cancle some not use code for BIOS V6.0
;R265 01/29/99 PAL Move Ct_early_shadow hook after Init_Onboard_Generator
; for disable pci device can not be assigned resource
;R255A 01/29/99 STV Not define "linear_rom_support",Because BIOS ROM is Linear ROM.
;R264 01/29/99 TNY Fix display screen error if 2GB memory installed.
;R263 01/25/99 RCH Added switch "NO_BIOS_DATE_CODE_DISPLAY" to not
; display BIOS date code onto POST screen.
;R262 01/22/99 PAL Remove "Bootblock_16K_Support" definition to use
; Automatic_Load_Awdflash option in FLASH_64k_Unit
;R261 01/14/99 PAL Added RTM_Turbo_Freq hook for e0post.asm in order to
; avoid show freq. error in POST
;R260 12/31/98 KVN Support 4M BIOS structure
;R259 12/24/98 PHI Add new function ,that when CMOS checksum error
; the date default is the date that when BIOS made.
; Please define Date_DEFAULT_IS_BIOS_MAKE_DAY
;R258 12/12/98 RCH Discard "Video BIOS Shadow" setup item for platform
; without ISA Bus support like Intel/i820 & i810 chipset
;R257 12/11/98 KEN Fixed bug that the mouse cursor is displayed abnormal
; while using Microsoft IntelliMouse (socalled scroll
; function or wheel control mouse) in Win98 safe mode,
; when usb mouse support is enabled and no usb mouse
; is installed.
;R256 11/30/98 RCH Patch NSTL Generic Interrupt Handler(GIH) testing
; failure for IRQ 0 ( INT 8H ).
;
;R255 11/26/98 STV Fixed BIOS ROM change to Linear ROM define "linear_rom_support".
;R167E 11/19/98 RIC If not define "No_Cut_IRQ12_When_No_PS2_Pluged"
; ,force define "Disable_VIA_PS2_In_PCI_RESET" to make
; system be stable in PCI Reset.
;R167D 11/17/98 RIC Add "Disable_VIA_PS2_In_PCI_RESET" for VIA_PCI_Reset
; to fix system hang at PCI Reset in SMC I/O chip.
;R254 11/16/98 BAR Enable "PopUp_BootMenu_Accept" before hdinstall
; have more time to press "ESC" key into PopUp_Menu
;R253 10/20/98 BAR Modify QuickPost memory test only show counter
; No used pattren tabel.
; Clear memory turn on cpu cache to speed up .
; If Quick Post must test memory please define
; " QuickPost_ExtMem_Test_Used_Pattern_Tbl " .
;R252 10/13/98 GAR move init ps2 mouse command to pmupost.asm for power
; off
;R46B 10/02/98 RCH Modify memory high limit to support DRAM up to 2GB
; The Intel 440GX chipset support memory up to 2GB.
;R251 09/28/98 KEN Added the setup item checking of USB mouse if
; PS2_SETUPABLE and USB_MOUSE_SUPPORT are defined.
;R246 09/09/98 DNL Initial ACPI table and AML code late to fix VIA IRQ
; assign incorrectly problem
;R167C 03/05/98 RIC Add VIA 596 South Bridge chip Support.
; (Fixed that System can't reboot/PCI Reset in POST05h)
;R238A 09/04/98 KVN Don't fix 16th color for POST message in graphics POST
; when BIOS.CFG define "No_Show_Graphic_POST_MSG"
;R245 09/03/98 DNL Fixed some motherboard device no initial while BIOS
; support simple boot and system restart from WIN 98
; ACPI mode
;R244 09/03/98 DNL Fixed Intel TESTVIEW utility report memory size error
;R221E 08/12/98 KVN Added some feature for Acer request
;R240 08/05/98 TNY Fix some chipset WOL fail.
;R235B 07/29/98 BAR Resegmentaion E0POST .
;R239 07/28/98 RCH Fixed system reset after shutdown from Netware SMP
; OS if the CPU ID is 0651H for MP platform, due to
; data stored in segment 4100H was destoried by P6
; micro codes that are decompressed to 4000:0
;R221D 07/28/98 KVN Fixed coding mistake that will cause no report battery
; fail error message
;R238 07/28/98 KVN Let full screen logo show speed up
;R235A 07/27/98 BAR Resegmentaion E0POST .
;R237 07/24/98 RCH Added MediaGX DSTN LCD controller 9210 display support.
;R236 07/23/98 KVN Change method of decompressing in protect mode
;R235 07/20/98 BAR Resegmentaion E0POST .
;717 07/17/98 KVN Reset base memory map of POST
;R234 07/16/98 TNY Add "WAIT_10_SEC_IF_KB_ERR" option
;R233 07/16/98 KVN Fixed memory test fail or floppy seek error on switch
; to text mode from full screen logo
;R221C 07/16/98 KVN Request for Acer OEM
;R232 07/11/98 RAY Add BIOS.CFG switch: CLEAR_SCREEN_BEFORE_SHOWING_ERRORS
;R230 07/06/98 KVN Added "NO_EPA_LOGO" switch for graphics post to reduce
; POST and EPA pattern code size
;R221B 07/03/98 KVN 1. Added one more error condition for LS120 that not
; only Check LS120 drive but also verify bootable
; diskette have in LS120 drive.
; 2. Added enter setup message for CMOS checksum or
; battery fail error occur
;R228 07/01/98 BAR Rewrite int 19.
;R227 06/29/98 KVN Show TCAV version in POST screen
;R226 06/29/98 KEN Correct the codes to clear base memory at POST_49s
; for that the USBRAM used by USB BIOS in base memory is
; destroyed. But, if 2M flash ROM is used, the USB BIOS
; can't use base memory anyway.
;R225 06/26/98 DRS Add No_Automatic_Load_Awdflash_InPOST definition
; Some customers want to automatically load awdflash.exe,
; but they don't want this function during POST.
; They just want to autmaticlly load awdflash.exe in BootBlock.
;R224 06/24/98 TNY Add "WAIT_KEY_10_SEC" option.
;R221A 06/23/98 KVN Modified post error screen for acer OEM request
;R185E 06/18/98 KVN Change show award logo method in graphics post to
; save POST spent time
.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
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
ifdef RPB_ENABLED
INCLUDE rpb_err.equ
endif ;RPB_ENABLED
ifdef PCI_BUS ;R240
extrn Patch_LanBoot:near ;R240
endif; PCI_BUS ;R240
ifdef Show_PS2_UnConnect_Message
EXTRN MOUSE_ERR_STR:NEAR
endif ;Show_PS2_UnConnect_Message
ifdef New_Swap_Fdd_Method
extrn Fdd_Item:near
endif ;New_Swap_Fdd_Method
;R262ifdef Bootblock_16K_Support
ifdef Automatic_Load_Awdflash
ifNdef No_Automatic_Load_Awdflash_InPOST ;R225
extrn POST_Awdflash_Check:near
extrn TO_ENTER_Awdflash:near
ifdef Graphics_Post
extrn TO_ENTER_Awdflash1:near
endif ;Graphics_Post
endif ;No_Automatic_Load_Awdflash_InPOST ;R225
endif ;Automatic_Load_Awdflash
;R262endif ;Bootblock_16K_Support
ifdef CMOS_Default_in_Flash
extrn XCALL_PROC:near
EXTRN Search_CMOS_label:near
EXTRN Check_Flash_CMOS:near
extrn DRAM2FLASH:near ;;;05/05
extrn CMOS_DRAM_CHECKSUM:near ;;;05/05
endif ;CMOS_Default_in_Flash
extrn POST_decompress:near
ifdef HPM_Support
extrn Init_HPM:Near
extrn Post_init_hpm:Near
extrn Check_HPM_Resume:Near
endif ;HPM_Support
ifdef VSA_VGA
ifdef DSTN_9210_Support ;R237
extrn New_DSTN_Panel:far ;R237
endif ;DSTN_9210_Support ;R237
ifdef S2D_SUPPORT
extrn Check_VSA_resume:near
endif ;S2D_SUPPORT
endif ;VSA_VGA
ifdef JUMPER_CMOS_CLEAR_SUPPORT
extrn Ct_Cmos_Jumper_Chk:near
endif; JUMPER_CMOS_CLEAR_SUPPORT
;R228 ifdef LAN_BOOT_SUPPORT
;R228 extrn LanBoot_Item:near
;R228 endif; LAN_BOOT_SUPPORT
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 E8_Post_Tests:near ;R235
extrn xcall_proc:near
extrn E000_Enter_Prot_mode:near
extrn E000_Back_Real_Mode:near
;R228 extrn BootSeq_Item:near
;R228 - start
extrn BootSeq_Item_1:near
extrn BootSeq_Item_2:near
extrn BootSeq_Item_3:near
extrn BootSeq_Item_4:near
extrn Boot_Select_Seq:near
extrn Write_F000_shadow_Word:near
;R228 - end
ifdef CUT_IRQ12_BY_CT
extrn CT_Cut_Irq12:near
endif; CUT_IRQ12_BY_CT
ifdef NEW_SUPERIO_KERNEL
extrn Cut_Irq12:near
endif; NEW_SUPERIO_KERNEL
extrn Temp_Int06:near
ifdef PNP_BIOS
ifdef NEW_SUPERIO_KERNEL
ifdef CT_IO_DECODE
extrn Ct_Disable_IO_DECODE:near
endif ;CT_IO_DECODE
extrn Disable_SuperIO_ComLptPort:near
extrn Get_Node_IO:near
endif; PNP_BIOS
endif; NEW_SUPERIO_KERNEL
ifdef Support_4_IDE
extrn HDDE_ITEM:near
extrn HDDF_ITEM:near
endif ;Support_4_IDE
;R267 IF BUS_TYPE EQ EISA_BUS
;R267 extrn Eisa_Early_Init:near
;R267 extrn Init_Eisa_Slots:near
;R267 extrn Eisa_Error_Chk:near
;R267 endif;BUS_TYPE EQ EISA_BUS
ifdef MP_SUPPORT
extrn If_MP_PLUGGED:near
endif; MP_SUPPORT
ifdef ACPI_SUPPORT
extrn ACPI_Info_Byte:near ;R280
extrn ACPITableAddress:near
extrn ACPINVSAddress:near
extrn RSD_PTR:near
extrn Ct_ACPI_Option:near
extrn ACPI_RESERVED_MEM:near ;R244
ifdef SIMPLE_BOOT_SUPPORT ;R245
Show_Total_After_Memory_Test equ 1 ;R245
endif ;SIMPLE_BOOT_SUPPORT ;R245
ifdef S4_SUPPORT ;R245
Show_Total_After_Memory_Test equ 1 ;R245
endif ;S4_SUPPORT ;R245
endif ;ACPI_SUPPORT
ifdef PS2_SETUPABLE
extrn PS2_select_item:near
extrn Clear_Ps2Mouse_Flag:near
;R251 - start
ifdef USB_SUPPORT
ifdef USB_MOUSE_SUPPORT
;R257 extrn Usb_Mouse_Item:near
extrn Report_USB_Mouse_Support:near ;R257
endif ;USB_MOUSE_SUPPORT
endif ;USB_SUPPORT
;R251 - end
endif ;PS2_SETUPABLE
extrn E_F000_Shadow_W:near
extrn E_F000_Shadow_R:near
QUERY_SYSTEM_ADDRESS_MAP EQU 1 ;enable INT 15H , 0E820H
ifdef QUERY_SYSTEM_ADDRESS_MAP
extrn ExtData1Kb:near
extrn ExtMem128Mb:near
endif; QUERY_SYSTEM_ADDRESS_MAP
ifdef Graphics_Post
if STD_Function EQ 1
extrn Resume_POST_MSG:near
endif ;STD_Function EQ 1
;;ifdef Graphics_Post ;;;kevin
ifndef No_Show_Graphic_POST_MSG
extrn Graphic_POST_MSG:near
endif ;No_Show_Graphic_POST_MSG
endif; Graphics_Post ;;;kevin
extrn POST_INT9_Vect:near
extrn KBDINT_VECT:near
;;;kevinendif; Graphics_Post
if STD_Function EQ 1
EXTRN Check_0V_Resume:NEAR
EXTRN Show_PM_Config:NEAR
EXTRN Notebook_Resume:NEAR
endif ;STD_Function EQ 1
ifdef PM_SUPPORT
EXTRN PM_Sign_On_Msg:NEAR
IFDEF NoteBook_Power_Management
ENDIF ;NoteBook_Power_Management
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
extrn Ct_PMRAM_Use_SYSRAM:near
extrn PM_INIT:near
extrn Ct_PM_Final_Init:Near
endif; PM_SUPPORT
if EPA_LOGO_Switch
extrn Award_Mark_Font:Near
endif ;EPA_LOGO_Switch
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
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
extrn PciRom_Before_Init:near
extrn PciRom_After_Init:near
extrn Copy_ROM:Near
extrn Disable_UnUsed_Shadow:near
extrn Before_PciVGARomInit:near
extrn Move_VGA_BIOS_To_C000:Near
extrn Release_Shadow_From_PCI_VGA:Near
extrn fPatch_Ebda_Usage:far
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
ifdef NEW_SUPERIO_KERNEL
extrn Superio_Early_Init:Near
endif ;NEW_SUPERIO_KERNEL
endif ;PNP_BIOS
Early_Init_PS2Mouse = 0
ifdef Password_ON_NOW_SUPPORT
ifdef MOUSE_BUTTON_ON_SUPPORT
Early_Init_PS2Mouse = 1
endif; MOUSE_BUTTON_ON_SUPPORT
endif; Password_ON_NOW_SUPPORT
ifdef Init_PS2Mouse_at_POST
Early_Init_PS2Mouse = 1
endif; Init_PS2Mouse_at_POST
if Early_Init_PS2Mouse
extrn Init_Ps2Mouse_Proc:near
endif; Early_Init_PS2Mouse
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 VGA_SHARE_MEMORY
extrn Ct_Share_Memory_Size:near
endif ;VGA_SHARE_MEMORY
ifdef SPECIAL_SHARE_MEMORY_SHOW
extrn Ct_Share_Memory_Size:near
endif ;SPECIAL_SHARE_MEMORY_SHOW
ifdef Special_for_Weitek
extrn Weitek_Share_Vga_GCLK:near
endif ;Special_for_Weitek
ifdef USB_SUPPORT ;R44C
extrn Usb_Init:near
extrn Report_USB_Keyboard:near
endif ;USB_SUPPORT
ifdef NEW_SUPERKBC_KERNEL
extrn Load_Key_Matrix:near
endif ;NEW_SUPERKBC_KERNEL
extrn SPURIOUS_INT_HDLR:near
extrn SPURIOUS_soft_HDLR:near
ifndef PCI_BUS
extrn Ct_Disable_C8_To_DF_Shadow:near
endif; PCI_BUS
extrn Special_KBC_Init:near
extrn Init_Apic:near
extrn Show_Processor_Number:near
EXTRN ROM_AND_CMOS:NEAR
EXTRN ROM_OR_CMOS:NEAR
EXTRN A20_OFF:NEAR
EXTRN A20_ON:NEAR
EXTRN AX_To_HEX3:NEAR
EXTRN BATTERY_FAIL_MSG:NEAR
EXTRN BCD_TO_BINARY:NEAR
EXTRN BIOS_INFORM_STR:BYTE
EXTRN BTM_LINE_CLR:NEAR
EXTRN BUFFER_8042_FULL:NEAR
EXTRN Cache_Init:NEAR
EXTRN CKSM_ERROR_MSG:NEAR
EXTRN CODE_START:NEAR
EXTRN COLDBOOT:NEAR
EXTRN COPYRIGHT_MSG:BYTE
EXTRN CPU_CACHE:NEAR
EXTRN CPU_DISPLAY:NEAR
EXTRN CP_INSTALL:NEAR
EXTRN Ct_Auto_Check:NEAR
EXTRN CT_CACHE:NEAR
EXTRN CT_EARLY_SHADOW:NEAR
EXTRN Ct_Ext_Mem_Limit:NEAR
EXTRN Ct_Math_Detect:NEAR
EXTRN Ct_Option_Rom_Scan:NEAR
EXTRN Ct_Parity_Control:NEAR
EXTRN CT_REMAP:NEAR
EXTRN Ct_Show_Config:NEAR
EXTRN CURSOR_GET:NEAR
EXTRN CURSOR_ON:NEAR
EXTRN CURSOR_OFF:NEAR
EXTRN CURSOR_SET:NEAR
EXTRN CYRIX_INIT:NEAR
EXTRN DISP_DWORD_INT6:NEAR
EXTRN DISP_WORD_INT5:NEAR
EXTRN ENABLE_PARITY:NEAR
EXTRN EVAL_MSG:BYTE
EXTRN EVAL_MSG_CHKSUM:BYTE
EXTRN FIXED_DIAG_MSG:NEAR
EXTRN FLOPPY_MISMATCH_MSG:NEAR
EXTRN FLOPPY_RESET_MSG:NEAR
EXTRN FP_INSTALL:NEAR
EXTRN GET_CMOS:NEAR
EXTRN Get_CPU_Speed:NEAR
EXTRN HALT_ERR_MSG:NEAR
ifdef CMOS_Default_in_Flash
EXTRN test_ERR_MSG:NEAR
endif ; CMOS_Default_in_Flash
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -