# HG changeset patch # User gingold@virtu10 # Node ID c317d53af7a217096ffffb7abfa1c2870e2475ca # Parent 2fa8573b248f78f716a8926b29e294f97e99e631 Check wether Xen is running before setting up a Xen driver. Replace calls to xen_init() by is_running_on_xen(). Signed-off-by: Tristan Gingold diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c --- a/linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c Fri May 19 12:45:58 2006 +0200 @@ -191,6 +191,7 @@ swiotlb_init(void) if (swiotlb_force == 1) { swiotlb = 1; } else if ((swiotlb_force != -1) && + is_running_on_xen() && (xen_start_info->flags & SIF_INITDOMAIN)) { /* Domain 0 always has a swiotlb. */ ram_end = HYPERVISOR_memory_op(XENMEM_maximum_ram_page, NULL); diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c --- a/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c Fri May 19 12:45:58 2006 +0200 @@ -468,8 +468,8 @@ static int __init balloon_init(void) IPRINTK("Initialising balloon driver.\n"); - if (xen_init() < 0) - return -1; + if (!is_running_on_xen()) + return -ENODEV; current_pages = min(xen_start_info->nr_pages, max_pfn); totalram_pages = current_pages; diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c --- a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c Fri May 19 12:45:58 2006 +0200 @@ -526,7 +526,7 @@ static int __init blkif_init(void) struct page *page; int i; - if (xen_init() < 0) + if (!is_running_on_xen()) return -ENODEV; mmap_pages = blkif_reqs * BLKIF_MAX_SEGMENTS_PER_REQUEST; diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c --- a/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Fri May 19 12:45:58 2006 +0200 @@ -792,7 +792,7 @@ static struct xenbus_driver blkfront = { static int __init xlblk_init(void) { - if (xen_init() < 0) + if (!is_running_on_xen()) return -ENODEV; return xenbus_register_frontend(&blkfront); diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/console/console.c --- a/linux-2.6-xen-sparse/drivers/xen/console/console.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/console/console.c Fri May 19 12:45:58 2006 +0200 @@ -183,7 +183,7 @@ static struct console kcons_info = { #define __RETCODE 0 static int __init xen_console_init(void) { - if (xen_init() < 0) + if (!is_running_on_xen()) return __RETCODE; if (xen_start_info->flags & SIF_INITDOMAIN) { @@ -566,7 +566,7 @@ static int __init xencons_init(void) { int rc; - if (xen_init() < 0) + if (!is_running_on_xen()) return -ENODEV; if (xc_mode == XC_OFF) diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/core/gnttab.c --- a/linux-2.6-xen-sparse/drivers/xen/core/gnttab.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/core/gnttab.c Fri May 19 12:45:58 2006 +0200 @@ -443,7 +443,7 @@ gnttab_init(void) { int i; - if (xen_init() < 0) + if (!is_running_on_xen()) return -ENODEV; if (gnttab_resume() < 0) diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/core/hypervisor_sysfs.c --- a/linux-2.6-xen-sparse/drivers/xen/core/hypervisor_sysfs.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/core/hypervisor_sysfs.c Fri May 19 12:45:58 2006 +0200 @@ -49,6 +49,9 @@ static struct kobj_type hyp_sysfs_kobj_t static int __init hypervisor_subsys_init(void) { + if (!is_running_on_xen()) + return -ENODEV; + hypervisor_subsys.kset.kobj.ktype = &hyp_sysfs_kobj_type; return subsystem_register(&hypervisor_subsys); } diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/core/xen_sysfs.c --- a/linux-2.6-xen-sparse/drivers/xen/core/xen_sysfs.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/core/xen_sysfs.c Fri May 19 12:45:58 2006 +0200 @@ -276,7 +276,12 @@ static void xen_properties_destroy(void) static int __init hyper_sysfs_init(void) { - int ret = xen_sysfs_type_init(); + int ret; + + if (!is_running_on_xen()) + return -ENODEV; + + ret = xen_sysfs_type_init(); if (ret) goto out; ret = xen_sysfs_version_init(); diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/evtchn/evtchn.c --- a/linux-2.6-xen-sparse/drivers/xen/evtchn/evtchn.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/evtchn/evtchn.c Fri May 19 12:45:58 2006 +0200 @@ -429,6 +429,9 @@ static int __init evtchn_init(void) { int err; + if (!is_running_on_xen()) + return -ENODEV; + spin_lock_init(&port_user_lock); memset(port_user, 0, sizeof(port_user)); diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/netback/netback.c --- a/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Fri May 19 12:45:58 2006 +0200 @@ -808,6 +808,9 @@ static int __init netback_init(void) int i; struct page *page; + if (!is_running_on_xen()) + return -ENODEV; + /* We can increase reservation by this much in net_rx_action(). */ balloon_update_driver_allowance(NET_RX_RING_SIZE); diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Fri May 19 12:45:58 2006 +0200 @@ -1341,6 +1341,9 @@ static int __init netif_init(void) { int err = 0; + if (!is_running_on_xen()) + return -ENODEV; + if (xen_start_info->flags & SIF_INITDOMAIN) return 0; diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c --- a/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Fri May 19 12:45:58 2006 +0200 @@ -271,6 +271,9 @@ static int capabilities_read(char *page, static int __init privcmd_init(void) { + if (!is_running_on_xen()) + return -ENODEV; + /* Set of hypercalls that privileged applications may execute. */ set_bit(__HYPERVISOR_acm_op, hypercall_permission_map); set_bit(__HYPERVISOR_dom0_op, hypercall_permission_map); diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Fri May 19 12:45:58 2006 +0200 @@ -966,10 +966,8 @@ static int __init xenbus_probe_init(void DPRINTK(""); - if (xen_init() < 0) { - DPRINTK("failed"); + if (!is_running_on_xen()) return -ENODEV; - } /* Register ourselves with the kernel bus subsystem */ bus_register(&xenbus_frontend.bus); @@ -1069,10 +1067,8 @@ static int __init wait_for_devices(void) { unsigned long timeout = jiffies + 10*HZ; - if (xen_init() < 0) { - DPRINTK("failed"); + if (!is_running_on_xen()) return -ENODEV; - } while (time_before(jiffies, timeout)) { if (all_devices_ready()) diff -r 2fa8573b248f -r c317d53af7a2 linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypervisor.h --- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypervisor.h Thu May 18 14:05:30 2006 -0600 +++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypervisor.h Fri May 19 12:45:58 2006 +0200 @@ -118,7 +118,7 @@ u64 jiffies_to_st(unsigned long jiffies) #define MULTI_UVMDOMID_INDEX 4 #endif -#define xen_init() (0) +#define is_running_on_xen() 1 static inline int HYPERVISOR_yield(