[edk2-devel] [PATCH] OvmfPkg/XenPlatformPei: Relocate shared_info page mapping
Laszlo Ersek
lersek at redhat.com
Tue Jun 29 14:43:50 UTC 2021
On 06/29/21 13:41, Jan Beulich via groups.io wrote:
> On 29.06.2021 13:29, Laszlo Ersek wrote:
>> On 06/29/21 12:35, Andrew Cooper wrote:
>>> On 29/06/2021 11:07, Jan Beulich wrote:
>>>> On 29.06.2021 11:20, Laszlo Ersek wrote:
>>>>> On 06/28/21 15:23, Anthony PERARD via groups.io wrote:
>>>>>> From: Anthony PERARD <anthony.perard at citrix.com>
>>>>>>
>>>>>> Unfortunately, Xen isn't ready to deal with mapping at the top of the
>>>>>> physical address space, so we relocate the mapping after the LAPIC
>>>>>> location.
>>>>>>
>>>>>> See this thread about the issue with the mapping:
>>>>>> - https://lore.kernel.org/xen-devel/f8c4151a-6dac-d87c-ef46-eb35ada07bd9@suse.com/
>>>>>>
>>>>>> The PhysicalAddressIdentityMapping() call isn't going to do anything
>>>>>> anymore since everything under 4GB is already mapped, but there is no
>>>>>> need to remove the call.
>>>>>>
>>>>>> CC: Jan Beulich <JBeulich at suse.com>
>>>>>> CC: Andrew Cooper <andrew.cooper3 at citrix.com>
>>>>>> Signed-off-by: Anthony PERARD <anthony.perard at citrix.com>
>>>>>> ---
>>>>>> OvmfPkg/XenPlatformPei/Xen.c | 2 +-
>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>
>>>>>> diff --git a/OvmfPkg/XenPlatformPei/Xen.c b/OvmfPkg/XenPlatformPei/Xen.c
>>>>>> index a4e82b356936..9c6641895970 100644
>>>>>> --- a/OvmfPkg/XenPlatformPei/Xen.c
>>>>>> +++ b/OvmfPkg/XenPlatformPei/Xen.c
>>>>>> @@ -569,7 +569,7 @@ CalibrateLapicTimer (
>>>>>> EFI_STATUS Status;
>>>>>>
>>>>>>
>>>>>> - SharedInfo = (VOID*)((1ULL << mPhysMemAddressWidth) - EFI_PAGE_SIZE);
>>>>>> + SharedInfo = (VOID*)((UINTN)PcdGet32 (PcdCpuLocalApicBaseAddress) + SIZE_1MB);
>>>>>> Status = PhysicalAddressIdentityMapping ((EFI_PHYSICAL_ADDRESS)SharedInfo);
>>>>>> if (EFI_ERROR (Status)) {
>>>>>> DEBUG ((DEBUG_ERROR,
>>>>>>
>>>>> Acked-by: Laszlo Ersek <lersek at redhat.com>
>>>>>
>>>>> I guess I should merge this after Jan and/or Andrew ack it.
>>>> Well, I can informally ack that a move like this is needed, but I can't
>>>> really give an Acked-by on the change, as I know next to nothing about
>>>> ovmf, and hence I cannot, for example, tell whether the chosen new
>>>> location is okay to use there.
>>>
>>> That bit is easy, although it probably does warrant a code comment. The
>>> choice of location doesn't matter specifically (so long as it's not too
>>> high for 32bit toolstacks to cope with), but wants to be something which
>>> isn't RAM, and ideally doesn't shatter a superpage.
>>>
>>> The various MMIO ranges (IO-APIC, TPM, LAPIC) are 2M aligned, so LAPIC +
>>> 1M is firmly in the middle of a range not used by anything else, and
>>> with APICV/AVIC, the LAPIC does have a 4k mapping to the sink page.
>>
>> I'm OK with informal ACKs of course, just please let me know when you
>> guys feel it's OK for me to merge the patch. I saw the CCs and so I
>> didn't want to hasten and merge the patch before you could object.
>
> I think you are fine going ahead as long as from the ovmf side all is
> good here.
Merged as commit b37cfdd28071, via
<https://github.com/tianocore/edk2/pull/1771>.
I had to replace the "CC:" lines with "Cc:" ones, in order to placate
"PatchCheck.py".
Thanks
Laszlo
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#77276): https://edk2.groups.io/g/devel/message/77276
Mute This Topic: https://groups.io/mt/83844392/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list