[GIT PULL] x86 core (asm, build, apic, mm, platform, RAS) changes for v4.2

Ingo Molnar
2015-06-22T09:16:37Z

Linus,

Please pull the latest x86-core-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-core-for-linus

# HEAD: 7ef3d7d58d9dc73ee3d4f8f56d0024c8cca8163f Merge branches 'x86/apic', 'x86/asm', 'x86/mm' and 'x86/platform' into x86/core, to merge last updates

There were so many changes in the x86/asm, x86/apic and x86/mm topics in this
cycle that the topical separation of -tip broke down somewhat - so the result is a
more traditional architecture pull request, collected into the 'x86/core' topic.

The topics were still maintained separately as far as possible, so bisectability
and conceptual separation should still be pretty good - but there were a handful
of merge points to avoid excessive dependencies (and conflicts) that would have
been poorly tested in the end.

You should see a single merge conflict when merging this, in
tools/testing/selftests/x86/Makefile.

Note: there was also dependency on locking/core changes, due to wide reaching
locking changes - please disregard this pull request if you have not merged
locking/core by this time yet.

The next cycle will hopefully be much more quiet (or at least will have fewer
dependencies).

The main changes in this cycle were:

x86/apic changes, with related IRQ core changes: (Jiang Liu, Thomas Gleixner)

- This is the second and most intrusive part of changes to the x86 interrupt
handling - full conversion to hierarchical interrupt domains:

[IOAPIC domain] -----
|
[MSI domain] --------[Remapping domain] ----- [ Vector domain ]
| (optional) |
[HPET MSI domain] ----- |
|
[DMAR domain] -----------------------------
|
[Legacy domain] -----------------------------

This now reflects the actual hardware and allowed us to distangle the domain
specific code from the underlying parent domain, which can be optional in the
case of interrupt remapping. It's a clear separation of functionality and
removes quite some duct tape constructs which plugged the remap code between
ioapic/msi/hpet and the vector management.

- Intel IOMMU IRQ remapping enhancements, to allow direct interrupt injection
into guests. (Feng Wu)

x86/asm changes:

- Tons of cleanups and small speedups, micro-optimizations. This is in
preparation to move a good chunk of the low level entry code from assembly to
C code. (Denys Vlasenko, Andy Lutomirski, Brian Gerst)

- Moved all system entry related code to a new home under arch/x86/entry/.
(Ingo Molnar)

- Removal of the fragile and ugly CFI dwarf debuginfo annotations. Conversion
to C will reintroduce many of them - but meanwhile they are only getting in
the way, and the upstream kernel does not rely on them. (Ingo Molnar)

- NOP handling refinements. (Borislav Petkov)

x86/mm changes:

- Big PAT and MTRR rework: making the code more robust and preparing to phase
out exposing direct MTRR interfaces to drivers - in favor of using PAT driven
interfaces. (Toshi Kani, Luis R. Rodriguez, Borislav Petkov)

- New ioremap_wt()/set_memory_wt() interfaces to support Write-Through cached
memory mappings. This is especially important for good performance on
NVDIMM hardware. (Toshi Kani)

x86/ras changes:

- Add support for deferred errors on AMD (Aravind Gopalakrishnan)

This is an important RAS feature which adds hardware support for
poisoned data. That means roughly that the hardware marks data which it
has detected as corrupted but wasn't able to correct, as poisoned data
and raises an APIC interrupt to signal that in the form of a deferred
error. It is the OS's responsibility then to take proper recovery action
and thus prolonge system lifetime as far as possible.

- Add support for Intel "Local MCE"s: upcoming CPUs will support CPU-local MCE
interrupts, as opposed to the traditional system-wide broadcasted MCE
interrupts. (Ashok Raj)

- Misc cleanups. (Borislav Petkov)"

x86/platform changes:

- Intel Atom SoC updates

... and lots of other cleanups, fixlets and other changes - see the shortlog and
the Git log for details.

Thanks,

Ingo

===========>

Andy Lutomirski (6):
x86, paravirt, xen: Remove the 64-bit ->irq_enable_sysexit() pvop
x86, selftests: Add a test for the "sysret_ss_attrs" bug
x86/asm/irq: Stop relying on magic JMP behavior for early_idt_handlers
x86/asm/msr: Make wrmsrl_safe() a function
x86/asm/entry/64: Remove pointless jump to irq_return
x86/asm/entry/64: Disentangle error_entry/exit gsbase/ebx/usermode code

Aravind Gopalakrishnan (6):
x86/mce/amd: Factor out logging mechanism
x86/mce/amd: Collect valid address before logging an error
x86/mce: Add support for deferred errors on AMD
x86/mce/amd: Introduce deferred error interrupt handler
x86/irq: Cleanup ordering of vector numbers
x86/mce/amd: Rename setup_APIC_mce

Ashok Raj (3):
x86/mce: Add Local MCE definitions
x86/mce: Add infrastructure to support Local MCE
x86/mce: Handle Local MCE events

Borislav Petkov (15):
x86/asm, x86/power/hibernate: Use local labels in asm
x86/asm, x86/acpi/wakeup_64.S: Make global label a local one
x86/alternatives: Document macros
x86/traps: Remove superfluous weak definitions and dead code
x86/mce/amd: Zap changelog
x86/alternatives: Switch AMD F15h and later to the P6 NOPs
x86/asm/uaccess: Remove FIX_ALIGNMENT define from copy_user_nocache_64.S:
x86/asm/uaccess: Unify the ALIGN_DESTINATION macro
x86/asm/uaccess: Get rid of copy_user_nocache_64.S
x86/asm/head*.S: Change global labels to local
x86/mm/pat: Untangle pat_init()
x86/mm/pat: Emulate PAT when it is disabled
x86/mm/pat: Remove pat_enabled() checks
x86: Kill CONFIG_X86_HT
x86/uapi: Do not export <asm/msr-index.h> as part of the user API headers

Brian Gerst (6):
x86/asm: Merge common 32-bit values in asm-offsets.c
x86/asm: Remove unused TI_cpu
x86/irq: Merge irq_regs & irq_stat
x86/asm/entry/irq: Remove unused invalidate_interrupt prototypes
x86/asm/entry: Remove SYSCALL_VECTOR
x86/asm/entry/irq: Clean up IRQn_VECTOR macros

Chris Wilson (1):
x86/asm: Enable fast 32-bit put_user_64() for copy_to_user()

Denys Vlasenko (21):
x86/asm/entry/64: Implement better check for canonical addresses
x86/asm/entry/64: Merge 32-bit execve stubs with x32 ones, as they are identical
x86/asm/entry/32: Update -ENOSYS handling to match the 64-bit logic
x86/asm/entry/64: Tidy up JZ insns after TESTs
x86/asm/entry/64: Clean up usage of TEST insns
x86: Force inlining of atomic ops
x86/entry: Stop using PER_CPU_VAR(kernel_stack)
x86/entry: Remove unused 'kernel_stack' per-cpu variable
x86/entry: Define 'cpu_current_top_of_stack' for 64-bit code
x86/asm/entry/64: Use shorter MOVs from segment registers
x86/asm/entry/32: Simplify the zeroing of pt_regs->r8..r11 in the int80 code path
x86/asm/entry/32: Open-code CLEAR_RREGS
x86/asm/entry/32: Open-code LOAD_ARGS32
x86/asm/entry/32: Do not use R9 in SYSCALL32 entry point
x86/asm/entry/32: Explain the stub32_clone logic
x86/asm/entry/32: Remove unnecessary optimization in stub32_clone
x86/asm/entry/32: Reinstate clearing of pt_regs->r8..r11 on EFAULT path
x86/asm/entry: Clean up entry*.S style, final bits
x86/asm/entry/32: Fix fallout from the R9 trick removal in the SYSCALL code
x86/asm/entry/32: Explain reloading of registers after __audit_syscall_entry()
x86/asm/entry/32: Shorten __audit_syscall_entry() args preparation

Dexuan Cui (1):
x86/mm/pageattr: Remove an unused variable in slow_virt_to_phys()

Feng Tang (1):
x86/platform/intel/baytrail: Add comments about why we disabled HPET on Baytrail

Feng Wu (11):
x86/irq/msi: Implement irq_set_vcpu_affinity for remapped MSI irqs
x86/irq: Define a global vector for VT-d Posted-Interrupts
x86/irq: Show statistics information for posted-interrupts
iommu: Add new member capability to struct irq_remap_ops
iommu, x86: Implement irq_set_vcpu_affinity for intel_ir_chip
iommu, x86: Save the mode (posted or remapped) of an IRTE
iommu, x86: Avoid migrating VT-d posted interrupts
iommu, x86: Add cap_pi_support() to detect VT-d PI capability
iommu, x86: Setup Posted-Interrupts capability for Intel iommu
iommu, x86: Provide irq_remapping_cap() interface
iommu, x86: Properly handle posted interrupts for IOMMU hotplug

H.J. Lu (1):
x86/asm: Use -mskip-rax-setup if supported

Hagen Paul Pfeifer (1):
x86/asm: Always inline atomics

Ingo Molnar (34):
x86/platform/uv: Make SGI UV dependent on CONFIG_PCI
Merge branch 'linus' into x86/asm, before applying dependent patch
x86/asm/entry: Fix remaining use of SYSCALL_VECTOR
Merge tag 'ras_for_4.2' of git://git.kernel.org/.../ras/ras into x86/ras
Merge branch 'x86/asm' into x86/apic, to resolve a conflict
Revert f5d6a52f5111 ("x86/smpboot: Skip delays during SMP initialization similar to Xen")
x86: Align jump targets to 1-byte boundaries
x86: Pack loops tightly as well
Merge branch 'linus' into x86/asm, to resolve conflicts
Merge branch 'x86/asm' into x86/apic, to resolve conflicts
x86/smp/boot: Fix legacy SMP bootup slow-boot bug
Merge tag 'v4.1-rc5' into x86/mm, to refresh the tree before applying new changes
x86/debug: Remove perpetually broken, unmaintainable dwarf annotations
Merge branches 'x86/mm', 'x86/build', 'x86/apic' and 'x86/platform' into x86/core, to apply dependent patch
Merge branch 'locking/core' into x86/core, to prepare for dependent patch
x86/kconfig: Reorganize arch feature Kconfig select's
x86/asm/entry: Move entry_64.S and entry_32.S to arch/x86/entry/
x86/asm/entry: Move the compat syscall entry code to arch/x86/entry/
x86/asm/entry, x86/vdso: Move the vDSO code to arch/x86/entry/vdso/
x86/asm/entry: Move the 'thunk' functions to arch/x86/entry/
x86/asm/entry: Move arch/x86/include/asm/calling.h to arch/x86/entry/
x86/asm/entry: Move the arch/x86/syscalls/ definitions to arch/x86/entry/syscalls/
x86/asm/entry: Move the vsyscall code to arch/x86/entry/vsyscall/
x86/asm/entry/32: Improve code readability
x86/asm/entry/64/compat: Rename ia32entry.S -> entry_64_compat.S
Merge branch 'x86/ras' into x86/core, to fix conflicts
x86/asm/entry: Rename compat syscall entry points
x86/asm/entry: Untangle 'ia32_sysenter_target' into two entry points: entry_SYSENTER_32 and entry_SYSENTER_compat
x86/asm/entry: Untangle 'system_call' into two entry points: entry_SYSCALL_64 and entry_INT80_32
x86/asm/entry/32: Clean up entry_32.S
Merge branch 'x86/asm' into x86/core, to prepare for new patch
x86/asm/entry/64: Clean up entry_64.S
x86/asm/entry: (Re-)rename __NR_entry_INT80_compat_max to __NR_syscall_compat_max
Merge branches 'x86/apic', 'x86/asm', 'x86/mm' and 'x86/platform' into x86/core, to merge last updates

Jan Beulich (3):
x86/mm: Mark arch_ioremap_p{m,u}d_supported() __init
x86/asm/entry/64: Use negative immediates for stack adjustments
x86/asm/entry/64: Fold identical code paths

Jan H. Schönherr (1):
x86/smpboot: Skip delays during SMP initialization similar to Xen

Jan Kiszka (2):
x86/x2apic: Acpi_gbl_FADT existence depends on CONFIG_ACPI
x86: Let x2APIC support depend on interrupt remapping or guest support

Jiang Liu (70):
x86/irq: Save destination CPU ID in irq_cfg
x86/irq: Use hierarchical irqdomain to manage CPU interrupt vectors
x86/hpet: Use new irqdomain interfaces to allocate/free IRQ
x86/MSI: Use new irqdomain interfaces to allocate/free IRQ
x86/uv: Use new irqdomain interfaces to allocate/free IRQ
x86/htirq: Use new irqdomain interfaces to allocate/free IRQ
x86/dmar: Use new irqdomain interfaces to allocate/free IRQ
irq_remapping: Introduce new interfaces to support hierarchical irqdomains
irq_remapping/vt-d: Change prototypes to prepare for hierarchical irqdomain
irq_remapping/vt-d: Enhance Intel IR driver to support hierarchical irqdomains
irq_remapping/amd: Enhance AMD IR driver to support hierarchical irqdomains
x86/hpet: Enhance HPET IRQ to support hierarchical irqdomains
x86/MSI: Use hierarchical irqdomains to manage MSI interrupts
x86/irq: Directly call native_compose_msi_msg() for DMAR IRQ
irq_remapping/vt-d: Clean up unused MSI related code
irq_remapping/amd: Clean up unused MSI related code
irq_remapping: Clean up unused MSI related code
x86/MSI: Clean up unused MSI related code and interfaces
iommu/vt-d: Refine the interfaces to create IRQ for DMAR unit
x86/irq: Use hierarchical irqdomain to manage DMAR interrupts
x86/htirq: Use hierarchical irqdomain to manage Hypertransport interrupts
x86/uv: Use hierarchical irqdomain to manage UV interrupts
x86/irq: Normalize x86 irq_chip name
x86/MSI: Simplify the way to deal with remapped MSI interrupts
x86/MSI: Replace msi_update_msg() with irq_chip_compose_msi_msg()
x86/irq: Implement irq_chip.irq_write_msi_msg for MSI/DMAR/HPET irq_chips
x86/irq: Simplify MSI/DMAR/HPET implementation by using common code
irq_remapping: Remove unused function irq_remapping_print_chip()
x86/intel-mid, trivial: Refine code syntax for sfi_parse_mtmr()
x86/irq: Remove unused pre_init_apic_IRQ0()
x86/irq: Prepare IOAPIC interfaces to support hierarchical irqdomains
x86/irq: Implement callbacks to enable hierarchical irqdomains on IOAPICs
x86/irq: Refine the way to allocate irq_cfg for legacy IRQs
x86/irq: Simplify the way to print IOAPIC entry
x86/irq: Introduce helper functions to support hierarchical irqdomains for IOAPIC
x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces
x86/irq: Remove unused old IOAPIC irqdomain interfaces
x86/irq: Remove unused struct mp_pin_info
x86/irq: Remove x86_io_apic_ops.print_entries and related interfaces
x86/irq: Remove x86_io_apic_ops.setup_entry and related interfaces
x86/irq: Remove x86_io_apic_ops.set_affinity and related interfaces
x86/irq: Remove x86_io_apic_ops.eoi_ioapic_pin and related interfaces
x86/irq: Remove GENERIC_IRQ_LEGACY_ALLOC_HWIRQ
x86/irq: Clean up unused forward declarations in x86_init.h
irq_remapping: Clean up unsued code to support IOAPIC
irq_remapping/vt-d: Clean up unsued code
irq_remapping/amd: Clean up unsued code
irq_remapping: Clean up unused interfaces
x86/irq: Remove irq_cfg.irq_remapped
irq_remapping/vt-d: Move struct irq_2_iommu into intel_irq_remapping.c
irq_remapping/amd: Move struct irq_2_irte into amd_iommu.c
x86/irq: Move irq_cfg.irq_2_pin into io_apic.c
x86/irq: Remove struct io_apic_irq_attr
x86/irq: Remove x86_io_apic_ops.write and x86_io_apic_ops.modify
x86/irq: Clean up io_apic.h
x86/irq: Use cached IOAPIC entry instead of reading from hardware
x86/irq: Remove unused alloc_irq_and_cfg_at()
x86/irq: Make functions only used in vector.c static
x86/irq: Remove function apic_set_affinity()
x86/irq: Move check of cfg->move_in_progress into send_cleanup_vector()
x86/irq: Move private data in struct irq_cfg into dedicated data structure
x86/irq: Refine the way to calculate NR_IRQS
x86/irq, ACPI: Remove private function mp_register_gsi()/ mp_unregister_gsi()
x86/irq: Move irqdomain specific code into asm/irqdomain.h
x86/irq: Avoid memory allocation in __assign_irq_vector()
x86, irq: Allocate CPU vectors from device local CPUs if possible
genirq: Introduce irq_set_vcpu_affinity() to target an interrupt to a VCPU
genirq: Enhance irq_data_to_desc() to support hierarchy irqdomain
genirq: Prevent crash in irq_move_irq()
x86/hpet: Check for irq==0 when allocating hpet MSI interrupts

Kirill A. Shutemov (2):
x86/kconfig: Bump default NR_CPUS from 8 to 64 for 64-bit configuration
x86/kconfig: Fix the CONFIG_NR_CPUS description

Len Brown (2):
x86/smp/boot: Add cmdline "cpu_init_udelay=N" to specify cpu_up() delay
x86/smp/boot: Remove 10ms delay from cpu_up() on modern processors

Luis R. Rodriguez (9):
x86/mm: Add ioremap_uc() helper to map memory uncacheable (not UC-)
x86/mm/pat: Convert to pr_*() usage
x86/mm/mtrr, pat: Document Write Combining MTRR type effects on PAT / non-PAT pages
x86/mm/mtrr: Avoid #ifdeffery with phys_wc_to_mtrr_index()
x86/mm/mtrr: Generalize runtime disabling of MTRRs
x86/mm/pat: Wrap pat_enabled into a function API
x86/mm/pat: Export pat_enabled()
x86/mm/pat, drivers/media/ivtv: Use arch_phys_wc_add() and require PAT disabled
x86/mm/pat, drivers/infiniband/ipath: Use arch_phys_wc_add() and require PAT disabled

Paul Gortmaker (1):
x86: Rename eisa_set_level_irq to elcr_set_level_irq

Ross Zwisler (2):
x86/mm: Do not flush last cacheline twice in clflush_cache_range()
x86/mm: Add kerneldoc comments for pcommit_sfence()

Sergey Senozhatsky (1):
x86/hpet: Pass proper pointer to irq_alloc_info

Srinivas Pandruvada (1):
x86/platform/atom/punit: Add Punit device state debug driver

Stephen Rothwell (1):
x86/mm: Decouple <linux/vmalloc.h> from <asm/io.h>

Thomas Gleixner (14):
x86/intel-mid: Delay initialization of APB timer
x86: Remove more unmodified io_apic_ops
x86/irq: Remove sis apic bug workaround
x86, ioapic: Use proper defines for the entry fields
x86,ioapic: Cleanup irq_trigger/polarity()
x86: Cleanup irq_domain ops
irq_remapping/vt-d: Init all MSI entries not just the first one
x86: Constify irqdomain ops
x86: Use entering[_ack]_irq() instead of open coding it
x86: Consolidate irq entering inlines
Merge branch 'irq/for-x86' into x86/apic
iommu: dmar: Extend struct irte for VT-d Posted-Interrupts
iommu: dmar: Provide helper to copy shared irte fields
x86/hpet: Use proper hpet device number for MSI allocation

Toshi Kani (17):
x86/mm/mtrr: Remove incorrect address check in __mtrr_type_lookup()
x86/mm/kconfig: Simplify conditions for HAVE_ARCH_HUGE_VMAP
x86/mm/mtrr: Fix MTRR lookup to handle an inclusive entry
x86/mm/mtrr: Fix MTRR state checks in mtrr_type_lookup()
x86/mm/mtrr: Use symbolic define as a retval for disabled MTRRs
x86/mm/mtrr: Clean up mtrr_type_lookup()
x86/mm/mtrr: Enhance MTRR checks in kernel mapping helpers
x86/mm/pat: Use 7th PAT MSR slot for Write-Through PAT type
x86/mm/pat: Change reserve_memtype() for Write-Through type
x86/mm: Teach is_new_memtype_allowed() about Write-Through type
x86/mm, asm-generic: Add ioremap_wt() for creating Write-Through mappings
arch/*/io.h: Add ioremap_wt() to all architectures
video/fbdev, asm/io.h: Remove ioremap_writethrough()
x86/mm/pat: Add pgprot_writethrough()
x86/mm/pat: Extend set_page_memtype() to support Write-Through type
x86/mm/pat: Add set_memory_wt() for Write-Through type
drivers/block/pmem: Map NVDIMM in Write-Through mode

Xie XiuQi (1):
x86/mce: Fix monarch timeout setting through the mce= cmdline option

Documentation/kernel-parameters.txt | 6 +
Documentation/x86/entry_64.txt | 4 +-
Documentation/x86/mtrr.txt | 18 +-
Documentation/x86/pat.txt | 48 +-
Documentation/x86/x86_64/boot-options.txt | 3 +
MAINTAINERS | 2 +-
arch/arc/include/asm/io.h | 1 +
arch/arm/include/asm/io.h | 1 +
arch/arm64/include/asm/io.h | 1 +
arch/avr32/include/asm/io.h | 1 +
arch/frv/include/asm/io.h | 4 +-
arch/ia64/include/asm/irq_remapping.h | 2 -
arch/ia64/kernel/msi_ia64.c | 30 +-
arch/m32r/include/asm/io.h | 1 +
arch/m68k/include/asm/io_mm.h | 4 +-
arch/m68k/include/asm/io_no.h | 4 +-
arch/metag/include/asm/io.h | 3 +
arch/microblaze/include/asm/io.h | 2 +-
arch/mn10300/include/asm/io.h | 1 +
arch/nios2/include/asm/io.h | 1 +
arch/s390/include/asm/io.h | 1 +
arch/sparc/include/asm/io_32.h | 1 +
arch/sparc/include/asm/io_64.h | 1 +
arch/tile/include/asm/io.h | 2 +-
arch/x86/Kbuild | 5 +-
arch/x86/Kconfig | 231 ++-
arch/x86/Kconfig.debug | 11 +
arch/x86/Makefile | 23 +-
arch/x86/entry/Makefile | 10 +
arch/x86/entry/calling.h | 243 +++
arch/x86/entry/entry_32.S | 1248 +++++++++++++++
arch/x86/entry/entry_64.S | 1458 +++++++++++++++++
arch/x86/entry/entry_64_compat.S | 556 +++++++
arch/x86/entry/syscall_32.c | 33 +
arch/x86/entry/syscall_64.c | 32 +
arch/x86/entry/syscalls/Makefile | 69 +
arch/x86/entry/syscalls/syscall_32.tbl | 367 +++++
arch/x86/entry/syscalls/syscall_64.tbl | 370 +++++
arch/x86/entry/syscalls/syscallhdr.sh | 27 +
arch/x86/entry/syscalls/syscalltbl.sh | 15 +
arch/x86/entry/thunk_32.S | 42 +
arch/x86/entry/thunk_64.S | 69 +
arch/x86/entry/vdso/.gitignore | 7 +
arch/x86/entry/vdso/Makefile | 209 +++
arch/x86/entry/vdso/checkundef.sh | 10 +
arch/x86/entry/vdso/vclock_gettime.c | 351 +++++
arch/x86/entry/vdso/vdso-layout.lds.S | 118 ++
arch/x86/entry/vdso/vdso-note.S | 12 +
arch/x86/entry/vdso/vdso.lds.S | 29 +
arch/x86/entry/vdso/vdso2c.c | 253 +++
arch/x86/entry/vdso/vdso2c.h | 175 +++
arch/x86/entry/vdso/vdso32-setup.c | 120 ++
arch/x86/entry/vdso/vdso32/.gitignore | 1 +
arch/x86/entry/vdso/vdso32/int80.S | 56 +
arch/x86/entry/vdso/vdso32/note.S | 44 +
arch/x86/entry/vdso/vdso32/sigreturn.S | 145 ++
arch/x86/entry/vdso/vdso32/syscall.S | 75 +
arch/x86/entry/vdso/vdso32/sysenter.S | 116 ++
arch/x86/entry/vdso/vdso32/vclock_gettime.c | 30 +
arch/x86/entry/vdso/vdso32/vdso-fakesections.c | 1 +
arch/x86/entry/vdso/vdso32/vdso32.lds.S | 37 +
arch/x86/entry/vdso/vdsox32.lds.S | 25 +
arch/x86/entry/vdso/vgetcpu.c | 28 +
arch/x86/entry/vdso/vma.c | 300 ++++
arch/x86/entry/vsyscall/Makefile | 7 +
arch/x86/entry/vsyscall/vsyscall_64.c | 335 ++++
arch/x86/entry/vsyscall/vsyscall_emu_64.S | 37 +
arch/x86/entry/vsyscall/vsyscall_gtod.c | 70 +
arch/x86/entry/vsyscall/vsyscall_trace.h | 29 +
arch/x86/ia32/Makefile | 2 +-
arch/x86/ia32/ia32entry.S | 611 --------
arch/x86/include/asm/alternative-asm.h | 18 +
arch/x86/include/asm/apic.h | 6 +
arch/x86/include/asm/asm.h | 25 +
arch/x86/include/asm/atomic.h | 30 +-
arch/x86/include/asm/atomic64_64.h | 8 +-
arch/x86/include/asm/cacheflush.h | 6 +-
arch/x86/include/asm/calling.h | 247 ---
arch/x86/include/asm/dwarf2.h | 170 --
arch/x86/include/asm/entry_arch.h | 5 +
arch/x86/include/asm/frame.h | 7 +-
arch/x86/include/asm/hardirq.h | 4 +
arch/x86/include/asm/hpet.h | 16 +-
arch/x86/include/asm/hw_irq.h | 140 +-
arch/x86/include/asm/io.h | 9 +-
arch/x86/include/asm/io_apic.h | 114 +-
arch/x86/include/asm/irq.h | 4 +
arch/x86/include/asm/irq_remapping.h | 80 +-
arch/x86/include/asm/irq_vectors.h | 51 +-
arch/x86/include/asm/irqdomain.h | 63 +
arch/x86/include/asm/mce.h | 28 +-
arch/x86/include/asm/msi.h | 7 +
arch/x86/include/asm/msr-index.h | 665 ++++++++
arch/x86/include/asm/msr.h | 12 +-
arch/x86/include/asm/mtrr.h | 15 +-
arch/x86/include/asm/paravirt_types.h | 7 +-
arch/x86/include/asm/pat.h | 9 +-
arch/x86/include/asm/pci.h | 5 -
arch/x86/include/asm/pgtable.h | 8 +-
arch/x86/include/asm/pgtable_types.h | 3 +
arch/x86/include/asm/proto.h | 10 +-
arch/x86/include/asm/special_insns.h | 38 +
arch/x86/include/asm/thread_info.h | 8 +-
arch/x86/include/asm/topology.h | 2 +-
arch/x86/include/asm/trace/irq_vectors.h | 6 +
arch/x86/include/asm/traps.h | 3 +-
arch/x86/include/asm/uaccess_32.h | 4 +
arch/x86/include/asm/x86_init.h | 21 -
arch/x86/include/uapi/asm/msr-index.h | 663 --------
arch/x86/include/uapi/asm/msr.h | 2 -
arch/x86/include/uapi/asm/mtrr.h | 8 +-
arch/x86/kernel/Makefile | 5 +-
arch/x86/kernel/acpi/boot.c | 73 +-
arch/x86/kernel/acpi/wakeup_64.S | 6 +-
arch/x86/kernel/alternative.c | 9 +
arch/x86/kernel/apb_timer.c | 4 -
arch/x86/kernel/apic/htirq.c | 173 +-
arch/x86/kernel/apic/io_apic.c | 1303 +++++++--------
arch/x86/kernel/apic/msi.c | 417 +++--
arch/x86/kernel/apic/vector.c | 448 ++++--
arch/x86/kernel/apic/x2apic_phys.c | 2 +
arch/x86/kernel/asm-offsets.c | 21 +
arch/x86/kernel/asm-offsets_32.c | 18 -
arch/x86/kernel/asm-offsets_64.c | 23 +-
arch/x86/kernel/cpu/amd.c | 6 +-
arch/x86/kernel/cpu/common.c | 16 +-
arch/x86/kernel/cpu/intel_cacheinfo.c | 8 +-
arch/x86/kernel/cpu/mcheck/mce.c | 50 +-
arch/x86/kernel/cpu/mcheck/mce_amd.c | 141 +-
arch/x86/kernel/cpu/mcheck/mce_intel.c | 44 +
arch/x86/kernel/cpu/mshyperv.c | 6 +-
arch/x86/kernel/cpu/mtrr/cleanup.c | 3 +-
arch/x86/kernel/cpu/mtrr/generic.c | 209 ++-
arch/x86/kernel/cpu/mtrr/main.c | 48 +-
arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
arch/x86/kernel/crash.c | 1 +
arch/x86/kernel/devicetree.c | 41 +-
arch/x86/kernel/early-quirks.c | 8 +-
arch/x86/kernel/entry_32.S | 1401 -----------------
arch/x86/kernel/entry_64.S | 1653 --------------------
arch/x86/kernel/head_32.S | 4 +-
arch/x86/kernel/head_64.S | 4 +-
arch/x86/kernel/hpet.c | 50 +-
arch/x86/kernel/i8259.c | 8 +-
arch/x86/kernel/irq.c | 62 +-
arch/x86/kernel/irq_32.c | 6 -
arch/x86/kernel/irq_64.c | 6 -
arch/x86/kernel/irq_work.c | 10 +-
arch/x86/kernel/irqinit.c | 10 +-
arch/x86/kernel/machine_kexec_64.c | 1 +
arch/x86/kernel/mpparse.c | 7 +-
arch/x86/kernel/paravirt.c | 4 +-
arch/x86/kernel/paravirt_patch_64.c | 1 -
arch/x86/kernel/process_32.c | 5 +-
arch/x86/kernel/process_64.c | 3 -
arch/x86/kernel/setup.c | 3 +-
arch/x86/kernel/smp.c | 19 +-
arch/x86/kernel/smpboot.c | 43 +-
arch/x86/kernel/syscall_32.c | 33 -
arch/x86/kernel/syscall_64.c | 32 -
arch/x86/kernel/traps.c | 21 +-
arch/x86/kernel/vsyscall_64.c | 335 ----
arch/x86/kernel/vsyscall_emu_64.S | 37 -
arch/x86/kernel/vsyscall_gtod.c | 70 -
arch/x86/kernel/vsyscall_trace.h | 29 -
arch/x86/kernel/x86_init.c | 9 -
arch/x86/lguest/boot.c | 4 +-
arch/x86/lib/Makefile | 3 +-
arch/x86/lib/atomic64_386_32.S | 7 +-
arch/x86/lib/atomic64_cx8_32.S | 61 +-
arch/x86/lib/checksum_32.S | 52 +-
arch/x86/lib/clear_page_64.S | 7 -
arch/x86/lib/cmpxchg16b_emu.S | 12 +-
arch/x86/lib/cmpxchg8b_emu.S | 11 +-
arch/x86/lib/copy_page_64.S | 11 -
arch/x86/lib/copy_user_64.S | 127 +-
arch/x86/lib/copy_user_nocache_64.S | 136 --
arch/x86/lib/csum-copy_64.S | 17 -
arch/x86/lib/getuser.S | 13 -
arch/x86/lib/iomap_copy_64.S | 3 -
arch/x86/lib/memcpy_64.S | 3 -
arch/x86/lib/memmove_64.S | 3 -
arch/x86/lib/memset_64.S | 5 -
arch/x86/lib/msr-reg.S | 44 +-
arch/x86/lib/putuser.S | 8 +-
arch/x86/lib/rwsem.S | 49 +-
arch/x86/lib/thunk_32.S | 45 -
arch/x86/lib/thunk_64.S | 75 -
arch/x86/mm/init.c | 6 +-
arch/x86/mm/iomap_32.c | 12 +-
arch/x86/mm/ioremap.c | 71 +-
arch/x86/mm/pageattr-test.c | 1 +
arch/x86/mm/pageattr.c | 84 +-
arch/x86/mm/pat.c | 337 ++--
arch/x86/mm/pat_internal.h | 2 +-
arch/x86/mm/pat_rbtree.c | 6 +-
arch/x86/mm/pgtable.c | 60 +-
arch/x86/net/bpf_jit.S | 1 -
arch/x86/pci/i386.c | 6 +-
arch/x86/pci/intel_mid_pci.c | 6 +-
arch/x86/pci/irq.c | 13 +-
arch/x86/platform/Makefile | 1 +
arch/x86/platform/atom/Makefile | 1 +
arch/x86/platform/atom/punit_atom_debug.c | 183 +++
.../platform/intel-mid/device_libs/platform_wdt.c | 5 +-
arch/x86/platform/intel-mid/intel-mid.c | 18 +-
arch/x86/platform/intel-mid/sfi.c | 30 +-
arch/x86/platform/sfi/sfi.c | 7 +-
arch/x86/platform/uv/uv_irq.c | 298 ++--
arch/x86/power/hibernate_asm_64.S | 8 +-
arch/x86/syscalls/Makefile | 69 -
arch/x86/syscalls/syscall_32.tbl | 367 -----
arch/x86/syscalls/syscall_64.tbl | 370 -----
arch/x86/syscalls/syscallhdr.sh | 27 -
arch/x86/syscalls/syscalltbl.sh | 15 -
arch/x86/um/Makefile | 2 +-
arch/x86/vdso/.gitignore | 7 -
arch/x86/vdso/Makefile | 209 ---
arch/x86/vdso/checkundef.sh | 10 -
arch/x86/vdso/vclock_gettime.c | 351 -----
arch/x86/vdso/vdso-layout.lds.S | 118 --
arch/x86/vdso/vdso-note.S | 12 -
arch/x86/vdso/vdso.lds.S | 29 -
arch/x86/vdso/vdso2c.c | 253 ---
arch/x86/vdso/vdso2c.h | 175 ---
arch/x86/vdso/vdso32-setup.c | 120 --
arch/x86/vdso/vdso32/.gitignore | 1 -
arch/x86/vdso/vdso32/int80.S | 56 -
arch/x86/vdso/vdso32/note.S | 44 -
arch/x86/vdso/vdso32/sigreturn.S | 145 --
arch/x86/vdso/vdso32/syscall.S | 75 -
arch/x86/vdso/vdso32/sysenter.S | 116 --
arch/x86/vdso/vdso32/vclock_gettime.c | 30 -
arch/x86/vdso/vdso32/vdso-fakesections.c | 1 -
arch/x86/vdso/vdso32/vdso32.lds.S | 37 -
arch/x86/vdso/vdsox32.lds.S | 25 -
arch/x86/vdso/vgetcpu.c | 28 -
arch/x86/vdso/vma.c | 300 ----
arch/x86/xen/enlighten.c | 8 +-
arch/x86/xen/p2m.c | 1 +
arch/x86/xen/xen-asm_64.S | 28 +-
arch/x86/xen/xen-ops.h | 2 +
arch/xtensa/include/asm/io.h | 1 +
drivers/acpi/apei/erst.c | 1 +
drivers/block/pmem.c | 4 +-
drivers/cpufreq/intel_pstate.c | 1 +
drivers/dma/mic_x100_dma.c | 1 +
drivers/gpu/drm/drm_ioctl.c | 14 +-
drivers/infiniband/hw/ipath/Kconfig | 3 +
drivers/infiniband/hw/ipath/ipath_driver.c | 18 +-
drivers/infiniband/hw/ipath/ipath_kernel.h | 4 +-
drivers/infiniband/hw/ipath/ipath_wc_x86_64.c | 43 +-
drivers/iommu/amd_iommu.c | 477 +++---
drivers/iommu/amd_iommu_init.c | 4 +
drivers/iommu/amd_iommu_proto.h | 9 +
drivers/iommu/amd_iommu_types.h | 5 +
drivers/iommu/dmar.c | 19 +-
drivers/iommu/intel_irq_remapping.c | 648 ++++----
drivers/iommu/irq_remapping.c | 253 +--
drivers/iommu/irq_remapping.h | 42 +-
drivers/lguest/interrupts_and_traps.c | 10 +-
drivers/media/pci/ivtv/Kconfig | 3 +
drivers/media/pci/ivtv/ivtvfb.c | 58 +-
drivers/net/hyperv/netvsc.c | 1 +
drivers/net/hyperv/rndis_filter.c | 1 +
drivers/pci/htirq.c | 48 +-
drivers/pci/quirks.c | 7 -
drivers/scsi/fnic/fnic_debugfs.c | 1 +
drivers/scsi/fnic/fnic_trace.c | 1 +
drivers/video/fbdev/amifb.c | 4 +-
drivers/video/fbdev/atafb.c | 3 +-
drivers/video/fbdev/hpfb.c | 4 +-
include/asm-generic/io.h | 17 +
include/asm-generic/iomap.h | 4 +
include/asm-generic/pgtable.h | 4 +
include/linux/dmar.h | 85 +-
include/linux/htirq.h | 22 +-
include/linux/intel-iommu.h | 5 +
include/linux/io.h | 8 +
include/linux/irq.h | 6 +
include/linux/irqdesc.h | 9 +
kernel/irq/chip.c | 14 +
kernel/irq/internals.h | 2 -
kernel/irq/manage.c | 31 +
kernel/irq/migration.c | 9 +-
scripts/checksyscalls.sh | 2 +-
sound/pci/asihpi/hpioctl.c | 1 +
tools/power/x86/turbostat/Makefile | 2 +-
tools/testing/selftests/x86/Makefile | 5 +-
tools/testing/selftests/x86/sysret_ss_attrs.c | 112 ++
tools/testing/selftests/x86/thunks.S | 67 +
291 files changed, 12497 insertions(+), 12141 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at http://www.tux.org/lkml/