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

Re: [Xen-devel] make install-stubdom fails



Dan Hickox, le Sun 22 Mar 2009 11:39:40 -0700, a écrit :
>     I couldn't find any information on this one and thought it might be of use
> to you...
>  
> kernel.c: In function `pcifront_thread':
> kernel.c:456: warning: generating trampoline in object (requires executable
> stack)

I guess the problem is the nested function. We got rid of that in the
unstable tree.  It'd probably be good to backport it to the 3.3 tree.

Samuel




Backport part of unstable changeset 18928:b33b745cd5ec to avoid nested
functions.

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

--- extras/mini-os/kernel.c     2008-08-22 11:49:07.000000000 +0200
+++ /usr/src/xen-unstable.hg/extras/mini-os/kernel.c    2009-03-18 
09:48:46.000000000 +0100
@@ -434,25 +434,25 @@
 
 static struct pcifront_dev *pci_dev;
 
-static void pcifront_thread(void *p)
+static void print_pcidev(unsigned int domain, unsigned int bus, unsigned int 
slot, unsigned int fun)
 {
-    void print(unsigned int domain, unsigned int bus, unsigned int slot, 
unsigned int fun)
-    {
-        unsigned int vendor, device, rev, class;
+    unsigned int vendor, device, rev, class;
 
-        pcifront_conf_read(pci_dev, domain, bus, slot, fun, 0x00, 2, &vendor);
-        pcifront_conf_read(pci_dev, domain, bus, slot, fun, 0x02, 2, &device);
-        pcifront_conf_read(pci_dev, domain, bus, slot, fun, 0x08, 1, &rev);
-        pcifront_conf_read(pci_dev, domain, bus, slot, fun, 0x0a, 2, &class);
+    pcifront_conf_read(pci_dev, domain, bus, slot, fun, 0x00, 2, &vendor);
+    pcifront_conf_read(pci_dev, domain, bus, slot, fun, 0x02, 2, &device);
+    pcifront_conf_read(pci_dev, domain, bus, slot, fun, 0x08, 1, &rev);
+    pcifront_conf_read(pci_dev, domain, bus, slot, fun, 0x0a, 2, &class);
 
-        printk("%04x:%02x:%02x.%02x %04x: %04x:%04x (rev %02x)\n", domain, 
bus, slot, fun, class, vendor, device, rev);
-    }
+    printk("%04x:%02x:%02x.%02x %04x: %04x:%04x (rev %02x)\n", domain, bus, 
slot, fun, class, vendor, device, rev);
+}
 
+static void pcifront_thread(void *p)
+{
     pci_dev = init_pcifront(NULL);
     if (!pci_dev)
         return;
     printk("PCI devices:\n");
-    pcifront_scan(pci_dev, print);
+    pcifront_scan(pci_dev, print_pcidev);
 }
 
 static void fs_thread(void *p)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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