From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36496) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z26ru-0000TW-S7 for qemu-devel@nongnu.org; Mon, 08 Jun 2015 19:54:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z26ro-0007gw-Gb for qemu-devel@nongnu.org; Mon, 08 Jun 2015 19:54:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60359) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z26kK-0002Tw-9Q for qemu-devel@nongnu.org; Mon, 08 Jun 2015 19:46:24 -0400 Message-ID: <5576294A.6020008@redhat.com> Date: Tue, 09 Jun 2015 01:46:18 +0200 From: Laszlo Ersek MIME-Version: 1.0 References: <1433689422-27808-1-git-send-email-pcacjr@zytor.com> <1433801233-15578-1-git-send-email-pcacjr@zytor.com> <20150608224959.24557.93336@jljusten-ivb> <5576209F.1020404@redhat.com> <20150608203001.47345dfb@zytor.com> In-Reply-To: <20150608203001.47345dfb@zytor.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [edk2] [PATCH v3] OvmfPkg/PlatformPei: Initialise RCBA (B0:D31:F0 0xf0) register List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paulo Alcantara Cc: pbonzini@redhat.com, edk2-devel@lists.sourceforge.net, Paulo Alcantara , qemu-devel@nongnu.org, mst@redhat.com On 06/09/15 01:30, Paulo Alcantara wrote: > On Tue, 09 Jun 2015 01:09:19 +0200 > Laszlo Ersek wrote: > >> On 06/09/15 00:49, Jordan Justen wrote: >>> On 2015-06-08 15:07:13, Paulo Alcantara wrote: >>>> This patch initialises root complex register block BAR in order to >>>> support TCO watchdog emulation features (e.g. reboot upon >>>> NO_REBOOT bit not set) on QEMU. >>>> >>>> Contributed-under: TianoCore Contribution Agreement 1.0 >>>> Signed-off-by: Paulo Alcantara >>>> --- >>>> OvmfPkg/Include/IndustryStandard/Q35MchIch9.h | 5 +++++ >>>> OvmfPkg/PlatformPei/Platform.c | 14 +++++++++++++- >>>> 2 files changed, 18 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/OvmfPkg/Include/IndustryStandard/Q35MchIch9.h >>>> b/OvmfPkg/Include/IndustryStandard/Q35MchIch9.h index >>>> 4f59a7c..18b34a3 100644 --- >>>> a/OvmfPkg/Include/IndustryStandard/Q35MchIch9.h +++ >>>> b/OvmfPkg/Include/IndustryStandard/Q35MchIch9.h @@ -77,6 +77,9 @@ >>>> #define ICH9_GEN_PMCON_1 0xA0 >>>> #define ICH9_GEN_PMCON_1_SMI_LOCK BIT4 >>>> >>>> +#define ICH9_RCBA 0xF0 >>>> +#define ICH9_RCBA_EN BIT0 >>>> + >>>> // >>>> // IO ports >>>> // >>>> @@ -90,4 +93,6 @@ >>>> #define ICH9_SMI_EN_APMC_EN BIT5 >>>> #define ICH9_SMI_EN_GBL_SMI_EN BIT0 >>>> >>>> +#define ICH9_ROOT_COMPLEX_BASE 0xFED1C000 >>>> + >>>> #endif >>>> diff --git a/OvmfPkg/PlatformPei/Platform.c >>>> b/OvmfPkg/PlatformPei/Platform.c index 1126c65..3811162 100644 >>>> --- a/OvmfPkg/PlatformPei/Platform.c >>>> +++ b/OvmfPkg/PlatformPei/Platform.c >>>> @@ -212,13 +212,16 @@ MemMapInitialization ( >>>> // 0xFEC00000 IO-APIC 4 KB >>>> // 0xFEC01000 gap 1020 KB >>>> // 0xFED00000 HPET 1 KB >>>> - // 0xFED00400 gap 1023 KB >>>> + // 0xFED00400 gap 111 KB >>>> + // 0xFED1C000 RCRB 16 KB >>> >>> Should we make this conditional? >>> // 0xFED1C000 gap (PIIX4) / RCRB (ICH9) 16 KB >>> >>> ... and make mHostBridgeDevId a global var, and then conditionally >>> add the memory io HOB? >> >> Good point. > > Good point, indeed. Unlike HPET, I/O APIC and other addresses that will > be shared between PIIX4 and ICH9, the RCRB will be exclusive to ICH9. I > can make these changes on top this patch, or do you guys prefer it to > be placed in another? I think mHostBridgeDevId should be made an extern in the first patch, and then the second patch could be this one, also including the conditional stuff in MemMapInitialization(). Thanks Laszlo