x86: propagate disabled APIC state to Dom0

This in particular eliminates the need to specify "noapic" to Dom0
when "noapic" is passed to Xen, provided the kernel side gets slightly
modified to make use of this information (Linux side patch cannot
easily be provided for the 2.6.18 tree, but this is being used by our
2.6.27-based one).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
This commit is contained in:
Keir Fraser committed 2009-01-14 10:56:18 +00:00
1 parent 2198c5151a
commit b1b4a612b6
1 file changed
+6
+6
View File
@@ -723,6 +723,8 @@ static void pv_cpuid(struct cpu_user_regs *regs)
{
/* Modify Feature Information. */
__clear_bit(X86_FEATURE_VME, &d);
if ( !cpu_has_apic )
__clear_bit(X86_FEATURE_APIC, &d);
if ( !opt_allow_hugepage )
__clear_bit(X86_FEATURE_PSE, &d);
__clear_bit(X86_FEATURE_PGE, &d);
@@ -755,6 +757,8 @@ static void pv_cpuid(struct cpu_user_regs *regs)
__clear_bit(X86_FEATURE_XTPR % 32, &c);
__clear_bit(X86_FEATURE_PDCM % 32, &c);
__clear_bit(X86_FEATURE_DCA % 32, &c);
if ( !cpu_has_apic )
__clear_bit(X86_FEATURE_X2APIC % 32, &c);
__set_bit(X86_FEATURE_HYPERVISOR % 32, &c);
break;
case 0x80000001:
@@ -773,6 +777,8 @@ static void pv_cpuid(struct cpu_user_regs *regs)
__clear_bit(X86_FEATURE_RDTSCP % 32, &d);
__clear_bit(X86_FEATURE_SVME % 32, &c);
if ( !cpu_has_apic )
__clear_bit(X86_FEATURE_EXTAPICSPACE % 32, &c);
__clear_bit(X86_FEATURE_OSVW % 32, &c);
__clear_bit(X86_FEATURE_IBS % 32, &c);
__clear_bit(X86_FEATURE_SKINIT % 32, &c);
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.