|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: IOMMU faults after S3
On 07.04.2026 13:34, Marek Marczykowski-Górecki wrote:
> On Tue, Apr 07, 2026 at 12:23:16PM +0200, Jan Beulich wrote:
>> x86/HPET: channel handling in hpet_broadcast_resume()
>>
>> The per-channel ENABLE bit is to solely be driven by hpet_enable_channel()
>> and hpet_msi_{,un}mask(). It doesn't need setting immediately. Except for
>> the (possible) channel put in legacy mode we don't do so during boot
>> either.
>>
>> Instead reset ->arch.cpu_mask, to avoid msi_compose_msg() yielding an
>> all-zero message (when the passed in CPU mask has no online CPUs). Nothing
>> would later call msi_compose_msg() / hpet_msi_write(), and hence nothing
>> would later produce a well-formed message template in
>> hpet_events[].msi.msg.
>>
>> Fixes: 15aa6c67486c ("amd iommu: use base platform MSI implementation")
>> Reported-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>
> This appears to fix the IOMMU faults.
> Started with no-arat, the debug output is now this:
Same question here: May I translate this to Tested-by:?
Jan
> (XEN) [18446743900.509455] _disable_pit_irq:2649: using_pit: 0, cpu_has_apic:
> 1
> (XEN) [18446743900.509470] _disable_pit_irq:2659: cpuidle_using_deep_cstate:
> 1, boot_cpu_has(X86_FEATURE_XEN_ARAT): 0
> (XEN) [18446743900.509480] _disable_pit_irq:2662: init: 0
> (XEN) [18446743900.509491] hpet_broadcast_resume:662: hpet_events:
> ffff830461b3f080
> (XEN) [18446743900.509636] hpet_broadcast_resume:673: num_hpets_used: 8
> (XEN) [18446743900.509644] hpet_broadcast_resume:691: cfg: 0x1
> (XEN) [18446743900.509656] hpet_broadcast_resume:696: i:0,
> hpet_events[i].msi.irq: 122, hpet_events[i].flags: 0
> (XEN) [18446743900.509687] hpet_msi_write:286: iommu_update_ire_from_msi rc: 0
> (XEN) [18446743900.509698] hpet_broadcast_resume:705: i:0,
> __hpet_setup_msi_irq ret: 0
> (XEN) [18446743900.509728] hpet_broadcast_resume:715: i:0, cfg: 0xc130,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx)): 0,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx) + 4): 0xfee00f18
> (XEN) [18446743900.509739] hpet_broadcast_resume:696: i:1,
> hpet_events[i].msi.irq: 123, hpet_events[i].flags: 0
> (XEN) [18446743900.509762] hpet_msi_write:286: iommu_update_ire_from_msi rc: 0
> (XEN) [18446743900.509772] hpet_broadcast_resume:705: i:1,
> __hpet_setup_msi_irq ret: 0
> (XEN) [18446743900.509803] hpet_broadcast_resume:715: i:1, cfg: 0xc100,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx)): 0,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx) + 4): 0xfee00f38
> (XEN) [18446743900.509814] hpet_broadcast_resume:696: i:2,
> hpet_events[i].msi.irq: 124, hpet_events[i].flags: 0
> (XEN) [18446743900.509838] hpet_msi_write:286: iommu_update_ire_from_msi rc: 0
> (XEN) [18446743900.509848] hpet_broadcast_resume:705: i:2,
> __hpet_setup_msi_irq ret: 0
> (XEN) [18446743900.509877] hpet_broadcast_resume:715: i:2, cfg: 0xc100,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx)): 0,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx) + 4): 0xfee00f58
> (XEN) [18446743900.509888] hpet_broadcast_resume:696: i:3,
> hpet_events[i].msi.irq: 125, hpet_events[i].flags: 0
> (XEN) [18446743900.509912] hpet_msi_write:286: iommu_update_ire_from_msi rc: 0
> (XEN) [18446743900.509922] hpet_broadcast_resume:705: i:3,
> __hpet_setup_msi_irq ret: 0
> (XEN) [18446743900.509952] hpet_broadcast_resume:715: i:3, cfg: 0xc100,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx)): 0,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx) + 4): 0xfee00f78
> (XEN) [18446743900.509963] hpet_broadcast_resume:696: i:4,
> hpet_events[i].msi.irq: 126, hpet_events[i].flags: 0
> (XEN) [18446743900.509987] hpet_msi_write:286: iommu_update_ire_from_msi rc: 0
> (XEN) [18446743900.509997] hpet_broadcast_resume:705: i:4,
> __hpet_setup_msi_irq ret: 0
> (XEN) [18446743900.510027] hpet_broadcast_resume:715: i:4, cfg: 0xc100,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx)): 0,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx) + 4): 0xfee00f98
> (XEN) [18446743900.510038] hpet_broadcast_resume:696: i:5,
> hpet_events[i].msi.irq: 127, hpet_events[i].flags: 0
> (XEN) [18446743900.510062] hpet_msi_write:286: iommu_update_ire_from_msi rc: 0
> (XEN) [18446743900.510072] hpet_broadcast_resume:705: i:5,
> __hpet_setup_msi_irq ret: 0
> (XEN) [18446743900.510102] hpet_broadcast_resume:715: i:5, cfg: 0xc100,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx)): 0,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx) + 4): 0xfee00fb8
> (XEN) [18446743900.510113] hpet_broadcast_resume:696: i:6,
> hpet_events[i].msi.irq: 128, hpet_events[i].flags: 0
> (XEN) [18446743900.510138] hpet_msi_write:286: iommu_update_ire_from_msi rc: 0
> (XEN) [18446743900.510149] hpet_broadcast_resume:705: i:6,
> __hpet_setup_msi_irq ret: 0
> (XEN) [18446743900.510179] hpet_broadcast_resume:715: i:6, cfg: 0xc100,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx)): 0,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx) + 4): 0xfee00fd8
> (XEN) [18446743900.510191] hpet_broadcast_resume:696: i:7,
> hpet_events[i].msi.irq: 129, hpet_events[i].flags: 0
> (XEN) [18446743900.510214] hpet_msi_write:286: iommu_update_ire_from_msi rc: 0
> (XEN) [18446743900.510224] hpet_broadcast_resume:705: i:7,
> __hpet_setup_msi_irq ret: 0
> (XEN) [18446743900.510253] hpet_broadcast_resume:715: i:7, cfg: 0xc100,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx)): 0,
> hpet_read32(HPET_Tn_ROUTE(hpet_events[i].idx) + 4): 0xfee00ff8
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |