lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 22 Jun 2015 11:16:22 +0200
From:	Ingo Molnar <mingo@...nel.org>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
	"H. Peter Anvin" <hpa@...or.com>, Borislav Petkov <bp@...en8.de>,
	Andy Lutomirski <luto@...nel.org>,
	Denys Vlasenko <dvlasenk@...hat.com>,
	Brian Gerst <brgerst@...il.com>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Andrew Morton <akpm@...ux-foundation.org>
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/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ