ia64/xen-unstable

changeset 19295:c4760d58ee6f

[IA64] fix compilation error caused by 19286:dd489125a2e7

This patch fixes compilation error caused by 19286:dd489125a2e7

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author Keir Fraser <keir.fraser@citrix.com>
date Mon Mar 09 09:19:42 2009 +0000 (2009-03-09)
parents 455720d735c7
children 95e3cd67add2
files xen/arch/ia64/xen/xensetup.c xen/include/asm-ia64/mm.h
line diff
     1.1 --- a/xen/arch/ia64/xen/xensetup.c	Mon Mar 09 09:19:10 2009 +0000
     1.2 +++ b/xen/arch/ia64/xen/xensetup.c	Mon Mar 09 09:19:42 2009 +0000
     1.3 @@ -337,6 +337,8 @@ is_platform_hp_ski(void)
     1.4  static int __initdata dom0_vhpt_size_log2;
     1.5  integer_param("dom0_vhpt_size_log2", dom0_vhpt_size_log2);
     1.6  #endif
     1.7 +unsigned long xen_fixed_mfn_start __read_mostly;
     1.8 +unsigned long xen_fixed_mfn_end __read_mostly;
     1.9  
    1.10  void __init start_kernel(void)
    1.11  {
    1.12 @@ -556,6 +558,10 @@ skip_move:
    1.13             (xenheap_phys_end-__pa(xen_heap_start)) >> 20,
    1.14             (xenheap_phys_end-__pa(xen_heap_start)) >> 10);
    1.15  
    1.16 +    /* for is_xen_fixed_mfn() */
    1.17 +    xen_fixed_mfn_start = virt_to_mfn(&_start);
    1.18 +    xen_fixed_mfn_end = virt_to_mfn(xen_heap_start);
    1.19 +
    1.20      end_boot_allocator();
    1.21  
    1.22      softirq_init();
     2.1 --- a/xen/include/asm-ia64/mm.h	Mon Mar 09 09:19:10 2009 +0000
     2.2 +++ b/xen/include/asm-ia64/mm.h	Mon Mar 09 09:19:42 2009 +0000
     2.3 @@ -149,13 +149,34 @@ page_list_splice_init(struct page_list_h
     2.4  # define PGC_xen_heap     PG_mask(1, 2)
     2.5   /* bit PG_shift(3) reserved. See asm-x86/mm.h */
     2.6   /* PG_mask(7, 6) reserved. See asm-x86/mm.h*/
     2.7 +
     2.8 + /* Page is broken? */
     2.9 +#define _PGC_broken       PG_shift(7)
    2.10 +#define PGC_broken        PG_mask(1, 7)
    2.11 + /* Page is offline pending ? */
    2.12 +#define _PGC_offlining    PG_shift(8)
    2.13 +#define PGC_offlining     PG_mask(1, 8)
    2.14 + /* Page is offlined */
    2.15 +#define _PGC_offlined     PG_shift(9)
    2.16 +#define PGC_offlined      PG_mask(1, 9)
    2.17 +#define PGC_offlined_broken (PGC_offlined | PGC_broken)
    2.18 +
    2.19 +#define is_page_offlining(page) ((page)->count_info & PGC_offlining)
    2.20 +#define is_page_offlined(page)  ((page)->count_info & PGC_offlined)
    2.21 +#define is_page_broken(page)    ((page)->count_info & PGC_broken)
    2.22 +#define is_page_online(page)    (!is_page_offlined(page))
    2.23 +
    2.24   /* Count of references to this frame. */
    2.25 -#define PGC_count_width   PG_shift(6)
    2.26 +#define PGC_count_width   PG_shift(9)
    2.27  #define PGC_count_mask    ((1UL<<PGC_count_width)-1)
    2.28  
    2.29 +extern unsigned long xen_fixed_mfn_start;
    2.30 +extern unsigned long xen_fixed_mfn_end;
    2.31  #define is_xen_heap_page(page)  ((page)->count_info & PGC_xen_heap)
    2.32  #define is_xen_heap_mfn(mfn)    (mfn_valid(mfn) &&                      \
    2.33                                   is_xen_heap_page(mfn_to_page(mfn)))
    2.34 +#define is_xen_fixed_mfn(mfn)                                           \
    2.35 +    (xen_fixed_mfn_start <= (mfn) && (mfn) <= xen_fixed_mfn_end)
    2.36  
    2.37  #ifdef CONFIG_IA64_PICKLE_DOMAIN
    2.38  #define page_get_owner(_p)                                              \