ia64/xen-unstable

changeset 3340:e8043ed6d8d5

bitkeeper revision 1.1159.1.510 (41d2cc76oov-FQV58eycexLwIuSxMQ)

manual merge
author kaf24@scramble.cl.cam.ac.uk
date Wed Dec 29 15:25:42 2004 +0000 (2004-12-29)
parents 597555bad4b5
children a5ec6d0d2e4c
files xen/arch/x86/setup.c xen/common/domain.c
line diff
     1.1 --- a/xen/arch/x86/setup.c	Wed Dec 29 15:19:14 2004 +0000
     1.2 +++ b/xen/arch/x86/setup.c	Wed Dec 29 15:25:42 2004 +0000
     1.3 @@ -478,7 +478,7 @@ void __init __start_xen(multiboot_info_t
     1.4      cmdline_parse(cmdline);
     1.5  
     1.6      /* Must do this early -- e.g., spinlocks rely on get_current(). */
     1.7 -    set_current(&idle0_task);
     1.8 +    set_current(&idle0_exec_domain);
     1.9  
    1.10      /* We initialise the serial devices very early so we can get debugging. */
    1.11      serial_init_stage1();
    1.12 @@ -594,7 +594,7 @@ void __init __start_xen(multiboot_info_t
    1.13      if ( dom0 == NULL )
    1.14          panic("Error creating domain 0\n");
    1.15  
    1.16 -    set_bit(DF_PRIVILEGED, &dom0->flags);
    1.17 +    set_bit(DF_PRIVILEGED, &dom0->d_flags);
    1.18  
    1.19      /* Grab the DOM0 command line. Skip past the image name. */
    1.20      cmdline = (unsigned char *)(mod[0].string ? __va(mod[0].string) : NULL);
    1.21 @@ -631,7 +631,7 @@ void __init __start_xen(multiboot_info_t
    1.22      /* Give up the VGA console if DOM0 is configured to grab it. */
    1.23      console_endboot(cmdline && strstr(cmdline, "tty0"));
    1.24  
    1.25 -    domain_unpause_by_systemcontroller(current);
    1.26 +    domain_unpause_by_systemcontroller(current->domain);
    1.27      domain_unpause_by_systemcontroller(dom0);
    1.28      startup_cpu_idle_loop();
    1.29  }
     2.1 --- a/xen/common/domain.c	Wed Dec 29 15:19:14 2004 +0000
     2.2 +++ b/xen/common/domain.c	Wed Dec 29 15:25:42 2004 +0000
     2.3 @@ -24,6 +24,7 @@ struct domain *domain_hash[DOMAIN_HASH_S
     2.4  struct domain *domain_list;
     2.5  
     2.6  xmem_cache_t *domain_struct_cachep;
     2.7 +xmem_cache_t *exec_domain_struct_cachep;
     2.8  struct domain *dom0;
     2.9  
    2.10  void __init domain_startofday(void)
    2.11 @@ -32,7 +33,13 @@ void __init domain_startofday(void)
    2.12          "domain_cache", sizeof(struct domain),
    2.13          0, SLAB_HWCACHE_ALIGN, NULL, NULL);
    2.14      if ( domain_struct_cachep == NULL )
    2.15 -        panic("No slab cache for domain structs.");
    2.16 +        BUG();
    2.17 +
    2.18 +    exec_domain_struct_cachep = xmem_cache_create(
    2.19 +        "exec_dom_cache", sizeof(struct exec_domain),
    2.20 +        0, SLAB_HWCACHE_ALIGN, NULL, NULL);
    2.21 +    if ( exec_domain_struct_cachep == NULL )
    2.22 +        BUG();
    2.23  }
    2.24  
    2.25  struct domain *do_createdomain(domid_t dom_id, unsigned int cpu)
    2.26 @@ -303,8 +310,6 @@ int final_setup_guestos(struct domain *p
    2.27      return rc;
    2.28  }
    2.29  
    2.30 -extern xmem_cache_t *exec_domain_struct_cachep;
    2.31 -
    2.32  /*
    2.33   * final_setup_guestos is used for final setup and launching of domains other
    2.34   * than domain 0. ie. the domains that are being built by the userspace dom0