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