alistair23-linux/arch/x86/include/asm
Linus Torvalds ca520cab25 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking and atomic updates from Ingo Molnar:
 "Main changes in this cycle are:

   - Extend atomic primitives with coherent logic op primitives
     (atomic_{or,and,xor}()) and deprecate the old partial APIs
     (atomic_{set,clear}_mask())

     The old ops were incoherent with incompatible signatures across
     architectures and with incomplete support.  Now every architecture
     supports the primitives consistently (by Peter Zijlstra)

   - Generic support for 'relaxed atomics':

       - _acquire/release/relaxed() flavours of xchg(), cmpxchg() and {add,sub}_return()
       - atomic_read_acquire()
       - atomic_set_release()

     This came out of porting qwrlock code to arm64 (by Will Deacon)

   - Clean up the fragile static_key APIs that were causing repeat bugs,
     by introducing a new one:

       DEFINE_STATIC_KEY_TRUE(name);
       DEFINE_STATIC_KEY_FALSE(name);

     which define a key of different types with an initial true/false
     value.

     Then allow:

       static_branch_likely()
       static_branch_unlikely()

     to take a key of either type and emit the right instruction for the
     case.  To be able to know the 'type' of the static key we encode it
     in the jump entry (by Peter Zijlstra)

   - Static key self-tests (by Jason Baron)

   - qrwlock optimizations (by Waiman Long)

   - small futex enhancements (by Davidlohr Bueso)

   - ... and misc other changes"

* 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (63 commits)
  jump_label/x86: Work around asm build bug on older/backported GCCs
  locking, ARM, atomics: Define our SMP atomics in terms of _relaxed() operations
  locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h
  locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics
  locking/qrwlock: Implement queue_write_unlock() using smp_store_release()
  locking/lockref: Remove homebrew cmpxchg64_relaxed() macro definition
  locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'
  locking, asm-generic: Rework atomic-long.h to avoid bulk code duplication
  locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations
  locking, compiler.h: Cast away attributes in the WRITE_ONCE() magic
  locking/static_keys: Make verify_keys() static
  jump label, locking/static_keys: Update docs
  locking/static_keys: Provide a selftest
  jump_label: Provide a self-test
  s390/uaccess, locking/static_keys: employ static_branch_likely()
  x86, tsc, locking/static_keys: Employ static_branch_likely()
  locking/static_keys: Add selftest
  locking/static_keys: Add a new static_key interface
  locking/static_keys: Rework update logic
  locking/static_keys: Add static_key_{en,dis}able() helpers
  ...
2015-09-03 15:46:07 -07:00
..
crypto x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00
fpu x86/fpu, sched: Dynamically allocate 'struct fpu' 2015-07-18 03:42:35 +02:00
numachip
trace Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 17:59:09 -07:00
uv
xen xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages on ARM 2015-05-06 15:02:58 +01:00
a.out-core.h
acenv.h
acpi.h x86/xen: Override ACPI IRQ management callback __acpi_unregister_gsi 2015-01-20 11:44:41 +01:00
agp.h
alternative-asm.h x86/alternatives: Document macros 2015-05-06 11:25:31 +02:00
alternative.h x86/alternatives, x86/fpu: Add 'alternatives_patched' debug flag and use it in xsave_state() 2015-05-19 15:48:03 +02:00
amd_nb.h x86/gart: Check for GART support before accessing GART registers 2015-05-06 11:15:53 +02:00
apb_timer.h
apic.h x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted 2015-08-17 10:42:28 +02:00
apic_flat_64.h
apicdef.h
apm.h
arch_hweight.h x86/hweight: Force inlining of __arch_hweight{32,64}() 2015-08-05 09:38:09 +02:00
archrandom.h
asm-offsets.h
asm.h x86/asm/uaccess: Unify the ALIGN_DESTINATION macro 2015-05-14 07:25:34 +02:00
atomic.h atomic: Collapse all atomic_{set,clear}_mask definitions 2015-07-27 14:06:24 +02:00
atomic64_32.h x86: Provide atomic_{or,xor,and} 2015-07-27 14:06:23 +02:00
atomic64_64.h x86: Provide atomic_{or,xor,and} 2015-07-27 14:06:23 +02:00
barrier.h Merge branch 'x86/asm' into locking/core 2015-08-03 11:04:00 +02:00
bios_ebda.h
bitops.h
boot.h
bootparam_utils.h
bug.h
bugs.h
cache.h
cacheflush.h The libnvdimm sub-system introduces, in addition to the libnvdimm-core, 2015-06-29 10:34:42 -07:00
calgary.h
ce4100.h
checksum.h
checksum_32.h
checksum_64.h
clocksource.h
cmdline.h
cmpxchg.h arch: Remove __ARCH_HAVE_CMPXCHG 2015-05-13 10:55:42 +02:00
cmpxchg_32.h
cmpxchg_64.h
compat.h x86/asm/entry/64: Save user RSP in pt_regs->sp on SYSCALL64 fastpath 2015-03-10 13:56:10 +01:00
cpu.h x86: Use common outgoing-CPU-notification code 2015-03-11 13:22:35 -07:00
cpu_device_id.h
cpufeature.h Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-01 09:41:03 -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.h x86/ldt: Make modify_ldt synchronous 2015-07-31 10:23:23 +02:00
desc_defs.h
device.h
disabled-features.h
div64.h
dma-mapping.h x86: Deinline dma_free_attrs() 2015-05-05 20:48:02 +02:00
dma.h x86/mm: Fix zone ranges boot printout 2014-12-11 11:35:02 +01:00
dmi.h
e820.h mm: move memtest under mm 2015-04-14 16:49:06 -07:00
edac.h EDAC: Cleanup atomic_scrub mess 2015-05-28 15:31:53 +02:00
efi.h x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00
elf.h x86/compat: Don't build the 32-bit VDSO if not needed 2015-07-06 15:28:56 +02: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
floppy.h
frame.h x86/debug: Remove perpetually broken, unmaintainable dwarf annotations 2015-06-02 07:57:48 +02:00
ftrace.h
futex.h
gart.h
genapic.h
geode.h
gpio.h
hardirq.h Merge branch 'x86/ras' into x86/core, to fix conflicts 2015-06-07 15:35:27 +02:00
highmem.h
hpet.h x86/MSI: Clean up unused MSI related code and interfaces 2015-04-24 15:36:49 +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: Store irq descriptor in vector array 2015-08-06 00:14:59 +02:00
hypertransport.h
hypervisor.h hypervisor/x86/xen: Unset X86_BUG_SYSRET_SS_ATTRS on Xen PV guests 2015-05-05 18:27:43 +01:00
i8259.h
ia32.h x86/compat: Move ucontext_x32 to sigframe.h 2015-07-06 15:28:55 +02:00
ia32_unistd.h
idle.h
imr.h x86/intel/quark: Add Isolated Memory Regions for Quark X1000 2015-02-18 23:22:47 +01:00
inat.h
inat_types.h
init.h
insn.h x86/asm/decoder: Fix and enforce max instruction size in the insn decoder 2015-02-19 00:01:24 +01:00
inst.h
intel-mid.h x86, intel-mid: remove Intel MID specific serial support 2015-03-07 03:25:18 +01:00
intel_mid_vrtc.h
intel_pmc_ipc.h intel_pmc_ipc: Update kerneldoc formatting 2015-07-09 11:23:15 -07:00
intel_scu_ipc.h
io.h Linux 4.2-rc8 2015-08-25 09:59:19 +02:00
io_apic.h x86: Cleanup irq_domain ops 2015-04-24 15:36:55 +02:00
iomap.h
iommu.h
iommu_table.h x86/iommu: Fix header comments regarding standard and _FINISH macros 2015-04-09 10:56:31 +02:00
iosf_mbi.h x86/platform/iosf_mbi: Source cleanup 2015-07-16 17:48:48 +02:00
ipi.h
irq.h x86/irq: Store irq descriptor in vector array 2015-08-06 00:14:59 +02:00
irq_regs.h
irq_remapping.h iommu, x86: Provide irq_remapping_cap() interface 2015-06-12 11:33:52 +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
irqdomain.h x86/irq: Move irqdomain specific code into asm/irqdomain.h 2015-04-24 15:36:55 +02:00
irqflags.h x86/asm/entry: Drop now unused ENABLE_INTERRUPTS_SYSEXIT32 2015-04-03 10:34:19 +02:00
ist.h
jump_label.h jump_label/x86: Work around asm build bug on older/backported GCCs 2015-08-13 08:44:43 +02: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
kexec-bzimage64.h
kexec.h
kgdb.h
kmap_types.h
kmemcheck.h
kprobes.h
kvm_emulate.h KVM: x86: stubs for SMM support 2015-06-04 16:01:45 +02:00
kvm_guest.h
kvm_host.h KVM: MMU: introduce the framework to check zero bits on sptes 2015-08-05 12:47:24 +02:00
kvm_para.h x86: Use bool function return values of true/false not 1/0 2015-03-31 18:05:09 +02:00
lguest.h lguest: suppress interrupts for single insn, not range. 2015-03-24 11:52:08 +10:30
lguest_hcall.h lguest: remove NOTIFY call and eventfd facility. 2015-02-11 16:47:46 +10:30
linkage.h
livepatch.h livepatch: x86: make kASLR logic more accurate 2015-04-29 16:51:33 +02:00
local.h
local64.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 x86/mce: Clear Local MCE opt-in before kexec 2015-08-13 10:12:52 +02:00
microcode.h x86/microcode: Parse built-in microcode early 2015-05-06 11:24:53 +02:00
microcode_amd.h x86/microcode: Correct CPU family related variable types 2015-06-07 15:38:15 +02:00
microcode_intel.h x86/microcode/intel: Rename get_matching_sig() 2015-05-18 09:32:37 +02:00
misc.h
mmconfig.h
mmu.h x86/ldt: Make modify_ldt() optional 2015-07-31 13:30:45 +02:00
mmu_context.h x86/ldt: Make modify_ldt() optional 2015-07-31 13:30:45 +02:00
mmx.h
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h
mpspec_def.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/MSI: Use hierarchical irqdomains to manage MSI interrupts 2015-04-24 15:36:49 +02:00
msidef.h
msr-index.h Power management and ACPI material for v4.3-rc1 2015-09-01 19:45:46 -07:00
msr.h x86/asm/msr: Make wrmsrl() a function 2015-08-23 13:25:38 +02:00
mtrr.h x86/mm/mtrr: Avoid #ifdeffery with phys_wc_to_mtrr_index() 2015-05-27 14:41:00 +02:00
mutex.h
mutex_32.h
mutex_64.h
mwait.h x86/asm: Add MONITORX/MWAITX instruction support 2015-08-22 14:52:16 +02:00
nmi.h
nops.h
numa.h
numa_32.h
olpc.h
olpc_ofw.h
page.h
page_32.h
page_32_types.h
page_64.h
page_64_types.h kasan: enable stack instrumentation 2015-02-13 21:21:41 -08:00
page_types.h x86, mm: support huge I/O mapping capability I/F 2015-04-14 16:49:04 -07:00
paravirt.h x86/asm/msr: Make wrmsrl() a function 2015-08-23 13:25:38 +02:00
paravirt_types.h x86/asm/tsc, x86/paravirt: Remove read_tsc() and read_tscp() paravirt hooks 2015-07-06 15:23:26 +02:00
parport.h
pat.h x86/mm/pat: Emulate PAT when it is disabled 2015-06-07 15:28:52 +02:00
pci-direct.h
pci-functions.h
pci.h Merge branch 'for-4.2/sg' of git://git.kernel.dk/linux-block 2015-06-25 15:22:36 -07:00
pci_64.h
pci_x86.h PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq() 2015-07-30 14:05:57 -05:00
percpu.h
perf_event.h x86: Add new MSRs and MSR bits used for Intel Skylake PMU support 2015-08-04 10:16:56 +02:00
perf_event_p4.h
pgalloc.h x86: expose number of page table levels on Kconfig level 2015-04-14 16:49:02 -07:00
pgtable-2level.h x86: drop _PAGE_FILE and pte_file()-related helpers 2015-02-10 14:30:33 -08:00
pgtable-2level_types.h x86: expose number of page table levels on Kconfig level 2015-04-14 16:49:02 -07:00
pgtable-3level.h x86: drop _PAGE_FILE and pte_file()-related helpers 2015-02-10 14:30:33 -08:00
pgtable-3level_types.h x86: expose number of page table levels on Kconfig level 2015-04-14 16:49:02 -07:00
pgtable.h mm: clarify that the function operates on hugepage pte 2015-06-24 17:49:44 -07:00
pgtable_32.h
pgtable_32_types.h
pgtable_64.h mm: remove remaining references to NUMA hinting bits and helpers 2015-02-12 18:54:08 -08:00
pgtable_64_types.h x86: expose number of page table levels on Kconfig level 2015-04-14 16:49:02 -07:00
pgtable_types.h x86/mm/pat: Add pgprot_writethrough() 2015-06-07 15:28:58 +02:00
platform_sst_audio.h
pm-trace.h PM / sleep: add pm-trace support for suspending phase 2015-03-18 15:54:27 +01:00
pmc_atom.h x86/platform/intel/pmc_atom: Add Cherrytrail PMC interface 2015-07-06 18:39:38 +02:00
posix_types.h
preempt.h sched/preempt: Fix cond_resched_lock() and cond_resched_softirq() 2015-08-03 12:21:24 +02:00
probe_roms.h
processor-cyrix.h
processor-flags.h
processor.h Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-01 09:04:31 -07:00
prom.h
proto.h x86/asm/entry: Untangle 'system_call' into two entry points: entry_SYSCALL_64 and entry_INT80_32 2015-06-08 09:14:21 +02: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 x86: kvmclock: add flag to indicate pvclock counts from zero 2015-05-29 14:01:39 +02:00
pvclock.h x86/asm/tsc, x86/kvm: Drop open-coded barrier and use rdtsc_ordered() in kvmclock 2015-07-06 15:23:30 +02:00
qrwlock.h locking/qrwlock: Implement queue_write_unlock() using smp_store_release() 2015-08-12 11:59:05 +02:00
qspinlock.h locking/pvqspinlock, x86: Implement the paravirt qspinlock call patching 2015-05-08 12:37:09 +02:00
qspinlock_paravirt.h locking/pvqspinlock, x86: Implement the paravirt qspinlock call patching 2015-05-08 12:37:09 +02:00
realmode.h
reboot.h
reboot_fixups.h
required-features.h
rio.h
rmwcc.h
rtc.h
rwsem.h
seccomp.h x86: switch to using asm-generic for seccomp.h 2015-04-17 09:04:10 -04:00
sections.h
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 serial: 8250: remove Kconfig indirection 2015-05-06 22:27:00 +02:00
setup.h x86: kaslr: fix build due to missing ALIGN definition 2015-04-29 21:54:54 +02:00
setup_arch.h
shmparam.h
sigcontext.h Revert x86 sigcontext cleanups 2015-08-13 12:42:22 -07:00
sigframe.h x86/compat: Move ucontext_x32 to sigframe.h 2015-07-06 15:28:55 +02:00
sighandling.h x86/signal: Remove pax argument from restore_sigcontext 2015-04-06 09:06:39 +02:00
signal.h x86/entry: Remove do_notify_resume(), syscall_trace_leave(), and their TIF masks 2015-08-05 10:54:35 +02:00
simd.h x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00
smap.h x86/smap: Use ALTERNATIVE macro 2015-02-23 13:44:14 +01:00
smp.h x86: Remove cpu_sibling_mask() and cpu_core_mask() 2015-05-27 15:22:17 +02:00
sparsemem.h
special_insns.h x86/mm: Add kerneldoc comments for pcommit_sfence() 2015-05-11 10:38:44 +02:00
spinlock.h locking/pvqspinlock: Rename QUEUED_SPINLOCK to QUEUED_SPINLOCKS 2015-05-11 09:52:09 +02:00
spinlock_types.h locking/pvqspinlock: Rename QUEUED_SPINLOCK to QUEUED_SPINLOCKS 2015-05-11 09:52:09 +02:00
sta2x11.h
stackprotector.h x86/asm/tsc: Rename native_read_tsc() to rdtsc() 2015-07-06 15:23:28 +02:00
stacktrace.h
string.h
string_32.h
string_64.h x86_64: kasan: add interceptors for memset/memmove/memcpy functions 2015-02-13 21:21:41 -08:00
suspend.h
suspend_32.h x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00
suspend_64.h x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00
svm.h
swiotlb.h
switch_to.h Revert "sched/x86_64: Don't save flags on context switch" 2015-08-18 09:39:26 +02:00
sync_bitops.h
sys_ia32.h
syscall.h
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: Remove do_notify_resume(), syscall_trace_leave(), and their TIF masks 2015-08-05 10:54:35 +02:00
time.h
timer.h
timex.h
tlb.h
tlbflush.h x86: Store a per-cpu shadow copy of CR4 2015-02-04 12:10:42 +01:00
topology.h Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 17:59:09 -07: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 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-01 08:40:25 -07:00
uaccess.h mm/uaccess, mm/fault: Clarify that uaccess may only sleep if pagefaults are enabled 2015-05-19 08:39:14 +02:00
uaccess_32.h Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 17:59:09 -07:00
uaccess_64.h x86: clean up/fix 'copy_in_user()' tail zeroing 2015-04-08 14:28:45 -07:00
unaligned.h
unistd.h
uprobes.h
user.h x86/fpu: Rename xsave.header::xstate_bv to 'xfeatures' 2015-05-19 15:47:35 +02:00
user32.h
user_32.h
user_64.h
vdso.h
vga.h
vgtod.h x86, vdso: Use asm volatile in __getcpu 2014-12-23 13:05:30 -08:00
virtext.h x86: Store a per-cpu shadow copy of CR4 2015-02-04 12:10:42 +01:00
vm86.h x86/vm86: Rename vm86->v86flags and v86mask 2015-07-31 13:31:11 +02:00
vmx.h x86/kvm: Rename VMX's segment access rights defines 2015-08-15 00:47:13 +02:00
vsyscall.h
vvar.h
word-at-a-time.h
x2apic.h
x86_init.h x86: Remove more unmodified io_apic_ops 2015-04-24 15:36:54 +02:00
xor.h x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00
xor_32.h x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00
xor_64.h
xor_avx.h x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00