linux/arch/x86/include/asm
Toshi Kani edfe63ec97 x86/mtrr: Fix Xorg crashes in Qemu sessions
A Xorg failure on qemu32 was reported as a regression [1] caused by
commit 9cd25aac1f ("x86/mm/pat: Emulate PAT when it is disabled").

This patch fixes the Xorg crash.

Negative effects of this regression were the following two failures [2]
in Xorg on QEMU with QEMU CPU model "qemu32" (-cpu qemu32), which were
triggered by the fact that its virtual CPU does not support MTRRs.

 #1. copy_process() failed in the check in reserve_pfn_range()

    copy_process
     copy_mm
      dup_mm
       dup_mmap
        copy_page_range
         track_pfn_copy
          reserve_pfn_range

 A WC map request was tracked as WC in memtype, which set a PTE as
 UC (pgprot) per __cachemode2pte_tbl[].  This led to this error in
 reserve_pfn_range() called from track_pfn_copy(), which obtained
 a pgprot from a PTE.  It converts pgprot to page_cache_mode, which
 does not necessarily result in the original page_cache_mode since
 __cachemode2pte_tbl[] redirects multiple types to UC.

 #2. error path in copy_process() then hit WARN_ON_ONCE in
     untrack_pfn().

     x86/PAT: Xorg:509 map pfn expected mapping type uncached-
     minus for [mem 0xfd000000-0xfdffffff], got write-combining
      Call Trace:
     dump_stack
     warn_slowpath_common
     ? untrack_pfn
     ? untrack_pfn
     warn_slowpath_null
     untrack_pfn
     ? __kunmap_atomic
     unmap_single_vma
     ? pagevec_move_tail_fn
     unmap_vmas
     exit_mmap
     mmput
     copy_process.part.47
     _do_fork
     SyS_clone
     do_syscall_32_irqs_on
     entry_INT80_32

These negative effects are caused by two separate bugs, but they
can be addressed in separate patches.  Fixing the pat_init() issue
described below addresses the root cause, and avoids Xorg to hit
these cases.

When the CPU does not support MTRRs, MTRR does not call pat_init(),
which leaves PAT enabled without initializing PAT.  This pat_init()
issue is a long-standing issue, but manifested as issue #1 (and then
hit issue #2) with the above-mentioned commit because the memtype
now tracks cache attribute with 'page_cache_mode'.

This pat_init() issue existed before the commit, but we used pgprot
in memtype.  Hence, we did not have issue #1 before.  But WC request
resulted in WT in effect because WC pgrot is actually WT when PAT
is not initialized.  This is not how it was designed to work.  When
PAT is set to disable properly, WC is converted to UC.  The use of
WT can result in a system crash if the target range does not support
WT.  Fortunately, nobody ran into such issue before.

To fix this pat_init() issue, PAT code has been enhanced to provide
pat_disable() interface.  Call this interface when MTRRs are disabled.
By setting PAT to disable properly, PAT bypasses the memtype check,
and avoids issue #1.

  [1]: https://lkml.org/lkml/2016/3/3/828
  [2]: https://lkml.org/lkml/2016/3/4/775

Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Borislav Petkov <bp@suse.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luis R. Rodriguez <mcgrof@suse.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: elliott@hpe.com
Cc: konrad.wilk@oracle.com
Cc: paul.gortmaker@windriver.com
Cc: xen-devel@lists.xenproject.org
Link: http://lkml.kernel.org/r/1458769323-24491-5-git-send-email-toshi.kani@hpe.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-03-29 12:23:26 +02:00
..
crypto
fpu Merge branch 'mm-pkeys-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-20 19:08:56 -07:00
numachip x86/numachip: Introduce Numachip2 timer mechanisms 2015-09-22 22:25:33 +02:00
trace x86/fpu/mpx: Rework MPX 'xstate' types 2015-09-14 12:22:00 +02:00
uv x86/platform/uv: Insert per_cpu accessor function on uv_hub_nmi 2015-09-13 09:27:53 +02:00
xen Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-24 09:47:32 -07:00
a.out-core.h
acenv.h
acpi.h acpi, x86: Implement arch_apei_get_mem_attributes() 2015-08-08 10:37:39 +02:00
agp.h
alternative-asm.h
alternative.h x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
amd_nb.h x86/mce/AMD: Document some functionality 2016-03-08 11:48:15 +01:00
apb_timer.h
apic_flat_64.h
apic.h x86/apic: Fix suspicious RCU usage in smp_trace_call_function_interrupt() 2016-03-18 14:51:06 +01:00
apicdef.h
apm.h
arch_hweight.h x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
archrandom.h
asm-offsets.h
asm.h x86/mm: Expand the exception table logic to allow new handling options 2016-02-18 09:21:46 +01:00
atomic64_32.h x86/headers: Don't include asm/processor.h in asm/atomic.h 2015-12-06 12:56:03 +01:00
atomic64_64.h atomic, arch: Audit atomic_{read,set}() 2015-09-23 09:54:28 +02:00
atomic.h x86/headers: Don't include asm/processor.h in asm/atomic.h 2015-12-06 12:56:03 +01:00
barrier.h locking/x86: Tweak the comment about use of wmb() for IO 2016-01-29 09:40:10 +01:00
bios_ebda.h
bitops.h x86/asm/bitops: Force inlining of test_and_set_bit and friends 2016-02-09 10:31:54 +01:00
boot.h x86/boot: Double BOOT_HEAP_SIZE to 64KB 2016-01-11 12:30:50 +01:00
bootparam_utils.h
bug.h
bugs.h
cache.h
cacheflush.h x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option 2016-02-22 08:51:38 +01:00
calgary.h x86/platform/calgary: Constify cal_chipset_ops structures 2015-11-29 08:50:58 +01:00
ce4100.h
checksum_32.h ipv6: Pass proto to csum_ipv6_magic as __u8 instead of unsigned short 2016-03-13 23:55:13 -04:00
checksum_64.h ipv6: Pass proto to csum_ipv6_magic as __u8 instead of unsigned short 2016-03-13 23:55:13 -04:00
checksum.h
clocksource.h x86/vdso: Disallow vvar access to vclock IO for never-used vclocks 2016-01-12 11:59:35 +01:00
cmdline.h
cmpxchg_32.h x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros 2015-12-19 11:49:55 +01:00
cmpxchg_64.h x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros 2015-12-19 11:49:55 +01:00
cmpxchg.h x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
compat.h x86/compat: remove is_compat_task() 2016-03-22 15:36:02 -07:00
cpu_device_id.h
cpu.h x86/cpu: Unify CPU family, model, stepping calculation 2015-11-24 09:15:54 +01:00
cpufeature.h x86/mm/pkeys: Fix mismerge of protection keys CPUID bits 2016-03-11 09:55:57 +01:00
cpufeatures.h Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-24 10:02:14 -07:00
cpumask.h
crash.h
current.h
debugreg.h
delay.h x86/asm/delay: Introduce an MWAITX-based delay with a configurable timer 2015-08-22 14:52:16 +02:00
desc_defs.h x86/signal/64: Fix SS if needed when delivering a 64-bit signal 2016-02-17 08:32:11 +01:00
desc.h x86/ldt: Make modify_ldt synchronous 2015-07-31 10:23:23 +02:00
device.h x86/PCI: Allow DMA ops specific to a PCI domain 2016-01-15 13:54:55 -06:00
disabled-features.h x86/cpufeature, x86/mm/pkeys: Add protection keys related CPUID definitions 2016-02-16 10:11:13 +01:00
div64.h
dma-mapping.h dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
dma.h
dmi.h x86/dmi: Switch dmi_remap() from ioremap() [uncached] to ioremap_cache() 2016-02-09 14:36:43 +01:00
dwarf2.h x86/asm: Remove the xyz_cfi macros from dwarf2.h 2015-10-14 16:56:28 +02:00
e820.h
edac.h EDAC: Cleanup atomic_scrub mess 2015-05-28 15:31:53 +02:00
efi.h Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-20 18:58:18 -07:00
elf.h x86/cpufeature: Use enum cpuid_leafs instead of magic numbers 2016-02-01 10:46:48 +01:00
emergency-restart.h
entry_arch.h Merge branch 'x86/ras' into x86/core, to fix conflicts 2015-06-07 15:35:27 +02:00
espfix.h x86/espfix: Add 'cpu' parameter to init_espfix_ap() 2015-07-06 15:00:33 +02:00
exec.h
fb.h
fixmap.h x86/mm: Make kmap_prot into a #define 2016-01-20 11:39:14 +01:00
floppy.h
frame.h x86/asm: Add C versions of frame pointer macros 2016-01-19 12:59:07 +01:00
ftrace.h Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-24 09:47:32 -07:00
futex.h
gart.h
genapic.h
geode.h
hardirq.h Merge branch 'x86/ras' into x86/core, to fix conflicts 2015-06-07 15:35:27 +02:00
highmem.h kmap_atomic_to_page() has no users, remove it 2015-11-09 15:11:24 -08:00
hpet.h timers/x86/hpet: Type adjustments 2015-10-21 11:17:32 +02:00
hugetlb.h mm/hugetlb: remove arch_prepare/release_hugepage from arch headers 2015-06-25 17:00:35 -07:00
hw_breakpoint.h
hw_irq.h x86/irq: Cure live lock in fixup_irqs() 2016-03-18 14:51:06 +01:00
hypertransport.h
hypervisor.h
i8259.h x86/irq: Probe for PIC presence before allocating descs for legacy IRQs 2015-11-07 10:37:37 +01:00
ia32_unistd.h
ia32.h x86/headers: Remove <asm/sigcontext.h> references on the kernel side 2015-09-08 10:06:05 +02:00
idle.h
imr.h x86/platform/intel/quark: Drop IMR lock bit support 2016-02-23 07:37:23 +01:00
inat_types.h
inat.h
init.h
insn.h
inst.h
intel_mid_vrtc.h
intel_pmc_ipc.h intel_pmc_ipc: Update kerneldoc formatting 2015-07-09 11:23:15 -07:00
intel_pt.h perf/x86/intel/pt: Add interface to stop Intel PT logging 2015-11-23 09:58:26 +01:00
intel_punit_ipc.h platform:x86: add Intel P-Unit mailbox IPC driver 2016-01-19 15:49:36 -08:00
intel_scu_ipc.h
intel_telemetry.h platform/x86: Add Intel Telemetry Core Driver 2016-01-19 17:35:50 -08:00
intel-mid.h
io_apic.h
io.h libnvdimm for 4.3: 2015-09-08 14:35:59 -07:00
iomap.h
iommu_table.h
iommu.h
iosf_mbi.h ACPI / LPSS: override power state for LPSS DMA device 2016-01-07 14:11:32 +01:00
ipi.h x86/apic: Deinline __default_send_IPI_*, save ~200 bytes 2016-03-08 12:26:41 +01:00
irq_regs.h
irq_remapping.h irq_remapping: move structs outside #ifdef 2015-10-01 15:06:42 +02:00
irq_vectors.h x86/vm86: Move the vm86 IRQ definitions to vm86.h 2015-07-31 13:31:10 +02:00
irq_work.h x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
irq.h x86/irq: Call irq_force_move_complete with irq descriptor 2016-01-15 13:44:01 +01:00
irqdomain.h
irqflags.h
ist.h
jump_label.h x86/asm: Add asm macros for static keys/jump labels 2015-11-24 09:56:44 +01:00
kasan.h x86/kasan: Define KASAN_SHADOW_OFFSET per architecture 2015-08-22 14:54:55 +02:00
kbdleds.h
Kbuild mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
kdebug.h x86/kexec: Remove obsolete 'in_crash_kexec' flag 2015-10-12 09:43:11 +02:00
kexec-bzimage64.h
kexec.h
kgdb.h
kmap_types.h
kmemcheck.h
kprobes.h
kvm_emulate.h KVM: x86: add read_phys to x86_emulate_ops 2015-11-04 16:24:31 +01:00
kvm_guest.h
kvm_host.h KVM, pkeys: expose CPUID/CR4 to guest 2016-03-22 16:38:17 +01:00
kvm_page_track.h KVM: page track: add notifier support 2016-03-03 14:36:22 +01:00
kvm_para.h x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option 2016-02-22 08:51:38 +01:00
lguest_hcall.h
lguest.h lguest: Map switcher text R/O 2016-01-12 12:17:28 +01:00
linkage.h
livepatch.h klp: remove CONFIG_LIVEPATCH dependency from klp headers 2016-03-06 22:22:10 +01:00
local64.h
local.h
mach_timer.h
mach_traps.h
math_emu.h x86/vm86: Clean up vm86.h includes 2015-07-31 13:31:10 +02:00
mc146818rtc.h
mce.h Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 09:32:27 -07:00
microcode_amd.h x86/microcode: Merge the early microcode loader 2015-10-21 11:22:12 +02:00
microcode_intel.h x86/microcode/intel: Get rid of DWSIZE 2016-03-08 09:08:44 +01:00
microcode.h x86/microcode: Untangle from BLK_DEV_INITRD 2016-02-09 11:41:15 +01:00
misc.h
mmconfig.h
mmu_context.h x86/mm: Factor out LDT init from context init 2016-02-18 19:46:31 +01:00
mmu.h x86/vdso: Track each mm's loaded vDSO image as well as its base 2016-01-12 11:59:34 +01:00
mmx.h
mmzone_32.h
mmzone_64.h
mmzone.h
module.h
mpspec_def.h
mpspec.h
mpx.h x86/mpx: Support 32-bit binaries on 64-bit kernels 2015-06-09 12:24:34 +02:00
mshyperv.h mshyperv: fix recognition of Hyper-V guest crash MSR's 2015-08-04 22:30:44 -07:00
msi.h x86/irq: Export functions to allow MSI domains in modules 2015-12-20 12:40:49 +01:00
msidef.h
msr-index.h Power management and ACPI material for v4.6-rc1, part 1 2016-03-16 14:10:53 -07:00
msr-trace.h x86, tracing, perf: Add trace point for MSR accesses 2015-12-06 12:56:10 +01:00
msr.h x86/msr: Remove unused native_read_tscp() 2016-03-23 12:34:17 +01:00
mtrr.h x86/mtrr: Fix Xorg crashes in Qemu sessions 2016-03-29 12:23:26 +02:00
mutex_32.h
mutex_64.h
mutex.h
mwait.h x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
nmi.h
nops.h
numa_32.h
numa.h
olpc_ofw.h
olpc.h
page_32_types.h
page_32.h
page_64_types.h x86/asm: Move PUD_PAGE macros to page_types.h 2015-09-22 21:27:32 +02:00
page_64.h
page_types.h x86/mm: Align macro defines 2015-12-19 11:53:40 +01:00
page.h
paravirt_types.h x86/paravirt: Add stack frame dependency to PVOP inline asm calls 2016-02-24 08:35:42 +01:00
paravirt.h x86/paravirt: Create a stack frame in PV_CALLEE_SAVE_REGS_THUNK 2016-02-24 08:35:42 +01:00
parport.h
pat.h x86/mm/pat: Add pat_disable() interface 2016-03-29 12:23:25 +02:00
pci_64.h
pci_x86.h Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()" 2016-02-27 08:52:20 -06:00
pci-direct.h
pci-functions.h
pci.h Merge branch 'pci/host-hv' into next 2016-03-15 08:56:16 -05:00
percpu.h
perf_event_p4.h
perf_event.h perf/x86/intel: Add definition for PT PMI bit 2016-03-08 12:18:34 +01:00
pgalloc.h
pgtable_32_types.h
pgtable_32.h
pgtable_64_types.h
pgtable_64.h
pgtable_types.h x86/mm/pkeys: Fill in pkey field in siginfo 2016-02-18 09:32:43 +01:00
pgtable-2level_types.h
pgtable-2level.h
pgtable-3level_types.h
pgtable-3level.h
pgtable.h x86: pkey: introduce write_pkru() for KVM 2016-03-22 16:21:05 +01:00
pkeys.h mm/core, x86/mm/pkeys: Add execute-only protection keys support 2016-02-18 19:46:33 +01:00
platform_sst_audio.h ASoc: Intel: Atom: add deep buffer definitions for atom platforms 2015-12-19 11:49:56 +00:00
pm-trace.h
pmc_atom.h x86/platform/intel/pmc_atom: Add Cherrytrail PMC interface 2015-07-06 18:39:38 +02:00
pmem.h libnvdimm, pmem: clear poison on write 2016-03-09 15:15:32 -08:00
posix_types.h
preempt.h sched/x86: Add stack frame dependency to __preempt_schedule[_notrace]() 2016-02-24 08:35:45 +01:00
probe_roms.h
processor-cyrix.h
processor-flags.h
processor.h Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 09:32:27 -07:00
prom.h
proto.h x86/entry: Vastly simplify SYSENTER TF (single-step) handling 2016-03-10 09:48:13 +01:00
ptrace.h x86/entry: Remove do_notify_resume(), syscall_trace_leave(), and their TIF masks 2015-08-05 10:54:35 +02:00
pvclock-abi.h Revert "KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR" 2015-09-28 13:06:37 +02:00
pvclock.h x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=n 2016-01-06 10:49:53 +01:00
qrwlock.h locking/qrwlock: Implement queue_write_unlock() using smp_store_release() 2015-08-12 11:59:05 +02:00
qspinlock_paravirt.h x86/locking: Create stack frame in PV unlock 2016-02-24 08:35:44 +01:00
qspinlock.h locking/qspinlock/x86: Only emit the test-and-set fallback when building guest support 2015-09-11 07:50:12 +02:00
realmode.h
reboot_fixups.h
reboot.h x86/nmi: Save regs in crash dump on external NMI 2015-12-19 11:07:01 +01:00
required-features.h x86/cpufeature, x86/mm/pkeys: Add protection keys related CPUID definitions 2016-02-16 10:11:13 +01:00
rio.h
rmwcc.h
rtc.h
rwsem.h x86: Fix misspellings in comments 2016-02-24 08:44:58 +01:00
seccomp.h
sections.h x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option 2016-02-22 08:51:38 +01:00
segment.h x86/asm/irq: Stop relying on magic JMP behavior for early_idt_handlers 2015-06-02 09:39:40 +02:00
serial.h
setup_arch.h
setup.h
shmparam.h
sigcontext.h x86/headers: Remove <asm/sigcontext.h> references on the kernel side 2015-09-08 10:06:05 +02:00
sigframe.h x86/headers: Remove <asm/sigcontext.h> references on the kernel side 2015-09-08 10:06:05 +02:00
sighandling.h x86/signal/64: Re-add support for SS in the 64-bit signal context 2016-02-17 08:32:11 +01:00
signal.h x86/headers: Remove <asm/sigcontext.h> references on the kernel side 2015-09-08 10:06:05 +02:00
simd.h
smap.h x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
smp.h x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
sparsemem.h
special_insns.h x86: pkey: introduce write_pkru() for KVM 2016-03-22 16:21:05 +01:00
spinlock_types.h
spinlock.h
sta2x11.h
stackprotector.h x86/asm/tsc: Rename native_read_tsc() to rdtsc() 2015-07-06 15:23:28 +02:00
stacktrace.h perf: generalize perf_callchain 2016-02-20 00:21:44 -05:00
string_32.h
string_64.h x86/mm, x86/mce: Fix return type/value for memcpy_mcsafe() 2016-03-16 09:02:18 +01:00
string.h
suspend_32.h x86/pm: Introduce quirk framework to save/restore extra MSR registers around suspend/resume 2015-11-26 10:04:53 +01:00
suspend_64.h x86/pm: Introduce quirk framework to save/restore extra MSR registers around suspend/resume 2015-11-26 10:04:53 +01:00
suspend.h
svm.h
swiotlb.h
switch_to.h x86/sched/64: Don't save flags on context switch (reinstated) 2015-09-25 09:29:17 +02:00
sync_bitops.h
sys_ia32.h
syscall.h x86/syscalls: Give sys_call_ptr_t a useful type 2015-10-09 09:41:08 +02:00
syscalls.h x86/vm86: Clean up vm86.h includes 2015-07-31 13:31:10 +02:00
sysfb.h
tce.h
thread_info.h x86/entry: Call enter_from_user_mode() with IRQs off 2016-03-10 10:53:26 +01:00
time.h
timer.h
timex.h
tlb.h
tlbflush.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 10:45:39 -07:00
topology.h x86/topology: Create logical package id 2016-02-29 09:35:18 +01:00
trace_clock.h
traps.h x86/entry: Remove exception_enter() from most trap handlers 2015-07-07 10:59:09 +02:00
tsc.h x86/tsc: Always Running Timer (ART) correlated clocksource 2016-03-03 14:23:34 -08:00
uaccess_32.h x86: fix SMAP in 32-bit environments 2016-02-23 16:25:20 -08:00
uaccess_64.h x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
uaccess.h x86/extable: use generic search and sort routines 2016-03-22 15:36:02 -07:00
unaligned.h
unistd.h
uprobes.h
user32.h
user_32.h
user_64.h
user.h x86/fpu: Rename xsave.header::xstate_bv to 'xfeatures' 2015-05-19 15:47:35 +02:00
vdso.h x86/vdso: Use .fault for the vDSO text mapping 2016-01-12 11:59:34 +01:00
vga.h
vgtod.h x86/vdso: Disallow vvar access to vclock IO for never-used vclocks 2016-01-12 11:59:35 +01:00
virtext.h
vm86.h x86/vm86: Rename vm86->v86flags and v86mask 2015-07-31 13:31:11 +02:00
vmx.h KVM: VMX: Enable and initialize VMX TSC scaling 2015-11-10 12:06:19 +01:00
vsyscall.h
vvar.h
word-at-a-time.h
x2apic.h
x86_init.h Merge branch 'linus' into x86/cleanups 2015-12-19 11:49:13 +01:00
xor_32.h x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros 2015-12-19 11:49:55 +01:00
xor_64.h
xor_avx.h
xor.h