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

[Xen-devel] [PATCH] Re: [Xen-staging] [xen-unstable] Explicitly tag every anonymous aggregate in the public headers.



On Wed, 2008-03-26 at 10:16 +0000, Xen staging patchbot-unstable wrote:
> # HG changeset patch
> # User Keir Fraser <keir.fraser@xxxxxxxxxx>
> # Date 1206526490 0
> # Node ID 5d25187bac941611a8a836b668a398a72df0afb0
> # Parent  966c04d42e94546287a1145c82e13073f28ef116
> Explicitly tag every anonymous aggregate in the public headers.

   My previous fix allowed this to build on ia64, but it turns out
there's still a boot issue that I don't understand.  As is, we take a
nested dtlb fault on boot, which hg bisect determines is caused by this
patch.  From a simple test program, I can verify that only the outermost
__extension__ is necessary to include code w/ -std=c99.  So embedding an
__extension__ within an __extension__ isn't necessary, but I don't know
why it actually changes the behavior of the code.  The patch below
reverts a few chucks of this cset and gets us booting again.  FWIW, I'm
using gcc-4.1.2.  Thanks,

        Alex

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---

diff -r 6736c28a0d35 xen/include/public/arch-ia64.h
--- a/xen/include/public/arch-ia64.h    Fri Mar 28 17:58:36 2008 +0000
+++ b/xen/include/public/arch-ia64.h    Fri Mar 28 14:51:41 2008 -0600
@@ -182,7 +182,7 @@ struct mapped_regs {
     unsigned long  reserved4[76];
     __anonymous_union {
         unsigned long  vcr[128];
-        __anonymous_struct {
+        struct {
             unsigned long dcr;  // CR0
             unsigned long itm;
             unsigned long iva;
@@ -216,7 +216,7 @@ struct mapped_regs {
     };
     __anonymous_union {
         unsigned long  reserved5[128];
-        __anonymous_struct {
+        struct {
             unsigned long precover_ifs;
             unsigned long unat;  // not sure if this is needed until NaT arch 
is done
             int interrupt_collection_enabled; // virtual psr.ic
@@ -609,7 +609,7 @@ struct xen_ia64_opt_feature {
        unsigned long cmd;              /* Which feature */
        unsigned char on;               /* Switch feature on/off */
        __anonymous_union {
-               __anonymous_struct {
+               struct {
                                /* The page protection bit mask of the pte.
                                 * This will be or'ed with the pte. */
                        unsigned long pgprot;



_______________________________________________
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®.