[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [rfc 17/18] ioemu: sort pass-through PCI devices before inserting
When passing though a milti-function device it is important that function zero is inserted first as the multifunction bit in its PCI_HEADER_TYPE needs to be chacked to verify that the device is multi-function and enable probing of non-zero functions in (Linux and probably other) guests. Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> Index: ioemu-remote/hw/pass-through.c =================================================================== --- ioemu-remote.orig/hw/pass-through.c 2009-02-17 17:51:30.000000000 +0900 +++ ioemu-remote/hw/pass-through.c 2009-02-17 17:52:08.000000000 +0900 @@ -751,6 +751,11 @@ static int cmp_php_dev(const struct php_ return 0; } +static int cmp_php_dev_for_qsort(const void *a, const void *b) +{ + return cmp_php_dev(a, b); +} + static void cpy_php_dev(struct php_dev *dst, const struct php_dev *src) { memcpy(dst, src, sizeof(*dst)); @@ -937,6 +942,7 @@ static struct php_dev *parse_bdf(const c } regfree(&preg); + qsort(list, nmemb, sizeof(*list), cmp_php_dev_for_qsort); return list; err: -- -- Simon Horman VA Linux Systems Japan K.K., Sydney, Australia Satellite Office H: www.vergenet.net/~horms/ W: www.valinux.co.jp/en _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |