From 475c3c619983209f4951ba7a122685c6299e3f6e Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 5 Apr 2013 10:36:53 +0000 Subject: do not fake Xen blk & net controllers on dom0 (mga#9546) --- NEWS | 2 ++ pci.c | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/NEWS b/NEWS index 2a69f01..4fc7aea 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +- do not fake Xen blk & net controllers on dom0 (mga#9546) + Version 0.12.6 - 31 March 2013, Thierry Vignaud - add support for detecting Xen blk & net controllers (mga#9546) diff --git a/pci.c b/pci.c index 57f67ab..c841bbe 100644 --- a/pci.c +++ b/pci.c @@ -54,6 +54,16 @@ static void detect_xen(struct pciusb_entries *r) { struct stat sb; if (stat("/sys/bus/xen", &sb) != 0) return; + FILE *f; + if (!(f = fopen("/sys/hypervisor/uuid", "r"))) + return; + char buf[38]; + fgets(buf, sizeof(buf) - 1, f); + fclose(f); + if (!strncmp(buf, "00000000-0000-0000-0000-000000000000", sizeof(buf))) + return; + + // We're now sure to be in a Xen guest: struct pciusb_entry *e = &r->entries[r->nb++]; pciusb_initialize(e); -- cgit v1.2.1