linux/arch/x86/include/asm
Luca Barbieri a7e926abc3 x86-32: Rewrite 32-bit atomic64 functions in assembly
This patch replaces atomic64_32.c with two assembly implementations,
one for 386/486 machines using pushf/cli/popf and one for 586+ machines
using cmpxchg8b.

The cmpxchg8b implementation provides the following advantages over the
current one:

1. Implements atomic64_add_unless, atomic64_dec_if_positive and
   atomic64_inc_not_zero

2. Uses the ZF flag changed by cmpxchg8b instead of doing a comparison

3. Uses custom register calling conventions that reduce or eliminate
   register moves to suit cmpxchg8b

4. Reads the initial value instead of using cmpxchg8b to do that.
   Currently we use lock xaddl and movl, which seems the fastest.

5. Does not use the lock prefix for atomic64_set
   64-bit writes are already atomic, so we don't need that.
   We still need it for atomic64_read to avoid restoring a value
   changed in the meantime.

6. Allocates registers as well or better than gcc

The 386 implementation provides support for 386 and 486 machines.
386/486 SMP is not supported (we dropped it), but such support can be
added easily if desired.

A pure assembly implementation is required due to the custom calling
conventions, and desire to use %ebp in atomic64_add_return (we need
7 registers...), as well as the ability to use pushf/popf in the 386
code without an intermediate pop/push.

The parameter names are changed to match the convention in atomic_64.h

Changes in v3 (due to rebasing to tip/x86/asm):
- Patches atomic64_32.h instead of atomic_32.h
- Uses the CALL alternative mechanism from commit
  1b1d925818

Changes in v2:
- Merged 386 and cx8 support in the same patch
- 386 support now done in assembly, C code no longer used at all
- cmpxchg64 is used for atomic64_cmpxchg
- stop using macros, use one-line inline functions instead
- miscellanous changes and improvements

Signed-off-by: Luca Barbieri <luca@luca-barbieri.com>
LKML-Reference: <1267005265-27958-5-git-send-email-luca@luca-barbieri.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-02-25 20:47:30 -08:00
..
uv gru: function to generate chipset IPI values 2009-12-16 07:20:17 -08:00
visws x86: drop double underscores from header guards 2008-10-23 00:01:39 -07:00
xen xen: move Xen-testing predicates to common header 2009-11-04 08:47:24 -08:00
Kbuild hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events 2009-11-08 15:34:42 +01:00
a.out-core.h hw-breakpoints: Fix broken a.out format dump 2009-11-10 11:23:05 +01:00
a.out.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
acpi.h ACPI: processor: finish unifying arch_acpi_processor_init_pdc() 2009-12-22 03:24:13 -05:00
aes.h crypto: aes - Export x86 AES encrypt/decrypt functions 2009-02-18 16:48:05 +08:00
agp.h agp: kill phys_to_gart() and gart_to_phys() 2009-08-03 09:05:00 +01:00
alternative-asm.h x86/alternatives: No need for alternatives-asm.h to re-invent stuff already in asm.h 2009-12-02 11:39:45 +01:00
alternative.h x86: Add support for lock prefix in alternatives 2010-02-25 20:46:23 -08:00
amd_iommu.h x86/amd-iommu: Update copyright headers 2009-11-27 11:45:49 +01:00
amd_iommu_proto.h x86/amd-iommu: Fix PCI hotplug with passthrough mode 2009-12-10 12:23:47 +01:00
amd_iommu_types.h x86/amd-iommu: Remove amd_iommu_pd_table 2009-11-27 14:20:37 +01:00
apic.h x86: apic: Do not use stacked physid_mask_t 2009-11-10 05:52:07 +01:00
apicdef.h x86: io-apic: IO-APIC MMIO should not fail on resource insertion 2009-11-16 16:37:10 +01:00
apm.h x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm.h x86, asm: Make _ASM_EXTABLE() usable from assembly code 2009-08-31 15:14:30 -07:00
atomic.h x86: Mark atomic irq ops raw for 32bit legacy 2010-02-16 17:19:11 +01:00
atomic64_32.h x86-32: Rewrite 32-bit atomic64 functions in assembly 2010-02-25 20:47:30 -08:00
atomic64_64.h x86: Split atomic64_t functions into seperate headers 2010-01-07 11:47:31 -08:00
auxvec.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
bios_ebda.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
bitops.h x86, generic: mark complex bitops.h inlines as __always_inline 2009-01-13 18:56:30 +01:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
boot.h x86, setup: correct include file in <asm/boot.h> 2009-06-25 15:16:06 -07:00
bootparam.h Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-18 14:05:47 -07:00
bug.h x86: Convert BUG() to use unreachable() 2009-12-05 09:10:12 -08:00
bugs.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h x86: Eliminate redundant/contradicting cache line size config options 2009-11-19 04:58:34 +01:00
cacheflush.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:27:33 -08:00
calgary.h x86: Calgary: Convert detect_calgary() to use iommu_init hook 2009-11-10 12:31:15 +01:00
calling.h x86: document 64-bit and 32-bit function call convention ABI 2009-02-03 19:48:18 +01:00
checksum.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
checksum_32.h x86: fix csum_ipv6_magic asm memory clobber 2009-10-01 16:11:12 -07:00
checksum_64.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
cmpxchg.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
cmpxchg_32.h x86-32: Allow UP/SMP lock replacement in cmpxchg64 2010-02-25 20:47:03 -08:00
cmpxchg_64.h x86: Generate cmpxchg build failures 2009-10-09 15:57:00 +02:00
compat.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
cpu.h x86: generalize boot_cpu_id 2009-01-29 14:17:01 +01:00
cpu_debug.h x86: cpu_debug: Remove model information to reduce encoding-decoding 2009-06-07 12:22:56 +02:00
cpufeature.h x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space 2009-12-16 15:06:23 -08:00
cpumask.h x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask 2009-03-13 14:49:54 +10:30
cputime.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
current.h x86, percpu: Add 'percpu_read_stable()' interface for cacheable accesses 2009-08-04 01:28:52 +09:00
debugreg.h x86: Rename global percpu symbol dr7 to cpu_dr7 2009-11-25 14:30:04 +01:00
delay.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
desc.h x86: Make sure get_user_desc() doesn't sign extend. 2009-11-05 13:22:18 -08:00
desc_defs.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
device.h x86/amd-iommu: Use dev->arch->iommu to store iommu related information 2009-11-27 14:20:32 +01:00
div64.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
dma-mapping.h dma-mapping: fix off-by-one error in dma_capable() 2009-12-16 07:20:12 -08:00
dma.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
dmi.h x86/dmi: fix dmi_alloc() section mismatches 2009-03-23 17:20:50 +01:00
ds.h x86, ds: support Core i7 2009-04-07 13:36:36 +02:00
dwarf2.h x86, asm: Add 32-bit versions of the combined CFI macros 2009-08-31 15:14:29 -07:00
e820.h x86, mm: Correct the implementation of is_untracked_pat_range() 2009-11-30 21:33:51 -08:00
edac.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
efi.h x86: Make 64-bit efi_ioremap use ioremap on MMIO regions 2009-08-03 13:34:25 -07:00
elf.h elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
emergency-restart.h x86: attempt reboot via port CF9 if we have standard PCI ports 2008-11-11 16:19:48 -08:00
entry_arch.h x86: UV RTC: Rename generic_interrupt to x86_platform_ipi 2009-10-14 18:27:11 +02:00
errno.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
fb.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
fcntl.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
fixmap.h x86: Lift restriction on the location of FIX_BTMAP_* 2009-12-30 11:57:30 +01:00
floppy.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
frame.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
ftrace.h tracing: Remove FTRACE_SYSCALL_MAX definitions 2009-08-26 21:30:39 +02:00
futex.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
gart.h x86: GART: Convert gart_iommu_hole_init() to use iommu_init hook 2009-11-10 12:31:23 +01:00
genapic.h x86, apic: merge genapic.h into apic.h 2009-02-17 17:52:43 +01:00
geode.h cs5535: drop the Geode-specific MFGPT/GPIO code 2009-12-15 08:53:28 -08:00
gpio.h x86: canonicalize remaining header guards 2008-10-23 00:20:33 -07:00
hardirq.h Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:38:21 -08:00
highmem.h x86: unify kmap_atomic_pfn() and iomap_atomic_prot_pfn() 2009-03-11 15:47:46 +01:00
hpet.h x86: arch specific support for remapping HPET MSIs 2009-08-27 23:33:20 +02:00
hugetlb.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
hw_breakpoint.h hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events 2009-11-08 15:34:42 +01:00
hw_irq.h x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system 2009-12-17 22:03:06 -08:00
hypertransport.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
hypervisor.h x86: Move tsc_calibration to x86_init_ops 2009-08-31 09:35:47 +02:00
i387.h crypto: ghash-intel - Add PSHUFB macros 2009-11-03 09:11:15 -05:00
i8253.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
i8259.h x86: move x86_quirk_pre_intr_init() to irqinit_32.c 2009-04-10 14:35:53 +02:00
ia32.h generic compat_sys_ustat 2009-03-27 14:43:57 -04:00
ia32_unistd.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
idle.h x86: kill #ifdef for exit_idle() 2008-12-12 11:58:36 +01:00
inat.h x86: AVX instruction set decoder support 2009-10-29 08:47:46 +01:00
inat_types.h x86: Instruction decoder API 2009-08-27 00:35:56 +02:00
init.h x86: move function and variable declarations to asm/init.h 2009-03-05 14:17:18 +01:00
insn.h x86: AVX instruction set decoder support 2009-10-29 08:47:46 +01:00
inst.h x86: Generate .byte code for some new instructions via gas macro 2009-11-09 13:52:26 -05:00
io.h x86: fix set_fixmap to use phys_addr_t 2009-04-10 20:27:13 +02:00
io_32.h Merge branches 'x86/acpi', 'x86/asm', 'x86/cpudetect', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/doc', 'x86/header-fixes', 'x86/headers' and 'x86/minor-fixes' into x86/core 2009-02-13 09:46:36 +01:00
io_64.h Merge branches 'x86/acpi', 'x86/asm', 'x86/cpudetect', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/doc', 'x86/header-fixes', 'x86/headers' and 'x86/minor-fixes' into x86/core 2009-02-13 09:46:36 +01:00
io_apic.h Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-18 14:05:47 -07:00
ioctl.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
ioctls.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
iomap.h x86, pat: Add PAT reserve free to io_mapping* APIs 2009-08-26 15:41:16 -07:00
iommu.h x86: Move iommu_shutdown_noop to x86_init.c 2009-11-15 09:03:10 +01:00
ipcbuf.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
ipi.h x86, apic: remove duplicate asm/apic.h inclusions 2009-02-17 17:52:44 +01:00
irq.h Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:38:21 -08:00
irq_regs.h x86: merge irq_regs.h 2009-01-21 17:26:06 +09:00
irq_remapping.h x86: x2apic, IR: Clean up X86_X2APIC and INTR_REMAP config checks 2009-04-21 09:08:25 +02:00
irq_vectors.h x86: Fix duplicated UV BAU interrupt vector 2009-12-13 08:17:40 +01:00
irqflags.h x86: allow "=rm" in native_save_fl() 2009-08-25 16:47:16 -07:00
ist.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
k8.h x86: k8.h: Add struct bootnode 2009-11-08 12:55:38 +01:00
kdebug.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
kexec.h x86, kexec: x86_64: add kexec jump support for x86_64 2009-03-10 18:13:25 -07:00
kgdb.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kmemcheck.h kmemcheck: add the kmemcheck core 2009-06-13 15:37:30 +02:00
kprobes.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
kvm.h KVM: x86: Add KVM_GET/SET_VCPU_EVENTS 2009-12-03 09:32:25 +02:00
kvm_emulate.h KVM: x86 emulator: limit instructions to 15 bytes 2009-12-03 09:32:25 +02:00
kvm_host.h KVM: VMX: Fix comparison of guest efer with stale host value 2009-12-03 09:34:20 +02:00
kvm_para.h KVM: Add missing #include 2009-09-10 10:46:49 +03:00
ldt.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
lguest.h Merge commit 'origin/x86/urgent' into x86/asm 2009-08-25 15:40:29 -07:00
lguest_hcall.h lguest: update commentry 2009-07-30 16:03:46 +09:30
linkage.h x86: shrink __ALIGN and __ALIGN_STR definitions 2009-03-11 12:39:28 +01:00
local.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
mach_timer.h x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
mach_traps.h x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
math_emu.h x86: fix math_emu register frame access 2009-02-10 00:39:14 +01:00
mc146818rtc.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
mca.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
mca_dma.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
mce.h x86: Under BIOS control, restore AP's APIC_LVTTHMR to the BSP value 2009-11-10 05:57:55 +01:00
microcode.h x86: ucode-amd: Load ucode-patches once and not separately of each CPU 2009-11-10 12:15:48 +01:00
mman.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
mmconfig.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
mmu.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
mmu_context.h cpumask: use mm_cpumask() wrapper: x86 2009-09-24 09:34:52 +09:30
mmx.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
mmzone.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
mmzone_32.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mmzone_64.h mm: clean up for early_pfn_to_nid() 2009-02-18 15:37:55 -08:00
module.h Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-14 07:57:32 -07:00
mpspec.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:27:33 -08:00
mpspec_def.h x86: rename all fields of mpf_intel mpf_X to X 2009-01-08 15:37:37 +01:00
msgbuf.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
msidef.h x86, x2apic: enable fault handling for intr-remapping 2009-03-17 15:38:59 -07:00
msr-index.h x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space 2009-12-16 15:06:23 -08:00
msr.h x86, msr: msrs_alloc/free for CONFIG_SMP=n 2009-12-16 15:36:32 -08:00
mtrr.h x86, mtrr: make mtrr_aps_delayed_init static bool 2009-08-21 17:00:02 -07:00
mutex.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
mutex_32.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
mutex_64.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
nmi.h sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
nops.h x86/tracing: comment need for atomic nop 2009-09-10 17:22:44 -04:00
numa.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
numa_32.h x86: set_highmem_pages_init() cleanup 2009-03-03 13:13:15 +01:00
numa_64.h x86, mm: Fix node_possible_map logic 2009-05-18 09:21:04 +02:00
numaq.h x86, numaq: cleanups 2009-02-05 22:30:14 +01:00
olpc.h ALSA: cs5535audio: free OLPC quirks from reliance on MGEODE_LX cpu optimization 2009-12-15 08:53:27 -08:00
page.h asm-generic: rename page.h and uaccess.h 2009-06-11 21:02:17 +02:00
page_32.h x86 headers: protect page_32.h via __ASSEMBLY__ 2009-02-13 13:36:47 +01:00
page_32_types.h x86: page_types.h unification of declarations 2009-04-14 11:44:45 +02:00
page_64.h x86: create _types.h counterparts for page*.h 2009-02-11 14:54:09 -08:00
page_64_types.h x86, 64-bit: Clean up user address masking 2009-06-20 15:40:00 -07:00
page_types.h x86: Export k8 physical topology 2009-10-12 22:56:45 +02:00
param.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
paravirt.h locking: Convert __raw_spin* functions to arch_spin* 2009-12-14 23:55:32 +01:00
paravirt_types.h locking: Convert raw_spinlock to arch_spinlock 2009-12-14 23:55:32 +01:00
parport.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
pat.h x86, platform: Change is_untracked_pat_range() to bool; cleanup init 2009-11-23 17:09:59 -08:00
pci-direct.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
pci-functions.h x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
pci.h x86/PCI: default pcibus cpumask to all cpus if it lacks affinity 2009-09-18 08:51:10 -07:00
pci_64.h x86/dma: unify definition of pci_unmap_addr* and pci_unmap_len macros 2009-04-03 13:13:45 +02:00
pci_x86.h x86/PCI: MMCONFIG: add lookup function 2009-11-24 15:30:36 -08:00
percpu.h percpu: remove some sparse warnings 2009-10-29 22:34:12 +09:00
perf_event.h perf_events: Check for filters on fixed counter events 2009-10-09 15:56:10 +02:00
pgalloc.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgtable-2level.h x86: with the last user gone, remove set_pte_present 2009-03-19 14:04:19 +01:00
pgtable-2level_types.h x86: move more pagetable-related definitions into pgtable*.h 2009-02-13 11:35:01 -08:00
pgtable-3level.h x86: with the last user gone, remove set_pte_present 2009-03-19 14:04:19 +01:00
pgtable-3level_types.h x86: move more pagetable-related definitions into pgtable*.h 2009-02-13 11:35:01 -08:00
pgtable.h x86, mm: is_untracked_pat_range() takes a normal semiclosed range 2009-11-23 17:09:59 -08:00
pgtable_32.h x86: Add NMI types for kmap_atomic, fix 2009-06-15 17:20:03 +02:00
pgtable_32_types.h module: merge module_alloc() finally 2009-06-12 21:47:03 +09:30
pgtable_64.h x86, 64-bit: Clean up user address masking 2009-06-20 15:40:00 -07:00
pgtable_64_types.h x86: 46 bit physical address support on 64 bits 2009-05-05 19:10:18 -07:00
pgtable_types.h Merge branch 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/urgent 2009-09-23 14:35:10 +02:00
poll.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
posix_types.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
posix_types_32.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
posix_types_64.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
prctl.h headers_check fix: x86, prctl.h 2009-02-02 23:27:09 +05:30
processor-cyrix.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
processor-flags.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
processor.h x86, cpuid: Add "volatile" to asm in native_cpuid() 2009-12-16 16:30:57 -08:00
proto.h x86: remove "extern" from function prototypes in <asm/proto.h> 2009-11-16 13:55:31 -08:00
ptrace-abi.h x86, ptrace: remove CONFIG guards around declarations 2009-02-24 18:23:35 +01:00
ptrace.h ptrace: x86: implement user_single_step_siginfo() 2009-12-16 07:20:08 -08:00
pvclock-abi.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
pvclock.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
rdc321x_defs.h x86, rdc321x: remove/move leftover files 2009-01-18 19:39:18 +01:00
reboot.h x86 kdump: make nmi_shootdown_cpus() non-static 2008-11-12 18:55:46 +01:00
reboot_fixups.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
required-features.h x86-64: remove PGE from must-have feature list 2009-04-08 11:51:46 -07:00
resource.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
resume-trace.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
rio.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
rtc.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
rwlock.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
rwsem.h x86-32: clean up rwsem inline asm statements 2010-01-12 20:43:04 -08:00
scatterlist.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
seccomp.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
seccomp_32.h x86-64: seccomp: fix 32/64 syscall hole 2009-03-02 15:41:30 -08:00
seccomp_64.h x86-64: seccomp: fix 32/64 syscall hole 2009-03-02 15:41:30 -08:00
sections.h x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA 2009-10-20 14:46:00 +09:00
segment.h x86: implement x86_32 stack protector 2009-02-10 00:42:01 +01:00
sembuf.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
serial.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
setup.h x86: Add Moorestown early detection 2009-08-31 11:09:40 +02:00
setup_arch.h x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
shmbuf.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
shmparam.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
sigcontext.h tree-wide: fix misspelling of "definition" in comments 2009-12-04 23:41:47 +01:00
sigcontext32.h headers_check fix: x86, sigcontext32.h 2009-01-31 00:18:58 +05:30
sigframe.h x86: sigframe.h: include headers for dependency 2008-12-18 15:01:22 -08:00
siginfo.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
signal.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
smp.h cpumask: remove arch_send_call_function_ipi 2009-09-24 09:34:47 +09:30
smpboot_hooks.h x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
socket.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
sockios.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
sparsemem.h x86: 46 bit physical address support on 64 bits 2009-05-05 19:10:18 -07:00
spinlock.h locking: Convert raw_rwlock functions to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
srat.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
stackprotector.h x86/i386: Make sure stack-protector segment base is cache aligned 2009-09-03 21:30:51 +02:00
stacktrace.h perf events, x86/stacktrace: Fix performance/softlockup by providing a special frame pointer-only stack walker 2009-12-17 10:42:52 +01:00
stat.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
statfs.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
string.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
string_32.h x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy 2009-09-28 16:43:15 -07:00
string_64.h x86: add hooks for kmemcheck 2009-06-15 12:40:02 +02:00
suspend.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
suspend_32.h pm: cleanup includes 2009-04-01 08:59:16 -07:00
suspend_64.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
svm.h KVM: SVM: Support Pause Filter in AMD processors 2009-12-03 09:32:17 +02:00
swab.h headers_check fix: x86, swab.h 2009-01-31 00:19:32 +05:30
swiotlb.h x86: Split swiotlb initialization into two stages 2009-12-15 13:01:57 +01:00
sync_bitops.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
sys_ia32.h sanitize do_pipe_flags() callers in arch 2009-12-16 12:16:40 -05:00
syscall.h x86: syscall_get_nr returns int 2009-09-22 19:57:51 -07:00
syscalls.h Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-16 12:02:37 -08:00
system.h x86: Factor duplicated code out of __show_regs() into show_regs_common() 2009-12-09 10:17:58 +01:00
system_64.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
tce.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
termbits.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
termios.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
thread_info.h core, x86: Add user return notifiers 2009-10-01 12:12:18 -07:00
time.h x86: Move get/set_wallclock to x86_platform_ops 2009-09-16 14:34:50 +02:00
timer.h x86: Move tsc_calibration to x86_init_ops 2009-08-31 09:35:47 +02:00
timex.h time: move PIT_TICK_RATE to linux/timex.h 2009-06-16 19:47:27 -07:00
tlb.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
tlbflush.h x86: make zap_low_mapping could be used early 2009-06-12 13:50:24 +03:00
topology.h hugetlb: add generic definition of NUMA_NO_NODE 2009-12-15 08:53:12 -08:00
trampoline.h x86: Use find_e820() instead of hard coded trampoline address 2009-12-11 09:28:22 +01:00
traps.h x86: Remove unused patch_espfix_desc() 2009-07-19 18:27:52 +02:00
tsc.h x86: Move tsc_calibration to x86_init_ops 2009-08-31 09:35:47 +02:00
types.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
uaccess.h x86, 64-bit: Move K8 B step iret fixup to fault entry asm 2009-10-12 18:29:46 +02:00
uaccess_32.h x86: Add a Kconfig option to turn the copy_from_user warnings into errors 2009-10-02 19:01:42 +02:00
uaccess_64.h x86-64: Modify copy_user_generic() alternatives mechanism 2009-12-30 11:57:31 +01:00
ucontext.h x86: remove all now-duplicate header files 2009-06-18 14:40:03 -07:00
unaligned.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
unistd.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
unistd_32.h net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
unistd_64.h net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
user.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
user32.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
user_32.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
user_64.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
vdso.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
vga.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
vgtod.h time: Introduce CLOCK_REALTIME_COARSE 2009-08-21 21:43:46 +02:00
virtext.h KVM: SVM: Move EFER and MSR constants to generic x86 code 2009-03-24 11:02:46 +02:00
vm86.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
vmi.h x86 Fix VMI crash on boot in 2.6.28-rc8 2008-12-14 16:24:38 -08:00
vmi_time.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
vmware.h x86: Move tsc_calibration to x86_init_ops 2009-08-31 09:35:47 +02:00
vmx.h KVM: VMX: Add support for Pause-Loop Exiting 2009-12-03 09:32:17 +02:00
vsyscall.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
x86_init.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:27:33 -08:00
xcr.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
xor.h x86: add hooks for kmemcheck 2009-06-15 12:40:02 +02:00
xor_32.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
xor_64.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
xsave.h x86: add linux kernel support for YMM state 2009-04-12 13:08:56 +02:00