From: kaf24@firebug.cl.cam.ac.uk Date: Mon, 29 Aug 2005 14:53:38 +0000 (+0000) Subject: Fix page_is_ram() start-of-day checks, and the watch routine X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16814^2~85^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7fa8b30f7d0ba3eaf33abc898f0dd3708fd58be5;p=xen.git Fix page_is_ram() start-of-day checks, and the watch routine inside balloon driver. Signed-off-by: Keir Fraser --- diff --git a/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c b/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c index 645eaa34d6..ba3c9a6b27 100644 --- a/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c +++ b/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c @@ -219,6 +219,8 @@ static void __init kernel_physical_mapping_init(pgd_t *pgd_base) } } +#ifndef CONFIG_XEN + static inline int page_kills_ppro(unsigned long pagenr) { if (pagenr >= 0x70000 && pagenr <= 0x7003F) @@ -266,6 +268,13 @@ static inline int page_is_ram(unsigned long pagenr) return 0; } +#else /* CONFIG_XEN */ + +#define page_kills_ppro(p) 0 +#define page_is_ram(p) 1 + +#endif + #ifdef CONFIG_HIGHMEM pte_t *kmap_pte; pgprot_t kmap_prot; diff --git a/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c b/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c index f9f7454036..22ad3dfd7d 100644 --- a/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c @@ -767,9 +767,6 @@ void __init clear_kernel_mapping(unsigned long address, unsigned long size) static inline int page_is_ram (unsigned long pagenr) { - if (pagenr < start_pfn || pagenr >= end_pfn) - return 0; - return 1; } diff --git a/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c b/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c index 5498e5a804..dd052e42a0 100644 --- a/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c +++ b/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c @@ -295,10 +295,10 @@ static struct xenbus_watch target_watch = /* React to a change in the target key */ static void watch_target(struct xenbus_watch *watch, const char *node) { - unsigned long new_target; + unsigned long long new_target; int err; - err = xenbus_scanf("memory", "target", "%lu", &new_target); + err = xenbus_scanf("memory", "target", "%llu", &new_target); if (err != 1) { printk(KERN_ERR "Unable to read memory/target\n"); return;