ia64/xen-unstable

changeset 6087:66e6479d9ab8

merge?
author cl349@firebug.cl.cam.ac.uk
date Wed Aug 10 09:47:13 2005 +0000 (2005-08-10)
parents ee68821f4e9c 878ba6d3954e
children d74e320900fd
files linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32 linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 tools/console/daemon/io.c tools/console/daemon/utils.c tools/misc/xend tools/xenstore/utils.c tools/xenstore/utils.h tools/xenstore/xenstored_core.c xen/common/page_alloc.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32	Wed Aug 10 09:46:51 2005 +0000
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32	Wed Aug 10 09:47:13 2005 +0000
     1.3 @@ -415,7 +415,7 @@ CONFIG_RAMFS=y
     1.4  # CONFIG_BEFS_FS is not set
     1.5  # CONFIG_BFS_FS is not set
     1.6  # CONFIG_EFS_FS is not set
     1.7 -# CONFIG_CRAMFS is not set
     1.8 +CONFIG_CRAMFS=y
     1.9  # CONFIG_VXFS_FS is not set
    1.10  # CONFIG_HPFS_FS is not set
    1.11  # CONFIG_QNX4FS_FS is not set
     2.1 --- a/linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64	Wed Aug 10 09:46:51 2005 +0000
     2.2 +++ b/linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64	Wed Aug 10 09:47:13 2005 +0000
     2.3 @@ -748,7 +748,7 @@ CONFIG_BEFS_FS=m
     2.4  # CONFIG_BEFS_DEBUG is not set
     2.5  CONFIG_BFS_FS=m
     2.6  CONFIG_EFS_FS=m
     2.7 -CONFIG_CRAMFS=m
     2.8 +CONFIG_CRAMFS=y
     2.9  CONFIG_VXFS_FS=m
    2.10  # CONFIG_HPFS_FS is not set
    2.11  CONFIG_QNX4FS_FS=m
     9.1 --- a/xen/common/page_alloc.c	Wed Aug 10 09:46:51 2005 +0000
     9.2 +++ b/xen/common/page_alloc.c	Wed Aug 10 09:47:13 2005 +0000
     9.3 @@ -52,7 +52,6 @@ LIST_HEAD(page_scrub_list);
     9.4   *  One bit per page of memory. Bit set => page is allocated.
     9.5   */
     9.6  
     9.7 -static unsigned long  bitmap_size; /* in bytes */
     9.8  static unsigned long *alloc_bitmap;
     9.9  #define PAGES_PER_MAPWORD (sizeof(unsigned long) * 8)
    9.10  
    9.11 @@ -135,10 +134,16 @@ static void map_free(unsigned long first
    9.12  /* Initialise allocator to handle up to @max_page pages. */
    9.13  physaddr_t init_boot_allocator(physaddr_t bitmap_start)
    9.14  {
    9.15 +    unsigned long bitmap_size;
    9.16 +
    9.17      bitmap_start = round_pgup(bitmap_start);
    9.18  
    9.19 -    /* Allocate space for the allocation bitmap. */
    9.20 +    /*
    9.21 +     * Allocate space for the allocation bitmap. Include an extra longword
    9.22 +     * of padding for possible overrun in map_alloc and map_free.
    9.23 +     */
    9.24      bitmap_size  = max_page / 8;
    9.25 +    bitmap_size += sizeof(unsigned long);
    9.26      bitmap_size  = round_pgup(bitmap_size);
    9.27      alloc_bitmap = (unsigned long *)phys_to_virt(bitmap_start);
    9.28  
    9.29 @@ -171,7 +176,7 @@ void init_boot_pages(physaddr_t ps, phys
    9.30          else if ( *p != '\0' )
    9.31              break;
    9.32  
    9.33 -        if ( (bad_pfn < (bitmap_size*8)) && !allocated_in_map(bad_pfn) )
    9.34 +        if ( (bad_pfn < max_page) && !allocated_in_map(bad_pfn) )
    9.35          {
    9.36              printk("Marking page %lx as bad\n", bad_pfn);
    9.37              map_alloc(bad_pfn, 1);
    9.38 @@ -183,7 +188,7 @@ unsigned long alloc_boot_pages(unsigned 
    9.39  {
    9.40      unsigned long pg, i;
    9.41  
    9.42 -    for ( pg = 0; (pg + nr_pfns) < (bitmap_size*8); pg += pfn_align )
    9.43 +    for ( pg = 0; (pg + nr_pfns) < max_page; pg += pfn_align )
    9.44      {
    9.45          for ( i = 0; i < nr_pfns; i++ )
    9.46              if ( allocated_in_map(pg + i) )
    9.47 @@ -362,7 +367,7 @@ void scrub_heap_pages(void)
    9.48  
    9.49      printk("Scrubbing Free RAM: ");
    9.50  
    9.51 -    for ( pfn = 0; pfn < (bitmap_size * 8); pfn++ )
    9.52 +    for ( pfn = 0; pfn < max_page; pfn++ )
    9.53      {
    9.54          /* Every 100MB, print a progress dot. */
    9.55          if ( (pfn % ((100*1024*1024)/PAGE_SIZE)) == 0 )