summaryrefslogtreecommitdiff
path: root/Board/EM/ACPI
diff options
context:
space:
mode:
authorraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
committerraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
commitb7c51c9cf4864df6aabb99a1ae843becd577237c (patch)
treeeebe9b0d0ca03062955223097e57da84dd618b9a /Board/EM/ACPI
downloadzprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz
init. 1AQQW051HEADmaster
Diffstat (limited to 'Board/EM/ACPI')
-rw-r--r--Board/EM/ACPI/ACPI.chmbin0 -> 166781 bytes
-rw-r--r--Board/EM/ACPI/ACPI.cif12
-rw-r--r--Board/EM/ACPI/ACPI.dxs49
-rw-r--r--Board/EM/ACPI/ACPI.mak446
-rw-r--r--Board/EM/ACPI/ACPI.sd263
-rw-r--r--Board/EM/ACPI/ACPI.sdl1872
-rw-r--r--Board/EM/ACPI/ACPI.unibin0 -> 8752 bytes
-rw-r--r--Board/EM/ACPI/ACPIBSP.CIF16
-rw-r--r--Board/EM/ACPI/ASLBSP.CIF10
-rw-r--r--Board/EM/ACPI/OEMRMISC.ASL241
-rw-r--r--Board/EM/ACPI/OEM_ACPI.C114
-rw-r--r--Board/EM/ACPI/OEM_ACPI.H94
-rw-r--r--Board/EM/ACPI/oemDSDT.asl246
13 files changed, 3363 insertions, 0 deletions
diff --git a/Board/EM/ACPI/ACPI.chm b/Board/EM/ACPI/ACPI.chm
new file mode 100644
index 0000000..2031f3b
--- /dev/null
+++ b/Board/EM/ACPI/ACPI.chm
Binary files differ
diff --git a/Board/EM/ACPI/ACPI.cif b/Board/EM/ACPI/ACPI.cif
new file mode 100644
index 0000000..3a8b925
--- /dev/null
+++ b/Board/EM/ACPI/ACPI.cif
@@ -0,0 +1,12 @@
+<component>
+ name = "ACPI"
+ category = eModule
+ LocalRoot = "BOARD\EM\ACPI\"
+ RefName = "ACPI"
+[files]
+"ACPI.chm"
+[parts]
+"ACPI_Board"
+"ACPI_CORE"
+"S3Support"
+<endComponent>
diff --git a/Board/EM/ACPI/ACPI.dxs b/Board/EM/ACPI/ACPI.dxs
new file mode 100644
index 0000000..ce86a6d
--- /dev/null
+++ b/Board/EM/ACPI/ACPI.dxs
@@ -0,0 +1,49 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+
+//**********************************************************************
+//<AMI_FHDR_START>
+//
+// Name: ACPI.DXS
+//
+// Description: Dependency expression file for ACPI Driver.
+//
+//<AMI_FHDR_END>
+//**********************************************************************
+
+#include <token.h>
+#if defined(AmiBoardInfo_SUPPORT) && (AmiBoardInfo_SUPPORT == 1)
+#include <Protocol\AmiBoardInfo.h>
+DEPENDENCY_START
+AMI_BOARD_INFO_PROTOCOL_GUID
+DEPENDENCY_END
+#else
+DEPENDENCY_START
+TRUE
+DEPENDENCY_END
+#endif
+
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
diff --git a/Board/EM/ACPI/ACPI.mak b/Board/EM/ACPI/ACPI.mak
new file mode 100644
index 0000000..efed735
--- /dev/null
+++ b/Board/EM/ACPI/ACPI.mak
@@ -0,0 +1,446 @@
+#//**********************************************************************
+#//**********************************************************************
+#//** **
+#//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+#//** **
+#//** All Rights Reserved. **
+#//** **
+#//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+#//** **
+#//** Phone: (770)-246-8600 **
+#//** **
+#//**********************************************************************
+#//**********************************************************************
+#**********************************************************************
+# $Header: /Alaska/BIN/Modules/ACPI/Template/Board/ACPI.mak 46 3/10/14 6:03p Oleksiyy $
+#
+# $Date: 3/10/14 6:03p $
+#
+#**********************************************************************
+# Revision History
+# ----------------
+# $Log: /Alaska/BIN/Modules/ACPI/Template/Board/ACPI.mak $
+#
+# 46 3/10/14 6:03p Oleksiyy
+# [TAG] EIP156376
+# [Category] Improvement
+# [Description] PREPARE directive is used now to guaranty that
+# AcpiOemElinks.h will be generated as sooner than it may be included in
+# any file.
+# [Files] ACPI.sdl
+# ACPI.mak
+#
+# 45 8/06/12 11:30a Oleksiyy
+# [TAG] EIP93878
+# [Category] Improvement
+# [Description] Improve T_ACPI_OEM_ID and T_ACPI_OEM_TBL_ID to acpi
+# table.
+# [Files] ACPI.mak
+#
+# 44 10/25/11 5:53p Oleksiyy
+# [TAG] EIP71540
+# [Category] Improvement
+# [Description] Fix of "any amount of spaces in table IDs replaced with
+# only one".
+# [Files] ACPI.mak and AcpiCore.c
+#
+# 43 5/14/11 2:59p Yakovlevs
+# [TAG] EIP 56526
+# [Category] New Feature
+# [Description] ACPI Manipulation Protocol. PI 1.2 Spec Vol 5 Section
+# 9.
+# [Files] AcpiCore.c; AcpiCore.h; AcpiSdtPrivate.h; Aml.c; AmlChild.c;
+# AmlNamespace.c; AmlOption.c; AmlString.c AcpiSdt.c;
+# Protocol\AcpiSdt.h.
+#
+# 42 3/18/11 4:09p Oleksiyy
+# [TAG] EIP53402
+# [Category] Improvement
+# [Description] Improving backward computability and architecture.
+# [Files] ACPI.mak, AcpiCore.cif, S3Save.cif, S3Save.mak,
+# S3Restore.mak, BootScriptExecutor.c, S3Common.cif, S3SaveState.h,
+# S3smmSaveState.h
+#
+# 41 2/03/11 4:19p Oleksiyy
+# [TAG] EIP53402
+# [Category] Improvement
+# [Description] Create new label of ACPI with separate S3 Functionality
+#
+# [Files] Acpi.cif; Acpi.sdl; Acpi.mak
+#
+# 40 12/22/10 5:09p Oleksiyy
+# [TAG] EIP49816
+# [Category] Improvement
+# [Description] Function OemAcpiSetPlatformId added as eLink
+# [Files] ACPi.mak, ACPI.sdl and OEM_ACPI.c
+#
+# 39 8/11/09 12:42p Markw
+# Link CSP library.
+#
+# 38 5/08/09 12:18p Yakovlevs
+# Made Acpi Driver use AMI Board Info Protocol if available without
+# breaking compatibility
+#
+# 37 3/26/09 4:47p Oleksiyy
+# New ACPI Core realization - improves logic, execution time and memory
+# usage of ACPI module.
+#
+# 1 2/18/09 3:50p Oleksiyy
+#
+# 35 12/01/08 6:53p Yakovlevs
+#
+# 34 11/08/07 4:54p Felixp
+# MPS_TABLE_SUPPORT updated with dependency from CSM_SUPPORT
+#
+# 33 6/10/07 10:38p Yakovlevs
+# Fixed issue for LegacyFree systems.
+# All PTS and WAK objects was excluded from DSDT.ASL if no SIO.
+# Now excluded only SIO WAKE/PTS methods.
+#
+# 32 6/05/07 3:41p Felixp
+#
+# 30 4/24/07 6:29p Felixp
+# Dependency expression for AcpiS3Save added
+#
+# 29 4/23/07 1:30p Felixp
+# Boot Script related code moved from Core to ACPI module.
+# Boot Script related code moved from Core to ACPI module.
+# PEI code added to S3 Resume PPI. DXE code added to AcpiS3Save driver.
+#
+# 28 3/21/07 7:09p Yakovlevs
+# Added support for ACPI 3.0 Header Revision.
+#
+# 27 3/19/07 12:23p Felixp
+# Dependency from token.h added
+#
+# 26 3/19/07 12:16p Felixp
+# MP Table object file added to ACPI_DXE_OBJECTS
+#
+# 25 1/23/07 3:13p Markw
+# Link CSP library to S3 Resume.
+#
+# 24 11/11/06 10:35a Felixp
+# Previous changes removed
+#
+# 22 8/01/06 4:01p Robert
+# reorganized make file
+#
+# 21 5/24/06 6:22p Ambikas
+#
+# 20 5/24/06 3:47p Ambikas
+#
+# 19 3/13/06 10:14a Felixp
+#
+# 17 1/25/06 11:49a Felixp
+# Path to ASL and IASL removed
+#
+# 16 12/12/05 11:35a Felixp
+#
+# 14 12/02/05 11:43a Felixp
+#
+# 13 12/02/05 11:42a Felixp
+#
+# 12 12/02/05 11:12a Felixp
+# include token.mak removed
+#
+# 11 12/01/05 12:20p Felixp
+# Dependency for ACPI Setup Data from $(BUILD_DIR)\ACPI.mak added
+#
+# 10 12/01/05 11:50a Markw
+#
+# 9 10/14/05 6:10p Felixp
+# Dependency Expression for AcpiS3Save removed
+#
+# 8 6/30/05 2:41p Felixp
+# acpi.sd an acpi.uni moved from ACPI-Core to ACPI-Board
+#
+# 7 6/29/05 5:45p Yakovlevs
+#
+# 6 5/25/05 1:14p Yakovlevs
+# dsdt.aml dependencies list updated
+#
+# 5 5/12/05 10:16a Markw
+# Added ACPIS3Wake.asm and AcpiPeiS3Func.c to build. Removed redunant
+# termal and fan from make file. It also exists in e-links.
+#
+# 4 5/05/05 6:40p Yakovlevs
+#
+# 3 4/29/05 3:21p Markw
+#
+# 2 4/29/05 12:19p Sivagarn
+# Created S3 related drivers
+#
+# 1 3/24/05 5:00p Sivagarn
+# Initial Checkin
+#
+#
+#**********************************************************************
+
+#<AMI_FHDR_START>
+#-----------------------------------------------------------------------
+# Name: Acpi.mak
+#
+# Description: Make file for the Acpi component
+#
+#-----------------------------------------------------------------------
+#<AMI_FHDR_END>
+
+#-----------------------------------------------------------------------
+# General definitions and rules
+#-----------------------------------------------------------------------
+all : BuildACPI
+!IF "$(AmiBoardInfo_SUPPORT)" != "1"
+all : BuildASL
+DSDT_GUID = 11D8AC35-FB8A-44d1-8D09-0B5606D321B9 # This one is for V 2.0+
+!ENDIF
+PREPARE : $(BUILD_DIR)\AcpiOemElinks.h
+$(BUILD_DIR)\AcpiOemElinks.h : $(BUILD_DIR)\token.h
+ $(ECHO) #define OEM_LIST $(OemUpdateHeader) > $(BUILD_DIR)\AcpiOemElinks.h
+!IF "$(T_ACPI_OEM_ID:|=a)"!="$(T_ACPI_OEM_ID)"
+ $(ECHO) #define ACPI_OEM_ID_MAK $(T_ACPI_OEM_ID:|=") >> $(BUILD_DIR)\AcpiOemElinks.h
+!ELSE
+ $(ECHO) #define ACPI_OEM_ID_MAK "$(T_ACPI_OEM_ID)" >> $(BUILD_DIR)\AcpiOemElinks.h
+!ENDIF
+!IF "$(T_ACPI_OEM_TBL_ID:|=a)"!="$(T_ACPI_OEM_TBL_ID)"
+ $(ECHO) #define ACPI_OEM_TBL_ID_MAK $(T_ACPI_OEM_TBL_ID:|=") >> $(BUILD_DIR)\AcpiOemElinks.h
+!ELSE
+ $(ECHO) #define ACPI_OEM_TBL_ID_MAK "$(T_ACPI_OEM_TBL_ID)" >> $(BUILD_DIR)\AcpiOemElinks.h
+!ENDIF
+
+$(BUILD_DIR)\AMICSPLIBInc.h : $(ACPI_CORE_DIR)\AcpiS3.h
+
+ACPI_CORE_DIR = $(PROJECT_DIR)\Core\Em\ACPI
+ASL_CORE_DIR = $(ACPI_CORE_DIR)
+ACPI_BOARD_DIR = $(PROJECT_DIR)\Board\Em\ACPI
+ASL_BOARD_DIR = $(ACPI_BOARD_DIR)
+ACPI_TOOLS_DIR = $(PROJECT_DIR)\TOOLS
+
+ACPI_BUILD_DIR = $(BUILD_DIR)
+BUILD_ACPI_CORE_DIR = $(BUILD_DIR)\Core\Em\ACPI
+BUILD_ACPI_BOARD_DIR = $(BUILD_DIR)\Board\Em\ACPI
+
+
+
+
+#-----------------------------------------------------------------------
+# Rules for building ACPI DXE driver
+#-----------------------------------------------------------------------
+BuildACPI : $(BUILD_DIR)\ACPI.mak ACPIBin
+
+ACPI_DXE_OBJECTS = $(BUILD_ACPI_CORE_DIR)\Acpicore.obj \
+$(BUILD_ACPI_BOARD_DIR)\OEM_ACPI.obj \
+!IFDEF PI_SPECIFICATION_VERSION
+!IF $(PI_SPECIFICATION_VERSION)>=0x10014
+$(BUILD_ACPI_CORE_DIR)\AcpiSdt.obj \
+$(BUILD_ACPI_CORE_DIR)\Aml.obj \
+$(BUILD_ACPI_CORE_DIR)\AmlChild.obj \
+$(BUILD_ACPI_CORE_DIR)\AmlNamespace.obj \
+$(BUILD_ACPI_CORE_DIR)\AmlOption.obj \
+$(BUILD_ACPI_CORE_DIR)\AmlString.obj \
+!ENDIF
+!ENDIF
+!IF "$(MPS_TABLE_SUPPORT)"=="1"
+$(BUILD_ACPI_CORE_DIR)\MPTable.obj \
+!IF "$(AmiBoardInfo_SUPPORT)" != "1"
+$(BUILD_ACPI_CORE_DIR)\MpPciIrq.obj
+!ENDIF
+!ENDIF
+
+$(BUILD_DIR)\ACPI.mak : $(ACPI_CORE_DIR)\acpicore.cif $(ACPI_BOARD_DIR)\acpiBsp.cif $(ACPI_BOARD_DIR)\acpi.mak $(BUILD_RULES)
+ $(CIF2MAK) $(ACPI_CORE_DIR)\acpicore.cif $(ACPI_BOARD_DIR)\acpiBsp.cif $(CIF2MAK_DEFAULTS)
+
+ACPIBin : $(AMIDXELIB) $(AMICSPLib)
+ $(MAKE) /$(MAKEFLAGS) $(BUILD_DEFAULTS)\
+ /f $(BUILD_DIR)\ACPI.mak all\
+ MAKEFILE=$(BUILD_DIR)\ACPI.MAK \
+ NAME=ACPI\
+ OBJECTS="$(ACPI_DXE_OBJECTS)" \
+ GUID=16D0A23E-C09C-407d-A14A-AD058FDD0CA1 \
+ ENTRY_POINT=AcpiNewCoreEntry \
+ "EXT_HEADERS=$(BUILD_DIR)\token.h\
+ $(BUILD_DIR)\AcpiOemElinks.h" \
+ TYPE=BS_DRIVER \
+ "MY_INCLUDES=/I$(ACPI_BOARD_DIR)" \
+ DEPEX1=$(ACPI_BOARD_DIR)\ACPI.DXS\
+ COMPRESS=1
+
+#-----------------------------------------------------------------------
+!IF "$(AmiBoardInfo_SUPPORT)"!="1"
+#-----------------------------------------------------------------------
+# MAK file for the ModulePart:ASL_CORE
+
+BuildASL : $(BUILD_DIR)\asl.ffs
+
+$(BUILD_DIR)\asl.ffs: $(PROJECT_DIR)\dsdt.aml
+ $(MAKE) /f Core\FFS.mak \
+ BUILD_DIR=$(BUILD_DIR) \
+ GUID=$(DSDT_GUID) \
+ TYPE=EFI_FV_FILETYPE_FREEFORM \
+ BINFILE=$** FFSFILE=$@ COMPRESS=1 NAME=$(**B)
+
+#----------------------------------------------------------------------------
+# In order to build AML tables (DSDT.AML & SSDT.AML)
+# ASL compiler have to be ran with DSDT.ASL and SSDT.ASL files corespondingly.
+#-----------------------------------------------------------------------
+# GENERATE ASL -> ASM Code
+#-----------------------------------------------------------------------
+
+!if "$(ACPI_ASL_COMPILER)" == "ASL.exe"
+$(PROJECT_DIR)\dsdt.aml: $(PROJECT_DIR)\DSDT.ASL $(IO_ASLS) $(PCI_ASLS) $(BUILD_DIR)\token.mak
+ $(ACPI_ASL_COMPILER) /Fo=$@ $(PROJECT_DIR)\DSDT.ASL
+!elseif "$(ACPI_ASL_COMPILER)" == "IASL.exe"
+$(PROJECT_DIR)\dsdt.aml: $(PROJECT_DIR)\DSDT.ASL $(IO_ASLS) $(PCI_ASLS) $(BUILD_DIR)\token.mak
+#dsdt.asl must be in the project directory; otherwise, will not be able to include various include files, esp. pcitree.asl
+ $(ACPI_ASL_COMPILER) -p dsdt $(PROJECT_DIR)\DSDT.ASL
+!endif
+
+!if "$(ACPI_SSDT_TBL)" == "1"
+$(ACPI_BUILD_DIR)\ssdt.aml: $(ASL_BOARD_DIR)\ssdt.asl
+!if "$(ACPI_ASL_COMPILER)" == "ASL.exe"
+ @$(ACPI_ASL_COMPILER) /Fa=$@ $**
+!elseif "$(ACPI_ASL_COMPILER)" == "IASL.exe"
+ @$(ACPI_ASL_COMPILER) -o $(BUILD_DIR)\ssdt.aml $**
+!endif
+!endif
+
+#-----------------------------------------------------------------------#
+# Description of ASL files that take part in building ACPI DSDT table
+# amlUpd.asl - OperationRegion and Field names to refer to BIOS exchange memory area
+# token.asl - SDL tokens stored in ASL name format
+# aslLib.asl - standard ASL routines (GPRW - generic PRW routine. MCTH - string compare routine)
+# PCItree.asl - file is generated by AMISDL. Defines PCI Devices tree, PCI IRQ routing information
+# oemDSDT.asl - defines Root PCI bridge resources (_CRS), _PTS(prepare to sleep),_WAK(after wake up) routines
+# irqLink.asl - Irq routing devices LINKx
+# ioRoute.asl - Chipset specific routines to route/release IO/DMA resources on ISA/LPC bus. Used only if Positive decoding is selected
+# FAN.asl - OEM Fan device(s) objects
+# TZ.asl - OEM Thermal Zone(s) objects
+# SI.asl - OEM System Indication objects
+#-----------------------------------------------------------------------
+DSDT_ASLS = \
+$(BUILD_DIR)\token.asl\
+Core\Em\ACPI\asllib.asl\
+Core\Em\ACPI\amlupd.asl\
+$(GENERIC_ASL_BEFORE_PCITREE)\
+$(BUILD_DIR)\PCItree.asl\
+$(SB_CHIPSET_DIR)\IRQLink.asl\
+#$(ASL_CORE_DIR)\irqLink.asl\
+#!IF "$(A_CPU)" == "1"
+#$(ASL_CORE_DIR)\cpu.asl\
+#!endif
+#!if "$(A_FAN)"=="1" || "$(A_THERMAL)"== "1"
+#$(ASL_CORE_DIR)\FAN.asl\
+#!endif
+#!if "$(A_THERMAL)" == "1"
+#$(ASL_CORE_DIR)\TZ.asl\
+#!endif
+#!if "$(A_SI)"=="1"
+#$(ASL_CORE_DIR)\SI.asl\
+#!endif
+$(GENERIC_ASL)
+
+ASL_SRC = $(**:\=\\)
+
+#-----------------------------------------------------------------------#
+# DSDT.ASL GENERATOR #
+#-----------------------------------------------------------------------#
+# Include any Make flag dependent ASL code in this module,
+# otherwise use OEM ASL files within ACPI_BSP_DIR for OEM modifications
+#
+# Note. 1. Do not change an order ASL files appear in above defined DSDT_ASLS list
+# 2. Any module can include own ASL files to the target DSDT.ASL
+# by adding the files to the dependency list as follows:
+# $(PROJECT_DIR)\DSDT.ASL: $(PATH)\module.asl
+#-----------------------------------------------------------------------#
+$(PROJECT_DIR)\DSDT.ASL: $(DSDT_ASLS)
+ copy << $@
+
+//==========================================================================
+// DO NOT EDIT THIS FILE
+// This file was generated automatically using NMAKE build process(ACPI.MAK)
+// If OEM changes needed, edit ASL file(s) with extension "*.asl"
+//==========================================================================
+DefinitionBlock (
+ "ami.aml",
+ "DSDT",
+!IF "$(ACPI_BUILD_TABLES_3_0)"=="1"
+ 0x02, // DSDT revision.
+!ELSE
+ 0x01, // DSDT revision.
+!ENDIF
+ // A Revision field value greater than or equal to 2 signifies that integers
+ // declared within the Definition Block are to be evaluated as 64-bit values
+ "$(T_ACPI_OEM_ID)", // OEM ID (6 byte string)
+ "$(T_ACPI_OEM_TBL_ID)", // OEM table ID (8 byte string)
+ 0x0$(PROJECT_BUILD) // OEM version of DSDT table (4 byte Integer)
+ )
+
+// BEGIN OF ASL SCOPE
+{
+// Miscellaneous services enabled in Project
+ include ("$(ASL_SRC: ="^)
+ include (")")
+// Sleep states supported by Chipset/Board.
+//----------------------------------------------------------------------
+// SSx - BIOS setup controlled enabled _Sx Sleep state status
+// Values to be written to SLP_TYPE register are provided by SBACPI.SDL (South Bridge ACPI ModulePart)
+ Name(\_S0, Package(4){$(A_S0_PKG)}) // mandatory System state
+!if "$(A_S1)"=="1"
+ if(SS1) { Name(\_S1, Package(4){$(A_S1_PKG)})}
+!endif
+!if "$(A_S2)"=="1"
+ if(SS2) { Name(\_S2, Package(4){$(A_S2_PKG)})}
+!endif
+!if "$(A_S3)"=="1"
+ if(SS3) { Name(\_S3, Package(4){$(A_S3_PKG)})}
+!endif
+!if "$(A_S4)"=="1"
+ if(SS4) { Name(\_S4, Package(4){$(A_S4_PKG)})}
+!endif
+ Name(\_S5, Package(4){$(A_S5_PKG)}) // mandatory System state
+
+ Method(PTS, 1) { // METHOD CALLED FROM _PTS (oemDSDT.asl) PRIOR TO ENTER ANY SLEEP STATE
+ If(Arg0) // entering any sleep state
+ {
+ $(ASL_PTS)
+!if "$(A_SIOW)"=="01" #IO_ASLS
+ \_SB.PCI0.SBRG.SIOS(Arg0)
+!endif
+ }
+ }
+ Method(WAK, 1) { // METHOD CALLED FROM _WAK (oemDSDT.asl) RIGHT AFTER WAKE UP
+ $(ASL_WAK)
+!if "$(A_SIOW)"=="01" #IO_ASLS
+ \_SB.PCI0.SBRG.SIOW(Arg0)
+!endif
+ }
+} // End of ASL File
+
+<<
+!ENDIF
+
+#---------------------------------------------------------------------------
+# Create NB Setup Screens
+#---------------------------------------------------------------------------
+SetupSdbs : $(BUILD_DIR)\ACPI.mak ACPISDB
+
+ACPISDB :
+ $(MAKE) /$(MAKEFLAGS) $(BUILD_DEFAULTS)\
+ /f $(BUILD_DIR)\ACPI.mak all\
+ TYPE=SDB NAME=ACPI STRING_CONSUMERS=$(ACPI_BOARD_DIR)\ACPI.sd
+#---------------------------------------------------------------------------
+
+
+
+#**********************************************************************
+#**********************************************************************
+#** **
+#** (C)Copyright 1985-2009, American Megatrends, Inc. **
+#** **
+#** All Rights Reserved. **
+#** **
+#** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+#** **
+#** Phone: (770)-246-8600 **
+#** **
+#**********************************************************************
+#**********************************************************************
diff --git a/Board/EM/ACPI/ACPI.sd b/Board/EM/ACPI/ACPI.sd
new file mode 100644
index 0000000..e4773c0
--- /dev/null
+++ b/Board/EM/ACPI/ACPI.sd
@@ -0,0 +1,263 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2012, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+
+//**********************************************************************
+// $Header: /Alaska/BIN/Modules/ACPI/Template/Board/ACPI.sd 21 1/26/12 5:19p Oleksiyy $
+//
+// $Revision: 21 $
+//
+// $Date: 1/26/12 5:19p $
+//**********************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/BIN/Modules/ACPI/Template/Board/ACPI.sd $
+//
+// 21 1/26/12 5:19p Oleksiyy
+// [TAG] EIP81670
+// [Category] New Feature
+// [Description] ACPI, ACPI settings goto define
+// [Files] ACPI.sd
+//
+// 20 9/30/11 4:22p Oleksiyy
+// [TAG] EIP71374
+// [Category] Improvement
+// [Description] ACPI sleep state setup option update.
+// [Files] ACPI.sd, ACPI.uni and AcpiCore.c
+//
+// 19 12/06/10 4:18p Oleksiyy
+// [TAG] EIP48172
+// [Category] Improvement
+// [Description] CONTROLS_WITH_DEFAULTS section added.
+// [Files] ACPI.sd
+//
+// 18 11/24/10 4:20p Oleksiyy
+// [TAG] EIP48172
+// [Category] Improvement
+// [Description] File updated to meet Setup Customization requirements.
+// [Files] ACPI.sd
+//
+// 17 10/12/10 5:51p Oleksiyy
+// EIP 38110. Setup Page title added.
+//
+// 16 4/28/10 2:35p Oleksiyy
+// EIP 35563 "Force to ACPI ver. 1.1" ACPI setup menu (default is OFF)
+// added. If Enabled - only Tables for ver. 1.1 will be builded (FACP,
+// FACS, RSDT (no XSDT), and MADT) al other tables added by
+// means of ACPI protocols not modified.
+//
+// 15 2/19/10 12:22p Oleksiyy
+// EIP 35099: Setup question to lock legacy resources from OS added.
+// Default value controlled by DEFAULT_ACPI_LOCK_LEGACY_DEV
+// SDL token and "OFF".
+//
+// 14 11/03/09 5:29p Oleksiyy
+// EIP 30137: Support for UEFI 2.1 added
+//
+// 13 3/26/09 4:47p Oleksiyy
+// New ACPI Core realization - improves logic, execution time and memory
+// usage of ACPI module.
+//
+// 1 2/18/09 3:50p Oleksiyy
+//
+// 12 8/14/08 10:07a Fasihm
+// Added the MANUFACTURING flag to the setup questions.
+//
+// 11 4/29/08 5:34p Yakovlevs
+//
+// 10 3/12/07 6:07p Yakovlevs
+//
+// 9 2/07/07 2:52p Markw
+// Add video repost setup question.
+//
+// 8 1/23/07 11:27a Markw
+// Added video repost setup question.
+//
+// 7 11/21/05 7:22p Felixp
+// Disable editing in in user mode
+//
+// 6 11/06/05 5:04p Yakovlevs
+//
+// 5 10/05/05 5:38p Felixp
+// oneof requires 2 bytes in NVRAM
+//
+// 4 9/09/05 6:36p Girim
+// Code Cleanup and added comments.
+//
+// 3 7/12/05 2:15p Girim
+//
+// 2 6/30/05 6:10p Yakovlevs
+//
+//**********************************************************************
+//<AMI_FHDR_START>
+//
+// Name: ACPI.sd
+//
+// Description: ACPI Form Template
+//
+//<AMI_FHDR_END>
+//**********************************************************************
+
+#ifdef SETUP_DATA_DEFINITION
+/***********************************************************/
+/* Put NVRAM data definitions here.
+/* For example: UINT8 Data1;
+/* These definitions will be converted by the build process
+/* to a definitions of SETUP_DATA fields.
+/***********************************************************/
+ UINT8 AcpiAuto;
+ UINT16 AcpiSleepState;
+ UINT8 AcpiLockLegacyRes;
+ UINT8 AcpiHibernate;
+ UINT8 S3ResumeVideoRepost;
+ UINT8 ForceToAcpi1;
+#endif
+
+#if defined(VFRCOMPILE) && !defined(CONTROLS_ARE_DEFINED)
+#define CONTROL_DEFINITION
+#endif
+
+#ifdef CONTROL_DEFINITION
+
+ #define ACPI_CHECKBOX_ACPIAUTO\
+ checkbox varid = SETUP_DATA.AcpiAuto,\
+ prompt = STRING_TOKEN(STR_ACPI_AUTO_PROMPT),\
+ help = STRING_TOKEN(STR_ACPI_AUTO_HELP),\
+ flags = DEFAULT_AUTO_ACPI | MANUFACTURING,\
+ key = 0,\
+ endcheckbox;
+ #define ACPI_CHECKBOX_ACPIHIBERNATE\
+ checkbox varid = SETUP_DATA.AcpiHibernate,\
+ prompt = STRING_TOKEN(STR_ACPI_S4_PROMPT),\
+ help = STRING_TOKEN(STR_ACPI_S4_HELP),\
+ flags = DEFAULT_SS4 | MANUFACTURING | RESET_REQUIRED,\
+ key = 0,\
+ endcheckbox;
+ #define ACPI_ONEOF_ACPISLEEPSTATE\
+ oneof varid = SETUP_DATA.AcpiSleepState,\
+ prompt = STRING_TOKEN(STR_ACPI_SLEEP_PROMPT),\
+ help = STRING_TOKEN(STR_ACPI_SLEEP_HELP),\
+ option text = STRING_TOKEN(STR_ACPI_SLEEP_NO), value = 0, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_ACPI_SLEEP_S1), value = 1, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_ACPI_SLEEP_S3), value = 2, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_ACPI_SLEEP_AUTO), value = 3, flags = RESET_REQUIRED | MANUFACTURING | DEFAULT;\
+ endoneof;
+ #define ACPI_CHECKBOX_ACPILOCKLEGACYRES\
+ checkbox varid = SETUP_DATA.AcpiLockLegacyRes,\
+ prompt = STRING_TOKEN(STR_ACPI_LOCK_LEGACY_DEV_PROMPT),\
+ help = STRING_TOKEN(STR_ACPI_LOCK_LEGACY_DEV_HELP),\
+ flags = DEFAULT_ACPI_LOCK_LEGACY_DEV | MANUFACTURING | RESET_REQUIRED,\
+ key = 0,\
+ endcheckbox;
+ #if S3_VIDEO_REPOST_SUPPORT == 1
+ #define ACPI_ONEOF_S3RESUMEVIDEOREPOST\
+ oneof varid = SETUP_DATA.S3ResumeVideoRepost,\
+ prompt = STRING_TOKEN(STR_S3_VIDEO_REPOST_PROMPT),\
+ help = STRING_TOKEN(STR_S3_VIDEO_REPOST_HELP),\
+ option text = STRING_TOKEN(STR_ACPI_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_ACPI_ENABLED), value = 1, flags = RESET_REQUIRED;\
+ endoneof;
+ #else
+ #define ACPI_ONEOF_S3RESUMEVIDEOREPOST
+ #endif
+ #if FORCE_TO_ACPI1_SETUP_ENABLE == 1
+ #define ACPI_ONEOF_FORCETOACPI1\
+ oneof varid = SETUP_DATA.ForceToAcpi1,\
+ prompt = STRING_TOKEN(STR_FORCE_TO_ACPI1_PROMPT),\
+ help = STRING_TOKEN(STR_FORCE_TO_ACPI1_HELP),\
+ option text = STRING_TOKEN(STR_ACPI_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_ACPI_ENABLED), value = 1, flags = RESET_REQUIRED;\
+ endoneof;
+ #else
+ #define ACPI_ONEOF_FORCETOACPI1
+ #endif
+ // Define goto commands for the forms defined in this file
+ #define ACPI_GOTO_ACPISETTINGS\
+ goto ACPI_FORM_ID, \
+ prompt = STRING_TOKEN(STR_ACPI_FORM),\
+ help = STRING_TOKEN(STR_ACPI_FORM_HELP);
+
+#endif //#ifdef CONTROL_DEFINITION
+
+#ifdef CONTROLS_WITH_DEFAULTS
+
+ ACPI_CHECKBOX_ACPIAUTO
+ ACPI_CHECKBOX_ACPIHIBERNATE
+ ACPI_ONEOF_ACPISLEEPSTATE
+ ACPI_CHECKBOX_ACPILOCKLEGACYRES
+ ACPI_ONEOF_S3RESUMEVIDEOREPOST
+ ACPI_ONEOF_FORCETOACPI1
+
+#endif //#ifdef CONTROLS_WITH_DEFAULTS
+
+#ifdef ADVANCED_FORM_SET
+ #ifndef SUPPRESS_GRAYOUT_ENDIF //old Core
+ #define SUPPRESS_GRAYOUT_ENDIF endif;
+ #endif
+ #ifdef FORM_SET_ITEM
+ // Define controls to be added to the main page of the formset
+ #endif
+
+ #ifdef FORM_SET_GOTO
+ // Define goto commands for the forms defined in this file
+ ACPI_GOTO_ACPISETTINGS
+ #endif
+
+ #ifdef FORM_SET_FORM
+ // Define forms
+ #ifndef ACPI_FORM_MAIN
+ #define ACPI_FORM_MAIN
+
+ form formid = AUTO_ID(ACPI_FORM_ID),
+ title = STRING_TOKEN(STR_ACPI_FORM);
+ SUBTITLE(STRING_TOKEN(STR_ACPI_FORM))
+ SEPARATOR
+
+ grayoutif ideqval SYSTEM_ACCESS.Access == SYSTEM_PASSWORD_USER;
+ ACPI_CHECKBOX_ACPIAUTO
+ endif;
+
+ SEPARATOR
+ suppressif ideqval SETUP_DATA.AcpiAuto == 0x1;
+ grayoutif ideqval SYSTEM_ACCESS.Access == SYSTEM_PASSWORD_USER;
+
+ ACPI_CHECKBOX_ACPIHIBERNATE
+
+ ACPI_ONEOF_ACPISLEEPSTATE
+
+ ACPI_CHECKBOX_ACPILOCKLEGACYRES
+
+ ACPI_ONEOF_S3RESUMEVIDEOREPOST
+
+ ACPI_ONEOF_FORCETOACPI1
+
+ SUPPRESS_GRAYOUT_ENDIF
+ endform; // ACPI_FORM_ID
+ #endif // ACPI_FORM_MAIN
+ #endif // FORM_SET_FORM
+
+#endif // ADVANCED_FORM_SET
+
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2012, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
diff --git a/Board/EM/ACPI/ACPI.sdl b/Board/EM/ACPI/ACPI.sdl
new file mode 100644
index 0000000..c4c8b3d
--- /dev/null
+++ b/Board/EM/ACPI/ACPI.sdl
@@ -0,0 +1,1872 @@
+IODEVICE
+ Name = "System Misc Resources "
+ ASLfile = "core\em\acpi\RMISC.asl"
+ ASLdeviceName = "RSYS"
+ Help = "Resources which does not fit any other description"
+End
+
+IODEVICE
+ Name = "Math Coprocessor"
+ ASLfile = "core\em\acpi\MATHCO.asl"
+ ASLdeviceName = "MATH"
+End
+
+TOKEN
+ Name = "ACPI_MODULE_VER"
+ Value = "44"
+ Help = "ACPI Module Version Number.\ DO NOT CHANGE THIS VALUE"
+ TokenType = Integer
+ TargetMAK = Yes
+ TargetH = Yes
+ Lock = Yes
+End
+
+TOKEN
+ Name = "ACPI_SUPPORT"
+ Value = "1"
+ Help = "Main switch to enable ACPI support in Project"
+ TokenType = Boolean
+ TargetEQU = Yes
+ TargetMAK = Yes
+ TargetH = Yes
+ Master = Yes
+End
+
+TOKEN
+ Name = "ATAD_SUPPORT"
+ Value = "0"
+ Help = "Main switch to enable ACPI Time And Alarm device support in Project. It is 0 by default, because having this device on some platforms can lead to unpredictable result. Porting may require."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ACPI_TIME_AND_ALARM_SW_SMI"
+ Value = "0x50"
+ Help = "Smi number used by ACPI Time And Alarm device."
+ TokenType = Integer
+ TargetH = Yes
+ Token = "ATAD_SUPPORT" "=" "1"
+End
+
+TOKEN
+ Name = "ATAA"
+ Value = "$(ACPI_TIME_AND_ALARM_SW_SMI)"
+ Help = "Smi number used by ACPI Time And Alarm device which goes to ASL Name Definitions"
+ TokenType = Integer
+ TargetASL = Yes
+ Token = "ATAD_SUPPORT" "=" "1"
+End
+
+TOKEN
+ Name = "T_ACPI_OEM_ID"
+ Value = "ALASKA"
+ Help = "ACPI OEM Id -\a string value to be filled into ACPI table headers.\ If you want use spaces as leading or and trailing symbols \you must surround the whole expression in '|'. \For example | ABC |. This will result in the generation of a \ #define ACPI_OEM_ID_MAK ' ABC ' in the file Build\AcpiOemElinks.h \(created by Acpi.mak file). All tables generated by the \Acpi eModule will have the IDs with the values from \the generated file. To see how this works, refer to \the AcpiCore.c file and search for the string ACPI_OEM_ID_MAK. \Some modules which submit their own ACPI tables may \use the old method: CONVERT_TO_STRING(T_ACPI_OEM_ID). \If they are using this method, either '|' will be included \in their table's ID fields, or a build error will \occur because the two additional '|' characters \will make the string larger than the TableId size \of 6 characters. Contact the owners of the offending modules and /ask them to use ACPI_OEM_ID_MAK as it is used in AcpiCore.c."
+ TokenType = Expression
+ TargetMAK = Yes
+ TargetH = Yes
+ Range = "1-6 characters"
+End
+
+TOKEN
+ Name = "T_ACPI_OEM_TBL_ID"
+ Value = "A M I"
+ Help = "ACPI OEM TBL Id -\a string value to be filled into ACPI table headers.\ If you want use spaces as leading or and trailing symbols \you must surround the whole expression in '|'. \For example | ABC |. This will result in the generation of a \ #define ACPI_OEM_TBL_ID_MAK ' ABC ' in the file Build\AcpiOemElinks.h \(created by Acpi.mak file). All tables generated by the \Acpi eModule will have the IDs with the values from \the generated file. To see how this works, refer to \the AcpiCore.c file and search for the string ACPI_OEM_ID_MAK. \Some modules which submit their own ACPI tables may \use the old method: CONVERT_TO_STRING(T_ACPI_OEM_ID). \If they are using this method, either '|' will be included \in their table's ID fields, or a build error will \occur because the two additional '|' characters \will make the string larger than the TableId size \of 8 characters. Contact the owners of the offending modules and /ask them to use ACPI_OEM_TBL_ID_MAK as it is used in AcpiCore.c."
+ TokenType = Expression
+ TargetMAK = Yes
+ TargetH = Yes
+ Range = "1-8 characters"
+End
+
+TOKEN
+ Name = "ACPI_OEM_REV"
+ Value = "0x01072009"
+ Help = "Just use BCD of the current date"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "8 byte length"
+End
+
+TOKEN
+ Name = "S3_BASE_MEMORY_SIZE"
+ Value = "0x40000"
+ Help = "Number of bytes for S3 resume base memory."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0x40000 = 256K, increase/decrease it in units of 0x1000 = 4K"
+End
+
+TOKEN
+ Name = "S3_MEMORY_SIZE_PER_CPU"
+ Value = "4096"
+ Help = "Number of S3 bytes reserved per CPU"
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "====== ACPI Tables Creation Flags ========"
+ Value = "!!!DO NOT CHANGE NAMES JUST VALUES!!!"
+ Help = "Specfy which tables will be created by the ACPI Driver."
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "ACPI_BUILD_TABLES_1_1"
+ Value = "0"
+ Help = "Main switch to enable ACPI 1.1 tables to be build in Project"
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ACPI_BUILD_TABLES_2_0"
+ Value = "1"
+ Help = "Main switch to enable ACPI 2.0 tables to be build in Project"
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ACPI_BUILD_TABLES_3_0"
+ Value = "1"
+ Help = "Main switch to enable ACPI 3.0 tables to be build in Project"
+ TokenType = Boolean
+ TargetMAK = Yes
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ACPI_BUILD_TABLES_4_0"
+ Value = "1"
+ Help = "Main switch to enable ACPI 4.0 tables to be build in Project"
+ TokenType = Boolean
+ TargetMAK = Yes
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ACPI_BUILD_TABLES_5_0"
+ Value = "1"
+ Help = "Main switch to enable ACPI 5.0 tables to be build in Project"
+ TokenType = Boolean
+ TargetMAK = Yes
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FORCE_TO_ACPI1_SETUP_ENABLE"
+ Value = "0"
+ Help = "Main switch to enable Force to ACPI 1.0 Setup question in Project"
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ACPI_APIC_TBL"
+ Value = "1"
+ Help = "Main switch to enable MADT table build in Project"
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "====== Sleep States Supported =========="
+ Value = "!!!DO NOT CHANGE NAMES JUST VALUES!!!"
+ Help = "Sleep States Supported By the Platform."
+ TokenType = Expression
+ Range = "4 decimal or Hex (use '0x' prefix) values separated with ','"
+End
+
+TOKEN
+ Name = "A_S1"
+ Value = "1"
+ Help = "S1 Sleep state enabled in BIOS"
+ TokenType = Boolean
+ TargetMAK = Yes
+End
+
+TOKEN
+ Name = "A_S2"
+ Value = "0"
+ Help = "S2 supported"
+ TokenType = Boolean
+ TargetMAK = Yes
+End
+
+TOKEN
+ Name = "A_S3"
+ Value = "1"
+ Help = "S3 supported"
+ TokenType = Boolean
+ TargetMAK = Yes
+End
+
+TOKEN
+ Name = "A_S4"
+ Value = "1"
+ Help = "S4 supported"
+ TokenType = Boolean
+ TargetMAK = Yes
+End
+
+TOKEN
+ Name = "====== OEM Platform Features ==========="
+ Value = "!!!DO NOT CHANGE NAMES JUST VALUES!!!"
+ Help = "Specfy some additional platform faetures supported by ACPI Name Space."
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "A_SI"
+ Value = "0"
+ Help = "Set to 1 if System has a software controllable System state LED;\System indication(LED), Implementation in SI.asl"
+ TokenType = Boolean
+ TargetMAK = Yes
+End
+
+TOKEN
+ Name = "A_THERMAL"
+ Value = "0"
+ Help = "ASL Thermal management module ( implemented in TZ.ASL )\FAN module is required; SMBus interface is optional is thermal sensor accessd over SMBus."
+ TokenType = Boolean
+ TargetMAK = Yes
+End
+
+TOKEN
+ Name = "A_FAN"
+ Value = "0"
+ Help = "FAN cooling device ( implementation in FAN.ASL )\Enable feature if Thermal support is selected (A_THERMAL = 1)"
+ TokenType = Boolean
+ TargetMAK = Yes
+End
+
+TOKEN
+ Name = "====== No-Maskable Int Sorses ==========="
+ Value = "Specifies which I/O (S)APIC int inputs should be enabled as non-maskable."
+ Help = "Specifies which I/O (S)APIC int inputs should be enabled as non-maskable."
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "NMIs_QUANTITY"
+ Value = "0"
+ Help = "Indicates the number non-maskable I/O (S)APIC \inputs, that platform has (non, if 0). "
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "===Values for NMIs structure in MADT======="
+ Value = "If NMIs_QUANTITY more than 1 look Help"
+ Help = "If NMIs_QUANTITY more than 1 add 3 more entries (NMI_GLOBAL_SYS_INT_i, NMI_i_POLARITY and NMI_i_TRIGGER_MODE for each additional NMI"
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "NMI_GLOBAL_SYS_INT_0"
+ Value = "0"
+ Help = "The Global System Interrupt that this NMI \will signal."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "depends on system architecture"
+ Token = "NMIs_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "NMI_0_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "NMIs_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "NMI_0_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "NMIs_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "====== LOCAL INTERRUPT ASSIGNMENT info ==========="
+ Value = "Specifies what int sourse is connected to each local int input of each local APIC."
+ Help = "Specifies what int sourse is connected to each local int input of each local APIC. Valid only for Multy Processor platforms"
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "LOCAL_APIC_VERSION_PARAMETER"
+ Value = "0x21"
+ Help = "LAPIC/LSAPIC revision BOUNDARY. For Intel it is should be 0x21. Clone and reasign if different"
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "LAPIC_QUANTITY"
+ Value = "2"
+ Help = "Indicates the number of LAPIC int lines. If more than 2 lines - add aditional set of parameters for each additional line"
+ TokenType = Integer
+ TargetH = Yes
+ Token = "NCPU" ">" "1"
+End
+
+TOKEN
+ Name = "====Parameters for each line======="
+ Value = "Dont Change names"
+ Help = "If more than 2 lines - add aditional set of parameters for each additional line"
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "LAPIC_0_INT_TYPE"
+ Value = "3"
+ Help = "Interrupt type: 0-INT; 1-NMI; 2-SMI; 3-ExtINT"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1, 2, 3"
+ Token = "LAPIC_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "LAPIC_0_POLARITY"
+ Value = "1"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "LAPIC_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "LAPIC_0_TRIGGER_MODE"
+ Value = "1"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "LAPIC_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "LAPIC_0_SOURCE_BUS_ID"
+ Value = "0"
+ Help = "Identifies the bus from which the interrupt signal comes."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "depends on system architecture"
+ Token = "LAPIC_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "LAPIC_0_SOURCE_BUS_IRQ"
+ Value = "0"
+ Help = "Identifies the interrupt signal from the source bus. Values are mapped onto source bus signals, starting from Zero."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "depends on system architecture"
+ Token = "LAPIC_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "LAPIC_0_DEST_ID"
+ Value = "0xFF"
+ Help = "Identifies the LAPIC to which the signal is connected. If 0xFFh - the signal is connected to all local APICs."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "depends on system architecture"
+ Token = "LAPIC_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "LAPIC_0_DEST_LINTIN"
+ Value = "0"
+ Help = "Identifies the LINTINn pin to which the signal is connected."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "depends on system architecture (Usualy 0 or 1)"
+ Token = "LAPIC_QUANTITY" ">" "0"
+End
+
+TOKEN
+ Name = "LAPIC_1_INT_TYPE"
+ Value = "1"
+ Help = "Interrupt type: 0-INT; 1-NMI; 2-SMI; 3-ExtINT"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1, 2, 3"
+ Token = "LAPIC_QUANTITY" ">" "1"
+End
+
+TOKEN
+ Name = "LAPIC_1_POLARITY"
+ Value = "1"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "LAPIC_QUANTITY" ">" "1"
+End
+
+TOKEN
+ Name = "LAPIC_1_TRIGGER_MODE"
+ Value = "1"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "LAPIC_QUANTITY" ">" "1"
+End
+
+TOKEN
+ Name = "LAPIC_1_SOURCE_BUS_ID"
+ Value = "0"
+ Help = "Identifies the bus fron which the interrupt signal comes."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "depends on system architecture"
+ Token = "LAPIC_QUANTITY" ">" "1"
+End
+
+TOKEN
+ Name = "LAPIC_1_SOURCE_BUS_IRQ"
+ Value = "0"
+ Help = "Identifies the interrupt signal from the source bus. Values are mapped onto source bus signals, starting from Zero."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "depends on system architecture"
+ Token = "LAPIC_QUANTITY" ">" "1"
+End
+
+TOKEN
+ Name = "LAPIC_1_DEST_ID"
+ Value = "0xFF"
+ Help = "Identifies the LAPIC to which the signal is connected. If 0FFh - the signal is connected to all local APICs."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "depends on system architecture"
+ Token = "LAPIC_QUANTITY" ">" "1"
+End
+
+TOKEN
+ Name = "LAPIC_1_DEST_LINTIN"
+ Value = "1"
+ Help = "Identifies the LINTINn pin to which the signal is connected."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "depends on system architecture (Usualy 0 or 1)"
+ Token = "LAPIC_QUANTITY" ">" "1"
+End
+
+TOKEN
+ Name = "==== Interrupt Source Override info ===="
+ Value = "!!!DO NOT CHANGE NAMES JUST VALUES!!!"
+ Help = "Interrupt Source Override information feeded to MADT table."
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "IO_APIC_VERSION_PARAMETER"
+ Value = "0x21"
+ Help = "IOAPIC/IOSAPIC revision BOUNDARY. For Intel it is should be 0x21. Clone and reasign if different"
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "IRQ_00_OVERRIDE_ENABLE"
+ Value = "1"
+ Help = "Enables or disables PIC IRQ 00 Override entry in MADT\For most of the systems default value is ON and only entry required.\For Standard PC Systems IO APIC INT_00 is used to deliver 8259 PIC 'INTR' signal\and PIC IRQ 02 used as CASCAD INTERRUPT for Second 8259 PIC."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_00_APIC_INT"
+ Value = "2"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 00"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_00_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_00_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_00_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_00_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_00_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_01_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 01 Override entry in MADT\For most of the systems default value is OFF.\IRQ 01 is mapped to INT_IN 01."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_01_APIC_INT"
+ Value = "1"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 01"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_01_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_01_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_01_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_01_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_01_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_03_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 03 Override entry in MADT\For most of the systems default value is OFF.\IRQ 03 is mapped to INT_IN 03."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_03_APIC_INT"
+ Value = "3"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 03"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_03_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_03_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_03_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_03_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_03_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_04_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 04 Override entry in MADT\For most of the systems default value is OFF.\IRQ 04 is mapped to INT_IN 04."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_04_APIC_INT"
+ Value = "4"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 04"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_04_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_04_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_04_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_04_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_04_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_05_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 05 Override entry in MADT\For most of the systems default value is OFF.\IRQ 05 is mapped to INT_IN 05."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_05_APIC_INT"
+ Value = "5"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 05"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_05_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_05_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_05_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_05_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_05_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_06_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 06 Override entry in MADT\For most of the systems default value is OFF.\IRQ 06 is mapped to INT_IN 06."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_06_APIC_INT"
+ Value = "6"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 06"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_06_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_06_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_06_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_06_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_06_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_07_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 07 Override entry in MADT\For most of the systems default value is OFF.\IRQ 07 is mapped to INT_IN 07."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_07_APIC_INT"
+ Value = "7"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 07"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_07_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_07_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_07_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_07_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_07_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_08_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 08 Override entry in MADT\For most of the systems default value is OFF.\IRQ 08 is mapped to INT_IN 08."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_08_APIC_INT"
+ Value = "8"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 08"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_08_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_08_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_08_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_08_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_08_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_09_OVERRIDE_ENABLE"
+ Value = "1"
+ Help = "Enables or disables PIC IRQ 09 Override entry in MADT\For most of the systems default value is OFF.\IRQ 09 is mapped to INT_IN 09.\For INTEL chipsets this entry should be on\since Intel uses IRQ 09 LEVEL_TRIGGERED; ACTIVE_HIGH.\For all other chipsets IRQ 9 conforms to the spec."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_09_APIC_INT"
+ Value = "9"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 09"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_09_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_09_POLARITY"
+ Value = "1"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_09_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_09_TRIGGER_MODE"
+ Value = "3"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_09_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_10_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 10 Override entry in MADT\For most of the systems default value is OFF.\IRQ 10 is mapped to INT_IN 10."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_10_APIC_INT"
+ Value = "10"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 10"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_10_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_10_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_10_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_10_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_10_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_11_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 11 Override entry in MADT\For most of the systems default value is OFF.\IRQ 11 is mapped to INT_IN 11."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_11_APIC_INT"
+ Value = "11"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 11"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_11_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_11_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_11_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_11_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_11_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_12_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 12 Override entry in MADT\For most of the systems default value is OFF.\IRQ 12 is mapped to INT_IN 12."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_12_APIC_INT"
+ Value = "12"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 12"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_12_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_12_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_12_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_12_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_12_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_13_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 13 Override entry in MADT\For most of the systems default value is OFF.\IRQ 13 is mapped to INT_IN 13."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_13_APIC_INT"
+ Value = "13"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 13"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_13_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_13_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_13_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_13_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_13_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_14_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 14 Override entry in MADT\For most of the systems default value is OFF.\IRQ 14 is mapped to INT_IN 14."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_14_APIC_INT"
+ Value = "14"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 14"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_14_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_14_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_14_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_14_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_14_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_15_OVERRIDE_ENABLE"
+ Value = "0"
+ Help = "Enables or disables PIC IRQ 15 Override entry in MADT\For most of the systems default value is OFF.\IRQ 15 is mapped to INT_IN 15."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On\Off"
+End
+
+TOKEN
+ Name = "IRQ_15_APIC_INT"
+ Value = "15"
+ Help = "IOAPIC INT IN number overriding PIC IRQ 15"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0..256 depends on system architecture"
+ Token = "IRQ_15_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_15_POLARITY"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Active High.\3 = Active Low."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 or 3. 2-reserved"
+ Token = "IRQ_15_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "IRQ_15_TRIGGER_MODE"
+ Value = "0"
+ Help = "0 = Conforms to specifications of bus.\1 = Edge-triggered.\3 = Level-triggered."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0, 1 and 3. 2 - reserved."
+ Token = "IRQ_15_OVERRIDE_ENABLE" "=" "1"
+End
+
+TOKEN
+ Name = "====== APIC Properties ================="
+ Value = "!!!DO NOT CHANGE NAMES JUST VALUES!!!"
+ Help = "Specfy some IO/APIC faetures ."
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "FEC00000_APIC_AUTODETECT"
+ Value = "1"
+ Help = "This will Auto Detect IO/APIC(s) which resides in MMIO region from 0xFEC0_0000 to 0xFED0_0000-1.\\ If set to 'off' ACPI initialization software will assume - system has one IO/APIC\with address provided in 'APCB' token."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On - Off"
+End
+
+TOKEN
+ Name = "PCI_BUS_APIC_AUTODETECT"
+ Value = "0"
+ Help = "This token is used to enable ACPI initialization software feature which will look for IO/APIC devices on the PCI bus.\\If set to 'off' ACPI initialization software will assume - system has one IO/APIC\with address provided in 'APCB' token."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On - Off"
+End
+
+TOKEN
+ Name = "PCI_BUS_APIC_LEAVE_ENABLE"
+ Value = "1"
+ Help = "Tells ACPI Driver not to restore previous state (it might be DISABLED) of IOAPICs discovered on PCI Bus."
+ TokenType = Boolean
+ TargetH = Yes
+ Token = "PCI_BUS_APIC_AUTODETECT" "=" "1"
+ Range = "On - Off"
+End
+
+TOKEN
+ Name = "USE_BOARD_INFO_APIC_DATA"
+ Value = "0"
+ Help = "Force BIOS to use IOAPIC SDL data structures in order collect IOAPIC information."
+ TokenType = Boolean
+ TargetH = Yes
+ Range = "On - Off"
+ Token = "AmiBoardInfo_SUPPORT" "=" "1"
+End
+
+TOKEN
+ Name = "SW_SMI_S4BIOS"
+ Value = "0"
+ Help = "Value to write to the SMI CMD register to enter \BIOS S4 state.\NOTE: Currently not implemented"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0-0xff 0 = not supported"
+End
+
+TOKEN
+ Name = "ACPH"
+ Value = "222"
+ Help = "North Bridge Scratchpad Data Register for patch ACPI."
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "ACPI_RSDT_TABLE_NUM"
+ Value = "0x10"
+ Help = "number of max entryes in RSDT"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "2-256"
+End
+
+TOKEN
+ Name = "ACPI_INT_MODEL"
+ Value = "1"
+ Help = "Interrupt Model for the ACPI system"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0=Dual PIC; 1=Mult APIC; 2=Mult SAPIC "
+End
+
+TOKEN
+ Name = "ACPI_APIC_FLAGS"
+ Value = "1"
+ Help = "Firmware control structure flags. See Table 5-12 for a description of this field.(ACPI 2.0 SPEC)."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0 = System has only APIC; 1 = System also has a PC-ATcompatible dual-PIC 8259; all other bits reserved an must be 0"
+End
+
+TOKEN
+ Name = "ACPI_PM_PROFILE"
+ Value = "3"
+ Help = "Power Management Profile ACPI 2.0\See acpi20.h"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0-8 0 = Unspecified; 1 = Desktop; 2 = Modile; 3 = Workstation; 4 = Enterprise Server; 5 = SOHO Server; 6 = Application PC; 7 = Performance Server; 8 = Tablet"
+ Token = "ACPI_BUILD_TABLES_2_0" "=" "1"
+End
+
+TOKEN
+ Name = "ACPI_IA_BOOT_ARCH"
+ Value = "0003h"
+ Help = "IA Boot Architecture\this token may be 'ored' see renge field for details"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "1 - IA_LEGACY; 2 - IA_8042; 4 - VGA Not Present; 8 - MSI Not Supported; 10h - PCIe ASPM Controls"
+ Token = "ACPI_BUILD_TABLES_2_0" "=" "1"
+ Token = "ATAD_SUPPORT" "=" "0"
+End
+
+TOKEN
+ Name = "ACPI_IA_BOOT_ARCH"
+ Value = "0023h"
+ Help = "IA Boot Architecture\this token may be 'ored' see renge field for details"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "1 - IA_LEGACY; 2 - IA_8042; 4 - VGA Not Present; 8 - MSI Not Supported; 10h - PCIe ASPM Controls, 20h - CMOS RTC Not Present"
+ Token = "ACPI_BUILD_TABLES_2_0" "=" "1"
+ Token = "ATAD_SUPPORT" "=" "1"
+End
+
+TOKEN
+ Name = "P_LVL2_LAT_VAL"
+ Value = "0065h"
+ Help = "Worst case Latency for enter C2"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0-0xff"
+End
+
+TOKEN
+ Name = "P_LVL3_LAT_VAL"
+ Value = "03E9h"
+ Help = "Worst case Latency for enter C3"
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0-0xff"
+End
+
+TOKEN
+ Name = "FLUSH_SIZE_VAL"
+ Value = "400h"
+ Help = "If WBINVD=0, the value of this field is the number of flush strides that need to be read (using cacheable addresses) to\completely flush dirty lines from any processor’s memory caches.\Notice that the value in FLUSH_STRIDE is typically the smallest cache line width on any of the\processor’s caches (for more information, ACPI SPEC)."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0-0xffff"
+End
+
+TOKEN
+ Name = "FLUSH_STRIDE_VAL"
+ Value = "10h"
+ Help = "If WBINVD=0, the value of this field is the cache line width, in bytes, of the processor’s memory caches. This\value is typically the smallest cache line width on any of the processor’s caches. For more information, see the\description of the FLUSH_SIZE field. (for more information, ACPI SPEC)."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0-0xffff"
+End
+
+TOKEN
+ Name = "DUTY_OFFSET_VAL"
+ Value = "1"
+ Help = "The zero-based index of where the processor’s duty cycle setting is within the processor’s P_CNT register.\(for more information, ACPI SPEC)."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0-0xf0"
+End
+
+TOKEN
+ Name = "DUTY_WIDTH_VAL"
+ Value = "3"
+ Help = "The bit width of the processor’s duty cycle setting value in the P_CNT register. Each processor’s duty cycle setting\allows the software to select a nominal processor frequency below its absolute frequency.\(for more information, ACPI SPEC)."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0-0xff: depends on 'duty_offset'"
+End
+
+TOKEN
+ Name = "FACS_FLAG_S4BIOS"
+ Value = "0"
+ Help = "Firmware control S4BIOS_F flags. See Table 5-12 for a description of this field.(ACPI 2.0 SPEC)."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "0 = OS will do S4; 1 = BIOS will do S4"
+End
+
+TOKEN
+ Name = "FACS_FLAG_64BIT_WAKE_SUPPORTED"
+ Value = "0"
+ Help = "Firmware control F64BIT_WAKE_SUPPORTED_F flags. See Table 5-13 for a description of this field.(ACPI 4.0 SPEC)."
+ TokenType = Integer
+ TargetH = Yes
+ Range = "1 = platform firmware supports a 64 bit execution environment for the waking vector; 0 = Otherwise"
+End
+
+TOKEN
+ Name = "ASSB"
+ Value = "0"
+ Help = "ACPI Sleep State Buffer for BIOS Usage."
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "AOTB"
+ Value = "0"
+ Help = "ACPI OS Type Buffer for BIOS Usage."
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "AAXB"
+ Value = "0"
+ Help = "ACPI Auxiliary Buffer for BIOS Usage."
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "HIDK"
+ Value = 'EISAID("PNP0303")'
+ TokenType = Expression
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "HIDM"
+ Value = 'EISAID("PNP0F03")'
+ TokenType = Expression
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "CIDK"
+ Value = 'EISAID("PNP030b")'
+ TokenType = Expression
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "CIDM"
+ Value = 'EISAID("PNP0F13")'
+ TokenType = Expression
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "DEFAULT_SS4"
+ Value = "$(A_S4)"
+ Help = "Default Value for ACPI Setup S4."
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "DEFAULT_ACPI_LOCK_LEGACY_DEV"
+ Value = "0"
+ Help = "Default Value for ACPI Lock Legacy Resources."
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "DEFAULT_SS3"
+ Value = "$(A_S3)"
+ Help = "Default Value for ACPI Setup S3."
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "DEFAULT_SS2"
+ Value = "$(A_S2)"
+ Help = "Default Value for ACPI Setup S2."
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "DEFAULT_SS1"
+ Value = "$(A_S1)"
+ Help = "Default Value for ACPI Setup S1."
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "DEFAULT_AUTO_ACPI"
+ Value = "0"
+ Help = "Default Value for ACPI Auto Config."
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ACPI_ASL_COMPILER"
+ Value = "IASL.exe"
+ Help = "Possible values: 'ASL.exe' and 'IASL.exe'."
+ TokenType = Expression
+ TargetMAK = Yes
+End
+
+TOKEN
+ Name = "PEHP"
+ Value = "$(PCI_EXPRESS_SUPPORT)"
+ Help = "_OSC: Pci Express Native Hot Plug Control"
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "SHPC"
+ Value = "$(HOTPLUG_SUPPORT)"
+ Help = "_OSC: Standard Hot Plug Controller (SHPC) Native Hot Plug control"
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "PEPM"
+ Value = "$(PCI_EXPRESS_SUPPORT)"
+ Help = "_OSC: Pci Express Native Power Management Events control"
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "PEER"
+ Value = "$(PCI_EXPRESS_SUPPORT)"
+ Help = "_OSC: Pci Express Advanced Error Reporting control"
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "PECS"
+ Value = "$(PCI_EXPRESS_SUPPORT)"
+ Help = "_OSC: Pci Express Capability Structure control"
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "S3_VIDEO_REPOST_SUPPORT"
+ Value = "0"
+ Help = "Switch to enable/disable S3 video repost support."
+ TokenType = Boolean
+ TargetH = Yes
+ Token = "CSM_SUPPORT" "=" "1"
+End
+
+TOKEN
+ Name = "======FACP Fixed Feature Flags"
+ Value = "Fixed Feature Flags Starts Here"
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "FACP_FLAG_WBINVD"
+ Value = "1"
+ Help = "Processor properly implements a functional \equivalent to the WBINVD IA-32 instruction.\If set, signifies that the WBINVD instruction \correctly flushes the processor caches, maintains \memory coherency, and upon completion of the \instruction, all caches for the current processor \contain no cached data other than what OSPM \references and allows to be cached. If this flag is \not set, the ACPI OS is responsible for disabling \all ACPI features that need this function. This field \is maintained for ACPI 1.0 processor compatibility \on existing systems. Processors in new ACPI-\compatible systems are required to support this \function and indicate this to OSPM by setting this \field."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_WBINVD_FLUSH"
+ Value = "0"
+ Help = "If set, indicates that the hardware flushes all \caches on the WBINVD instruction and maintains \memory coherency, but does not guarantee the \caches are invalidated. This provides the complete \semantics of the WBINVD instruction, and \provides enough to support the system sleeping \states. If neither of the WBINVD flags is set, the \system will require FLUSH_SIZE and \FLUSH_STRIDE to support sleeping states. If the \FLUSH parameters are also not supported, the \machine cannot support sleeping states S1, S2, \or S3."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_PROC_C1"
+ Value = "1"
+ Help = "If ON - indicates that the C1 power state is \supported on all processors."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_P_LVL2_UP"
+ Value = "0"
+ Help = "A zero indicates that the C2 power state is \configured to only work on a uniprocessor (UP) \system. A one indicates that the C2 power state \is configured to work on a UP or multiprocessor \(MP) system."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_PWR_BUTTON"
+ Value = "0"
+ Help = "A zero indicates the power button is handled as a \fixed feature programming model; a one indicates \the power button is handled as a control method \device. If the system does not have a power \button, this value would be “1” and no sleep \button device would be present.\Independent of the value of this field, the \presence of a power button device in the \namespace indicates to OSPM that the power \button is handled as a control method device."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_SLP_BUTTON"
+ Value = "1"
+ Help = "A zero indicates the sleep button is handled as a \fixed feature programming model; a one indicates \the sleep button is handled as a control method \device.\If the system does not have a sleep button, this \value would be “1” and no sleep button device \would be present.\Independent of the value of this field, the presence \of a sleep button device in the namespace \indicates to OSPM that the sleep button is \handled as a control method device."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_FIX_RTC"
+ Value = "0"
+ Help = "A zero indicates the RTC wake status is supported \in fixed register space; a one indicates the RTC \wake status is not supported in fixed register space."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_RTC_S4"
+ Value = "1"
+ Help = "Indicates whether the RTC alarm function can \wake the system from the S4 state. The RTC \must be able to wake the system from an S1, S2, \or S3 sleep state. The RTC alarm can optionally \support waking the system from the S4 state, as \indicated by this value."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_TMR_VAL_EXT"
+ Value = "0"
+ Help = "A zero indicates TMR_VAL is implemented as a \24-bit value. A one indicates TMR_VAL is \implemented as a 32-bit value. The TMR_STS \bit is set when the most significant bit of the \TMR_VAL toggles."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_DCK_CAP"
+ Value = "0"
+ Help = "A zero indicates that the system cannot support \docking. A one indicates that the system can \support docking. Notice that this flag does not \indicate whether or not a docking station is \currently present; it only indicates that the system \is capable of docking."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_RESET_REG_SUP"
+ Value = "1"
+ Help = "If set, indicates the system supports system reset \via the FADT RESET_REG"
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_SEALED_CASE"
+ Value = "0"
+ Help = "System Type Attribute. If set indicates that the \system has no internal expansion capabilities \and the case is sealed."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_HEADLESS"
+ Value = "0"
+ Help = "System Type Attribute. If set indicates the system \cannot detect the monitor or keyboard / mouse \devices."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_CPU_SW_SLP"
+ Value = "0"
+ Help = "If set, indicates to OSPM that a processor native \instruction must be executed after writing the \SLP_TYPx register."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_PCI_EXP_WAK"
+ Value = "0"
+ Help = "If set, indicates the platform supports the \PCIEXP_WAKE_STS bit in the PM1 Status \register and the PCIEXP_WAKE_EN bit in \the PM1 Enable register."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_USE_PLATFORM_CLOCK"
+ Value = "$(HPET_SUPPORT) "
+ Help = "A value of one indicates that OSPM should use a platform\provided timer to drive any monotonically non-decreasing\counters, such as OSPM performance counter services. Which\particular platform timer will be used is OSPM specific, however,\it is recommended that the timer used is based on the following\algorithm: If the HPET is exposed to OSPM, OSPM should use\the HPET. Otherwise, OSPM will use the ACPI power\management timer. A value of one indicates that the platform is\known to have a correctly implemented ACPI power management\timer.\A platform may choose to set this flag if a internal processor clock\(or clocks in a multi-processor configuration) cannot provide\consistent monotonically non-decreasing counters.\Note: If a value of zero is present, OSPM may arbitrarily choose to\use an internal processor clock or a platform timer clock for these\operations. That is, a zero does not imply that OSPM will\necessarily use the internal processor clock to generate a\monotonically non-decreasing counter to the system.\\Note:\If system supports HPET put here $(HPET_SUPPORT) token value.\"
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_S4_RTC_STS_VALID"
+ Value = "$(S4_WAKE_FROM_RTC_SUPPORTED)"
+ Help = "A one indicates that the contents of the RTC_STS flag is valid when waking the system from S4.\See PM1 Status Registers Fixed Hardware Feature Status Bits for more information.\Some existing systems do not reliably set this input today, and this bit allows OSPM\to differentiate correctly functioning platforms from platforms with this errata."
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_REMOTE_POWER_ON_CAPABLE"
+ Value = "$(REMOTE_POWER_ON_SUPPORTED)"
+ Help = "A one indicates that the platform is compatible with remote power on.\That is, the platform supports OSPM leaving GPE wake events armed prior to an S5 transition.\Some existing platforms do not reliably transition to S5 with wake events enabled\(for example, the platform may immediately generate a spurious wake event after completing the S5 transition).\This flag allows OSPM to differentiate correctly functioning platforms from platforms with this type of errata."
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_FORCE_APIC_CLUSTER_MODEL"
+ Value = "0"
+ Help = "A one indicates that all local APICs must be \configured for the cluster destination model when \delivering interrupts in logical mode.\If this bit is set, then logical mode interrupt delivery \operation may be undefined until OSPM has moved \all local APICs to the cluster model.\Note that the cluster destination model doesn’t \apply to Itanium processor local SAPICs. This bit is \intended for xAPIC based machines that require \the cluster destination model even when 8 or \fewer local APICs are present in the machine."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "FACP_FLAG_FORCE_APIC_PHYSICAL_DESTINATION_MODE"
+ Value = "0"
+ Help = "A one indicates that all local xAPICs must be \configured for physical destination mode. If this \bit is set, interrupt delivery operation in logical \destination mode is undefined. On machines that \contain fewer than 8 local xAPICs or that do not \use the xAPIC architecture, this bit is ignored."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "HW_REDUCED_ACPI"
+ Value = "0"
+ Help = "A one indicates that the ACPI Hardware Interface \is not implemented. Software-only alternatives \are used for supported fixed-features."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "LOW_POWER_S0_IDLE_CAPABLE"
+ Value = "0"
+ Help = "A one informs OSPM that the platform is able to \achieve power savings in S0 similar to or better \than those typically achieved in S3. In effect, when \this bit is set it indicates that the system will \achieve no power benefit by making a sleep transition to S3."
+ TokenType = Boolean
+ TargetH = Yes
+End
+
+
+TOKEN
+ Name = "=====End of FACP Fixed Featured Flags"
+ Value = "Fixed Featured Flags Ends here"
+ TokenType = Expression
+End
+
+TOKEN
+ Name = "MPS_TABLE_SUPPORT"
+ Value = "0"
+ Help = "Main switch to enable MPS V 1.4 Table support in Project"
+ TokenType = Boolean
+ TargetEQU = Yes
+ TargetMAK = Yes
+ TargetH = Yes
+ Token = "CSM_SUPPORT" "=" "1"
+End
+
+TOKEN
+ Name = "MP_TABLE_LEGACY_REGION_LOCATION"
+ Value = "1"
+ Help = "if set to 1 MPS table will reside in F0000 \segment, otherwise it will be above 1MB"
+ TokenType = Boolean
+ TargetH = Yes
+ Token = "MPS_TABLE_SUPPORT" "=" "1"
+End
+
+TOKEN
+ Name = "MP_TBL_TMP_BUFFER_SIZE"
+ Value = "4096"
+ Help = "Size of the Scratch Pad Buffer used to build MP Tables.\Usually 4K(4096 bytes) it enough in most cases.\ BUT for the Systems with more than 16 CPU and complicated BUS and IOAPICs infrastructure it is recommended to set it to 8K (8192 bytes)."
+ TokenType = Integer
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ACPI_THUNK_REAL_MODE_SEGMENT"
+ Value = "0x1000"
+ Help = "Segment of where ACPI thunk will be copied to."
+ TokenType = Integer
+ TargetEQU = Yes
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ACPI_THUNK_STACK_TOP"
+ Value = "0x1000"
+ Help = "Offset of top of stack in ACPI THUNK."
+ TokenType = Integer
+ TargetEQU = Yes
+ TargetH = Yes
+End
+
+TOKEN
+ Name = "ITKE"
+ Value = "0"
+ Help = "This will be overridden by the ITK module."
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "MBEC"
+ Value = "0xFFFF"
+ Help = "EC presence (0) or abssence (0xFFFF) in system. EC declare I/O port \ 62/66, also declared as MotherBoard Resources in rmisc.asl,\ as EC's resource. To avoid conflicts redefine \ to 0 in EC mopdule, if present"
+ TokenType = Integer
+ TargetASL = Yes
+End
+
+TOKEN
+ Name = "IFDEF_ASL_SUPPORT"
+ Value = "1"
+ Help = "Main switch to enable the #IF statement in the ASL file."
+ TokenType = Boolean
+ TargetMAK = Yes
+ TargetH = Yes
+ Range = "0 - 1"
+End
+
+TOKEN
+ Name = "ASLEXPANDER"
+ Value = "ASLExpander.exe"
+ TokenType = Expression
+ TargetMAK = Yes
+End
+
+TOKEN
+ Name = "ASL_FLAGS"
+ Value = "-tc -vi"
+ Help = "use '-tc' - always;\use '-vi' - with ASLEXPANDER;\use '-cr' - for ACPI 5.0 Compiler\"
+ TokenType = Expression
+ TargetMAK = Yes
+End
+
+PATH
+ Name = "ACPI_DIR"
+ Path = "Core\EM\ACPI"
+End
+
+PATH
+ Name = "ACPI_CORE_DIR"
+ Path = "Core\EM\ACPI"
+End
+
+PATH
+ Name = "ACPI_BOARD_DIR"
+ Path = "Board\EM\ACPI"
+End
+
+PATH
+ Name = "ACPI_PATH"
+ Path = "{$(ACPI_CORE_DIR);$(ACPI_BOARD_DIR)}"
+End
+
+MODULE
+ Help = "Includes ACPI.mak to Project"
+ File = "ACPI.mak"
+End
+
+ELINK
+ Name = "$(BUILD_DIR)\ACPI.sdb"
+ Parent = "SETUP_SDBS"
+ Priority = 0
+ Help = "Includes generic ACPI setup screens to the project"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "$(ACPI_BOARD_DIR)\ACPI.sd"
+ Parent = "SETUP_DEFINITIONS"
+ Priority = 0
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "GENERIC_ASL_BEFORE_PCITREE"
+ InvokeOrder = ReplaceParent
+End
+
+ELINK
+ Name = "GENERIC_ASL"
+ InvokeOrder = ReplaceParent
+End
+
+ELINK
+ Name = "Board\Em\Acpi\oemdsdt.asl"
+ Parent = "GENERIC_ASL"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "$(BUILD_DIR)\ACPI.ffs"
+ Parent = "FV_MAIN"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "ASL_PTS"
+ SrcFile = "Board\eM\ACPI\ACPI.mak"
+ InvokeOrder = ReplaceParent
+End
+
+ELINK
+ Name = "ASL_WAK"
+ SrcFile = "Board\eM\ACPI\ACPI.mak"
+ InvokeOrder = ReplaceParent
+End
+
+ELINK
+ Name = "SB_OSCM_ASL"
+ InvokeOrder = ReplaceParent
+End
+
+ELINK
+ Name = "FANS(Arg0)"
+ Parent = "ASL_PTS"
+ Help = "Fan prepare to sleep routine. \Arg0 is a sleep state the System is targeted for.\Defined in FAN.ASL"
+ Token = "A_FAN" "=" "1"
+ Token = "A_FAN" "|" "$(A_THERMAL)"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "\_TZ.TRMS(Arg0)"
+ Parent = "ASL_PTS"
+ Help = "ThermalZone: prepare to sleep routine. \Arg0 is a sleep state the System is targeted for.\Defined in TZ.ASL"
+ Token = "A_THERMAL" "=" "1"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "FANW(Arg0)"
+ Parent = "ASL_WAK"
+ Help = "Fan wake up routine. \Arg0 is a sleep state the System is resuming from. \Defined in FAN.ASL"
+ Token = "A_FAN" "=" "1"
+ Token = "A_FAN" "|" "$(A_THERMAL)"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "\_TZ.TRMW(Arg0)"
+ Parent = "ASL_WAK"
+ Help = "ThermalZone: prepare to sleep routine. \Arg0 is a sleep state the System is resuming from. \Defined in TZ.ASL"
+ Token = "A_THERMAL" "=" "1"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "Core\EM\ACPI\OSCM.asl"
+ Parent = "GENERIC_ASL"
+ Token = "ACPI_BUILD_TABLES_3_0" "=" "1"
+ Token = "PCI_BUS_MAJOR_VER" "<=" "2"
+ Token = "PCI_BUS_MINOR_VER" "<" "3"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "Board\Em\Acpi\OEMRMISC.asl"
+ Parent = "GENERIC_ASL"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "$(BUILD_DIR)\asl.ffs"
+ Parent = "FV_MAIN"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = " "
+ Parent = "$(BUILD_DIR)\asl.ffs"
+ Token = "AmiBoardInfo_SUPPORT" "=" "1"
+ InvokeOrder = ReplaceParent
+End
+
+ELINK
+ Name = "OemUpdateHeader"
+ Help = "This is a list of OEM routines for ACPI tables. The routines are called during creation and publishing of all ACPI tables."
+ InvokeOrder = ReplaceParent
+End
+
+ELINK
+ Name = "Core\EM\ACPI\TimeAndAlarm.asl"
+ Parent = "GENERIC_ASL"
+ Token = "ATAD_SUPPORT" "=" "1"
+ InvokeOrder = AfterParent
+End
+
+OUTPUTREGISTER
+ Name = "PCI_TREE_FULL_ASL"
+ Path = "Build"
+ File = "PciTree.asl"
+End
+
+OUTPUTREGISTER
+ Name = "IRQ_ASM_APIC"
+ Path = "BUILD"
+ File = "mppciirq.inc"
+ Token = "PCI_BUS_MAJOR_VER" "<" "2"
+ Token = "MPS_TABLE_SUPPORT" "=" "1"
+End
+
+OUTPUTREGISTER
+ Name = "TOKEN_ASL"
+ Path = "Build"
+ File = "token.asl"
+End
+
+OUTPUTREGISTER
+ Name = "TOKEN_ASLH"
+ Path = "Build"
+ File = "tokenAsl.h"
+ Token = "IFDEF_ASL_SUPPORT" "=" "1"
+End
diff --git a/Board/EM/ACPI/ACPI.uni b/Board/EM/ACPI/ACPI.uni
new file mode 100644
index 0000000..296210c
--- /dev/null
+++ b/Board/EM/ACPI/ACPI.uni
Binary files differ
diff --git a/Board/EM/ACPI/ACPIBSP.CIF b/Board/EM/ACPI/ACPIBSP.CIF
new file mode 100644
index 0000000..b4264df
--- /dev/null
+++ b/Board/EM/ACPI/ACPIBSP.CIF
@@ -0,0 +1,16 @@
+<component>
+ name = "ACPI - Board"
+ category = ModulePart
+ LocalRoot = "BOARD\EM\ACPI\"
+ RefName = "ACPI_BOARD"
+[files]
+"ACPI.sdl"
+"ACPI.mak"
+"ACPI.dxs"
+"OEM_ACPI.C"
+"OEM_ACPI.H"
+"ACPI.sd"
+"ACPI.uni"
+[parts]
+"ASL_BOARD"
+<endComponent>
diff --git a/Board/EM/ACPI/ASLBSP.CIF b/Board/EM/ACPI/ASLBSP.CIF
new file mode 100644
index 0000000..1820ab7
--- /dev/null
+++ b/Board/EM/ACPI/ASLBSP.CIF
@@ -0,0 +1,10 @@
+<component>
+ name = "ASL - Board"
+ category = ModulePart
+ LocalRoot = "BOARD\EM\ACPI\"
+ RefName = "ASL_BOARD"
+[files]
+"\OEMRMISC.ASL"
+"\oemDSDT.asl"
+[parts]
+<endComponent>
diff --git a/Board/EM/ACPI/OEMRMISC.ASL b/Board/EM/ACPI/OEMRMISC.ASL
new file mode 100644
index 0000000..0e466a9
--- /dev/null
+++ b/Board/EM/ACPI/OEMRMISC.ASL
@@ -0,0 +1,241 @@
+// THIS FILE IS INCLUDED to South Bridge device scope
+//**********************************************************************;
+//**********************************************************************;
+//**********************************************************************;
+//** **;
+//** (C)Copyright 1985-2005, American Megatrends, Inc. **;
+//** **;
+//** All Rights Reserved. **;
+//** **;
+//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **;
+//** **;
+//** Phone (770)-246-8600 **;
+//** **;
+//**********************************************************************;
+//**********************************************************************;
+// $Header: /Alaska/BIN/Modules/ACPI/Template/Board/OEMRMISC.ASL 6 3/26/09 4:55p Oleksiyy $
+//
+// $Revision: 6 $
+//
+// $Date: 3/26/09 4:55p $
+//****************************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/BIN/Modules/ACPI/Template/Board/OEMRMISC.ASL $
+//
+// 6 3/26/09 4:55p Oleksiyy
+// New ACPI Core implementation - improves logic, execution time and
+// memory usage of ACPI module.
+//
+// 1 2/18/09 3:50p Oleksiyy
+//
+// 5 4/13/07 4:19p Yakovlevs
+//
+// 4 12/12/05 9:26p Yakovlevs
+// comments changed
+//
+// 3 11/04/05 5:48p Yakovlevs
+// Rearrange resources and resolve resource conflicts
+//
+// 2 3/24/05 5:13p Sivagarn
+// Code cleanup
+//
+// 1 3/24/05 5:00p Sivagarn
+//
+//****************************************************************************
+
+
+//-----------------------------------------------------------------------
+// Any OEM Specific ISA control code to be defined in this file
+//-----------------------------------------------------------------------
+//<AMI_PHDR_START>
+//------------------------------------------------------------------------
+//
+// Procedure: OMSC
+//
+// Description: OEM Miscellaneous I/O and memory resources
+// This table should contain any I/O port that is not used by a specific
+// device but does not return FFh when read. Some examples of I/O ports
+// that should be reserved here are:
+// Any I/O port in the range 00 - FF that is not used by any other dev node
+// The IRQ edge/level control ports (4D0/4D1)
+//
+// Input: Nothing
+//
+// Output: _CRS buffer
+//
+//-------------------------------------------------------------------------
+//<AMI_PHDR_END>
+
+ Device(OMSC) {
+
+ Name(_HID, EISAID("PNP0C02")) // System board resources device node ID
+ Name(_UID, 0x0E11) // Unique ID.
+//S.Y !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+//All these resources has been moved to SB ASL
+
+// Name(CRS, ResourceTemplate() {
+// GP I/O space(if applicable)
+// IO(Decode16, 0, 0, 0, 0, IO1)
+// Base Address I/O APIC
+// Memory32Fixed(ReadOnly, 0x00000, 0x0, ME01 ) //Non-writeable
+// Base Address local APIC (boot strap CPU)
+// Memory32Fixed(ReadOnly, 0x00000, 0x0, ME02 ) //Non-writeable
+// } // End of ResourceTemplate
+// ) // end of CRS
+
+// Method (_CRS, 0)
+// {
+// GPIO,GPIL - General purpose I/O Base addfress & length
+// If(GPIO)
+// {
+// CreateWordField(CRS, ^IO1._MIN, GP10) // GPIO 1 Base
+// CreateWordField(CRS, ^IO1._MAX, GP11)
+// CreateByteField(CRS, ^IO1._LEN, GP1L) // GPIO length
+// Store(GPIO, GP10) // Min Base address
+// Store(GPIO, GP11) // Max Base address
+// Store(GPIL, GP1L) // Region length
+// }
+// Reserve IO & Local APIC memory ranges only if IO APIC is decoded/enabled
+// APCB,APCL - on chip I/O APIC Base address & region length
+// If(APCB)
+// {
+// CreateDwordField(CRS, ^ME01._LEN, ML01)
+// CreateDwordField(CRS, ^ME01._BAS, MB01)
+// CreateDwordField(CRS, ^ME02._LEN, ML02)
+// CreateDwordField(CRS, ^ME02._BAS, MB02)
+// Store(APCB, MB01) // Base address I/O APIC
+// Store(APCL, ML01) // Region length
+// Store(0xFEE00000, MB02) // Base address Local APIC
+// Store(0x1000, ML02) // Region length
+// }
+// Return(CRS)
+// }// End _CRS
+//S.Y !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+
+ }
+
+//-----------------------------------------------------------------------
+// System board extension Device node for ACPI BIOS
+//-----------------------------------------------------------------------
+
+//<AMI_PHDR_START>
+//------------------------------------------------------------------------
+//
+// Procedure: RMEM
+//
+// Description: System board extension Device node for ACPI BIOS
+// Place the device under \_SB scope, As per Msft the MEM
+// Device is used to reserve Resources that are decoded out of PCI Bus
+// Important consideration :
+// Logic to reserve the memory within 0xC0000 - 0xFFFFF Extended BIOS area is based on assumption, that
+// the BIOS Post has detected all expansion ROMs in the region and made their memory ranges
+// shadowable ( copied to RAM at the same address, for performance reasons). The rest of the region is left non-Shadowable,
+// hence no memory is decoded there. Such region is decoded to PCI bus (to be reserved in PCI0._CRS)
+// Whatever memory is Shadowed, thus, decoded as non "FF"s, is required to be reserved in "SYSM" System board extension Device node,
+// unless is not already reserved by some of PCI Device drivers. There have been observed the difference of how Win9x & Win2000
+// OSes deal with Expansion ROM memory. Win9x Device drivers are tend to claim its expension ROMs regions as used
+// by the device; Win2000 never use such ROM regions for its devices. Therefore there can be different
+// approach used for different OSes in reservation unclaimed memory in "SYSM" Device node.
+// is forwarded to PCI Bus
+//
+// Input: Nothing
+//
+// Output: _CRS buffer
+//
+//-------------------------------------------------------------------------
+//<AMI_PHDR_END>
+ Device(\_SB.RMEM)// Memory
+ {
+ Name(_HID, EISAID("PNP0C01")) // Hardware Device ID
+ Name(_UID, 1)
+/*
+ Name(CRS, ResourceTemplate()
+ {
+// Base Address 0 - 0x9FFFF , 640k DOS memory
+// Memory32Fixed(ReadWrite,0x0000, 0xA0000 ) //Writeable
+// Shadow RAM1, C0000 - E0000, 128k Expansion BIOS
+ Memory32Fixed(ReadOnly, 0x00000, 0x00000, RAM1) //Non-writeable
+// Shadow RAM2, E0000 - 1M, 128k System BIOS
+ Memory32Fixed(ReadOnly, 0xE0000, 0x20000, RAM2) //Non-writeable
+// Base Address 1M - Top of system present memory
+// Memory32Fixed(ReadWrite,0x100000,0x00000, RAM3) //Writeable
+// ROM image if decoded at top of 4GByte space
+// Memory32Fixed(ReadOnly, 0x00000, 0x00000, RESM) //Non-Writeable
+// Reserve memory range above 4GB
+// QWORDMemory( ResourceConsumer, PosDecode, MinFixed, MaxFixed,
+// Cacheable, // _MEM
+// ReadWrite, // _RW
+// 0xfffffff, // Granularity
+// 0x40000000, 0x00000000, // _MIN, _MAX
+// 0x00, // Translation
+// 0x00000000, // _LEN
+// ,,
+// 4GBR
+// )
+ })
+
+ Method (_CRS, 0)
+ {
+ CreateDwordField(CRS, ^RAM1._BAS, BAS1)
+ CreateDwordField(CRS, ^RAM1._LEN, LEN1)
+ CreateDwordField(CRS, ^RAM2._BAS, BAS2)
+ CreateDwordField(CRS, ^RAM2._LEN, LEN2)
+// CreateDwordField(CRS, ^RAM3._LEN, LEN3)
+// CreateDwordField(CRS, ^RESM._BAS, BAS4)
+// CreateDwordField(CRS, ^RESM._LEN, LEN4)
+// CreateQwordField(CRS, ^4GBR._MIN, MIN5)
+// CreateQwordField(CRS, ^4GBR._MAX, MAX5)
+// CreateQwordField(CRS, ^4GBR._LEN, LEN5)
+ If(LNotEqual(OSFL,0)) // For Win9x do not reserve 0xC0000-0xE0000,
+ // The region can already be claimed by some OS driver (video, SCSI,..)
+ {
+ If(MG1B) // If there is a non-shadowed gap in 0xc0000 - 0xfffff region
+ {
+ // Shadow RAM1, C0000 - E0000, 128k Expansion BIOS
+ If(LGreater(MG1B, 0xC0000))
+ {
+ Store(0xC0000, BAS1)
+ Subtract(MG1B, BAS1, LEN1)
+ }
+ } Else {
+ Store(0xC0000, BAS1)
+ Store(0x20000, LEN1)
+ }
+ // Shadow RAM2, E0000 - 1M, 128k System BIOS
+ If(Add(MG1B, MG1L,Local0))
+ {
+ Store(Local0, BAS2)
+ Subtract(0x100000, BAS2, LEN2)
+ }
+ }
+// MIN6 returns the System memory size (PCI0._CRS)
+ Subtract(MG2B, 0x100000, LEN3)
+// Memory hole at top of 4Gbyte
+ Add(MG2B, MG2L, BAS4)
+ Subtract(0, BAS4, LEN4)
+// above 4GB
+// Store(MG3B, MIN5)
+// Store(MG3L, MAX5)
+// Subtract(MAX5, MIN5, LEN5)
+ Return(CRS)
+ } // end of _CRS
+*/
+ }// End Memory
+
+
+//**********************************************************************;
+//**********************************************************************;
+//** **;
+//** (C)Copyright 1985-2005, American Megatrends, Inc. **;
+//** **;
+//** All Rights Reserved. **;
+//** **;
+//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **;
+//** **;
+//** Phone (770)-246-8600 **;
+//** **;
+//**********************************************************************;
+//**********************************************************************;
diff --git a/Board/EM/ACPI/OEM_ACPI.C b/Board/EM/ACPI/OEM_ACPI.C
new file mode 100644
index 0000000..a3c3b0a
--- /dev/null
+++ b/Board/EM/ACPI/OEM_ACPI.C
@@ -0,0 +1,114 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+//**********************************************************************
+// $Header: /Alaska/BIN/Modules/ACPI/Template/Board/OEM_ACPI.C 3 12/22/10 5:11p Oleksiyy $
+//
+// $Revision: 3 $
+//
+// $Date: 12/22/10 5:11p $
+//**********************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/BIN/Modules/ACPI/Template/Board/OEM_ACPI.C $
+//
+// 3 12/22/10 5:11p Oleksiyy
+// [TAG] EIP49816
+// [Category] Improvement
+// [Description] Function OemAcpiSetPlatformId added as eLink
+// [Files] ACPi.mak, ACPI.sdl and OEM_ACPI.c
+//
+// 2 3/26/09 4:47p Oleksiyy
+// New ACPI Core realization - improves logic, execution time and memory
+// usage of ACPI module.
+//
+// 1 2/18/09 3:50p Oleksiyy
+//
+// 1 1/12/09 11:40a Yakovlevs
+//
+// 1 3/18/07 5:23p Felixp
+//
+//**********************************************************************
+//<AMI_FHDR_START>
+//
+// Name: OEM_ACPI.C
+//
+// Description: Oem hooks used in ACPI Module
+//
+//<AMI_FHDR_END>
+//**********************************************************************
+
+#include <Efi.h>
+#include <ACPI.h>
+#include <AmiCspLib.h>
+#include <AmiDxeLib.h>
+#include "AcpiOemElinks.h"
+typedef EFI_STATUS (ACPI_OEM_FUNCTION)(IN OUT ACPI_HDR *AcpiHdr);
+
+extern ACPI_OEM_FUNCTION OEM_LIST EndOfOemList;
+ACPI_OEM_FUNCTION* AcpiOemPartsList[] = {OEM_LIST NULL};
+//<AMI_PHDR_START>
+//----------------------------------------------------------------------------
+// Procedure: OemAcpiSetPlatformId
+//
+// Description:
+// This function provides platform specific OEM_ID and OEM_TABLE_ID to
+// overwrite default ACPI Table header.
+//
+// Input:
+// IN OUT ACPI_HDR *AcpiHdr - ACPI TABLE header
+//
+// Output:
+// EFI_STATUS EFI_SUCCESS if Values overwtitten.
+// EFI_INSUPPORTED if no need to change values - use default.
+//
+// NOTE: UINT8 *AcpiOemId[6]; UINT8 *AcpiOemTblId[8] avoid buffer overrun!
+//----------------------------------------------------------------------------
+//<AMI_PHDR_END>
+
+EFI_STATUS OemAcpiSetPlatformId(IN OUT ACPI_HDR *AcpiHdr){
+ EFI_STATUS Status=EFI_UNSUPPORTED;
+//----------------------------------------
+// Any additional variables goes here...
+
+ UINTN i;
+
+//----------------------------------------
+//////////////////////////////////////////////////////////////////////////
+// PORTING GOES HERE: CALL CHIPSET SPECIFIC FUNCTION TO GET PLATFORM ID //
+// AND MODIY AcpiOemId[6], AcpiOemTblId[8] PARAMETERS ACCORDINALLY //
+//////////////////////////////////////////////////////////////////////////
+
+ for (i=0; AcpiOemPartsList[i]; i++) Status = AcpiOemPartsList[i](AcpiHdr);
+
+
+
+//////////////////////////////////////////////////////////////////////////
+// PORTING ENDS HERE //
+//////////////////////////////////////////////////////////////////////////
+ return Status;
+}
+
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//********************************************************************** \ No newline at end of file
diff --git a/Board/EM/ACPI/OEM_ACPI.H b/Board/EM/ACPI/OEM_ACPI.H
new file mode 100644
index 0000000..e16f90a
--- /dev/null
+++ b/Board/EM/ACPI/OEM_ACPI.H
@@ -0,0 +1,94 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+
+//**********************************************************************//
+// $Header: /Alaska/BIN/Modules/ACPI/Template/Board/OEM_ACPI.H 3 3/26/09 4:47p Oleksiyy $
+//
+// $Revision: 3 $
+//
+// $Date: 3/26/09 4:47p $
+//**********************************************************************//
+// Revision History
+// ----------------
+// $Log: /Alaska/BIN/Modules/ACPI/Template/Board/OEM_ACPI.H $
+//
+// 3 3/26/09 4:47p Oleksiyy
+// New ACPI Core realization - improves logic, execution time and memory
+// usage of ACPI module.
+//
+// 1 2/18/09 3:50p Oleksiyy
+//
+// 2 1/12/09 11:43a Yakovlevs
+// OemAcpiSetPlatformId function Definition added.
+//
+// 1 3/24/05 5:00p Sivagarn
+// Initial Checkin
+//
+// 1 2/03/05 6:41p Sivagarn
+// 0ABHI001 Check in
+//
+// 3 1/19/05 7:25p Yakovlevs
+//
+// 2 7/27/04 6:45p Yakovlevs
+//
+// 1 4/08/04 3:29p Yakovlevs
+//
+// 2 9/21/01 3:32p Yakovlevs
+// Code cleanup
+//
+//**********************************************************************
+//<AMI_FHDR_START>
+//
+// Name: OEM_ACPI.H
+//
+// Description: OEM specific Definitions in ACPI Module
+//
+//<AMI_FHDR_END>
+//**********************************************************************
+//**********************************************************************//
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //
+// !!!!! When porting, should specify proper values here !!!!!! //
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //
+//**********************************************************************//
+
+#ifndef _ACPIOEM_H //To Avoid this header get compiled twice
+#define _ACPIOEM_H
+
+#include <Efi.h>
+#include <ACPI.h>
+
+
+
+
+//**********************************************************************//
+//Function Prototypes
+EFI_STATUS OemAcpiSetPlatformId(IN OUT ACPI_HDR *AcpiHdr);
+
+
+
+#endif
+
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
diff --git a/Board/EM/ACPI/oemDSDT.asl b/Board/EM/ACPI/oemDSDT.asl
new file mode 100644
index 0000000..8dc17b9
--- /dev/null
+++ b/Board/EM/ACPI/oemDSDT.asl
@@ -0,0 +1,246 @@
+// OEM DSDT file. Main ASL Board specific file.
+//**********************************************************************;
+//**********************************************************************;
+//**********************************************************************;
+//** **;
+//** (C)Copyright 1985-2005, American Megatrends, Inc. **;
+//** **;
+//** All Rights Reserved. **;
+//** **;
+//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **;
+//** **;
+//** Phone (770)-246-8600 **;
+//** **;
+//**********************************************************************;
+//**********************************************************************;
+//**********************************************************************;
+// $Header: /Alaska/BIN/Modules/ACPI/Template/Board/oemDSDT.asl 23 4/04/11 1:44p Yakovlevs $
+//
+// $Revision: 23 $
+//
+// $Date: 4/04/11 1:44p $
+//
+//****************************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/BIN/Modules/ACPI/Template/Board/oemDSDT.asl $
+//
+// 23 4/04/11 1:44p Yakovlevs
+// [TAG] EIP55906
+// [Category] Improvement
+// [Description] Can the _INI Method in BOARD\EM\ACPI\oemDSDT.asl be
+// Removed
+// [Files] OemDsdt.asl
+//
+// 22 9/28/09 6:40p Yakovlevs
+// Changes to support Multy Root resource reporting features.
+// All PCI ROOT resource reporting features moved to RbRes.asl
+//
+// 21 5/14/09 6:19p Yakovlevs
+//
+// 20 4/15/08 8:59p Yakovlevs
+// Keybord and Mouse specific mehods were moved in PS2K.ASL and PS2MS.ASL
+//
+// 2 5/20/07 8:09p Yakovlevs
+//
+// 19 3/23/07 10:52a Yakovlevs
+//
+// 18 12/31/06 2:49p Yakovlevs
+// Moved Chipset Specific Code to the SB module
+//
+// 17 2/16/06 10:01a Felixp
+//
+// 15 1/25/06 11:55a Felixp
+//
+// 11 12/05/05 10:04a Yakovlevs
+//
+// 10 11/04/05 5:49p Yakovlevs
+// Rearrange resources and resolve resource conflicts
+//
+// 9 10/07/05 2:52p Markw
+// Improved calling sequence of invoking methods.
+//
+// 8 9/29/05 4:13p Markw
+// Fix by Sergiy for video to turn on when Windows wakes up.
+//
+// 7 8/03/05 7:49a Felixp
+// breakpoint is commented out
+//
+// 6 5/31/05 12:13p Yakovlevs
+//
+// 5 5/24/05 7:29p Yakovlevs
+//
+// 4 5/18/05 12:06p Yakovlevs
+//
+// 3 5/05/05 6:42p Yakovlevs
+//
+// 2 5/05/05 6:39p Yakovlevs
+//
+// 1 4/26/05 11:50a Markw
+//
+// 2 3/24/05 5:13p Sivagarn
+// Code cleanup
+//
+// 1 3/24/05 5:00p Sivagarn
+//
+//****************************************************************************
+
+//----------------------------------------------------------------------
+// List of mandatory ASL objects to be defined in this file:
+// \_SB.PCI0._CRS Root PCI0 Bus (Compatibility bus) Current Resources
+// \_PTS METHOD CALLED BY OS PRIOR TO ENTER ANY SLEEP STATE
+// \_WAK METHOD CALLED ON WAKE UP FROM ANY SLEEP STATE
+//----------------------------------------------------------------------
+
+
+//----------------------------------------------------------------------
+// List of global variables defined in amlUpd.asl
+//----------------------------------------------------------------------
+// File defines OperationRegion "BIOS" and Field names that refer to the AML-BIOS POST data exchange memory area
+// Names MG1B, MG1L, MG2B, MG2L
+
+//----------------------------------------------------------------------
+// List of global variables and Control Methods defined in aslLIB.asl
+//----------------------------------------------------------------------
+// RRIO(4) & rDMA(3). Dummy control methods. Required when I/O Positive decoding is disabled
+// OSFL(). Control Method. Rreturn value is used to distinguish the currently running OS
+// PICM. Global Name. Returns current Interrupt controller mode; updated from _PIC control method
+// MCTH(Str1, Str2). Control Method. Compares Str1 and Str2. Return Zero if strings are different.
+// GPRW(Package(x,y)) Generic Wake up Control Method to detect the Max Sleep State available in ASL Name scope
+// and Return the Package compatible with _PRW format
+// WAKP(Package). Control Method. Returns package compatible with _WAK method
+// DBG8 & DBG9 - Debug OperationRegions used to display ASL checkpoints into LED CheckPoint Card
+
+//----------------------------------------------------------------------
+// List of global variables and Control Methods defined in PCItree.asl
+//----------------------------------------------------------------------
+// Processor packages. CPUn, n - CPU ID index. IDs must match to CPU IDs defined within ACPI APIC table(TBLACPI.DAT)
+// PCI device scope objects.
+// PCI0 - Root PCI Bus device scope
+// SBRG - South Bridge device scope (LPC bridge)
+// SBRG.xxxx - various Legacy IO devices
+// Note. Use "Scope" instruction wherever access to PCI Bridge, South Bridge OR Wake up capable PC device is needed.
+// All PCI devices are defined in PCItree.asl, which is generated by AMISDL utility
+// Naming convention for above generated PCI devices:
+// PCIx - Root PCI bus and all Peer PCI buses, x - Bus number.
+// PxPy - PCI to PCI bridge, x - Bus number PCI device is decoded on, y - produced PCI Bus number.
+// Hddf - Hot pluggable Slots, dd - device number, f - function number
+// SBRG - South Bridge PCI device
+//-----------------------------------------------------------------------
+
+// Note. AMISDL generates complete PCI Bus device tree based on information provided in SDL.
+// All the PCI devices are already defined. Use "Scope(DevName)" directives in order to
+// add objects to predefined Devices.
+
+
+//Scope(\_SB) { // System Bus scope
+//
+// Scope(PCI0) { // Root PCI0 Bus (Compatibility bus) device scope
+//
+// Method(_INI,0) { // Method to be called once during PCI0 Bus initialization
+// breakpoint
+// } // Place any Chipset/OEM required init code here
+// }
+//}
+
+
+
+//<AMI_PHDR_START>
+//------------------------------------------------------------------------
+//
+// Procedure: _PTS
+// Description: METHOD IS CALLED BY OS PRIOR TO ENTER ANY SLEEP STATE
+// Input: Arg0 = Arg0 = Sleep state System about to enter
+// Output: Nothing
+//
+//-------------------------------------------------------------------------
+//<AMI_PHDR_END>
+
+ Name (WOTB, 0)
+ Name (WSSB, 0)
+ Name (WAXB, 0)
+
+ Method(_PTS, 1) {
+
+ Store(Arg0, DBG8) // DBG8 name translates to IO port 80h
+ // DBG8 name defined in aslLib.asl
+//breakpoint
+ if (LAnd(LEqual(Arg0,4),LEqual(OSFL,2))){Sleep(3000)}
+
+ PTS(Arg0) // defined in DSDT.ASL (generated by ACPI.MAK)
+
+ Store(0, Index(WAKP,0)) // clear Wake up package.
+ Store(0, Index(WAKP,1)) // clear Wake up package.
+
+ Store (ASSB, WSSB)
+ Store (AOTB, WOTB)
+ Store (AAXB, WAXB)
+
+ Store(Arg0, ASSB) // Save Sleep Level for BIOS
+ Store(OSFL(), AOTB) // Save OS Type for BIOS
+ Store(Zero, AAXB) // Clear Auxiliary Buffer
+ Store(One, \_SB.SLPS)
+ }
+
+
+//<AMI_PHDR_START>
+//------------------------------------------------------------------------/
+//
+// Procedure: _WAK
+// Description: METHOD CALLED ON WAKE UP FROM ANY SLEEP STATE
+// Input: Arg0 = Sleep state System is resuming from
+// Output: WAKP - return package for _WAK, 2 DWORDS
+//
+//-------------------------------------------------------------------------
+//<AMI_PHDR_END>
+
+ Method(_WAK, 1)
+ {
+ ShiftLeft(Arg0, 4, DBG8) // DBG8 name translates to IO port 80h
+// breakpoint
+ WAK(Arg0) // defined in DSDT.ASL (generated by ACPI.MAK)
+
+ If (ASSB) {
+ Store (WSSB, ASSB)
+ Store (WOTB, AOTB)
+ Store (WAXB, AAXB)
+ }
+
+ // WAKP - return package for _WAK, 2 DWORDS
+ // 0 - Status
+ // 0x00000001 - wake was signaled but failed due to lack of power
+ // 0x00000002 - wake was signaled but failed due to thermal condition
+ // other bits are reserved
+ // 1 - PSS if non-zero, the effective S-state the Power Supply realy entered
+
+// Example of how to update the wake up status. Default : 0 - no errors encountered during wake up
+// Or(DeRefOf(Index(WAKP,0)), 0, Index(WAKP,0)) // update wake up status
+
+// update WAKP buffer with resume status
+
+ if(DeRefOf(Index(WAKP,0))) // non 0 : wake up was terminated
+ {
+ Store(0, Index(WAKP,1))
+ } else { // wake up to be completed
+ Store(Arg0, Index(WAKP,1))
+ }
+ Return(WAKP)
+
+ }
+
+
+
+
+//**********************************************************************;
+//**********************************************************************;
+//** **;
+//** (C)Copyright 1985-2005, American Megatrends, Inc. **;
+//** **;
+//** All Rights Reserved. **;
+//** **;
+//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **;
+//** **;
+//** Phone (770)-246-8600 **;
+//** **;
+//**********************************************************************;
+//**********************************************************************;