linux/arch/x86/include/asm
Fenghua Yu facbf4d91a x86/xsaves: Use xsave/xrstor for saving and restoring user space context
We use legacy xsave/xrstor to save and restore standard form of xsave area
in user space context. No xsaveopt or xsaves is used here for two reasons.

First, we don't want to use modified optimization which is implemented in
xsaveopt and xsaves because xrstor/xrstors might track a wrong user space
application.

Secondly, we don't use compacted format of xsave area for backward
compatibility because legacy user space applications only don't understand
the compacted format of the xsave area.

Using standard form of the xsave area may allocate more memory for
user context than compacted form, but preserves compatibility with
legacy applications.  Furthermore, even with holes, the relevant cache
lines don't get touched and thus the performance impact is limited.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Link: http://lkml.kernel.org/r/1401387164-43416-11-git-send-email-fenghua.yu@intel.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2014-05-29 14:32:57 -07:00
..
crypto
numachip
trace
uv x86/uv/nmi: Fix Sparse warnings 2014-01-25 08:55:10 +01:00
xen xen/grant-table: Refactor gnttab_[un]map_refs to avoid m2p_override 2014-03-18 14:40:19 +00:00
a.out-core.h
acpi.h
agp.h
alternative-asm.h
alternative.h x86/alternative: Add alternative_input_2 to support alternative with two features and input 2014-05-29 14:24:53 -07:00
amd_nb.h x86/AMD/NB: Fix amd_set_subcaches() parameter type 2014-01-25 08:50:09 +01:00
apb_timer.h
apic_flat_64.h
apic.h x86/apic: Always define nox2apic and define it as initdata 2014-02-09 15:15:11 +01:00
apicdef.h
apm.h
arch_hweight.h
archrandom.h random: Add arch_has_random[_seed]() 2014-03-19 22:24:08 -04:00
asm-offsets.h
asm.h
atomic64_32.h
atomic64_64.h
atomic.h
barrier.h x86: Remove CONFIG_X86_OOSTORE 2014-03-11 10:16:18 -07:00
bios_ebda.h
bitops.h
boot.h
bootparam_utils.h
bug.h x86: always define BUG() and HAVE_ARCH_BUG, even with !CONFIG_BUG 2014-04-07 16:36:10 -07:00
bugs.h
cache.h
cacheflush.h
calgary.h
calling.h
ce4100.h
checksum_32.h
checksum_64.h
checksum.h
clocksource.h x86, vdso: Make vsyscall_gtod_data handling x86 generic 2014-03-18 12:51:52 -07:00
cmpxchg_32.h
cmpxchg_64.h
cmpxchg.h
compat.h
context_tracking.h
cpu_device_id.h
cpu.h
cpufeature.h x86/xsaves: Detect xsaves/xrstors feature 2014-05-29 14:24:28 -07:00
cpumask.h
current.h
debugreg.h
delay.h
desc_defs.h
desc.h
device.h
div64.h
dma-contiguous.h
dma-mapping.h
dma.h
dmi.h firmware/dmi_scan: generalize for use by other archs 2014-01-23 16:36:57 -08:00
dwarf2.h
e820.h
edac.h
efi.h Merge remote-tracking branch 'tip/x86/efi-mixed' into efi-for-mingo 2014-03-05 18:15:37 +00:00
elf.h x86, vdso: Remove compat vdso support 2014-03-13 16:20:09 -07:00
emergency-restart.h
entry_arch.h
exec.h
fb.h
fixmap.h x86: use generic early_ioremap 2014-04-07 16:36:15 -07:00
floppy.h x86: Remove deprecated IRQF_DISABLED 2014-03-04 21:47:51 +01:00
fpu-internal.h
frame.h
ftrace.h
futex.h
gart.h
genapic.h
geode.h
gpio.h
hardirq.h x86: hardirq: Make irq_hv_callback_count available for CONFIG_HYPERV=m as well 2014-03-06 12:08:37 +01:00
hash.h
highmem.h
hpet.h x86/hpet: Make boot_hpet_disable extern 2014-05-08 08:15:34 +02:00
hugetlb.h x86, mm, hugetlb: Add missing TLB page invalidation for hugetlb_cow() 2014-05-13 16:34:09 -07:00
hw_breakpoint.h
hw_irq.h x86, platforms: Remove SGI Visual Workstation 2014-02-27 08:07:39 -08:00
hypertransport.h
hypervisor.h
i387.h
i8259.h
ia32_unistd.h
ia32.h
idle.h
inat_types.h
inat.h
init.h
insn.h
inst.h
intel_mid_vrtc.h
intel_scu_ipc.h
intel-mid.h x86, intel-mid: Add Merrifield platform support 2014-01-15 14:38:58 -08:00
io_apic.h
io.h x86: use generic early_ioremap 2014-04-07 16:36:15 -07:00
iomap.h
iommu_table.h
iommu.h
iosf_mbi.h
ipi.h
irq_regs.h
irq_remapping.h
irq_vectors.h
irq.h x86: Add check for number of available vectors before CPU down 2014-01-15 22:24:02 -08:00
irqflags.h
ist.h
jump_label.h
kbdleds.h
Kbuild x86: use generic early_ioremap 2014-04-07 16:36:15 -07:00
kdebug.h
kexec.h
kgdb.h
kmap_types.h
kmemcheck.h
kprobes.h
kvm_emulate.h
kvm_guest.h
kvm_host.h KVM: Remove SMAP bit from CR4_RESERVED_BITS 2014-04-14 17:50:33 -03:00
kvm_para.h x86, kvm: correctly access the KVM_CPUID_FEATURES leaf at 0x40000101 2014-01-29 18:11:55 +01:00
lguest_hcall.h
lguest.h
linkage.h
local64.h
local.h
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h
microcode_amd.h
microcode_intel.h
microcode.h
misc.h
mmconfig.h
mmu_context.h
mmu.h
mmx.h
mmzone_32.h x86, platforms: Remove NUMAQ 2014-02-27 08:07:39 -08:00
mmzone_64.h
mmzone.h
module.h
mpspec_def.h
mpspec.h x86, platforms: Remove NUMAQ 2014-02-27 08:07:39 -08:00
mshyperv.h x86: hyperv: Fixup the (brain) damage caused by the irq cleanup 2014-03-05 13:42:14 +01:00
msidef.h
msr.h x86: Add another set of MSR accessor functions 2014-03-13 15:34:45 -07:00
mtrr.h
mutex_32.h
mutex_64.h
mutex.h
mwait.h
nmi.h x86/nmi: Push duration printk() to irq context 2014-02-09 13:17:22 +01:00
nops.h
numa_32.h
numa.h
olpc_ofw.h
olpc.h
page_32_types.h
page_32.h
page_64_types.h
page_64.h
page_types.h x86: revert wrong memblock current limit setting 2014-01-27 21:02:38 -08:00
page.h
paravirt_types.h x86, asmlinkage, paravirt: Don't rely on local assembler labels 2014-01-29 22:17:17 -08:00
paravirt.h x86, asmlinkage, paravirt: Make paravirt thunks global 2014-01-29 22:17:17 -08:00
parport.h
pat.h
pci_64.h
pci_x86.h
pci-direct.h
pci-functions.h
pci.h x86/PCI: Drop return value of pcibios_scan_root() 2014-02-03 10:38:29 -07:00
percpu.h percpu: add raw_cpu_ops 2014-04-07 16:36:13 -07:00
perf_event_p4.h
perf_event.h
pgalloc.h
pgtable_32_types.h
pgtable_32.h
pgtable_64_types.h
pgtable_64.h
pgtable_types.h Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-04-02 12:26:43 -07:00
pgtable-2level_types.h
pgtable-2level.h
pgtable-3level_types.h
pgtable-3level.h
pgtable.h Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-03-31 12:26:05 -07:00
posix_types.h
preempt.h percpu: add raw_cpu_ops 2014-04-07 16:36:13 -07:00
probe_roms.h
processor-cyrix.h
processor-flags.h
processor.h x86/xsaves: Change compacted format xsave area header 2014-05-29 14:31:10 -07:00
prom.h
proto.h
ptrace.h
pvclock-abi.h
pvclock.h
realmode.h
reboot_fixups.h
reboot.h
required-features.h
resume-trace.h
rio.h
rmwcc.h
rtc.h
rwlock.h
rwsem.h
scatterlist.h
seccomp_32.h
seccomp_64.h
seccomp.h
sections.h
segment.h
serial.h
setup_arch.h
setup.h x86, platforms: Remove SGI Visual Workstation 2014-02-27 08:07:39 -08:00
shmparam.h
sigcontext.h
sigframe.h
sighandling.h
signal.h
simd.h
smap.h
smp.h
smpboot_hooks.h
sparsemem.h
special_insns.h x86: Add support for the clflushopt instruction 2014-02-27 08:23:28 -08:00
spinlock_types.h
spinlock.h x86: Remove CONFIG_X86_OOSTORE 2014-03-11 10:16:18 -07:00
sta2x11.h
stackprotector.h
stacktrace.h
string_32.h
string_64.h
string.h
suspend_32.h
suspend_64.h
suspend.h
svm.h
swiotlb.h
switch_to.h
sync_bitops.h
sys_ia32.h
syscall.h audit: use uapi/linux/audit.h for AUDIT_ARCH declarations 2014-03-20 10:11:59 -04:00
syscalls.h
sysfb.h
tce.h
thread_info.h x86: Keep thread_info on thread stack in x86_32 2014-03-06 16:56:55 -08:00
time.h
timer.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-20 12:03:57 -08:00
timex.h
tlb.h
tlbflush.h mm, x86: Account for TLB flushes only when debugging 2014-01-25 09:10:41 +01:00
topology.h PCI changes for the v3.15 merge window: 2014-04-01 15:14:04 -07:00
trace_clock.h
traps.h
tsc.h x86, tsc: Fallback to normal calibration if fast MSR calibration fails 2014-02-19 17:12:24 +01:00
uaccess_32.h
uaccess_64.h
uaccess.h Merge branch 'x86/mpx' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-20 14:46:32 -08:00
unaligned.h
unistd.h fs/compat: optional preadv64/pwrite64 compat system calls 2014-03-06 15:35:09 +01:00
uprobes.h
user32.h
user_32.h
user_64.h
user.h
vdso32.h x86, vdso: Add 32 bit VDSO time support for 32 bit kernel 2014-03-18 12:52:37 -07:00
vdso.h x86, vdso: Finish removing VDSO32_PRELINK 2014-03-20 20:20:18 -07:00
vga.h
vgtod.h x86, vdso: Add 32 bit VDSO time support for 64 bit kernel 2014-03-18 12:52:41 -07:00
virtext.h
vm86.h
vmx.h KVM: x86: Intel MPX vmx and msr handle 2014-02-24 12:14:00 +01:00
vsyscall.h
vvar.h x86, vdso: Add 32 bit VDSO time support for 64 bit kernel 2014-03-18 12:52:41 -07:00
word-at-a-time.h
x2apic.h
x86_init.h
xcr.h
xor_32.h
xor_64.h
xor_avx.h
xor.h
xsave.h x86/xsaves: Use xsave/xrstor for saving and restoring user space context 2014-05-29 14:32:57 -07:00