linux_dsm_epyc7002/arch/arm/include/asm
Lorenzo Pieralisi b9cdbe6e39 ARM: Implement pci_remap_cfgspace() interface
The PCI bus specification (rev 3.0, 3.2.5 "Transaction Ordering and
Posting") defines rules for PCI configuration space transactions ordering
and posting, that state that configuration writes have to be non-posted
transactions.

Current ioremap interface on ARM provides mapping functions that provide
"bufferable" writes transactions (ie ioremap uses MT_DEVICE memory type)
aka posted writes, so PCI host controller drivers have no arch interface to
remap PCI configuration space with memory attributes that comply with the
PCI specifications for configuration space.

Implement an ARM specific pci_remap_cfgspace() interface that allows to map
PCI config memory regions with MT_UNCACHED memory type (ie strongly ordered
- non-posted writes), providing a remap function that complies with PCI
specifications for config space transactions.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Russell King <linux@armlinux.org.uk>
2017-04-24 13:53:13 -05:00
..
hardware ARM: 8651/1: cache-uniphier: include <linux/errno.h> instead of <linux/types.h> 2017-02-28 11:06:16 +00:00
mach scripts/spelling.txt: add "partiton" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
xen arm/arm64: xen: Move shared architecture headers to include/xen/arm 2016-12-02 11:49:55 -08:00
arch_gicv3.h ARM: gic-v3-its: Add 32bit support to GICv3 ITS 2016-11-29 09:14:48 +00:00
arch_timer.h
arm-cci.h
asm-offsets.h
assembler.h ARM: 8605/1: V7M: fix notrace variant of save_and_disable_irqs 2016-09-06 15:51:07 +01:00
atomic.h locking/atomic: Remove linux/atomic.h:atomic_fetch_or() 2016-06-16 10:48:32 +02:00
auxvec.h
barrier.h ARM: 8582/1: remove unused CONFIG_ARCH_HAS_BARRIERS 2016-07-02 11:01:08 +01:00
bitops.h
bitrev.h
bL_switcher.h
bug.h
bugs.h
cache.h
cacheflush.h arch: Rename CONFIG_DEBUG_RODATA and CONFIG_DEBUG_MODULE_RONX 2017-02-07 12:32:52 -08:00
cachetype.h ARM: 8604/1: V7M: Add support for reading the CTR with read_cpuid_cachetype() 2016-09-06 15:51:07 +01:00
checksum.h
clocksource.h arm/arm64: arch_timer: Use archdata to indicate vdso suitability 2016-09-23 17:19:25 +01:00
cmpxchg.h
compiler.h
cp15.h ARM: Move system register accessors to asm/cp15.h 2016-09-22 13:22:10 +02:00
cpu.h
cpuidle.h
cputype.h ARM: 8634/1: hw_breakpoint: blacklist Scorpion CPUs 2017-01-10 23:32:26 +00:00
cti.h
dcc.h
delay.h ARM: 8619/1: udelay: document the various constants 2016-10-19 10:52:36 +01:00
device.h treewide: Move dma_ops from struct dev_archdata into struct device 2017-01-24 12:23:35 -05:00
div64.h
dma-contiguous.h
dma-iommu.h
dma-mapping.h treewide: Consolidate get_dma_ops() implementations 2017-01-24 12:23:35 -05:00
dma.h
domain.h
ecard.h
edac.h
efi.h arm/efi: Allow invocation of arbitrary runtime services 2017-02-07 10:42:09 +01:00
elf.h
entry-macro-multi.S
exception.h
fb.h
fiq.h
firmware.h
fixmap.h
flat.h ARM: 8594/1: enable binfmt_flat on systems with an MMU 2016-08-12 16:47:05 +01:00
floppy.h ARM: 8584/1: floppy: avoid gcc-6 warning 2016-07-02 11:02:13 +01:00
fncpy.h
fpstate.h
ftrace.h ARM: 8632/1: ftrace: fix syscall name matching 2017-01-10 23:32:25 +00:00
futex.h
glue-cache.h ARM: 8607/1: V7M: Wire up caches for V7M processors with cache support. 2016-09-06 15:51:08 +01:00
glue-df.h
glue-pf.h
glue-proc.h
glue.h
gpio.h
hardirq.h
highmem.h
hugetlb-3level.h
hugetlb.h
hw_breakpoint.h ARM: 8598/1: remove traces of perf_ops_bp 2016-08-23 10:09:23 +01:00
hw_irq.h
hwcap.h
hypervisor.h
ide.h
idmap.h
insn.h
io.h ARM: Implement pci_remap_cfgspace() interface 2017-04-24 13:53:13 -05:00
irq_work.h
irq.h nmi_backtrace: add more trigger_*_cpu_backtrace() methods 2016-10-07 18:46:30 -07:00
irqflags.h
jump_label.h
Kbuild sched/cputime: Remove generic asm headers 2017-02-01 09:14:07 +01:00
kexec.h ARM: kexec: fix kexec for Keystone 2 2016-08-02 19:35:29 -04:00
kgdb.h
kmap_types.h
kprobes.h kprobes: move kprobe declarations to asm-generic/kprobes.h 2017-02-27 18:43:45 -08:00
kvm_arm.h
kvm_asm.h arm/arm64: KVM: Perform local TLB invalidation when multiplexing vcpus on a single CPU 2016-11-04 17:56:28 +00:00
kvm_coproc.h
kvm_emulate.h arm: KVM: Add Virtual Abort injection helper 2016-09-08 12:53:00 +02:00
kvm_host.h KVM: arm/arm64: Move cntvoff to each timer context 2017-02-08 15:13:33 +00:00
kvm_hyp.h arm/arm64: KVM: Perform local TLB invalidation when multiplexing vcpus on a single CPU 2016-11-04 17:56:28 +00:00
kvm_mmio.h KVM: arm/arm64: Export mmio_read/write_bus 2016-05-20 15:39:42 +02:00
kvm_mmu.h arm/arm64: KVM: Stop propagating cacheability status of a faulted page 2017-01-30 13:47:38 +00:00
kvm_psci.h
limits.h
linkage.h
mc146818rtc.h
mcpm.h
mcs_spinlock.h
memblock.h
memory.h ARM: 8648/2: nommu: display vectors base 2017-02-28 11:06:14 +00:00
mmu_context.h sched/headers: Prepare to remove the <linux/mm_types.h> dependency from <linux/sched.h> 2017-03-02 08:42:37 +01:00
mmu.h
module.h ARM: kernel: merge core and init PLTs 2016-08-30 17:45:34 +01:00
mpu.h
mtd-xip.h
neon.h
nwflash.h
opcodes-sec.h
opcodes-virt.h
opcodes.h
outercache.h
page-nommu.h
page.h
paravirt.h
patch.h
pci.h
percpu.h
perf_event.h
pgalloc.h arm: get rid of superfluous __GFP_REPEAT 2016-07-26 16:19:19 -07:00
pgtable-2level-hwdef.h ARM: 8612/1: LPAE: initialize cache policy correctly 2016-09-12 12:12:30 +01:00
pgtable-2level-types.h
pgtable-2level.h ARM: 8578/1: mm: ensure pmd_present only checks the valid bit 2016-06-09 17:51:47 +01:00
pgtable-3level-hwdef.h ARM: 8612/1: LPAE: initialize cache policy correctly 2016-09-12 12:12:30 +01:00
pgtable-3level-types.h
pgtable-3level.h ARM: 8579/1: mm: Fix definition of pmd_mknotpresent 2016-06-09 17:51:47 +01:00
pgtable-hwdef.h
pgtable-nommu.h ARM: 8655/1: improve NOMMU definition of pgprot_*() 2017-02-28 11:06:19 +00:00
pgtable.h - ARM: GICv3 ITS emulation and various fixes. Removal of the old 2016-08-02 16:11:27 -04:00
probes.h
proc-fns.h
processor.h locking/core: Provide common cpu_relax_yield() definition 2016-11-17 08:17:36 +01:00
procinfo.h
prom.h
psci.h
ptrace.h ARM: save and reset the address limit when entering an exception 2016-07-07 16:01:01 +01:00
sections.h
setup.h
shmparam.h
signal.h
smp_plat.h
smp_scu.h
smp_twd.h
smp.h
sparsemem.h
spinlock_types.h
spinlock.h locking/spinlock, arch: Update and fix spin_unlock_wait() implementations 2016-06-14 11:55:15 +02:00
stackprotector.h
stacktrace.h
stage2_pgtable.h
string.h
suspend.h
swab.h
switch_to.h
sync_bitops.h
syscall.h
system_info.h
system_misc.h
tcm.h
therm.h
thread_info.h
thread_notify.h
timex.h
tlb.h mm: remove the page size change check in tlb_remove_page 2016-12-12 18:55:07 -08:00
tlbflush.h sched/headers: Prepare to remove the <linux/mm_types.h> dependency from <linux/sched.h> 2017-03-02 08:42:37 +01:00
tls.h
topology.h
traps.h
trusted_foundations.h treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
uaccess.h ARM: 8657/1: uaccess: consistently check object sizes 2017-02-16 15:58:31 +00:00
ucontext.h
unified.h
unistd.h ARM: wire up new pkey syscalls 2016-10-19 10:18:47 +01:00
unwind.h
uprobes.h
user.h
v7m.h ARM: 8603/1: V7M: Add addresses for mem-mapped V7M cache operations 2016-09-06 15:51:06 +01:00
vdso_datapage.h
vdso.h
vfp.h
vfpmacros.h
vga.h
virt.h KVM: arm64: Access CNTHCTL_EL2 bit fields correctly on VHE systems 2017-01-13 11:19:25 +00:00
word-at-a-time.h
xor.h