📄 aslbuild.mak
字号:
#**********************************************************************;
# *****************************************************************;
# *****************************************************************;
# ** **;
# ** (C)Copyright 1985-1996, American Megatrends, Inc. **;
# ** **;
# ** All Rights Reserved. **;
# ** **;
# ** 6145-F Northbelt Pkwy, Norcross, GA 30071 **;
# ** **;
# ** Phone (770)-246-8600 **;
# ** **;
# *****************************************************************;
# *****************************************************************;
#**********************************************************************;
# #
#!!!!!!!!!!!!!!!!!!!!!! DESKTOP SPECIFIC !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#
# #
# The ASL file structure builder module #
#-----------------------------------------------------------------------#
# ACPI_ASL_PATH macro has a path to ASL Project direcory (ASL style) #
#-----------------------------------------------------------------------#
ACPI_ASL_PATH = $(ACPI_ASL_DIR:\=\\)\\
INCLUDE_ASL_PATH = $(ASL_LIB_PATH)
!if $(ARC_LIB)
COPY = pkunzip -e -o $(ASL_LIB_PATH)\asllib.zip
INCLUDE_ASL_PATH = INCLUDE.ASL
!endif
#-----------------------------------------------------------------------#
# PATH into Library INCLUDE.ASL files #
#-----------------------------------------------------------------------#
CUSTOM_PATH = $(INCLUDE_ASL_PATH)\CUSTOM
PCI_DEV_PATH = $(INCLUDE_ASL_PATH)\PCIDEV
OEMIO_PATH = $(INCLUDE_ASL_PATH)\OEMIO
OEMIO_PATH_AUDIO = $(OEMIO_PATH)\AUDIO
OEMIO_PATH_SUPERIO = $(OEMIO_PATH)\SUPERIO
SMBAT_PATH = $(INCLUDE_ASL_PATH)\SMBAT
SYSTEM_PATH = $(INCLUDE_ASL_PATH)\SYSTEM
TSENSOR_PATH = $(INCLUDE_ASL_PATH)\TSENSOR
DOCK_PATH = $(INCLUDE_ASL_PATH)\DOCK
#-----------------------------------------------------------------------#
# Add new macros if any new hardware support added #
#-----------------------------------------------------------------------#
#-----------------------------------------------------------------------#
# PCI North bridge name. Default : Intel 440BX #
#-----------------------------------------------------------------------#
!if $(A_N_I430TX)
A_NRTH_BRG_PATH = i430tx
!elseif $(A_N_I440LX)
A_NRTH_BRG_PATH = i440lx
!elseif $(A_N_I440EX)
A_NRTH_BRG_PATH = i440ex
!elseif $(A_N_I440GX)
A_NRTH_BRG_PATH = i440gx
!elseif $(A_N_ALI1541)
A_NRTH_BRG_PATH = ALI1541
!elseif $(A_N_ALI1621)
A_NRTH_BRG_PATH = ALI1621
!elseif $(A_N_CAMINO)
A_NRTH_BRG_PATH = Camino
!elseif $(A_N_CYRIX30)
A_NRTH_BRG_PATH = cyrix30
!elseif $(A_N_FIRESTAR)
A_NRTH_BRG_PATH = firestar
!elseif $(A_N_SIS5598)
A_NRTH_BRG_PATH = sis5598
!elseif $(A_N_SIS5600)
A_NRTH_BRG_PATH = sis5600
!elseif $(A_N_SIS530)
A_NRTH_BRG_PATH = sis530
!elseif $(A_N_SIS620)
A_NRTH_BRG_PATH = sis620
!elseif $(A_N_VIA82588)
A_NRTH_BRG_PATH = via82588
!elseif $(A_N_VIA82595)
A_NRTH_BRG_PATH = via82595
!elseif $(A_N_VIA82691)
A_NRTH_BRG_PATH = via82691
!else
A_NRTH_BRG_PATH = i440bx
!endif
#-----------------------------------------------------------------------#
# PCI South bridge macros. Default : Intel PIIX4 #
#-----------------------------------------------------------------------#
!if $(A_S_ALI1543)
A_SOUTH_BRG_PATH = $(PCI_DEV_PATH)\ALI1543
!elseif $(A_S_FIRESTAR)
A_SOUTH_BRG_PATH = $(PCI_DEV_PATH)\FIRESTAR
!elseif $(A_S_VIA82586)
A_SOUTH_BRG_PATH = $(PCI_DEV_PATH)\VIA82586
!elseif $(A_S_VIA82586)
A_SOUTH_BRG_PATH = $(PCI_DEV_PATH)\VIA82595
!elseif $(A_S_CYRIX30)
A_SOUTH_BRG_PATH = $(PCI_DEV_PATH)\CYRIX30
!elseif $(A_S_ICH)
A_SOUTH_BRG_PATH = $(PCI_DEV_PATH)\ICH
!elseif $(A_S_SIS5595)
A_SOUTH_BRG_PATH = $(PCI_DEV_PATH)\sis5595
!else
A_SOUTH_BRG_PATH = $(PCI_DEV_PATH)\PIIX4
!endif
#-----------------------------------------------------------------------#
A_S_IRQ_FIXED = 0
# ALI1543
!if $(A_S_ALI1543)
A_IDE_DEV_FUN_Adr = $(M5229_Dev_Number:h=)0000
A_USB_DEV_FUN_Adr = $(M5237_Dev_Number:h=)0000
A_PMU_DEV_FUN_Adr = $(M7101_Dev_Number:h=)0000
A_S_IRQ_FIXED = 1
# ALI1543 USB device
A_S_PIC_IRQ_TABLE = Package(){0x$(M5237_Dev_Number:h=)ffff, 0, LNKU, 0},
A_S_APIC_IRQ_TABLE = Package() {0x01ffff, 0, 0, 0x$(A_PCI_INTD_APIA)},^
Package() {0x01ffff, 1, 0, 0x$(A_PCI_INTD_APIB)},^
Package() {0x02ffff, 0 ,0, 0x$(A_PCI_INTD_APIA)},
# CYRIX30
!elseif $(A_S_CYRIX30)
A_IDE_DEV_FUN_Adr = $(A_IDE_DEV_Nbr)00$(A_IDE_FUN_Nbr)
A_USB_DEV_FUN_Adr = $(A_USB_DEV_Nbr)00$(A_USB_FUN_Nbr)
# Warning. The PMU address is wrong.
A_PMU_DEV_FUN_Adr = $(A_S_DEV_Nbr)0000
# I_ICH
!elseif $(A_S_ICH)
A_IDE_DEV_FUN_Adr = 001F0001
A_USB_DEV_FUN_Adr = 001F0002
A_PMU_DEV_FUN_Adr = $(A_S_DEV_Nbr)0000
A_S_IRQ_FIXED = 1
A_S_PIC_IRQ_TABLE = Package(){0x01f0002, 3, LNKD, 0},^
Package(){0x01f0003, 1, LNKB, 0},^
Package(){0x01f0005, 1, LNKB, 0},^
Package(){0x01f0006, 1, LNKB, 0},
A_S_APIC_IRQ_TABLE = Package(){0x01f0002 3, 0, 0x$(A_PCI_INTD_APIC)},^
Package(){0x01f0003 1, 0, 0x$(A_PCI_INTB_APIC)},^
Package(){0x01f0005 1, 0, 0x$(A_PCI_INTB_APIC)},^
Package(){0x01f0006 1, 0, 0x$(A_PCI_INTB_APIC)},
!elseif $(A_S_SIS5595)
A_IDE_DEV_FUN_Adr = $(A_IDE_DEV_Nbr)00$(A_IDE_FUN_Nbr)
A_USB_DEV_FUN_Adr = $(A_S_DEV_Nbr)0002
A_PMU_DEV_FUN_Adr = $(A_S_DEV_Nbr)0001
A_S_IRQ_FIXED = 1
# SIS5595 USB device
A_S_PIC_IRQ_TABLE = Package(){0x$(A_S_DEV_Nbr)ffff, 0, LNKU, 0},
#A_S_APIC_IRQ_TABLE = Package(){0x$(A_USB_DEV_Nbr)ffff, 0, 0, 0x$(A_PCI_INTD_APIC)},
!else
A_IDE_DEV_FUN_Adr = $(A_S_DEV_Nbr)0001
A_USB_DEV_FUN_Adr = $(A_S_DEV_Nbr)0002
A_PMU_DEV_FUN_Adr = $(A_S_DEV_Nbr)0003
A_S_IRQ_FIXED = 1
# PIIX4 Fun 2 USB device
A_S_PIC_IRQ_TABLE = Package(){0x$(A_S_DEV_Nbr)ffff, 3, LNKD, 0},
A_S_APIC_IRQ_TABLE = Package(){0x$(A_S_DEV_Nbr)ffff, 3, 0, 0x$(A_PCI_INTD_APIC)},
!endif
#-----------------------------------------------------------------------#
# List of devices supporting PMU PCI device (return the PM & SMBase I/O address)
A_PMU_ALL = ($(A_S_PIIX4) || $(A_S_ALI1543)\
|| $(A_S_CYRIX30) || $(A_S_FIRESTAR) || $(A_S_VIA82586)\
|| $(A_S_VIA82595) || $(A_S_ICH)) || $(A_S_SIS5595) # James
#-----------------------------------------------------------------------#
# List of devices supporting USB as a part of South Bridge
A_USB_ALL = ($(A_S_PIIX4) || $(A_S_ALI1543) || $(A_S_CYRIX30)\
|| $(A_S_VIA82586) || $(A_S_VIA82595) || $(A_S_ICH)) || $(A_S_SIS5595) # James
#-----------------------------------------------------------------------#
# path to SMBus host controller module
#-----------------------------------------------------------------------#
!if $(A_SMBUS)
A_SMB_HOST_PATH = $(A_SOUTH_BRG_PATH)\smb_host.asl
!endif
#-----------------------------------------------------------------------#
# path to IDE PM control module
#-----------------------------------------------------------------------#
!if $(A_IDE_PM)
A_IDE_PM_PATH = $(A_SOUTH_BRG_PATH)\pci-ide0.asl
!endif
#-----------------------------------------------------------------------#
# path to SuperIO module
#-----------------------------------------------------------------------#
A_OEMIO_PATH_SUPERIO =
!ifdef SMC932_SMC935
! if $(SMC932_SMC935)
A_OEMIO_PATH_SUPERIO = SMC93x
! endif
!endif
!ifdef SMC60X
! if $(SMC60X)
A_OEMIO_PATH_SUPERIO = SMC60x
! endif
!endif
!ifdef SMC665 #|| SMC665IR
! if $(SMC665) || $(SMC665IR)
A_OEMIO_PATH_SUPERIO = SMC665
! endif
!endif
!ifdef SMC67X
! if $(SMC67X)
A_OEMIO_PATH_SUPERIO = SMC67x
! endif
!endif
!ifdef ALI5135 #|| ALI513X
! if $(ALI5135)
A_OEMIO_PATH_SUPERIO = ALI5135F
! endif
!endif
!ifdef NAT307
! if $(NAT307)
A_OEMIO_PATH_SUPERIO = NAT307
! endif
!endif
!ifdef NAT308 #|| NAT317
! if $(NAT308)# || $(NAT317)
A_OEMIO_PATH_SUPERIO = NAT308
! endif
!endif
!ifdef NAT309
! if $(NAT309)
A_OEMIO_PATH_SUPERIO = NAT309
! endif
!endif
!ifdef NAT312
! if $(NAT312)
A_OEMIO_PATH_SUPERIO = NAT312
! endif
!endif
!ifdef NAT338
! if $(NAT338)
A_OEMIO_PATH_SUPERIO = NAT338
! endif
!endif
!ifdef WIN877
! if $(WIN877)
A_OEMIO_PATH_SUPERIO = WIN877
! endif
!endif
!ifdef WIN977AF #|| WIN977
! if $(WIN977) || $(WIN977AF)
A_OEMIO_PATH_SUPERIO = WIN977
! endif
!endif
!ifdef WIN977TF
! if $(WIN977TF)
A_OEMIO_PATH_SUPERIO = WIN977TF
! endif
!endif
!ifdef ITE8680
! if $(ITE8680)
A_OEMIO_PATH_SUPERIO = ITE8761F
! endif
!endif
!ifdef ITE8661
! if $(ITE8661)
A_OEMIO_PATH_SUPERIO = ITE8661F
! endif
!endif
!ifdef GM803C
! if $(GM803C)
A_OEMIO_PATH_SUPERIO = GM803C
! endif
!endif
#-----------------------------------------------------------------------#
# path to Audio module
#-----------------------------------------------------------------------#
!if $(A_ESS1888)
A_OEMIO_PATH_AUDIO = ESS1888
!elseif $(A_ESS1887)
A_OEMIO_PATH_AUDIO = ESS1887
!elseif $(A_ESS1887)
A_OEMIO_PATH_AUDIO = ESS1878
!elseif $(A_ESS1869)
A_OEMIO_PATH_AUDIO = ESS1869
!else
A_OEMIO_PATH_AUDIO =
!endif
#-----------------------------------------------------------------------#
# path to thermal sensor module. Default path : nosensor.asl
#-----------------------------------------------------------------------#
! if $(A_LM75)
A_T_SENSOR_PATH = $(TSENSOR_PATH)\lm75.asl
! elseif $(A_MAX1617L)
A_T_SENSOR_PATH = $(TSENSOR_PATH)\max1617l.asl
! elseif $(A_MAX1617R)
A_T_SENSOR_PATH = $(TSENSOR_PATH)\max1617r.asl
! else
A_T_SENSOR_PATH = $(TSENSOR_PATH)\nosensor.asl
! endif
#-----------------------------------------------------------------------#
# path to FAN module
#-----------------------------------------------------------------------#
!if "$(A_FAN_ISA_IO_Adr)" != ""
A_FAN_FIELD = Field (FNOR, ByteAcc, NoLock, Preserve)
!elseif "$(A_FAN_INDEX_DATA_IO_Adr)" != ""
A_FAN_FIELD = IndexField(FIND, FDTA,ByteAcc, NoLock, Preserve)
!endif
! if $(A_FAN_MODEL_1)
A_FAN_PATH = $(SYSTEM_PATH)\fan1.asl
! elseif $(A_FAN_MODEL_2)
A_FAN_PATH = $(SYSTEM_PATH)\fan2.asl
! elseif $(A_FAN_MODEL_3)
A_FAN_PATH = $(SYSTEM_PATH)\fan3.asl
! elseif $(A_FAN_OEM)
A_FAN_PATH = $(CUSTOM_PATH)\CUST_FAN.oem
!else
A_FAN_PATH =
!endif
#-----------------------------------------------------------------------#
# path to System Indication mudule
#-----------------------------------------------------------------------#
! if $(A_SI_MODEL_1)
A_SI_PATH = $(SYSTEM_PATH)\si_1.asl
! elseif $(A_SI_MODEL_2)
A_SI_PATH = $(SYSTEM_PATH)\si_2.asl
! elseif $(A_SI_MODEL_3)
A_SI_PATH = $(SYSTEM_PATH)\si_3.asl
! elseif $(A_SI_OEM)
A_SI_PATH = $(CUSTOM_PATH)\CUST_SI.oem
!else
A_SI_PATH =
!endif
!if "$(A_SI_ISA_IO_Adr)" != ""
A_SI_FIELD = Field (SIOR, ByteAcc, NoLock, Preserve)
!elseif "$(A_SI_INDEX_DATA_IO_Adr)" != ""
A_SI_FIELD = IndexField(SIND, SDTA,ByteAcc, NoLock, Preserve)
!endif
#-----------------------------------------------------------------------#
# !!!!!!!!!!!!!!!!!! END OF MACRO DEFINITIONS !!!!!!!!!!!!!!!!!!! #
#-----------------------------------------------------------------------#
#-----------------------------------------------------------------------#
# Set of rules to create ASL Project files #
#-----------------------------------------------------------------------#
$(ACPI_ASL_DIR)\oemdsdt.asl:
# James
#PREBUILD:
#
#CLEANUP:
#
#$(BIOSFILE).rom: $(ACPI_ASL_DIR)\*.* $(ASL_PORT)
#!if [choice ASL Builder process ready to update ASL project files. Your vote-] == 1
#-----------------------------------------------------------------------#
# Preserve existing ASL project files to CUSTOM_PATH\ASLOLD\ directory #
#-----------------------------------------------------------------------#
!if !$(ARC_LIB)
-@$(COPY) $(ACPI_ASL_DIR)\CUST_*.oem $(CUSTOM_PATH)
!endif
# @MD $(ACPI_ASL_DIR)\ASLOLD
# @DELTREE -Y $(ACPI_ASL_DIR)\ASLOLD\*.*
# -@attrib -r $(ACPI_ASL_DIR)\*.*
# -@move $(ACPI_ASL_DIR)\*.* $(ACPI_ASL_DIR)\ASLOLD
#-----------------------------------------------------------------------#
# GENERATE AMI.ASL file #
#-----------------------------------------------------------------------#
copy << $(ACPI_ASL_DIR)\$(ASL_NAME).asl
DefinitionBlock (
"$(ASL_NAME).AML",
"DSDT",
0x01,
"$(A_OEM_ID)", // OEM ID (6 byte string)
"$(A_OEM_TABLE_ID)", // OEM table ID (8 byte string)
0x$(A_OEM_REV) // OEM version of DSDT table (4 byte Integer)
)
//--------------------------------------------------------------------------
// BEGIN OF ASL SCOPE
//--------------------------------------------------------------------------
{
Scope(\_PR) { // BEGIN PROCESSOR PACKAGE
Processor( CPU1,
// ProcessorID (unique for each CPU)
1,
// PBlockAddress
!if "$(A_CPU_PBLK)" != ""
0x$(A_CPU_PBLK),
// PBlockLength hardwired to 6 byte
0x06
!else
0,
0
!endif
){}
!if $(NCPU) > 1
Processor( CPU2,
// ProcessorID (unique for each CPU)
2,
// PBlockAddress
!if "$(A_CPU_PBLK)" != ""
0x$(A_CPU_PBLK),
// PBlockLength hardwired to 6 byte
0x06
!else
0,
0
!endif
){}
!endif
!if $(NCPU) > 2
Processor( CPU3,
// ProcessorID (unique for each CPU)
3,
// PBlockAddress
!if "$(A_CPU_PBLK)" != ""
0x$(A_CPU_PBLK),
// PBlockLength hardwired to 6 byte
0x06
!else
0,
0
!endif
){}
!endif
!if $(NCPU) > 3
Processor( CPU4,
// ProcessorID (unique for each CPU)
4,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -