On 05/11/15 19:57, Jordan Justen wrote: > On 2015-05-08 11:51:50, Laszlo Ersek wrote: >> Move platform specific macros to their own include files. In addition, >> define some new macros for register addresses (both PCI and IO) and >> register values (bits). > > How about adding the new definitions is a separate commit? If Split, > both would be Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> > > Also, 2-5 > Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>
r17432: first half of this patch (just the split), with your R-b r17433: second half of this patch (new macros introduced), with your R-b, and Gabriel's A-b and T-b (because he did test the tree in that state; the two halves make up the first patch here) Dropped Gabriel's Cc: though, as he never got the split up patches in email. r17434: 02/11 from here, tags from responses r17435: 03/11 from here, tags from responses r17436: 04/11 from here, tags from responses r17437: 05/11 from here, tags from responses Thanks Laszlo > >> Cc: Gabriel Somlo <so...@cmu.edu> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Laszlo Ersek <ler...@redhat.com> >> --- >> OvmfPkg/Include/IndustryStandard/I440FxPiix4.h | 40 +++++++++ >> OvmfPkg/Include/IndustryStandard/Q35MchIch9.h | 93 ++++++++++++++++++++ >> OvmfPkg/Include/OvmfPlatforms.h | 25 +----- >> 3 files changed, 136 insertions(+), 22 deletions(-) >> >> diff --git a/OvmfPkg/Include/IndustryStandard/I440FxPiix4.h >> b/OvmfPkg/Include/IndustryStandard/I440FxPiix4.h >> new file mode 100644 >> index 0000000..8cbd685 >> --- /dev/null >> +++ b/OvmfPkg/Include/IndustryStandard/I440FxPiix4.h >> @@ -0,0 +1,40 @@ >> +/** @file >> + Various register numbers and value bits based on the following >> publications: >> + - Intel(R) datasheet 290549-001 >> + - Intel(R) datasheet 290562-001 >> + - Intel(R) datasheet 297654-006 >> + - Intel(R) datasheet 297738-017 >> + >> + Copyright (C) 2015, Red Hat, Inc. >> + Copyright (c) 2014, Gabriel L. Somlo <so...@cmu.edu> >> + >> + This program and the accompanying materials are licensed and made >> available >> + under the terms and conditions of the BSD License which accompanies this >> + distribution. The full text of the license may be found at >> + http://opensource.org/licenses/bsd-license.php >> + >> + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, >> WITHOUT >> + WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. >> +**/ >> + >> +#ifndef __I440FX_PIIX4_H__ >> +#define __I440FX_PIIX4_H__ >> + >> +#include <Library/PciLib.h> >> + >> +// >> +// Host Bridge Device ID (DID) value for I440FX >> +// >> +#define INTEL_82441_DEVICE_ID 0x1237 >> + >> +// >> +// B/D/F/Type: 0/1/3/PCI >> +// >> +#define POWER_MGMT_REGISTER_PIIX4(Offset) PCI_LIB_ADDRESS (0, 1, 3, >> (Offset)) >> + >> +#define PIIX4_PMBA 0x40 >> + >> +#define PIIX4_PMREGMISC 0x80 >> +#define PIIX4_PMREGMISC_PMIOSE BIT0 >> + >> +#endif >> diff --git a/OvmfPkg/Include/IndustryStandard/Q35MchIch9.h >> b/OvmfPkg/Include/IndustryStandard/Q35MchIch9.h >> new file mode 100644 >> index 0000000..4f59a7c >> --- /dev/null >> +++ b/OvmfPkg/Include/IndustryStandard/Q35MchIch9.h >> @@ -0,0 +1,93 @@ >> +/** @file >> + Various register numbers and value bits based on the following >> publications: >> + - Intel(R) datasheet 316966-002 >> + - Intel(R) datasheet 316972-004 >> + >> + Copyright (C) 2015, Red Hat, Inc. >> + Copyright (c) 2014, Gabriel L. Somlo <so...@cmu.edu> >> + >> + This program and the accompanying materials are licensed and made >> available >> + under the terms and conditions of the BSD License which accompanies this >> + distribution. The full text of the license may be found at >> + http://opensource.org/licenses/bsd-license.php >> + >> + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, >> WITHOUT >> + WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. >> +**/ >> + >> +#ifndef __Q35_MCH_ICH9_H__ >> +#define __Q35_MCH_ICH9_H__ >> + >> +#include <Library/PciLib.h> >> + >> +// >> +// Host Bridge Device ID (DID) value for Q35/MCH >> +// >> +#define INTEL_Q35_MCH_DEVICE_ID 0x29C0 >> + >> +// >> +// B/D/F/Type: 0/0/0/PCI >> +// >> +#define DRAMC_REGISTER_Q35(Offset) PCI_LIB_ADDRESS (0, 0, 0, (Offset)) >> + >> +#define MCH_GGC 0x52 >> +#define MCH_GGC_IVD BIT1 >> + >> +#define MCH_SMRAM 0x9D >> +#define MCH_SMRAM_D_LCK BIT4 >> +#define MCH_SMRAM_G_SMRAME BIT3 >> + >> +#define MCH_ESMRAMC 0x9E >> +#define MCH_ESMRAMC_H_SMRAME BIT7 >> +#define MCH_ESMRAMC_E_SMERR BIT6 >> +#define MCH_ESMRAMC_SM_CACHE BIT5 >> +#define MCH_ESMRAMC_SM_L1 BIT4 >> +#define MCH_ESMRAMC_SM_L2 BIT3 >> +#define MCH_ESMRAMC_TSEG_8MB BIT2 >> +#define MCH_ESMRAMC_TSEG_2MB BIT1 >> +#define MCH_ESMRAMC_TSEG_1MB 0 >> +#define MCH_ESMRAMC_TSEG_MASK (BIT2 | BIT1) >> +#define MCH_ESMRAMC_T_EN BIT0 >> + >> +#define MCH_GBSM 0xA4 >> +#define MCH_GBSM_MB_SHIFT 20 >> + >> +#define MCH_BGSM 0xA8 >> +#define MCH_BGSM_MB_SHIFT 20 >> + >> +#define MCH_TSEGMB 0xAC >> +#define MCH_TSEGMB_MB_SHIFT 20 >> + >> +#define MCH_TOLUD 0xB0 >> +#define MCH_TOLUD_MB_SHIFT 4 >> + >> +// >> +// B/D/F/Type: 0/0x1f/0/PCI >> +// >> +#define POWER_MGMT_REGISTER_Q35(Offset) \ >> + PCI_LIB_ADDRESS (0, 0x1f, 0, (Offset)) >> + >> +#define ICH9_PMBASE 0x40 >> +#define ICH9_PMBASE_MASK (BIT15 | BIT14 | BIT13 | BIT12 | BIT11 >> | \ >> + BIT10 | BIT9 | BIT8 | BIT7) >> + >> +#define ICH9_ACPI_CNTL 0x44 >> +#define ICH9_ACPI_CNTL_ACPI_EN BIT7 >> + >> +#define ICH9_GEN_PMCON_1 0xA0 >> +#define ICH9_GEN_PMCON_1_SMI_LOCK BIT4 >> + >> +// >> +// IO ports >> +// >> +#define ICH9_APM_CNT 0xB2 >> +#define ICH9_APM_STS 0xB3 >> + >> +// >> +// IO ports relative to PMBASE >> +// >> +#define ICH9_PMBASE_OFS_SMI_EN 0x30 >> +#define ICH9_SMI_EN_APMC_EN BIT5 >> +#define ICH9_SMI_EN_GBL_SMI_EN BIT0 >> + >> +#endif >> diff --git a/OvmfPkg/Include/OvmfPlatforms.h >> b/OvmfPkg/Include/OvmfPlatforms.h >> index cf6e624..19f0adb 100644 >> --- a/OvmfPkg/Include/OvmfPlatforms.h >> +++ b/OvmfPkg/Include/OvmfPlatforms.h >> @@ -1,6 +1,7 @@ >> /** @file >> OVMF Platform definitions >> >> + Copyright (C) 2015, Red Hat, Inc. >> Copyright (c) 2014, Gabriel L. Somlo <so...@cmu.edu> >> >> This program and the accompanying materials are licensed and made >> @@ -17,12 +18,8 @@ >> >> #include <Library/PciLib.h> >> #include <IndustryStandard/Pci22.h> >> - >> -// >> -// Host Bridge Device ID (DID) values for PIIX4 and Q35/MCH >> -// >> -#define INTEL_82441_DEVICE_ID 0x1237 // PIIX4 >> -#define INTEL_Q35_MCH_DEVICE_ID 0x29C0 // Q35 >> +#include <IndustryStandard/Q35MchIch9.h> >> +#include <IndustryStandard/I440FxPiix4.h> >> >> // >> // OVMF Host Bridge DID Address >> @@ -30,20 +27,4 @@ >> #define OVMF_HOSTBRIDGE_DID \ >> PCI_LIB_ADDRESS (0, 0, 0, PCI_DEVICE_ID_OFFSET) >> >> -// >> -// Power Management Device and Function numbers for PIIX4 and Q35/MCH >> -// >> -#define OVMF_PM_DEVICE_PIIX4 0x01 >> -#define OVMF_PM_FUNC_PIIX4 0x03 >> -#define OVMF_PM_DEVICE_Q35 0x1f >> -#define OVMF_PM_FUNC_Q35 0x00 >> - >> -// >> -// Power Management Register access for PIIX4 and Q35/MCH >> -// >> -#define POWER_MGMT_REGISTER_PIIX4(Offset) \ >> - PCI_LIB_ADDRESS (0, OVMF_PM_DEVICE_PIIX4, OVMF_PM_FUNC_PIIX4, (Offset)) >> -#define POWER_MGMT_REGISTER_Q35(Offset) \ >> - PCI_LIB_ADDRESS (0, OVMF_PM_DEVICE_Q35, OVMF_PM_FUNC_Q35, (Offset)) >> - >> #endif >> -- >> 1.8.3.1 >> >> >> >> ------------------------------------------------------------------------------ >> One dashboard for servers and applications across Physical-Virtual-Cloud >> Widest out-of-the-box monitoring support with 50+ applications >> Performance metrics, stats and reports that give you Actionable Insights >> Deep dive visibility with transaction tracing using APM Insight. >> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel