linux/arch/x86
Konrad Rzeszutek Wilk 5bef80a4b8 x86, iommu: Add proper dependency sort routine (and sanity check).
We are using a very simple sort routine which sorts the .iommu_table
array in the order of dependencies. Specifically each structure
of iommu_table_entry has a field 'depend' which contains the function
pointer to the IOMMU that MUST be run before us. We sort the array
of structures so that the struct iommu_table_entry with no
'depend' field are first, and then the subsequent ones are the
ones for which the 'depend' function has been already invoked
(in other words, precede us).

Using the kernel's version 'sort', which is a mergeheap is
feasible, but would require making the comparison operator
scan recursivly the array to satisfy the "heapify" process: setting the
levels properly. The end result would much more complex than it should
be an it is just much simpler to utilize this simple sort routine.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
LKML-Reference: <1282845485-8991-4-git-send-email-konrad.wilk@oracle.com>
CC: H. Peter Anvin <hpa@zytor.com>
CC: Fujita Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-08-26 15:13:19 -07:00
..
boot x86, setup: move isdigit.h to ctype.h, header files on top. 2010-08-02 21:07:20 -07:00
configs defconfig reduction 2010-08-14 22:26:53 +02:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-05-03 11:28:58 +08:00
ia32 Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
include/asm x86, iommu: Add proper dependency sort routine (and sanity check). 2010-08-26 15:13:19 -07:00
kernel x86, iommu: Add proper dependency sort routine (and sanity check). 2010-08-26 15:13:19 -07:00
kvm Merge branch 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2010-08-22 11:27:36 -07:00
lguest Merge branch 'ht-delete-2.6.35' into release 2010-05-28 16:20:35 -04:00
lib Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-13 10:35:48 -07:00
math-emu x86, fpu: Unbreak FPU emulation 2010-05-10 13:37:16 -07:00
mm x86: don't send SIGBUS for kernel page faults 2010-08-13 09:49:20 -07:00
oprofile oprofile: add support for Intel processor model 30 2010-08-05 12:17:38 +02:00
pci x86/PCI: use for_each_pci_dev() 2010-07-30 09:47:33 -07:00
power update email address 2010-07-19 10:56:54 +02:00
tools x86: Remove trailing spaces in messages 2010-02-07 17:47:51 +01:00
vdso Merge branches 'x86-cleanups-for-linus', 'x86-vmware-for-linus', 'x86-mtrr-for-linus', 'x86-apic-for-linus', 'x86-fpu-for-linus' and 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 16:22:59 -07:00
video
xen Merge branch 'stable/xen-swiotlb-0.8.6' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2010-08-12 09:09:41 -07:00
.gitignore add random binaries to .gitignore 2010-04-08 11:34:34 +02:00
Kbuild
Kconfig Replace Configure with Enable in description of MAXSMP 2010-08-21 12:38:58 -07:00
Kconfig.cpu Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:58:16 -07:00
Kconfig.debug Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:40:21 -07:00
Makefile x86: Use .cfi_sections for assembly code 2010-05-13 22:15:18 -07:00
Makefile_32.cpu Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:38:11 -08:00