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