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

Re: [Xen-devel] [IA64] Weekly benchmark results [2009ww51]



Hi,

>>>>> On Mon, 28 Dec 2009 09:33:35 +0000
>>>>> keir.fraser@xxxxxxxxxxxxx(Keir Fraser)  said:
> 
> On 25/12/2009 08:04, "KUWAMURA Shin'ya" <kuwa@xxxxxxxxxxxxxx> wrote:
> 
> > - The hypervisor cannot be built on ia64:
> >     grant_table.c:498: error: `p2m_type_t' undeclared (first use in this
> > function)
> >   This was caused by 20671:3b29ed4ffb15.
> > 
> > - The tool cannot be built on ia64:
> >     /tmp/ccY5EuQL.s:33: Error: Unknown opcode `btsl r33,[r14]'
> >   Because tools/xenpaging/bitops.h supports only x86.
> > 
> > - The tool cannot be built on GCC 3.4.4:
> >     bidir-hash.c:800: warning: implicit declaration of function
> > `__sync_add_and_fetch'
> >   Because the atomic built-in function __sync_add_and_fetch() is
> >   supported on GCC 4.1 or later.
> 
> Hopefully these issues are fixed by xen-unstable:20724 and
> xen-unstable:20725.

Thank you, but some errors still remain. Three patches are attached.

Message:
  grant_table.c: In function ‘__gnttab_map_grant_ref’:
  grant_table.c:565: error: ‘dom_cow’ undeclared (first use in this function)
  grant_table.c:565: error: (Each undeclared identifier is reported only once
  grant_table.c:565: error: for each function it appears in.)
  grant_table.c: In function ‘gnttab_setup_table’:
  grant_table.c:1212: warning: implicit declaration of function ‘SHARED_M2P’
  grant_table.c: In function ‘gnttab_transfer’:
  grant_table.c:1395: error: ‘rd’ undeclared (first use in this function)
  grant_table.c:1395: error: ‘act’ undeclared (first use in this function)
  
  memory.c:25:21: warning: asm/p2m.h: No such file or directory
  memory.c: In function ‘guest_remove_page’:
  memory.c:155: error: ‘p2m_type_t’ undeclared (first use in this function)
  memory.c:155: error: (Each undeclared identifier is reported only once
  memory.c:155: error: for each function it appears in.)
  memory.c:155: error: expected ‘;’ before ‘p2mt’
  memory.c:156: warning: ISO C90 forbids mixed declarations and code
  memory.c:158: warning: implicit declaration of function ‘mfn_x’
  memory.c:158: warning: implicit declaration of function ‘gfn_to_mfn’
  memory.c:158: error: ‘p2mt’ undeclared (first use in this function)
  memory.c:169: warning: implicit declaration of function ‘p2m_is_shared’
  memory.c: In function ‘memory_exchange’:
  memory.c:333: error: ‘p2m_type_t’ undeclared (first use in this function)
  memory.c:333: error: expected ‘;’ before ‘p2mt’
  memory.c:336: warning: implicit declaration of function ‘gfn_to_mfn_unshare’
  memory.c:336: error: ‘p2mt’ undeclared (first use in this function)
  memory.c:387: warning: implicit declaration of function ‘SHARED_M2P’

Best regards,
-- 
  KUWAMURA Shin'ya
# HG changeset patch
# User KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
# Date 1262754437 -32400
# Node ID cfa4f780e933b96dc56b2a38560681f270c6ce90
# Parent  4feec90815a0f8997638600bd0c53a5a5d87f3fe
grant_table: Build fixes for 20725:cba7ef4d08a3

Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>

diff -r 4feec90815a0 -r cfa4f780e933 xen/common/grant_table.c
--- a/xen/common/grant_table.c  Tue Jan 05 08:40:18 2010 +0000
+++ b/xen/common/grant_table.c  Wed Jan 06 14:07:17 2010 +0900
@@ -114,7 +114,7 @@ static unsigned inline int max_nr_maptra
         __x = INVALID_MFN;                                  \
     __x; })
 #else
-#define gfn_to_mfn_private(_d, _gfn) gmfn_to_mfn(rd, act->gfn)
+#define gfn_to_mfn_private(_d, _gfn) gmfn_to_mfn(_d, _gfn)
 #endif
 
 #define SHGNT_PER_PAGE_V1 (PAGE_SIZE / sizeof(grant_entry_v1_t))
# HG changeset patch
# User KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
# Date 1262754504 -32400
# Node ID 45ebc41c8ee6151dbcc72617efc71e10e11bc7bc
# Parent  cfa4f780e933b96dc56b2a38560681f270c6ce90
[IA64] Fix ia64 build for shared pages

Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>

diff -r cfa4f780e933 -r 45ebc41c8ee6 xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c    Wed Jan 06 14:07:17 2010 +0900
+++ b/xen/arch/ia64/xen/mm.c    Wed Jan 06 14:08:24 2010 +0900
@@ -195,7 +195,7 @@ static void __xencomm_mark_dirty(struct 
 
 extern unsigned long ia64_iobase;
 
-struct domain *dom_xen, *dom_io;
+struct domain *dom_xen, *dom_io, *dom_cow;
 
 /*
  * This number is bigger than DOMID_SELF, DOMID_XEN and DOMID_IO.
@@ -223,6 +223,13 @@ alloc_dom_xen_and_dom_io(void)
      */
     dom_io = domain_create(DOMID_IO, DOMCRF_dummy, 0);
     BUG_ON(dom_io == NULL);
+    
+    /*
+     * Initialise our DOMID_IO domain.
+     * This domain owns sharable pages.
+     */
+    dom_cow = domain_create(DOMID_COW, DOMCRF_dummy, 0);
+    BUG_ON(dom_cow == NULL);
 }
 
 static int
diff -r cfa4f780e933 -r 45ebc41c8ee6 xen/include/asm-ia64/mm.h
--- a/xen/include/asm-ia64/mm.h Wed Jan 06 14:07:17 2010 +0900
+++ b/xen/include/asm-ia64/mm.h Wed Jan 06 14:08:24 2010 +0900
@@ -534,6 +534,7 @@ extern u64 translate_domain_pte(u64 ptev
 
 #define INVALID_M2P_ENTRY        (~0UL)
 #define VALID_M2P(_e)            (!((_e) & (1UL<<63)))
+#define SHARED_M2P(_e)           0
 
 #define set_gpfn_from_mfn(mfn, pfn) (machine_to_phys_mapping[(mfn)] = (pfn))
 #define get_gpfn_from_mfn(mfn)      (machine_to_phys_mapping[(mfn)])
@@ -575,6 +576,6 @@ int donate_page(
 
 unsigned long domain_get_maximum_gpfn(struct domain *d);
 
-extern struct domain *dom_xen, *dom_io;        /* for vmcoreinfo */
+extern struct domain *dom_xen, *dom_io, *dom_cow;      /* for vmcoreinfo */
 
 #endif /* __ASM_IA64_MM_H__ */
# HG changeset patch
# User KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
# Date 1262755248 -32400
# Node ID 4675b6163e0d453bb2ac15eb26a1efc3b9280dfd
# Parent  45ebc41c8ee6151dbcc72617efc71e10e11bc7bc
xen: Fix ia64 build

Add #ifdef CONFIG_X86, since p2m_type_t is defined on only x86.

Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>

diff -r 45ebc41c8ee6 -r 4675b6163e0d xen/common/memory.c
--- a/xen/common/memory.c       Wed Jan 06 14:08:24 2010 +0900
+++ b/xen/common/memory.c       Wed Jan 06 14:20:48 2010 +0900
@@ -22,7 +22,9 @@
 #include <xen/tmem.h>
 #include <asm/current.h>
 #include <asm/hardirq.h>
-#include <asm/p2m.h>
+#ifdef CONFIG_X86
+# include <asm/p2m.h>
+#endif
 #include <xen/numa.h>
 #include <public/memory.h>
 #include <xsm/xsm.h>
@@ -152,10 +154,16 @@ int guest_remove_page(struct domain *d, 
 int guest_remove_page(struct domain *d, unsigned long gmfn)
 {
     struct page_info *page;
+#ifdef CONFIG_X86
     p2m_type_t p2mt;
+#endif
     unsigned long mfn;
 
+#ifdef CONFIG_X86
     mfn = mfn_x(gfn_to_mfn(d, gmfn, &p2mt)); 
+#else
+    mfn = gmfn_to_mfn(d, gmfn);
+#endif
     if ( unlikely(!mfn_valid(mfn)) )
     {
         gdprintk(XENLOG_INFO, "Domain %u page number %lx invalid\n",
@@ -164,6 +172,7 @@ int guest_remove_page(struct domain *d, 
     }
             
     page = mfn_to_page(mfn);
+#ifdef CONFIG_X86
     /* If gmfn is shared, just drop the guest reference (which may or may not
      * free the page) */
     if(p2m_is_shared(p2mt))
@@ -173,6 +182,7 @@ int guest_remove_page(struct domain *d, 
         return 1;
     }
 
+#endif /* CONFIG_X86 */
     if ( unlikely(!get_page(page, d)) )
     {
         gdprintk(XENLOG_INFO, "Bad page free for domain %u\n", d->domain_id);
@@ -330,6 +340,7 @@ static long memory_exchange(XEN_GUEST_HA
 
             for ( k = 0; k < (1UL << exch.in.extent_order); k++ )
             {
+#ifdef CONFIG_X86
                 p2m_type_t p2mt;
 
                 /* Shared pages cannot be exchanged */
@@ -339,6 +350,9 @@ static long memory_exchange(XEN_GUEST_HA
                     rc = -ENOMEM;
                     goto fail; 
                 }
+#else /* !CONFIG_X86 */
+                mfn = gmfn_to_mfn(d, gmfn + k);
+#endif
                 if ( unlikely(!mfn_valid(mfn)) )
                 {
                     rc = -EINVAL;
_______________________________________________
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®.