OpenCloudOS-Kernel/arch/tile/include/asm
Linus Torvalds d70b3ef54c Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 core updates from Ingo Molnar:
 "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.

  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"

* 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (222 commits)
  x86/hpet: Use proper hpet device number for MSI allocation
  x86/hpet: Check for irq==0 when allocating hpet MSI interrupts
  x86/mm/pat, drivers/infiniband/ipath: Use arch_phys_wc_add() and require PAT disabled
  x86/mm/pat, drivers/media/ivtv: Use arch_phys_wc_add() and require PAT disabled
  x86/platform/intel/baytrail: Add comments about why we disabled HPET on Baytrail
  genirq: Prevent crash in irq_move_irq()
  genirq: Enhance irq_data_to_desc() to support hierarchy irqdomain
  iommu, x86: Properly handle posted interrupts for IOMMU hotplug
  iommu, x86: Provide irq_remapping_cap() interface
  iommu, x86: Setup Posted-Interrupts capability for Intel iommu
  iommu, x86: Add cap_pi_support() to detect VT-d PI capability
  iommu, x86: Avoid migrating VT-d posted interrupts
  iommu, x86: Save the mode (posted or remapped) of an IRTE
  iommu, x86: Implement irq_set_vcpu_affinity for intel_ir_chip
  iommu: dmar: Provide helper to copy shared irte fields
  iommu: dmar: Extend struct irte for VT-d Posted-Interrupts
  iommu: Add new member capability to struct irq_remap_ops
  x86/asm/entry/64: Disentangle error_entry/exit gsbase/ebx/usermode code
  x86/asm/entry/32: Shorten __audit_syscall_entry() args preparation
  x86/asm/entry/32: Explain reloading of registers after __audit_syscall_entry()
  ...
2015-06-22 17:59:09 -07:00
..
Kbuild tile: support arch_irq_work_raise 2015-04-17 12:58:44 -04:00
asm-offsets.h
atomic.h tile: include: asm: use 'long long' instead of 'u64' for atomic64_t and its related functions 2013-09-27 16:08:56 -04:00
atomic_32.h arch,tile: Convert smp_mb__*() 2014-04-18 14:20:45 +02:00
atomic_64.h arch: Remove __ARCH_HAVE_CMPXCHG 2015-05-13 10:55:42 +02:00
backtrace.h arch/tile: refactor backtracing code 2011-05-02 13:49:14 -04:00
barrier.h arch,tile: Convert smp_mb__*() 2014-04-18 14:20:45 +02:00
bitops.h arch,tile: Convert smp_mb__*() 2014-04-18 14:20:45 +02:00
bitops_32.h arch,tile: Convert smp_mb__*() 2014-04-18 14:20:45 +02:00
bitops_64.h arch,tile: Convert smp_mb__*() 2014-04-18 14:20:45 +02:00
cache.h tile: make __write_once a synonym for __read_mostly 2013-09-03 14:53:32 -04:00
cacheflush.h tile: convert uses of "inv" to "finv" 2013-07-31 11:51:19 -04:00
checksum.h arch/tile: break out the "csum a long" function to <asm/checksum.h> 2012-07-11 16:04:57 -04:00
cmpxchg.h tile: include: asm: use 'long long' instead of 'u64' for atomic64_t and its related functions 2013-09-27 16:08:56 -04:00
compat.h tile: Use get_signal() signal_setup_done() 2014-08-06 13:03:20 +02:00
current.h
delay.h
device.h tile PCI RC: make default consistent DMA mask 32-bit 2013-09-03 14:53:37 -04:00
dma-mapping.h tile PCI RC: make default consistent DMA mask 32-bit 2013-09-03 14:53:37 -04:00
dma.h
edac.h drivers/edac: provide support for tile architecture 2011-03-10 13:30:14 -05:00
elf.h tile: remove support for TILE64 2013-09-03 14:53:29 -04:00
fixmap.h tile: use generic fixmap.h 2014-01-23 16:36:54 -08:00
ftrace.h tile: ftrace: fix function_graph tracer issues 2015-04-17 14:01:38 -04:00
futex.h tile: use proper .align directives on __ex_table sections 2013-08-30 11:56:11 -04:00
hardirq.h hardirq: Make hardirq bits generic 2013-11-13 20:21:46 +01:00
hardwall.h proc: convert /proc/$PID/hardwall to seq_file interface 2014-08-08 15:57:23 -07:00
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
homecache.h tile: remove support for TILE64 2013-09-03 14:53:29 -04:00
hugetlb.h mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
hv_driver.h
ide.h
io.h video/fbdev, asm/io.h: Remove ioremap_writethrough() 2015-06-07 15:28:57 +02:00
irq.h tile: Use SPARSE_IRQ 2014-05-16 14:05:21 +02:00
irq_work.h tile: support arch_irq_work_raise 2015-04-17 12:58:44 -04:00
irqflags.h tile: Replace __get_cpu_var uses 2014-08-26 13:45:54 -04:00
kdebug.h tile: support kprobes on tilegx 2013-08-30 11:55:53 -04:00
kexec.h arch/tile: support kexec() for tilegx 2012-05-25 12:48:25 -04:00
kgdb.h tilegx: support KGDB 2013-09-03 14:51:26 -04:00
kmap_types.h tile: remove km_type definitions 2012-07-24 15:27:32 +08:00
kprobes.h tile: support kprobes on tilegx 2013-08-30 11:55:53 -04:00
linkage.h
mmu.h tile: implement gettimeofday() via vDSO 2013-08-13 16:26:21 -04:00
mmu_context.h tile: Replace __get_cpu_var uses 2014-08-26 13:45:54 -04:00
mmzone.h tile: fix some -Wsign-compare warnings 2013-08-30 11:56:50 -04:00
module.h arch/tile: Allow tilegx to build with either 16K or 64K page size 2012-05-25 12:48:24 -04:00
page.h arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
pci.h tile PCI RC: add comment about "PCI hole" problem 2013-09-03 14:52:20 -04:00
percpu.h tile: use a more conservative __my_cpu_offset in CONFIG_PREEMPT 2013-09-30 10:34:41 -04:00
perf_event.h tile/perf: Support perf_events on tilegx and tilepro 2014-03-07 11:19:48 -05:00
pgalloc.h arch/tile: Allow tilegx to build with either 16K or 64K page size 2012-05-25 12:48:24 -04:00
pgtable.h mm: make FIRST_USER_ADDRESS unsigned long on all archs 2015-02-11 17:06:03 -08:00
pgtable_32.h tile: remove HUGE_VMAP dead code 2013-09-13 11:15:24 -04:00
pgtable_64.h tile: Use the more common pr_warn instead of pr_warning 2014-11-11 15:51:42 -05:00
pmc.h tile: Add support for handling PMC hardware 2014-03-07 11:19:47 -05:00
processor.h arch, locking: Ciao arch_mutex_cpu_relax() 2014-07-17 12:32:47 +02:00
ptrace.h tile: don't assume user privilege is zero 2013-09-03 14:45:52 -04:00
sections.h tile: Remove tile-specific _sinitdata and _einitdata 2014-10-02 10:19:33 -04:00
setup.h tile: various console improvements 2013-08-12 14:46:18 -04:00
sigframe.h
signal.h UAPI: (Scripted) Disintegrate arch/tile/include/asm 2012-10-09 09:47:47 +01:00
smp.h tile: support arch_irq_work_raise 2015-04-17 12:58:44 -04:00
spinlock.h
spinlock_32.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
spinlock_64.h tile: fix some -Wsign-compare warnings 2013-08-30 11:56:50 -04:00
spinlock_types.h
stack.h arch/tile: various bugs in stack backtracer 2012-04-02 12:12:45 -04:00
string.h tile: optimize strnlen using SIMD instructions 2013-08-01 20:08:51 -04:00
switch_to.h tile: support GENERIC_KERNEL_THREAD and GENERIC_KERNEL_EXECVE 2012-10-20 13:13:29 -04:00
syscall.h tile: move declaration of sys_call_table to <asm/syscall.h> 2013-03-21 15:39:35 -04:00
syscalls.h tile: move declaration of sys_call_table to <asm/syscall.h> 2013-03-21 15:39:35 -04:00
thread_info.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2015-04-17 16:03:05 -04:00
tile-desc.h arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
tile-desc_32.h arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
tile-desc_64.h arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
timex.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
tlb.h
tlbflush.h arch/tile: support multiple huge page sizes dynamically 2012-05-25 12:48:27 -04:00
topology.h sched/topology: Rename topology_thread_cpumask() to topology_sibling_cpumask() 2015-05-27 15:22:15 +02:00
traps.h tile: remove support for TILE64 2013-09-03 14:53:29 -04:00
uaccess.h mm/uaccess, mm/fault: Clarify that uaccess may only sleep if pagefaults are enabled 2015-05-19 08:39:14 +02:00
unaligned.h tile: improve big-endian support 2013-08-13 16:26:05 -04:00
unistd.h burying unused conditionals 2013-02-14 09:21:15 -05:00
user.h
vdso.h tile: add clock_gettime support to vDSO 2014-10-02 13:56:07 -04:00
vga.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00