[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |