Messages in this thread | | | Date | Mon, 22 Jun 2015 11:16:22 +0200 | From | Ingo Molnar <> | Subject | [GIT PULL] x86 core (asm, build, apic, mm, platform, RAS) changes for v4.2 |
| |
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/
| |