linux/arch/x86/include/asm
Linus Torvalds ed2d265d12 The following text was taken from the original review request:
"[RFC - PATCH 0/7] consolidation of BUG support code."
 		https://lkml.org/lkml/2012/1/26/525
 --
 
 The changes shown here are to unify linux's BUG support under
 the one <linux/bug.h> file.  Due to historical reasons, we have
 some BUG code in bug.h and some in kernel.h -- i.e. the support for
 BUILD_BUG in linux/kernel.h predates the addition of linux/bug.h,
 but old code in kernel.h wasn't moved to bug.h at that time.  As
 a band-aid, kernel.h was including <asm/bug.h> to pseudo link them.
 
 This has caused confusion[1] and general yuck/WTF[2] reactions.
 Here is an example that violates the principle of least surprise:
 
       CC      lib/string.o
       lib/string.c: In function 'strlcat':
       lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
       make[2]: *** [lib/string.o] Error 1
       $
       $ grep linux/bug.h lib/string.c
       #include <linux/bug.h>
       $
 
 We've included <linux/bug.h> for the BUG infrastructure and yet we
 still get a compile fail!  [We've not kernel.h for BUILD_BUG_ON.]
 Ugh - very confusing for someone who is new to kernel development.
 
 With the above in mind, the goals of this changeset are:
 
 1) find and fix any include/*.h files that were relying on the
    implicit presence of BUG code.
 2) find and fix any C files that were consuming kernel.h and
    hence relying on implicitly getting some/all BUG code.
 3) Move the BUG related code living in kernel.h to <linux/bug.h>
 4) remove the asm/bug.h from kernel.h to finally break the chain.
 
 During development, the order was more like 3-4, build-test, 1-2.
 But to ensure that git history for bisect doesn't get needless
 build failures introduced, the commits have been reorderd to fix
 the problem areas in advance.
 
 [1]  https://lkml.org/lkml/2012/1/3/90
 [2]  https://lkml.org/lkml/2012/1/17/414
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJPbNwpAAoJEOvOhAQsB9HWrqYP/A0t9VB0nK6e42F0OR2P14MZ
 GJFtf1B++wwioIrx+KSWSRfSur1C5FKhDbxLR3I/pvkAYl4+T4JvRdMG6xJwxyip
 CC1kVQQNDjWVVqzjz2x6rYkOffx6dUlw/ERyIyk+OzP+1HzRIsIrugMqbzGLlX0X
 y0v2Tbd0G6xg1DV8lcRdp95eIzcGuUvdb2iY2LGadWZczEOeSXx64Jz3QCFxg3aL
 LFU4oovsg8Nb7MRJmqDvHK/oQf5vaTm9WSrS0pvVte0msSQRn8LStYdWC0G9BPCS
 GwL86h/eLXlUXQlC5GpgWg1QQt5i2QpjBFcVBIG0IT5SgEPMx+gXyiqZva2KwbHu
 LKicjKtfnzPitQnyEV/N6JyV1fb1U6/MsB7ebU5nCCzt9Gr7MYbjZ44peNeprAtu
 HMvJ/BNnRr4Ha6nPQNu952AdASPKkxmeXFUwBL1zUbLkOX/bK/vy1ujlcdkFxCD7
 fP3t7hghYa737IHk0ehUOhrE4H67hvxTSCKioLUAy/YeN1IcfH/iOQiCBQVLWmoS
 AqYV6ou9cqgdYoyila2UeAqegb+8xyubPIHt+lebcaKxs5aGsTg+r3vq5juMDAPs
 iwSVYUDcIw9dHer1lJfo7QCy3QUTRDTxh+LB9VlHXQICgeCK02sLBOi9hbEr4/H8
 Ko9g8J3BMxcMkXLHT9ud
 =PYQT
 -----END PGP SIGNATURE-----

Merge tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux

Pull <linux/bug.h> cleanup from Paul Gortmaker:
 "The changes shown here are to unify linux's BUG support under the one
  <linux/bug.h> file.  Due to historical reasons, we have some BUG code
  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in
  linux/kernel.h predates the addition of linux/bug.h, but old code in
  kernel.h wasn't moved to bug.h at that time.  As a band-aid, kernel.h
  was including <asm/bug.h> to pseudo link them.

  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here
  is an example that violates the principle of least surprise:

      CC      lib/string.o
      lib/string.c: In function 'strlcat':
      lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
      make[2]: *** [lib/string.o] Error 1
      $
      $ grep linux/bug.h lib/string.c
      #include <linux/bug.h>
      $

  We've included <linux/bug.h> for the BUG infrastructure and yet we
  still get a compile fail! [We've not kernel.h for BUILD_BUG_ON.] Ugh -
  very confusing for someone who is new to kernel development.

  With the above in mind, the goals of this changeset are:

  1) find and fix any include/*.h files that were relying on the
     implicit presence of BUG code.
  2) find and fix any C files that were consuming kernel.h and hence
     relying on implicitly getting some/all BUG code.
  3) Move the BUG related code living in kernel.h to <linux/bug.h>
  4) remove the asm/bug.h from kernel.h to finally break the chain.

  During development, the order was more like 3-4, build-test, 1-2.  But
  to ensure that git history for bisect doesn't get needless build
  failures introduced, the commits have been reorderd to fix the problem
  areas in advance.

	[1]  https://lkml.org/lkml/2012/1/3/90
	[2]  https://lkml.org/lkml/2012/1/17/414"

Fix up conflicts (new radeon file, reiserfs header cleanups) as per Paul
and linux-next.

* tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
  kernel.h: doesn't explicitly use bug.h, so don't include it.
  bug: consolidate BUILD_BUG_ON with other bug code
  BUG: headers with BUG/BUG_ON etc. need linux/bug.h
  bug.h: add include of it to various implicit C users
  lib: fix implicit users of kernel.h for TAINT_WARN
  spinlock: macroize assert_spin_locked to avoid bug.h dependency
  x86: relocate get/set debugreg fcns to include/asm/debugreg.
2012-03-24 10:08:39 -07:00
..
numachip x86: Add NumaChip support 2011-12-05 17:17:24 +01:00
uv x86/uv: Fix uv_gpa_to_soc_phys_ram() shift 2012-01-26 10:58:27 +01:00
visws
xen xen/enlighten: Expose MWAIT and MWAIT_LEAF if hypervisor OKs it. 2012-03-10 12:44:44 -05:00
Kbuild x86: Generate system call tables and unistd_*.h from tables 2011-11-17 13:35:37 -08:00
a.out-core.h
a.out.h
acpi.h
aes.h
agp.h
alternative-asm.h x86: Fix atomic64_xxx_cx8() functions 2012-01-04 15:01:56 +01:00
alternative.h x86: Adjust asm constraints in atomic64 wrappers 2012-01-20 17:29:31 -08:00
amd_nb.h x86/PCI: amd: factor out MMCONFIG discovery 2012-01-06 12:11:19 -08:00
apb_timer.h
apic.h x86/platform: Move APIC ID validity check into platform APIC code 2012-03-14 09:49:48 +01:00
apic_flat_64.h x86: Make flat_init_apic_ldr() available 2011-12-05 17:17:07 +01:00
apicdef.h x86, x2apic: Fallback to xapic when BIOS doesn't setup interrupt-remapping 2011-12-23 11:01:01 -08:00
apm.h
arch_hweight.h
archrandom.h
asm-offsets.h
asm.h
atomic.h x86: Use xadd helper more widely 2011-08-29 13:44:12 -07:00
atomic64_32.h x86: atomic64 assembly improvements 2012-01-20 17:29:49 -08:00
atomic64_64.h x86: Use xadd helper more widely 2011-08-29 13:44:12 -07:00
auxvec.h
bios_ebda.h
bitops.h x86_64, asm: Optimise fls(), ffs() and fls64() 2011-12-15 15:16:49 -08:00
bitsperlong.h
boot.h
bootparam.h x86: Add missing bzImage fields to struct setup_header 2011-12-09 17:35:33 -08:00
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
calgary.h
calling.h
ce4100.h
checksum.h
checksum_32.h
checksum_64.h
clocksource.h
cmpxchg.h x86: Properly parenthesize cmpxchg() macro arguments 2012-01-26 21:18:29 +01:00
cmpxchg_32.h x86: Fix and improve cmpxchg_double{,_local}() 2012-01-04 15:01:54 +01:00
cmpxchg_64.h x86: Fix and improve cmpxchg_double{,_local}() 2012-01-04 15:01:54 +01:00
compat.h compat: sync compat_stats with statfs. 2011-10-28 14:58:53 +02:00
cpu.h
cpu_device_id.h Add driver auto probing for x86 features v4 2012-01-26 16:44:41 -08:00
cpufeature.h Merge branches 'x86-cpu-for-linus', 'x86-boot-for-linus', 'x86-cpufeature-for-linus', 'x86-process-for-linus' and 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-03-22 09:28:15 -07:00
cpumask.h
cputime.h
current.h
debugreg.h x86: relocate get/set debugreg fcns to include/asm/debugreg. 2012-02-28 17:48:04 -05:00
delay.h
desc.h x86: Keep current stack in NMI breakpoints 2011-12-21 15:38:55 -05:00
desc_defs.h
device.h iommu: Rename the DMAR and INTR_REMAP config options 2011-09-21 10:22:03 +02:00
div64.h x86/div64: Add a micro-optimization shortcut if base is power of two 2011-12-05 18:16:11 +01:00
dma-mapping.h doc: fix broken references 2011-09-27 18:08:04 +02:00
dma.h
dmi.h
dwarf2.h x86-64: Fix CFI data for interrupt frames 2011-09-28 19:04:52 +02:00
e820.h Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid" 2011-12-12 18:25:56 +01:00
edac.h
efi.h x86, efi: Allow basic init with mixed 32/64-bit efi/kernel 2012-02-23 18:54:51 -08:00
elf.h
emergency-restart.h
entry_arch.h
errno.h
fb.h
fcntl.h
fixmap.h x86/intel config: Revamp configuration to allow for Moorestown and Medfield 2011-12-18 09:17:02 +01:00
floppy.h
fpu-internal.h i387: Split up <asm/i387.h> into exported and internal interfaces 2012-02-21 14:12:54 -08:00
frame.h
ftrace.h
futex.h
gart.h
genapic.h
geode.h
gpio.h
hardirq.h x86/time: Eliminate unused irq0_irqs counter 2012-02-27 08:46:25 +01:00
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
hpet.h
hugetlb.h
hw_breakpoint.h
hw_irq.h iommu: Rename the DMAR and INTR_REMAP config options 2011-09-21 10:22:03 +02:00
hypertransport.h
hyperv.h
hypervisor.h
i387.h i387: Split up <asm/i387.h> into exported and internal interfaces 2012-02-21 14:12:54 -08:00
i8259.h
ia32.h
ia32_unistd.h x86: Generate system call tables and unistd_*.h from tables 2011-11-17 13:35:37 -08:00
idle.h
inat.h x86: Fix to decode grouped AVX with VEX pp bits 2012-02-11 15:11:35 +01:00
inat_types.h
init.h x86, mm: Unify zone_sizes_init() 2011-11-11 10:22:55 +01:00
insn.h x86: Fix to decode grouped AVX with VEX pp bits 2012-02-11 15:11:35 +01:00
inst.h
intel_scu_ipc.h x86,mrst: Power control commands update 2011-12-05 12:42:11 +01:00
io.h
io_apic.h
ioctl.h
ioctls.h
iomap.h
iommu.h iommu: Add option to group multi-function devices 2011-11-15 12:22:31 +01:00
iommu_table.h
ipcbuf.h
ipi.h
irq.h
irq_regs.h
irq_remapping.h iommu: Rename the DMAR and INTR_REMAP config options 2011-09-21 10:22:03 +02:00
irq_vectors.h x86/irq: Standardize on CONFIG_SPARSE_IRQ=y 2011-10-13 12:12:12 +02:00
irqflags.h
ist.h
jump_label.h static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]() 2012-02-24 10:05:59 +01:00
kdebug.h
kexec.h
kgdb.h kgdb: x86: Return all segment registers also in 64-bit mode 2012-03-22 15:07:15 -05:00
kmap_types.h
kmemcheck.h
kprobes.h
kvm.h
kvm_emulate.h KVM: x86: fix missing checks in syscall emulation 2012-02-01 11:43:40 +02:00
kvm_host.h KVM: Add generic RDPMC support 2011-12-27 11:24:35 +02:00
kvm_para.h
ldt.h
lguest.h
lguest_hcall.h
linkage.h
local.h
local64.h
mach_timer.h time: x86: Remove CLOCK_TICK_RATE from mach_timer.h 2011-11-21 19:00:57 -08:00
mach_traps.h x86/mrst: Avoid reporting wrong nmi status 2011-11-10 16:21:01 +01:00
math_emu.h
mc146818rtc.h x86: Use "do { } while(0)" for empty lock_cmos()/unlock_cmos() macros 2011-12-18 09:14:31 +01:00
mca.h
mca_dma.h
mce.h x86/mce: Convert static array of pointers to per-cpu variables 2012-02-22 12:58:06 -08:00
microcode.h x86, microcode, AMD: Add a vendor-specific exit function 2011-12-14 12:46:47 +01:00
mman.h
mmconfig.h
mmu.h
mmu_context.h
mmx.h
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h
mpspec_def.h
mrst-vrtc.h
mrst.h x86/mid: Remove Intel Moorestown 2012-01-26 21:23:53 +01:00
msgbuf.h
mshyperv.h
msidef.h
msr-index.h perf/x86: Add Intel LBR MSR definitions 2012-03-05 14:55:39 +01:00
msr.h x86: Document rdmsr_safe restrictions 2011-12-05 14:28:37 +01:00
mtrr.h
mutex.h
mutex_32.h
mutex_64.h
mwait.h
nmi.h x86, nmi: Add in logic to handle multiple events and unknown NMIs 2011-10-10 06:57:01 +02:00
nops.h
numa.h
numa_32.h
numa_64.h
numaq.h
olpc.h
olpc_ofw.h
page.h
page_32.h
page_32_types.h
page_64.h
page_64_types.h
page_types.h
param.h
paravirt.h The following text was taken from the original review request: 2012-03-24 10:08:39 -07:00
paravirt_types.h
parport.h
pat.h
pci-direct.h
pci-functions.h
pci.h x86/PCI: Expand the x86_msi_ops to have a restore MSIs. 2012-01-06 14:02:26 -08:00
pci_64.h
pci_x86.h PCI: Pull PCI 'latency timer' setup up into the core 2012-01-06 12:10:42 -08:00
percpu.h Merge branch 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2012-01-09 13:08:28 -08:00
perf_event.h Merge branch 'perf/urgent' into perf/core 2012-03-05 09:20:08 +01:00
perf_event_p4.h
pgalloc.h
pgtable-2level.h
pgtable-2level_types.h
pgtable-3level.h
pgtable-3level_types.h
pgtable.h x86: Use "do { } while(0)" for empty flush_tlb_fix_spurious_fault() macro 2011-12-18 09:14:18 +01:00
pgtable_32.h
pgtable_32_types.h
pgtable_64.h
pgtable_64_types.h
pgtable_types.h
poll.h
posix_types.h
posix_types_32.h
posix_types_64.h
prctl.h
probe_roms.h
processor-cyrix.h
processor-flags.h x86: Fix rflags in FAKE_STACK_FRAME 2011-12-06 10:02:38 +01:00
processor.h The following text was taken from the original review request: 2012-03-24 10:08:39 -07:00
prom.h irq_domain/x86: Convert x86 (embedded) to use common irq_domain 2012-02-23 14:37:47 -07:00
proto.h
ptrace-abi.h
ptrace.h
pvclock-abi.h
pvclock.h KVM: Fix instruction size issue in pvclock scaling 2011-08-30 14:42:30 +03:00
reboot.h x86, nmi: Wire up NMI handlers to new routines 2011-10-10 06:56:57 +02:00
reboot_fixups.h
required-features.h
resource.h
resume-trace.h
rio.h
rtc.h
rwlock.h
rwsem.h x86: Use xadd helper more widely 2011-08-29 13:44:12 -07:00
scatterlist.h
seccomp.h
seccomp_32.h
seccomp_64.h
sections.h
segment.h
sembuf.h
serial.h
serpent.h crypto: serpent - add 4-way parallel i586/SSE2 assembler implementation 2011-11-21 16:13:23 +08:00
setup.h x86/intel config: Revamp configuration to allow for Moorestown and Medfield 2011-12-18 09:17:02 +01:00
setup_arch.h
shmbuf.h
shmparam.h
sigcontext.h
sigcontext32.h
sigframe.h
siginfo.h
signal.h
smp.h x86, NMI: Add NMI IPI selftest 2011-12-05 12:00:16 +01:00
smpboot_hooks.h
socket.h
sockios.h
sparsemem.h
spinlock.h x86/spinlocks: Eliminate TICKET_MASK 2012-02-07 10:09:54 +01:00
spinlock_types.h x86/spinlocks: Eliminate TICKET_MASK 2012-02-07 10:09:54 +01:00
stackprotector.h
stacktrace.h
stat.h
statfs.h
string.h
string_32.h
string_64.h
suspend.h
suspend_32.h
suspend_64.h
svm.h
swab.h
swiotlb.h
sync_bitops.h
sys_ia32.h
syscall.h x86: Move <asm/asm-offsets.h> from trace_syscalls.c to asm/syscall.h 2012-01-07 14:10:18 -08:00
syscalls.h
system.h xen/pm_idle: Make pm_idle be default_idle under Xen. 2011-12-03 10:49:58 -08:00
tce.h
termbits.h
termios.h
thread_info.h i387: move TS_USEDFPU flag from thread_info to task_struct 2012-02-18 10:19:41 -08:00
time.h
timer.h sched/x86: Fix overflow in cyc2ns_offset 2012-03-13 16:27:51 +01:00
timex.h
tlb.h
tlbflush.h
topology.h Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
trampoline.h
traps.h
tsc.h x86, tsc: Skip TSC synchronization checks for tsc=reliable 2011-12-05 18:00:31 +01:00
types.h
uaccess.h x86-64: Set siginfo and context on vsyscall emulation faults 2011-12-05 12:17:27 +01:00
uaccess_32.h
uaccess_64.h
ucontext.h
unaligned.h
unistd.h x86, syscall: Need __ARCH_WANT_SYS_IPC for 32 bits 2012-01-19 12:57:09 -08:00
user.h
user32.h
user_32.h
user_64.h
vdso.h
vga.h
vgtod.h
virtext.h
vm86.h
vmx.h KVM: APIC: avoid instruction emulation for EOI writes 2011-09-25 19:52:17 +03:00
vsyscall.h
vvar.h
x2apic.h
x86_init.h Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
xcr.h
xor.h
xor_32.h
xor_64.h
xsave.h