From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH v4 03/25] A collection of fixes to Xen common files Date: Mon, 9 Jan 2012 17:59:39 +0000 Message-ID: <1326132001-21251-3-git-send-email-stefano.stabellini@eu.citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Tim.Deegan@citrix.com, Ian Campbell , JBeulich@suse.com, stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org From: Stefano Stabellini - call free_xenoprof_pages only ifdef CONFIG_XENOPROF; - define PRI_stime as PRId64 in an header file; - respect boundaries in is_kernel_*; - implement is_kernel_rodata; - guest_physmap_add_page should be ((void)0). Changes in v4: - fix guest_physmap_add_page; Changes in v2: - introduce CONFIG_XENOPROF; - define _srodata and _erodata as const char*. Signed-off-by: Stefano Stabellini Signed-off-by: Ian Campbell Signed-off-by: Tim Deegan --- xen/common/domain.c | 2 ++ xen/common/sched_credit2.c | 6 ------ xen/include/asm-ia64/config.h | 1 + xen/include/asm-x86/config.h | 2 ++ xen/include/xen/kernel.h | 12 +++++++++--- xen/include/xen/paging.h | 2 +- xen/include/xen/time.h | 1 + 7 files changed, 16 insertions(+), 10 deletions(-) diff --git a/xen/common/domain.c b/xen/common/domain.c index 1100517..3c6c5af 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -635,7 +635,9 @@ static void complete_domain_destroy(struct rcu_head *head) sched_destroy_domain(d); /* Free page used by xen oprofile buffer. */ +#ifdef CONFIG_XENOPROF free_xenoprof_pages(d); +#endif xfree(d->mem_event); diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c index 65825b4..ac2be2a 100644 --- a/xen/common/sched_credit2.c +++ b/xen/common/sched_credit2.c @@ -26,12 +26,6 @@ #include #include -#if __i386__ -#define PRI_stime "lld" -#else -#define PRI_stime "ld" -#endif - #define d2printk(x...) //#define d2printk printk diff --git a/xen/include/asm-ia64/config.h b/xen/include/asm-ia64/config.h index be94b48..0173487 100644 --- a/xen/include/asm-ia64/config.h +++ b/xen/include/asm-ia64/config.h @@ -20,6 +20,7 @@ #define CONFIG_EFI #define CONFIG_EFI_PCDP #define CONFIG_SERIAL_SGI_L1_CONSOLE +#define CONFIG_XENOPROF 1 #define CONFIG_XEN_SMP diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h index 40a7b8c..905c0f8 100644 --- a/xen/include/asm-x86/config.h +++ b/xen/include/asm-x86/config.h @@ -43,6 +43,8 @@ #define CONFIG_HOTPLUG 1 #define CONFIG_HOTPLUG_CPU 1 +#define CONFIG_XENOPROF 1 + #define HZ 100 #define OPT_CONSOLE_STR "vga" diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h index fd03f74..92de428 100644 --- a/xen/include/xen/kernel.h +++ b/xen/include/xen/kernel.h @@ -66,19 +66,25 @@ extern char _start[], _end[]; #define is_kernel(p) ({ \ char *__p = (char *)(unsigned long)(p); \ - (__p >= _start) && (__p <= _end); \ + (__p >= _start) && (__p < _end); \ }) extern char _stext[], _etext[]; #define is_kernel_text(p) ({ \ char *__p = (char *)(unsigned long)(p); \ - (__p >= _stext) && (__p <= _etext); \ + (__p >= _stext) && (__p < _etext); \ +}) + +extern const char _srodata[], _erodata[]; +#define is_kernel_rodata(p) ({ \ + const char *__p = (const char *)(unsigned long)(p); \ + (__p >= _srodata) && (__p < _erodata); \ }) extern char _sinittext[], _einittext[]; #define is_kernel_inittext(p) ({ \ char *__p = (char *)(unsigned long)(p); \ - (__p >= _sinittext) && (__p <= _einittext); \ + (__p >= _sinittext) && (__p < _einittext); \ }) #endif /* _LINUX_KERNEL_H */ diff --git a/xen/include/xen/paging.h b/xen/include/xen/paging.h index abe276d..a5d3261 100644 --- a/xen/include/xen/paging.h +++ b/xen/include/xen/paging.h @@ -20,7 +20,7 @@ #define paging_mode_translate(d) (0) #define paging_mode_external(d) (0) -#define guest_physmap_add_page(d, p, m, o) (0) +#define guest_physmap_add_page(d, p, m, o) ((void)0) #define guest_physmap_remove_page(d, p, m, o) ((void)0) #endif diff --git a/xen/include/xen/time.h b/xen/include/xen/time.h index a194340..31c9ce5 100644 --- a/xen/include/xen/time.h +++ b/xen/include/xen/time.h @@ -30,6 +30,7 @@ struct vcpu; */ typedef s64 s_time_t; +#define PRI_stime PRId64 s_time_t get_s_time(void); unsigned long get_localtime(struct domain *d); -- 1.7.2.5