[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] merge?
# HG changeset patch # User cl349@xxxxxxxxxxxxxxxxxxxx # Node ID 66e6479d9ab87afee351cd69036226b3f783a346 # Parent ee68821f4e9c9805d29f86a8229430a02a98b729 # Parent 878ba6d3954ee783549c2014c997116ff1e1194f merge? diff -r ee68821f4e9c -r 66e6479d9ab8 linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32 --- a/linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32 Wed Aug 10 09:46:51 2005 +++ b/linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32 Wed Aug 10 09:47:13 2005 @@ -415,7 +415,7 @@ # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -# CONFIG_CRAMFS is not set +CONFIG_CRAMFS=y # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set diff -r ee68821f4e9c -r 66e6479d9ab8 linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 --- a/linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 Wed Aug 10 09:46:51 2005 +++ b/linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 Wed Aug 10 09:47:13 2005 @@ -748,7 +748,7 @@ # CONFIG_BEFS_DEBUG is not set CONFIG_BFS_FS=m CONFIG_EFS_FS=m -CONFIG_CRAMFS=m +CONFIG_CRAMFS=y CONFIG_VXFS_FS=m # CONFIG_HPFS_FS is not set CONFIG_QNX4FS_FS=m diff -r ee68821f4e9c -r 66e6479d9ab8 xen/common/page_alloc.c --- a/xen/common/page_alloc.c Wed Aug 10 09:46:51 2005 +++ b/xen/common/page_alloc.c Wed Aug 10 09:47:13 2005 @@ -52,7 +52,6 @@ * One bit per page of memory. Bit set => page is allocated. */ -static unsigned long bitmap_size; /* in bytes */ static unsigned long *alloc_bitmap; #define PAGES_PER_MAPWORD (sizeof(unsigned long) * 8) @@ -135,10 +134,16 @@ /* Initialise allocator to handle up to @max_page pages. */ physaddr_t init_boot_allocator(physaddr_t bitmap_start) { + unsigned long bitmap_size; + bitmap_start = round_pgup(bitmap_start); - /* Allocate space for the allocation bitmap. */ + /* + * Allocate space for the allocation bitmap. Include an extra longword + * of padding for possible overrun in map_alloc and map_free. + */ bitmap_size = max_page / 8; + bitmap_size += sizeof(unsigned long); bitmap_size = round_pgup(bitmap_size); alloc_bitmap = (unsigned long *)phys_to_virt(bitmap_start); @@ -171,7 +176,7 @@ else if ( *p != '\0' ) break; - if ( (bad_pfn < (bitmap_size*8)) && !allocated_in_map(bad_pfn) ) + if ( (bad_pfn < max_page) && !allocated_in_map(bad_pfn) ) { printk("Marking page %lx as bad\n", bad_pfn); map_alloc(bad_pfn, 1); @@ -183,7 +188,7 @@ { unsigned long pg, i; - for ( pg = 0; (pg + nr_pfns) < (bitmap_size*8); pg += pfn_align ) + for ( pg = 0; (pg + nr_pfns) < max_page; pg += pfn_align ) { for ( i = 0; i < nr_pfns; i++ ) if ( allocated_in_map(pg + i) ) @@ -362,7 +367,7 @@ printk("Scrubbing Free RAM: "); - for ( pfn = 0; pfn < (bitmap_size * 8); pfn++ ) + for ( pfn = 0; pfn < max_page; pfn++ ) { /* Every 100MB, print a progress dot. */ if ( (pfn % ((100*1024*1024)/PAGE_SIZE)) == 0 ) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |