x86/hvm: Revert per-domain APIC acceleration support

I was really hoping to avoid this, but its now too late in the 4.17 freeze and
we still don't have working fixes.

The in-Xen calculations for assistance capabilities are buggy.  For the
avoidance of doubt, the original intention was to be able to control every
aspect of a APIC acceleration so we could comprehensively test Xen's support,
as it has proved to be buggy time and time again.

Even after a protracted discussion on what the new API ought to mean, attempts
to apply it to the existing logic have been unsuccessful, proving that the
API/ABI is too complicated for most people to reason about.

This reverts most of:
  2ce11ce249
  6b2b9b3405

leaving in place the non-APIC specific changes (minimal as they are).

This takes us back to the behaviour of Xen 4.16 where APIC acceleration is
configured on a per system basis.

This work will be revisted in due course.

Fixes: 2ce11ce249 ("x86/HVM: allow per-domain usage of hardware virtualized APIC")
Fixes: 6b2b9b3405 ("x86: report Interrupt Controller Virtualization capabilities")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: Henry Wang <Henry.Wang@arm.com>
This commit is contained in:
Andrew Cooper committed 2022-11-17 16:51:51 +00:00
1 parent f5d56f4b25
commit e5ac68a011
27 files changed
+19 -236

No files matched your search

-15
View File
@@ -1862,21 +1862,6 @@ firmware tables when using certain older guest Operating
Systems. These tables have been superseded by newer constructs within
the ACPI tables.
=item B<assisted_xapic=BOOLEAN>
B<(x86 only)> Enables or disables hardware assisted virtualization for
xAPIC. With this option enabled, a memory-mapped APIC access will be
decoded by hardware and either issue a more specific VM exit than just
a p2m fault, or altogether avoid a VM exit. The
default is settable via L<xl.conf(5)>.
=item B<assisted_x2apic=BOOLEAN>
B<(x86 only)> Enables or disables hardware assisted virtualization for
x2APIC. With this option enabled, certain accesses to MSR APIC
registers will avoid a VM exit into the hypervisor. The default is
settable via L<xl.conf(5)>.
=item B<nx=BOOLEAN>
B<(x86 only)> Hides or exposes the No-eXecute capability. This allows a guest
-12
View File
@@ -107,18 +107,6 @@ Sets the default value for the C<max_grant_version> domain config value.
Default: maximum grant version supported by the hypervisor.
=item B<assisted_xapic=BOOLEAN>
If enabled, domains will use xAPIC hardware assisted virtualization by default.
Default: enabled if supported.
=item B<assisted_x2apic=BOOLEAN>
If enabled, domains will use x2APIC hardware assisted virtualization by default.
Default: enabled if supported.
=item B<vif.default.script="PATH">
Configures the default hotplug script used by virtual network devices.
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.