97027da6ad
The most important part of these updates is the IOMMU groups code enhancement written by Alex Williamson. It abstracts the problem that a given hardware IOMMU can't isolate any given device from any other device (e.g. 32 bit PCI devices can't usually be isolated). Devices that can't be isolated are grouped together. This code is required for the upcoming VFIO framework. Another IOMMU-API change written by be is the introduction of domain attributes. This makes it easier to handle GART-like IOMMUs with the IOMMU-API because now the start-address and the size of the domain address space can be queried. Besides that there are a few cleanups and fixes for the NVidia Tegra IOMMU drivers and the reworked init-code for the AMD IOMMU. The later is from my patch-set to support interrupt remapping. The rest of this patch-set requires x86 changes which are not mergabe yet. So full support for interrupt remapping with AMD IOMMUs will come in a future merge window. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJQDV/MAAoJECvwRC2XARrjSDcP+gJbtSHDMyZ71zyfQfAZcxJt rTqLbdZRtIjrjgtKSEDp8u5Bo5TK9dAYoZVuJMOZewFzwI/fSfbRsWp1PU0I88Fr ZzM+/o1N9MLvf1e3kRVOzNzUfku+jTQgUBD4txsbtQzc/IeGHe9qP1Bqzs/xg4Pk SjWu7pLNYxaER10z76nRodNn6zGjsc7GFdOW8cJu2HOAHhisIAR291jSQgd6Rz9r zWqSTsXIEzYt2CtU3G2/tFJ554Mp8v5F80gHo+0Ldw8aNxlD6nGtbqGNt+KI8qTv MUL8KJ0TNms9CZdti1CSlSNp51VgJi2GaWKCaDAkYuuER2IbC/8Yp/p2DIIA0GNp HpziIs+dauZPWfZHc6oU7lJAClGAG4MUx7CysVIOzl7ML/Bf4mjYv0faGf5YQfyE weOR+OPPIWDUwgjzHKMAboA4ijkE/v+EKjOaN/S9rEqFEMKC99fwGkf9wUcpZTne 8lzdI2JrgYNDWMVNYlomeLD4lBAbxb/QsnRUa33igjr0MclvMDkp5HaO631Z1+Zx be2z8Rl1CtMwS4qeaOXoeaoNWHU26+oJRZNtCGi/Fw4aKqYXP1dnE/m0GtqEP9Yi +CU2rKbZn3j0+ZcQjCQop8FREPrZ2/Uaji70b6G7WZ2ApcqBxzBffpbMKOmd6T1D HIzGh0fpdYNDuwn6Txit =MbAC -----END PGP SIGNATURE----- Merge tag 'iommu-updates-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull IOMMU updates from Joerg Roedel: "The most important part of these updates is the IOMMU groups code enhancement written by Alex Williamson. It abstracts the problem that a given hardware IOMMU can't isolate any given device from any other device (e.g. 32 bit PCI devices can't usually be isolated). Devices that can't be isolated are grouped together. This code is required for the upcoming VFIO framework. Another IOMMU-API change written by me is the introduction of domain attributes. This makes it easier to handle GART-like IOMMUs with the IOMMU-API because now the start-address and the size of the domain address space can be queried. Besides that there are a few cleanups and fixes for the NVidia Tegra IOMMU drivers and the reworked init-code for the AMD IOMMU. The latter is from my patch-set to support interrupt remapping. The rest of this patch-set requires x86 changes which are not mergabe yet. So full support for interrupt remapping with AMD IOMMUs will come in a future merge window." * tag 'iommu-updates-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (33 commits) iommu/amd: Fix hotplug with iommu=pt iommu/amd: Add missing spin_lock initialization iommu/amd: Convert iommu initialization to state machine iommu/amd: Introduce amd_iommu_init_dma routine iommu/amd: Move unmap_flush message to amd_iommu_init_dma_ops() iommu/amd: Split enable_iommus() routine iommu/amd: Introduce early_amd_iommu_init routine iommu/amd: Move informational prinks out of iommu_enable iommu/amd: Split out PCI related parts of IOMMU initialization iommu/amd: Use acpi_get_table instead of acpi_table_parse iommu/amd: Fix sparse warnings iommu/tegra: Don't call alloc_pdir with as->lock iommu/tegra: smmu: Fix unsleepable memory allocation at alloc_pdir() iommu/tegra: smmu: Remove unnecessary sanity check at alloc_pdir() iommu/exynos: Implement DOMAIN_ATTR_GEOMETRY attribute iommu/tegra: Implement DOMAIN_ATTR_GEOMETRY attribute iommu/msm: Implement DOMAIN_ATTR_GEOMETRY attribute iommu/omap: Implement DOMAIN_ATTR_GEOMETRY attribute iommu/vt-d: Implement DOMAIN_ATTR_GEOMETRY attribute iommu/amd: Implement DOMAIN_ATTR_GEOMETRY attribute ... |
||
---|---|---|
.. | ||
acpi | ||
apic | ||
cpu | ||
.gitignore | ||
alternative.c | ||
amd_gart_64.c | ||
amd_nb.c | ||
apb_timer.c | ||
aperture_64.c | ||
apm_32.c | ||
asm-offsets.c | ||
asm-offsets_32.c | ||
asm-offsets_64.c | ||
audit_64.c | ||
bootflag.c | ||
check.c | ||
cpuid.c | ||
crash.c | ||
crash_dump_32.c | ||
crash_dump_64.c | ||
devicetree.c | ||
doublefault_32.c | ||
dumpstack.c | ||
dumpstack_32.c | ||
dumpstack_64.c | ||
e820.c | ||
early-quirks.c | ||
early_printk.c | ||
entry_32.S | ||
entry_64.S | ||
ftrace.c | ||
head.c | ||
head32.c | ||
head64.c | ||
head_32.S | ||
head_64.S | ||
hpet.c | ||
hw_breakpoint.c | ||
i386_ksyms_32.c | ||
i387.c | ||
i8237.c | ||
i8253.c | ||
i8259.c | ||
io_delay.c | ||
ioport.c | ||
irq.c | ||
irq_32.c | ||
irq_64.c | ||
irq_work.c | ||
irqinit.c | ||
jump_label.c | ||
kdebugfs.c | ||
kgdb.c | ||
kprobes-common.h | ||
kprobes-opt.c | ||
kprobes.c | ||
kvm.c | ||
kvmclock.c | ||
ldt.c | ||
machine_kexec_32.c | ||
machine_kexec_64.c | ||
Makefile | ||
microcode_amd.c | ||
microcode_core.c | ||
microcode_intel.c | ||
mmconf-fam10h_64.c | ||
module.c | ||
mpparse.c | ||
msr.c | ||
nmi.c | ||
nmi_selftest.c | ||
paravirt-spinlocks.c | ||
paravirt.c | ||
paravirt_patch_32.c | ||
paravirt_patch_64.c | ||
pci-calgary_64.c | ||
pci-dma.c | ||
pci-iommu_table.c | ||
pci-nommu.c | ||
pci-swiotlb.c | ||
pcspeaker.c | ||
probe_roms.c | ||
process.c | ||
process_32.c | ||
process_64.c | ||
ptrace.c | ||
pvclock.c | ||
quirks.c | ||
reboot.c | ||
reboot_fixups_32.c | ||
relocate_kernel_32.S | ||
relocate_kernel_64.S | ||
resource.c | ||
rtc.c | ||
setup.c | ||
setup_percpu.c | ||
signal.c | ||
smp.c | ||
smpboot.c | ||
stacktrace.c | ||
step.c | ||
sys_i386_32.c | ||
sys_x86_64.c | ||
syscall_32.c | ||
syscall_64.c | ||
tboot.c | ||
tce_64.c | ||
test_nx.c | ||
test_rodata.c | ||
time.c | ||
tls.c | ||
tls.h | ||
topology.c | ||
traps.c | ||
tsc.c | ||
tsc_sync.c | ||
uprobes.c | ||
verify_cpu.S | ||
vm86_32.c | ||
vmlinux.lds.S | ||
vsmp_64.c | ||
vsyscall_64.c | ||
vsyscall_emu_64.S | ||
vsyscall_trace.h | ||
x86_init.c | ||
x8664_ksyms_64.c | ||
xsave.c |