最初由 gkend 发布
谁说随便换BIOS?当然必须是同一个类型的BIOS只是版本不同而已。你不可能拿一个AWARD bios类型去写一个AMI bios类型的主板?hnhuqiong你自以为懂那么就应该明白我的意思,不可能每次都要我再解析一遍?
这个我觉得其是可以的!BIOS只要能支持该主板的配置即可...跟牌子没啥本质联系。主要的是CPU+芯片组+SuperIO等核心部件相关。多数BIOS厂商都拥有很大的支持源码树。AMI的模块化层次管理比较清晰;AWARD代码比较混乱;Phoenix的没见过代码,不过应该是不错的。
ORG RSDT_TBL_OFFSET
;<AMI_THDR_START>
;----------------------------------------------------------------------------
;
; Name: RSDT
;
; Type: Data Array
;
; Description: Root System Description Table
; The Root System Description Table starts with the signature 'RSDT,'
; followed by an array of 32bit physical pointers to the other System Description Tables
; that provide various information on other standards that are defined on the current system.
;
; Referrals: acpi_generate_tables
;
; Notes: The OS locates that Root System Description Table by following the pointer in the
; Root System Description Pointer structure
;
;----------------------------------------------------------------------------
;<AMI_THDR_END>
rsdt_table:
rsdt_header genhdr < 'RSDT', rsdt_table_end - rsdt_table,,,OEM_ID,TBL_OEM_ID_RSDT>
facp_ptr dd 1 dup (?) ; 32 Bit Physical Ptr to FACP Table
; All the optional ACPI tables are appended during ACPI table initialization
; Optional ACPI tables that can be enabled/disabled in BIOS setup
rsdt_table_end:
.
.
.
align 16
;<AMI_THDR_START>
;----------------------------------------------------------------------------
;
; Name: FACS
;
; Type: Data Array
;
; Description: The Firmware ACPI Control Structure (FACS) is a structure in read/write
; memory that the BIOS reserves for ACPI usage. This structure is passed
; to an ACPI-compatible OS using the FADT.
; FACS table will be moved at Org 0 offset of the Type 4 memory
;
; Referrals: acpi_generate_tables
;
; Notes: For more information about the FADT FIRMWARE_CTRL field, see ACPI 2.0 spec, section 5.2.8,
; "Fixed ACPI Description Table (FADT)."
;----------------------------------------------------------------------------
;<AMI_THDR_END>
facs_table:
facs_signature db 'FACS'
facs_length dd facs_table_end - facs_table
facs_hw_signature dd 0
fw_wake_vector dd 0
global_lock dd 0
facs_flgs dd equ_facs_flags
Xfw_wake_vector dd 1 dup(0)
Xfw_wake_vector_h dd 1 dup(0)
facs_version db 1 ; version of this table
facs_reserved db 31 dup(0)
facs_table_end:
align 16
;<AMI_THDR_START>
;----------------------------------------------------------------------------
;
; Name: OEMB
;
; Type: Data Array
;
; Description: OEM Specific Information Tables.
; All table signatures starting with "OEM" are reserved for OEM use.
; In AMIBIOS8 ACPI implementation, OEMB table is used to provide
; System configuartion data over the memory buffer to AML code
;
; Referrals: acpi_generate_tables
;
; Notes: This table must be located in ACPI NVS Type 4 Memory, and it must
; be referenced from the ACPI RSDT table.
;----------------------------------------------------------------------------
;<AMI_THDR_END>
OEMB_table:
OEMB_header genhdr < 'OEMB', OEMB_table_end - OEMB_table,,, OEM_ID, TBL_OEM_ID_OEMB>
IFDEF MKF_ACPI_BOARD_ID
IF MKF_ACPI_BOARD_ID GE 3
aml_buff AMLDATA <> ; structure is defined in OEMTACPI.EQU
ELSE
aml_buff db size AMLDATA dup (0) ; structure is defined in OEMTACPI.EQU
ENDIF
ELSE
aml_buff db size AMLDATA dup (0) ; structure is defined in OEMTACPI.EQU
ENDIF
OEMB_table_end: