summaryrefslogtreecommitdiff
path: root/OvmfPkg/AcpiTables/Facp.aslc
AgeCommit message (Collapse)Author
2013-03-04OvmfPkg: report support for the PIIX3 reset register in the FADTjljusten
The value to be written corresponds to hard reset, which is what the ACPI spec prescribes. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14156 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-04OvmfPkg: upgrade the FADT to ACPI 2.0 without functional changesjljusten
This conversion cannot be split very well into smaller patches. Comparing version 1 and version 2 (modulo the header fields): > --- EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE > +++ EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE > @@ -1,14 +1,14 @@ > EFI_ACPI_DESCRIPTION_HEADER Header; > UINT32 FirmwareCtrl; > UINT32 Dsdt; > - UINT8 IntModel; > - UINT8 Reserved1; > + UINT8 Reserved0; > + UINT8 PreferredPmProfile; The INT_MODEL field was present in ACPI 1.0, but eliminated in 2.0. According to the spec, "platforms should set this field to zero but field values of one are also allowed to maintain compatibility with ACPI 1.0". We're setting it to zero. About Preferred_PM_Profile (taking the place of an 1.0 reserved field), the specification says: This field is set by the OEM to convey the preferred power management profile to OSPM. OSPM can use this field to set default power management policy parameters during OS installation. >From <MdePkg/Include/IndustryStandard/Acpi20.h>: #define EFI_ACPI_2_0_PM_PROFILE_UNSPECIFIED 0 #define EFI_ACPI_2_0_PM_PROFILE_DESKTOP 1 #define EFI_ACPI_2_0_PM_PROFILE_MOBILE 2 #define EFI_ACPI_2_0_PM_PROFILE_WORKSTATION 3 #define EFI_ACPI_2_0_PM_PROFILE_ENTERPRISE_SERVER 4 #define EFI_ACPI_2_0_PM_PROFILE_SOHO_SERVER 5 #define EFI_ACPI_2_0_PM_PROFILE_APPLIANCE_PC 6 For a virtual machine, "unspecified" is the best choice. > UINT16 SciInt; > UINT32 SmiCmd; > UINT8 AcpiEnable; > UINT8 AcpiDisable; > UINT8 S4BiosReq; > - UINT8 Reserved2; > + UINT8 PstateCnt; We've been already treating this field as PSTATE_CNT. No change in value. > UINT32 Pm1aEvtBlk; > UINT32 Pm1bEvtBlk; > UINT32 Pm1aCntBlk; > @@ -20,11 +20,11 @@ > UINT8 Pm1EvtLen; > UINT8 Pm1CntLen; > UINT8 Pm2CntLen; > - UINT8 PmTmLen; > + UINT8 PmTmrLen; (Field renaming artifact.) > UINT8 Gpe0BlkLen; > UINT8 Gpe1BlkLen; > UINT8 Gpe1Base; > - UINT8 Reserved3; > + UINT8 CstCnt; We've been already treating this field as CST_CNT. No change in value. > UINT16 PLvl2Lat; > UINT16 PLvl3Lat; > UINT16 FlushSize; > @@ -34,7 +34,19 @@ > UINT8 DayAlrm; > UINT8 MonAlrm; > UINT8 Century; > - UINT8 Reserved4; > - UINT8 Reserved5; > - UINT8 Reserved6; > + UINT16 IaPcBootArch; > + UINT8 Reserved1; The first two octets are now merged into a 16-bit short; otherwise we've been treating those as boot architecture flags already (see SVN rev 13615). No change in value. > UINT32 Flags; The fixed feature flags are not modified, only the macro names (expanding to identical values) are updated to ACPI 2.0. The following fields are all new in ACPI 2.0: > + EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE ResetReg; > + UINT8 ResetValue; We don't claim support for the reset register yet. > + UINT8 Reserved2[3]; > + UINT64 XFirmwareCtrl; > + UINT64 XDsdt; The 64-bit physical addresses for the FACS and the DSDT are automatically filled at installation time, see AddTableToList() and DeleteTable() in "MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c". > + EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk; > + EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk; > + EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk; > + EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk; > + EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk; > + EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk; > + EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk; > + EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk; We specify the extended addresses for the required and supported PM1a Event & Control, PM Timer, and GPE0 Register Blocks, and zero the rest, in accordance with the ACPI 1.0 fields. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14155 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-04OvmfPkg: fold macros of unsupported GPE1 register block into Facp.aslcjljusten
In the next patch we're going to specify Extended Addresses of register blocks in Generic Address Structure format. The GAS is easy to fill if we want to posit either "unsupported" (all zero) or a given address in a specific address space. However deriving "unsupported" just from a macro expanding to zero is unwieldy, so let's avoid the need. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14154 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-04OvmfPkg: fold macros of unsupported PM2 control reg. block into Facp.aslcjljusten
Soon we're going to specify Extended Addresses of register blocks in Generic Address Structure format. The GAS is easy to fill if we want to posit either "unsupported" (all zero) or a given address in a specific address space. However deriving "unsupported" just from a macro expanding to zero is unwieldy, so let's avoid the need. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14153 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-04OvmfPkg: fold macros of unsupported PM1b register blocks into Facp.aslcjljusten
Soon we're going to specify Extended Addresses of register blocks in Generic Address Structure format. The GAS is easy to fill if we want to posit either "unsupported" (all zero) or a given address in a specific address space. However deriving "unsupported" just from a macro expanding to zero is unwieldy, so let's avoid the need. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14152 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-11Add missing braces around initializer.lzeng14
Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Qian Ouyang <qian.ouyang@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13817 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-13OvmfPkg: sync FADT with QEMU: boot architecture flagsjljusten
Clear boot architecture flags: LEGACY_DEVICES, 8042 keyboard controller. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13615 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-13OvmfPkg: sync FADT with QEMU: correct SMI_CMDjljusten
- Qemu's PIIX emulation actually supports SMM and ACPI_ENABLE / ACPI_DISABLE. - After enabling SMI_CMD (SMI_CMD_IO_PORT), further values to be written there must be synchronized with qemu: PSTATE_CNT, CST_CNT. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13611 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-13OvmfPkg: cleanup whitespace in Facp.aslc / Platform.hjljusten
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13610 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-28Update the copyright notice formathhtian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10439 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25Remove svn:executable on *.c, *.h, *.asm, *.S, *.inf and *.asl*jljusten
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10087 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-27Add initial version of Open Virtual Machine Firmware (OVMF) platform.jljusten
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8398 6f19259b-4bc3-4df7-8a09-765794883524