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>
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) \