Re: [Xen-devel] [PATCH] xen/pv: Add PV specific legacy_pic struct to expose legacy IRQs.
From: Boris Ostrovsky
Date: Wed Mar 27 2019 - 10:57:19 EST
On 3/25/19 10:40 AM, Paul Durrant wrote:
>> -----Original Message-----
>> From: Xen-devel [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Jennifer Herbert
>> Sent: 25 March 2019 14:24
>> To: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>; x86@xxxxxxxxxx; xen-devel@xxxxxxxxxxxxxxxxxxxx;
>> linux-kernel@xxxxxxxxxxxxxxx
>> Cc: Juergen Gross <jgross@xxxxxxxx>; Stefano Stabellini <sstabellini@xxxxxxxxxx>; Ingo Molnar
>> <mingo@xxxxxxxxxx>; Borislav Petkov <bp@xxxxxxxxx>; H. Peter Anvin <hpa@xxxxxxxxx>; Thomas Gleixner
>> <tglx@xxxxxxxxxxxxx>
>> Subject: Re: [Xen-devel] [PATCH] xen/pv: Add PV specific legacy_pic struct to expose legacy IRQs.
>>
>>
>>
>> On 21/03/19 17:49, Jennifer Herbert wrote:
>>>
>>> On 19/03/19 23:06, Boris Ostrovsky wrote:
>>>> On 3/19/19 4:02 PM, Jennifer Herbert wrote:
>>>>> The ACPI tables doesn't always contain all IRQs for legacy devices
>>>>> such as RTC. Since no PIC controller is visible for a PV linux guest,
>>>>> under Xen, legacy_pic currently defaults to the null_legacy_pic - with
>>>>> reports no legacy IRQs. Since the commit "rtc: cmos: Do not assume
>>>>> irq 8 for rtc when there are no legacy irqs" by Hans de Goede
>>>>> (commit id: a1e23a42f1bdc00e32fc4869caef12e4e6272f26), the rtc now
>>>>> incorrectly decides it has no irq it can use, for some hardware.
>>>>>
>>>>> This patch rectifies the problem by providing a xen legacy_pic
>>>>> struct, which is much like the null_legacy_pic except that it
>>>>> reports NR_IRQS_LEGACY irqs.
>>>> I assume this is for dom0?
>>>>
>>>> Could there be the same problem with PVH dom0? (and if yes then this
>>>> should probably go into arch/x86/xen/enlighten.c).
>>>>
>>>> -boris
>>>>
>>> I am doing this to fix a problem with dom0. DomU doesn't seem to have
>>> an RTC, and so it is unaffected.
>>>
>>> I'm not familiar with PVH, but have now done some experiments. The RTC
>>> on PVH seems broken - but not quite in the same way as PV. More
>>> research is needed, however simply doing the same trick I did with PV
>>> will not fix the issue.
>>>
>>> I'll look further into it.
>>>
>> The same problem does exist with PVH - however its worse with the
>> presence of the IO-APIC, as with my patch it tries to set up with IRQ,
>> and fails. I'm not sure how would be best to deal with this.
>> However, the RTC seems broken even for machines without the ACPI omission.
>> I can see fixing it for just PV doesn't seem too nice, but unsure how to
>> fix this for PVH. I'm open to suggestions, but otherwise I'll put this
>> on hold.
> AFAICT from the code in libxl__arch_domain_prepare_config(), PVH domains don't get an RTC, just a local APIC.
>
That's true for domU but not for PVH dom0 I believe. Roger?
-boris