📄 gpm.dat
字号:
;-----------------------------------------------;
; BIOS POWER MANAGEMENT DATA AREA ;
; USED BY GREEN PC CORE BIOS ;
; THE DATA AREA IS IN EQUATE FORM ;
; GPM.DAT ;
;-----------------------------------------------;
;*****************************************************************;
;*****************************************************************;
;** **;
;** (C)Copyright 1985-1996, American Megatrends Inc. **;
;** **;
;** All Rights Reserved. **;
;** **;
;** 6145-F, Northbelt Parkway, Norcross, **;
;** **;
;** Georgia - 30071, USA. Phone-(770)-246-8600. **;
;** **;
;*****************************************************************;
;*****************************************************************;
;*****************************************************************;
;-----------------------------------------------;
; DECLARE FIXED ORG HERE ;
; THIS 'ORG' SHOULD NOT BE CHANGED ;
; smi_seg:0d000h thru 0faffh (2b00h bytes) ;
; available for usage as data area ;
; NOTE : ;
; As this cseg data area are in equate ;
; form, initialise this data area during ;
; SMRAM initialization. ;
;-----------------------------------------------;
dseg_data_area_begin equ 0d000h ; 0d000h THRU 0faffh (02b00H BYTES)
;-----------------------------------------------;
;*****************************************************************;
;*****************************************************************;
;** **;
;** (C)Copyright 1985-1996, American Megatrends Inc. **;
;** **;
;** All Rights Reserved. **;
;** **;
;** 6145-F, Northbelt Parkway, Norcross, **;
;** **;
;** Georgia - 30071, USA. Phone-(770)-246-8600. **;
;** **;
;*****************************************************************;
;*****************************************************************;
;-----------------------------------------------;
; DATA AREA FOR SUPPORTING DIFFERENT CPUS ;
;-----------------------------------------------;
misc_proc_info equ dseg_data_area_begin ; 1 BYTE..miscellaneous processor info
; bit 0 1...numeric co-processor present
; bit 1 reserved
; bit 7-2 reserved
misc_proc_smi_info equ misc_proc_info + 01 ; 1 BYTE..miscellaneous processor SMI info
; bit 0 0..64KB or greater SMRAM
; 1..32KB SMRAM
; bit 1 RESERVED...USED INTERNALLY DURING SMI POST FOR SMBASE RELOCATION INFO
; b3 b2 ... SMI type
; 0 0 ... INTEL type SMI
; 0 1 ... CYRIX type SMI
; 1 0 ... AMD type SMI
; 1 1 ... reserved
; bit 4 0..single CPU board
; 1..dual/multiple CPU board
; bit 5 0..SMI based power management
; 1..IRQ based power management
; bit 6 0..Non-SMI CPU
; 1..SMI capable CPU
; bit 7 RESERVED...USED INTERNALLY DURING SMI POST FOR SMI POST STATUS
no_of_sec_cpu_present equ misc_proc_smi_info + 01 ; 1 BYTE..# of CPU present on the board
bios_detected_cpu_mfr equ no_of_sec_cpu_present + 01; 1 WORD..CPU manufacturer (as detected by CORE BIOS)
; bit 0 1 INTEL
; bit 1 1 CYRIX
; bit 2 1 AMD
; bit 3 1 IBM
; bit 4 1 TI (TEXAS INSTRUMENTS)
; bit 5 1 UMC
; bit 15-6 reserved
cpu_vendor equ bios_detected_cpu_mfr + 02 ; 1 WORD..CPU manufacturer (as seen by PM BIOS)
; bit 0 1 INTEL
; bit 1 1 CYRIX
; bit 2 1 AMD
; bit 3 1 IBM
; bit 4 1 TI (TEXAS INSTRUMENTS)
; bit 5 1 UMC
; bit 15-6 reserved
cpu_name_dseg equ cpu_vendor + 02 ; 1 WORD..CPU model # as returned by desktop core bios
; for different CPU vendor
;-----------------------------------------------;
; SMI_IDT_DESCRIPTOR FOR P54C CPU ;
;-----------------------------------------------;
smi_idt_descriptor equ cpu_name_dseg +02 ; 8 BYTES...IDT
;-----------------------------------------------;
; CPU STATE DUMP SAVE DATA AREA ;
; It is a structure of 9 DWORDs ;
;-----------------------------------------------;
;struc_cpu_gen_purpose_reg struc
reg_eax equ 00h ; 1 DWORD...EAX
reg_ebx equ reg_eax + 04 ; 1 DWORD...EBX
reg_ecx equ reg_ebx + 04 ; 1 DWORD...ECX
reg_edx equ reg_ecx + 04 ; 1 DWORD...EDX
reg_esi equ reg_edx + 04 ; 1 DWORD...ESI
reg_edi equ reg_esi + 04 ; 1 DWORD...EDI
reg_ebp equ reg_edi + 04 ; 1 DWORD...EBP
reg_eflags equ reg_ebp + 04 ; 1 DWORD...EFLAGS
reg_cr0 equ reg_eflags + 04 ; 1 DWORD...CR0
;struc_cpu_gen_purpose_reg ends
;-----------------------------------------------;
cpu_gen_purpose_reg_entry equ smi_idt_descriptor + 08; 9 DWORD..(36 bytes)
;-----------------------------------------------;
;struc_cpu_spl_reg_save struc
reg_cr1 equ 000h ; 1 DWORD...CR1 (RESERVED)
reg_cr2 equ reg_cr1 + 04 ; 1 DWORD...CR2
reg_cr3 equ reg_cr2 + 04 ; 1 DWORD...CR3
reg_dr0 equ reg_cr3 + 04 ; 1 DWORD...DR0
reg_dr1 equ reg_dr0 + 04 ; 1 DWORD...DR1
reg_dr2 equ reg_dr1 + 04 ; 1 DWORD...DR2
reg_dr3 equ reg_dr2 + 04 ; 1 DWORD...DR3
reg_dr4 equ reg_dr3 + 04 ; 1 DWORD...DR4 (RESERVED)
reg_dr5 equ reg_dr4 + 04 ; 1 DWORD...DR5 (RESERVED)
reg_dr6 equ reg_dr5 + 04 ; 1 DWORD...DR6
reg_tr3 equ reg_dr6 + 04 ; 1 DWORD...TR3 (CACHE TEST REG...DO NOT SAVE/RESTORE)
reg_tr4 equ reg_tr3 + 04 ; 1 DWORD...TR4 (CACHE TEST REG...DO NOT SAVE/RESTORE)
reg_tr5 equ reg_tr4 + 04 ; 1 DWORD...TR5 (CACHE TEST REG...DO NOT SAVE/RESTORE...NOT READABLE)
reg_tr6 equ reg_tr5 + 04 ; 1 DWORD...TR6
reg_tr7 equ reg_tr6 + 04 ; 1 DWORD...TR7
;struc_cpu_spl_reg_save ends
;-----------------------------------------------;
cpu_spl_reg_save equ cpu_gen_purpose_reg_entry + 36; 15 DWORD..(60 bytes)SIZE struc_cpu_spl_reg_save dup (?)
;-----------------------------------------------;
cpu_dump_save_area equ cpu_spl_reg_save + 60; 512 BYTES...CPU DUMP save area
fpu_state_save_area equ cpu_dump_save_area + 512; 128 BYTES...FPU DUMP save area
;-----------------------------------------------;
; RTC DATE/TIME SAVE DATA AREA ;
;-----------------------------------------------;
suspend_date equ fpu_state_save_area + 128; 1 DWORD...save suspend date
suspend_time equ suspend_date +04 ; 1 DWORD...save suspend time
;-----------------------------------------------;
; IDE DRIVE POWER MANAGEMENT DATA AREA ;
;-----------------------------------------------;
;struc_hdd_x_info struc
hdd_misc_control_info equ 0 ; 1 BYTE...control environment information
; bits 3-0 IRQ level
; bit 4 1 means drive is available
; bit 5 reserved
; bit 6 0/1 primary/secondary controller
; bit 7 0/1 master/slave drive
hdd_standby_imm_cmd_save equ hdd_misc_control_info + 01 ; 1 BYTE...standby immediate command to be used with the drive
hdd_standby_cmd_save equ hdd_standby_imm_cmd_save + 01; 1 BYTE...standby command to be used with the drive
hdd_idle_imm_cmd_save equ hdd_standby_cmd_save + 01 ; 1 BYTE...idle immediate command to be used with the drive
hdd_idle_cmd_save equ hdd_idle_imm_cmd_save + 01 ; 1 BYTE...idle command to be used with the drive
;struc_hdd_x_info ends
;-----------------------------------------------;
struc_hdd_x_info_size equ 5 ; SIZE of struc_hdd_x_info
hdd_0_control_struc equ suspend_time + 04 ; 5 BYTES...for drv 0 of primary cntlr
hdd_1_control_struc equ hdd_0_control_struc + 05 ; 5 BYTES...for drv 1 of primary cntlr
hdd_2_control_struc equ hdd_1_control_struc + 05 ; 5 BYTES...for drv 0 of secondary cntlr
hdd_3_control_struc equ hdd_2_control_struc + 05 ; 5 BYTES...for drv 1 of secondary cntlr
;-----------------------------------------------;
; EXTENDED GET DRIVE PARAMETERS ;
; SUPPORT DATA AREA ;
;-----------------------------------------------;
;struc_ext_drv_param struc
ms_info_size equ 000h ; 1 WORD...information size
ms_flags equ ms_info_size + 02 ; 1 WORD...flags
ms_cylinders equ ms_flags + 02 ; 1 DWORD...no. of cylinders on disk
ms_heads equ ms_cylinders + 04 ; 1 DWORD...no. of heads per cylinder
ms_sec_per_track equ ms_heads + 04 ; 1 DWORD...no. of sectors per track
ms_sectors equ ms_sec_per_track + 04 ; 1 QWORD...no. of sectors on requested disk
ms_sector_size equ ms_sectors + 08 ; 1 WORD...no. of bytes per sector
wd_extended_table equ ms_sector_size + 02 ; 1 DWORD...pointer to configuration parameter
;struc_ext_drv_param ends
;-----------------------------------------------;
struc_ext_drv_param_size equ 30 ; SIZE of struc_ext_drv_param
ext_drv_param equ hdd_3_control_struc + 05 ; 30 BYTES...extended drive parameter save data area
;-----------------------------------------------;
;struc_wd_extended_table struc
wd_ide_base_addr equ 000h ; 1 WORD...I/O port base address
wd_ide_control_port_addr equ wd_ide_base_addr + 02 ; 1 WORD...control port address
wd_hdd_misc_info_00 equ wd_ide_control_port_addr + 02 ; 1 BYTE...bits 3-0 reserved
; bit 4 0/1 master/slave drive
; bit 5 reserved
; bit 6 1 LBA enabled
; bit 7 reserved
wd_reserved_00 equ wd_hdd_misc_info_00 + 01; 1 BYTE...reserved
wd_irq equ wd_reserved_00 + 01 ; 1 BYTE...IRQ used
; bits 3-0 IRQ
; bits 7-4 reserved
wd_multi_sec_block_size equ wd_irq + 01 ; 1 BYTE...sector count for multi-sector transfer
wd_dma_info equ wd_multi_sec_block_size + 01 ; 1 BYTE...bits 3-0 DMA channel
; bits 7-4 DMA type
wd_pio_type equ wd_dma_info + 01 ; 1 BYTE...bits 3-0 PIO type
; bits 7-4 reserved
wd_hdd_misc_info_01 equ wd_pio_type + 01 ; 1 WORD...miscellaneous information
; bit 0 1 fast PIO accessing enabled
; bit 1 1 DMA accessing enabled
; bit 2 1 block PIO accessing enabled
; bit 3 1 CHS translation enabled
; bit 4 1 LBA translation enabled
; bit 5 1 removable media
; bit 6 1 CDROM
; bit 7 1 32 bit transfer mode
; bit 15-8 reserved
wd_reserved_01 equ wd_hdd_misc_info_01 + 02; 1 WORD...reserved
wd_ext_rev_level equ wd_reserved_01 + 02 ; 1 BYTE...current revision level of this extension
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -