Laszlo, 

The PI specification describes DynamicEx PCDs. The PCD protocol is in PI: 
volume 3, chapter 8.

All other PCDs are EDK2 artifacts, although some bits have drifted into the 
packaging specification. 

Tim

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Laszlo 
Ersek
Sent: Tuesday, October 13, 2015 10:03 AM
To: Paolo Bonzini <pbonz...@redhat.com>; Brian J. Johnson <bjohn...@sgi.com>; 
edk2-de...@ml01.01.org
Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Jiewen Yao 
<jiewen....@intel.com>
Subject: Re: [edk2] [PATCH v2 11/41] OvmfPkg: implement 
EFI_SMM_CONTROL2_PROTOCOL with a DXE_RUNTIME_DRIVER

On 10/13/15 18:53, Paolo Bonzini wrote:
> 
> 
> On 13/10/2015 18:49, Laszlo Ersek wrote:
>>>>
>>>> However, this (obviously) doesn't scale well, so Intel has been 
>>>> moving towards signaling SMI to only a single processor, and 
>>>> avoiding the machine-wide rendezvous when it isn't necessary.  BIOS 
>>>> implementations may be lagging behind.
>> But... when is it necessary? Paolo implied it might not be necessary 
>> for us because MTRR changes are not relevant on our virtual platform 
>> -- otherwise all CPUs would have to agree on the MTRR settings --, 
>> but isn't there a security aspect to it as well?
> 
> MTRR changes are only needed on processors without SMRRs (which is 32 
> bits processors according to the default SmmCpuFeaturesLib).
> 
> We don't have SMRRs, but we also are immune from caching issues 
> because all of our memory mapping is done in the hypervisor and the 
> processor sees it.  On real hardware, it's done in the MCH (northbridge).
> 
> In any case, it's all customizable through SmmCpuFeaturesLib.
> SmmCpuFeaturesLib and EFI_SMM_CONTROL2_PROTOCOL must be somehow in 
> sync, which perhaps is why the UEFI spec doesn't go into details.

EFI_SMM_CONTROL2_PROTOCOL is from the PI spec, not the UEFI spec.

SmmCpuFeaturesLib is an edk2 artifact, not governed by PI.

(But, of course, it might be sensible to require that *in edk2* the two be in 
sync!)

> 
> PcdCpuSmmSyncMode is also not part of the UEFI spec, I guess?

PCDs are also edk2 artifacts. In DXE they (the dynamic ones) are implemented 
with a protocol "of course", but that protocol is not specified in any industry 
standard.

Thanks!
Laszlo

> 
> Paolo
> 
>> All UefiCpuPkg/UefiCpuPkg.dec says is:
>>
>> ## Indicates the CPU synchronization method used when processing an SMI.
>> #   0x00  - Traditional CPU synchronization method.<BR>
>> #   0x01  - Relaxed CPU synchronization method.<BR>
>> # @Prompt SMM CPU Synchronization Method.
>> gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x00|UINT8|0x60000014
>>
>> Uhm. Thanks?...
> 
> I like it when the answer is in the code! :)
> 
> Paolo
> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to