[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [minios] Fix test application link when various fronts are not enabled



Samuel Thibault, le Mon 07 Jan 2013 22:47:09 +0100, a écrit :
> Ian Campbell, le Thu 29 Nov 2012 11:08:04 +0000, a écrit :
> > On Wed, 2012-11-28 at 20:28 +0000, Samuel Thibault wrote:
> > > When pcifront is not enabled, the test application needs to disable the
> > > PCI test.
> > > 
> > > Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
> > 
> > Does something similar apply to the other *front ?
> 
> Right, here is a patch.

Ah, wait, there is also the shutdown fix before that, here is patch to
be applied on top of it instead.


Fix test application link when various fronts are not enabled.

When fronts are not enabled, the test application needs to disable the
corresponding tests.

Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>

--- a/extras/mini-os/test.c
+++ b/extras/mini-os/test.c
@@ -45,13 +45,13 @@
 #include <xen/features.h>
 #include <xen/version.h>
 
+#ifdef CONFIG_XENBUS
 static unsigned int do_shutdown = 0;
 static unsigned int shutdown_reason;
 static DECLARE_WAIT_QUEUE_HEAD(shutdown_queue);
+#endif
 
-static struct netfront_dev *net_dev;
-static struct semaphore net_sem = __SEMAPHORE_INITIALIZER(net_sem, 0);
-
+#ifdef CONFIG_XENBUS
 void test_xenbus(void);
 
 static void xenbus_tester(void *p)
@@ -59,6 +59,7 @@ static void xenbus_tester(void *p)
     printk("Xenbus tests disabled, because of a Xend bug.\n");
     /* test_xenbus(); */
 }
+#endif
 
 static void periodic_thread(void *p)
 {
@@ -72,12 +73,18 @@ static void periodic_thread(void *p)
     }
 }
 
+#ifdef CONFIG_NETFRONT
+static struct netfront_dev *net_dev;
+static struct semaphore net_sem = __SEMAPHORE_INITIALIZER(net_sem, 0);
+
 static void netfront_thread(void *p)
 {
     net_dev = init_netfront(NULL, NULL, NULL, NULL);
     up(&net_sem);
 }
+#endif
 
+#ifdef CONFIG_BLKFRONT
 static struct blkfront_dev *blk_dev;
 static struct blkfront_info blk_info;
 static uint64_t blk_size_read;
@@ -246,7 +253,9 @@ static void blkfront_thread(void *p)
     }
     up(&blk_sem);
 }
+#endif
 
+#if defined(CONFIG_FBFRONT) && defined(CONFIG_KBDFRONT)
 #define WIDTH 800
 #define HEIGHT 600
 #define DEPTH 32
@@ -436,6 +445,7 @@ static void kbdfront_thread(void *p)
     }
     up(&kbd_sem);
 }
+#endif
 
 #ifdef CONFIG_PCIFRONT
 static struct pcifront_dev *pci_dev;
@@ -469,20 +479,26 @@ static void pcifront_thread(void *p)
 
 void shutdown_frontends(void)
 {
+#ifdef CONFIG_NETFRONT
     down(&net_sem);
     if (net_dev)
         shutdown_netfront(net_dev);
+#endif
 
+#ifdef CONFIG_BLKFRONT
     down(&blk_sem);
     if (blk_dev)
         shutdown_blkfront(blk_dev);
+#endif
 
+#if defined(CONFIG_FBFRONT) && defined(CONFIG_KBDFRONT)
     if (fb_dev)
         shutdown_fbfront(fb_dev);
 
     down(&kbd_sem);
     if (kbd_dev)
         shutdown_kbdfront(kbd_dev);
+#endif
 
 #ifdef CONFIG_PCIFRONT
     down(&pci_sem);
@@ -491,6 +507,7 @@ void shutdown_frontends(void)
 #endif
 }
 
+#ifdef CONFIG_XENBUS
 void app_shutdown(unsigned reason)
 {
     shutdown_reason = reason;
@@ -519,19 +536,30 @@ static void shutdown_thread(void *p)
 
     HYPERVISOR_shutdown(shutdown_reason);
 }
+#endif
 
 int app_main(start_info_t *si)
 {
     printk("Test main: start_info=%p\n", si);
+#ifdef CONFIG_XENBUS
     create_thread("xenbus_tester", xenbus_tester, si);
+#endif
     create_thread("periodic_thread", periodic_thread, si);
+#ifdef CONFIG_NETFRONT
     create_thread("netfront", netfront_thread, si);
+#endif
+#ifdef CONFIG_BLKFRONT
     create_thread("blkfront", blkfront_thread, si);
+#endif
+#if defined(CONFIG_FBFRONT) && defined(CONFIG_KBDFRONT)
     create_thread("fbfront", fbfront_thread, si);
     create_thread("kbdfront", kbdfront_thread, si);
+#endif
 #ifdef CONFIG_PCIFRONT
     create_thread("pcifront", pcifront_thread, si);
 #endif
+#ifdef CONFIG_XENBUS
     create_thread("shutdown", shutdown_thread, si);
+#endif
     return 0;
 }

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.