www.pudn.com > hpbios.rar > ACPITBL.ASM
; []==========================================================[]
;
; This source code is classified as confidential and
; contains trade secrets owned by Award Software, Inc.
;
; Copyright 1984, 1997
; Award Software, Inc.
; All rights reserved.
;
; []==========================================================[]
;----------------------------------------------------------------------------
;Rev Date Name Description
;----------------------------------------------------------------------------
;OEM01A04/10/00 AVN Fixed WIN98 standby mode lost, because ACPI VERSION
; length should have 4 bytes.
;OEM01 04/10/00 AVN Added define 'ACPI_OEM_TABLE_ID' to instead 'AWRDACPI'
;R13 03/10/00 RAX Added ACPI_OEM_TABLE_ID definition for OEM customer.
;R11A 01/11/00 DNL Let OS auto-assign polarity of the APIC I/O input signals
; to pass WIN2000 ACPI MP mode installation.
;R09A 12/17/99 RCH Fixed MS/Millennium installation failure on legacy
; free platform.
;
;R12 12/09/99 RCH Set ACPI version to 2.0 for Legacy free system. Also
; allow programmer to change the ACPI version in BIOS.CFG
;
;R11 11/26/99 DNL Fixed coding mistake and added new "APIC_SCI_INIT"
; definition to support different hardware's design.
; Example:
; In the APIC mode, if motherboard's SCI routed to
; the APIC interrupts 9 then the "APIC_SCI_INIT"
; definition in BIOS.CFG should be 9.
;R10 10/28/99 DNL Change ACPI_VERSION value from "1.00" to "1.0B"
;R07A 10/19/99 KNH ACPI_OEMID define reference to BIOS.CFG
;R09 10/18/99 RTW Added Legacy free entries in FACP table
;R08 07/26/99 DNL Added APIC plamform MP support for Windows 2000
;R07 10/01/98 DNL Filled OEM ID,OEM Revision,Creator ID parameter to
; identify ACPI BIOS version
;R06 04/13/98 DNL Support S1 state wakeup by IRQ
;----------------------------------------------------------------------------
.model small
.code
include BIOS.CFG
ifdef ACPI_SUPPORT
;Include fix EQUs
include ACPI.INC
;Include chip set dependent EQUs
;
;ifdef PIIX_PMU
; include PIIX4.ACP
;endif; PIIX_PMU
;Need to modify getpci.bat to rename chip set dependent filename to generic
;file name like "ACPI_CT.INC"
include ACPI_CT.INC
;R07 - start
;R07A ACPI_OEMID EQU "AWARD " ;OEM ID
;R10 ACPI_VERSION EQU "1.00" ;OEM Revision
;R12 - start
ifdef LEGACY_FREE_SUPPORT
ifndef ACPI_VERSION
ACPI_VERSION EQU "2.00" ;OEM Revision
endif; ACPI_VERSION
endif; LEGACY_FREE_SUPPORT
;R12 - end
ifndef ACPI_VERSION ;R12
ACPI_VERSION EQU "1.0B" ;R10 OEM Revision
endif; ACPI_VERSION ;R12
ACPI_ID EQU "AWRD" ;Creator ID
;R07 - end
;R13 start
ifndef ACPI_OEM_TABLE_ID
ACPI_OEM_TABLE_ID EQU "AWRDACPI"
endif ;ACPI_OEM_TABLE_ID
;R13 end
;----------------------------------------------------------------------------
;RSDT table
;
RSDTtable:
db "RSDT" ;Signature
dd RSDTLength ;Lenght
db 1 ;Revision
db 0 ;checksum
db ACPI_OEMID ;OEMID
;OEM01 db "AWRDACPI" ;OEM Table ID
db ACPI_OEM_TABLE_ID ;OEM01
;R07 db 4 dup (?) ;OEMRevision
;OEM01A db ACPI_VERSION ;R07 OEMRevision
dd ACPI_VERSION ;OEM01A OEMRevision
;R07 db 4 dup (?) ;Creator ID
db ACPI_ID ;R07 Creator ID
db 4 dup (?) ;Creatore Revision
db 4 dup (?) ;Pointer of FACP table
ifdef SIMPLE_BOOT_SUPPORT
db 4 dup (?) ; Pointer of BOOT table
endif ;SIMPLE_BOOT_SUPPORT
ifdef MP_SUPPORT ;R08
db 4 dup (?) ;R08
endif ;MP_SUPPORT ;R08
ifdef Debug_port_table ;R09
db 4 dup (?) ;R09 Pointer of DBGP table
endif ;Debug_port_table ;R09
RSDTLength EQU ($-RSDTtable)
;R09A - start
FACP_REV = 1
ifdef LEGACY_FREE_SUPPORT
FACP_REV = 2
endif; LEGACY_FREE_SUPPORT
;R09A - end
;----------------------------------------------------------------------------
;FACP Table
;
FACPtable:
db "FACP" ;Signature
dd FACPLength ;Length
;R09A db 1 ;Revision
db FACP_REV ;Revision ;R09A
db 0 ;checksum
db ACPI_OEMID ;OEMID
;OEM01 db "AWRDACPI" ;OEM Table ID
db ACPI_OEM_TABLE_ID ;OEM01
;R07 db 4 dup (?) ;OEM Revision
;OEM01A db ACPI_VERSION ;R07 OEMRevision
dd ACPI_VERSION ;OEM01A OEMRevision
;R07 db 4 dup (?) ;Creator ID
db ACPI_ID ;R07 Creator ID
db 4 dup (?) ;Creatore Revision
db 4 dup (?) ;Pointer of FACS table
db 4 dup (?) ;Pointer of DSDT table
db INT_MODEL ;
db 0 ;Reserved
dw SCI_INT ;
dd SMI_CMD ;
db ACPI_ENABLE
db ACPI_DISABLE
db S4BIOS_REQ ; S4BIOS_REQ value
db 0 ; Reserved
dd PM1a_EVT_BLK
dd PM1b_EVT_BLK
ifdef Virtual_ACPI_IO ;R06
dd Virtual_ACPI_IO ;R06
else ;Virtual_ACPI_IO ;R06
dd PM1a_CNT_BLK
endif ;Virtual_ACPI_IO ;R06
dd PM1b_CNT_BLK
dd PM2_CNT_BLK
dd PM_TMR_BLK
dd GPE0_BLK
dd GPE1_BLK
db PM1_EVT_LEN
db PM1_CNT_LEN
db PM2_CNT_LEN
db PM_TM_LEN
db GPE0_BLK_LEN
db GPE1_BLK_LEN
db GPE1_BASE
db 0 ;Reserved
dw P_LVL2_LAT
dw P_LVL3_LAT
dw FLUSH_SIZE
dw FLUSH_STRIDE
db DUTY_OFFSET
db DUTY_WIDTH
db DAY_ALRM
db MON_ALRM
db CENTURY_ALRM
;R09 -start
ifdef LEGACY_FREE_SUPPORT
dw Boot_Arch
db 0 ;Reserved
dd FACPFlag ;Flags
db Address_Space_Id
db Register_Bit_Width
db Register_Bit_Offset
db 0 ;Reserved
;R09A dd Address_high_Dword ;64 bits address space high dword
;R09A dd Address_low_Dword ;64 Bits address space low dword
dd Address_low_Dword ;64 Bits address space low dword ;R09A
dd Address_high_Dword ;64 bits address space high dword;R09A
db Reset_value ;Reset values
db 3 dup(0) ;reserved
else ;LEGACY_FREE_SUPPORT
;R09 -end
db 3 dup (0) ;Reserved
dd FACPFlag ;Flags
endif ;LEGACY_FREE_SUPPORT ;R09
FACPLength EQU ($-FACPtable)
;----------------------------------------------------------------------------
;FACS Table
;
FACStable:
db "FACS" ;Signature
dd FACSLength ;Length
dd 0 ;Hardware Signature
dd 0 ;Firmware Waking Vector
dd 0 ;Global Lock
dd FACSFlag
db 40 dup (0) ;Reserved
FACSLength EQU ($-FACStable)
;DSDT table will merge here.
ifdef SIMPLE_BOOT_SUPPORT
;BOOT Table
;
BOOTtable:
db "BOOT" ;Signature
dd BOOTLength ;Length
db 1 ;Revision
db 0 ;checksum
db ACPI_OEMID ;OEMID
db 8 dup (?) ;OEM Table ID
db 4 dup (?) ;OEM Revision
db 4 dup (?) ;Creator ID
db 4 dup (?) ;Creatore Revision
db SIMPLE_BOOT_CMOS ;CMOS index
db 3 dup (0) ;Reserved
BOOTLength EQU ( $ - offset BOOTtable )
endif ;SIMPLE_BOOT_SUPPORT
;R08 - start
ifdef MP_SUPPORT
PCAT_COMPAT EQU 1
APIC_Flag EQU PCAT_COMPAT
CPU_ENABLE EQU 1
CPU_APIC_Flag EQU CPU_ENABLE
APICTable:
db "APIC" ;Signature
dd APICLength ;Length
db 1 ;Revision
db 0 ;checksum
db ACPI_OEMID ;OEMID
db 8 dup (?) ;OEM Table ID
db 4 dup (?) ;OEM Revision
db 4 dup (?) ;Creator ID
db 4 dup (?) ;Creatore Revision
dd 0FEE00000h ;Local APIC address
dd APIC_Flag
CPU_APIC_Table:
db 0 ;APIC structure Types 0 - Processor Local APIC structure
db 8 ;Length
db 0 ;CPU ID
db 0 ;Loacl APIC ID
dd CPU_APIC_Flag
CPU1_APIC_Table:
db 0 ;APIC structure Types 0 - Processor Local APIC structure
db 8 ;Length
db 1 ;CPU ID
db 1 ;Loacl APIC ID
dd CPU_APIC_Flag
IO_APIC_Table:
db 1 ;APIC structure Types 1 - IO APIC structure
db 12 ;Length
db 2 ;IO APIC's ID
db 0 ;Reserved
dd 0FEC00000h ;IO APIC address
dd 0h ;System Vector Base
; INIT Flags
;
; Bit 15-4 : Reserved
; Bit 3-2 : Trigger mode of the APIC I/O Input signals
; 00 = Conforms to specifications of the bus
; (for example, ISA is edge-triggered)
; 01 = Edge-triggered
; 10 = Reserved
; 11 = Level Triggered
; Bit 1-0 : Polarity of the APIC I/O Input signals
; 00 = Conforms to specifications of the bus
; (for example, EISA is active-low for
; level-triggered interrupts)
; 01 = Active high
; 10 = Reserved
; 11 = Active low
INTI_Flag EQU 00000100b
;R11A SCI_INIT_Flag EQU 00001101b ;R11 Level,Active High (ACPI spec)
SCI_INIT_Flag EQU 00000000b ;R11A
INT_Source_Table:
db 2 ;APIC structure Types 2 - Interrupt Source Override
db 10 ;Length
db 0 ;Bus 0 - Constant, meaning ISA
db 0 ;Source IRQ
dd 2 ;Global System Interrupt Vector
dw INTI_Flag
INT1_Source_Table:
db 2 ;APIC structure Types 2 - Interrupt Source Override
db 10 ;Length
db 0 ;Bus 0 - Constant, meaning ISA
;R11 db 9 ;Source IRQ
;R11 dd 9 ;Global System Interrupt Vector
;R11 dw INTI_Flag
;R11 - start
db SCI_INT ;Source IRQ
ifdef APIC_SCI_INIT
dd APIC_SCI_INIT ;Global System Interrupt Vector
else ;APIC_SCI_INIT
db SCI_INT ;Global System Interrupt Vector
endif ;APIC_SCI_INIT
dw SCI_INIT_Flag
;R11 - end
APICLength EQU ( $ - offset APICtable )
endif ;MP_SUPPORT
;R08 - end
;R09 -start
;----------------------------------------------------------------------------
;DBGP Table
;
ifdef Debug_port_table
DBGPtable:
db "DBGP" ;Signature
dd DBGPLength ;Length
db 1 ;Revision
db 0 ;checksum
db ACPI_OEMID ;OEMID
;OEM01 db "AWRDACPI" ;OEM Table ID
db ACPI_OEM_TABLE_ID ;OEM01
;OEM01A db ACPI_VERSION ;OEMRevision ;Must be 4 bytes string
dd ACPI_VERSION ;OEM01A OEMRevision
db ACPI_ID ;Creator ID
db 4 dup (?) ;Creatore Revision
db interface_type ;the type of the registrer interface
db 3 dup(?) ;reserved
db base_address_space_ID
db base_address_bit_width
db base_address_bit_offset
db 0 ;reserved
dd 0 ;up dword zero for IA32 platform
dd DEB_port_Base_address ;for debug only
DBGPLength EQU ($-DBGPtable)
endif ;Debug_port_table
;R09 -end
endif ;ACPI_SUPPORT
end