|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 2/4] x86/apic: force phys mode if interrupt remapping is disabled
On 04.12.2019 17:20, Roger Pau Monne wrote:
> Cluster mode can only be used with interrupt remapping support, since
> the top 16bits of the APIC ID are filled with the cluster ID, and
> hence on systems where the physical ID is still smaller than 255 the
> cluster ID is not. Force x2APIC to use physical mode if there's no
> interrupt remapping support.
>
> Note that this requires a further patch in order to enable x2APIC
> without interrupt remapping support.
>
> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
albeit ...
> --- a/xen/arch/x86/genapic/x2apic.c
> +++ b/xen/arch/x86/genapic/x2apic.c
> @@ -226,7 +226,23 @@ boolean_param("x2apic_phys", x2apic_phys);
> const struct genapic *__init apic_x2apic_probe(void)
> {
> if ( x2apic_phys < 0 )
> - x2apic_phys = !!(acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL);
> + {
> + if ( !iommu_intremap )
> + /*
> + * Force physical mode if there's no interrupt remapping support:
> + * the ID in clustered mode requires a 32 bit destination field
> due
> + * to the usage of the high 16 bits to store the cluster ID.
> + */
> + x2apic_phys = true;
> + else
> + x2apic_phys = !!(acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL);
... I wonder why you didn't make this
x2apic_phys = !iommu_intremap || (acpi_gbl_FADT.flags &
ACPI_FADT_APIC_PHYSICAL);
(not the least because of allowing to drop the somewhat ugly !!).
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |