ia64/xen-unstable

changeset 2252:2a65e83681e6

bitkeeper revision 1.1159.32.2 (4120c2f7sV0HlymoiDxvLZkiP1uL_Q)

Simplify start_info_t definition.
author kaf24@scramble.cl.cam.ac.uk
date Mon Aug 16 14:21:43 2004 +0000 (2004-08-16)
parents f36e0e397466
children 1ec35141a882 107d8a9674c9
files linux-2.6.7-xen-sparse/include/asm-xen/hypervisor.h linux-2.6.7-xen-sparse/include/asm-xen/suspend.h tools/libxc/xc_linux_build.c tools/libxc/xc_netbsd_build.c xen/include/hypervisor-ifs/hypervisor-if.h xen/include/hypervisor-ifs/io/domain_controller.h
line diff
     1.1 --- a/linux-2.6.7-xen-sparse/include/asm-xen/hypervisor.h	Mon Aug 16 13:04:39 2004 +0000
     1.2 +++ b/linux-2.6.7-xen-sparse/include/asm-xen/hypervisor.h	Mon Aug 16 14:21:43 2004 +0000
     1.3 @@ -21,7 +21,7 @@
     1.4  /* arch/xen/i386/kernel/setup.c */
     1.5  union start_info_union
     1.6  {
     1.7 -    extended_start_info_t start_info;
     1.8 +    start_info_t start_info;
     1.9      char padding[512];
    1.10  };
    1.11  extern union start_info_union start_info_union;
     2.1 --- a/linux-2.6.7-xen-sparse/include/asm-xen/suspend.h	Mon Aug 16 13:04:39 2004 +0000
     2.2 +++ b/linux-2.6.7-xen-sparse/include/asm-xen/suspend.h	Mon Aug 16 14:21:43 2004 +0000
     2.3 @@ -12,7 +12,7 @@
     2.4  
     2.5  typedef struct suspend_record_st {
     2.6      /* To be filled in before resume. */
     2.7 -    extended_start_info_t resume_info;
     2.8 +    start_info_t resume_info;
     2.9      /*
    2.10       * The number of a machine frame containing, in sequence, the number of
    2.11       * each machine frame that contains PFN -> MFN translation table data.
     3.1 --- a/tools/libxc/xc_linux_build.c	Mon Aug 16 13:04:39 2004 +0000
     3.2 +++ b/tools/libxc/xc_linux_build.c	Mon Aug 16 14:21:43 2004 +0000
     3.3 @@ -85,7 +85,7 @@ static int setup_guestos(int xc_handle,
     3.4      unsigned long l2tab;
     3.5      unsigned long l1tab;
     3.6      unsigned long count, i;
     3.7 -    extended_start_info_t *start_info;
     3.8 +    start_info_t *start_info;
     3.9      shared_info_t *shared_info;
    3.10      mmu_t *mmu = NULL;
    3.11      void  *pm_handle=NULL;
     4.1 --- a/tools/libxc/xc_netbsd_build.c	Mon Aug 16 13:04:39 2004 +0000
     4.2 +++ b/tools/libxc/xc_netbsd_build.c	Mon Aug 16 14:21:43 2004 +0000
     4.3 @@ -73,7 +73,7 @@ static int setup_guestos(int xc_handle,
     4.4      unsigned long l1tab;
     4.5      unsigned long count, pt_start;
     4.6      unsigned long symtab_addr = 0, symtab_len = 0;
     4.7 -    extended_start_info_t *start_info;
     4.8 +    start_info_t *start_info;
     4.9      shared_info_t *shared_info;
    4.10      unsigned long ksize;
    4.11      mmu_t *mmu = NULL;
     5.1 --- a/xen/include/hypervisor-ifs/hypervisor-if.h	Mon Aug 16 13:04:39 2004 +0000
     5.2 +++ b/xen/include/hypervisor-ifs/hypervisor-if.h	Mon Aug 16 14:21:43 2004 +0000
     5.3 @@ -2,6 +2,8 @@
     5.4   * hypervisor-if.h
     5.5   * 
     5.6   * Guest OS interface to Xen.
     5.7 + * 
     5.8 + * Copyright (c) 2004, K A Fraser
     5.9   */
    5.10  
    5.11  #ifndef __HYPERVISOR_IF_H__
    5.12 @@ -360,47 +362,35 @@ typedef struct shared_info_st
    5.13   *     extended by an extra 4MB to ensure this.
    5.14   */
    5.15  
    5.16 -/*
    5.17 - * This is the basic bootstrap information structure as passed by Xen to the
    5.18 - * initial controller domain. We want this structure to be easily extended by
    5.19 - * more sophisticated domain builders and controllers, so we make the basic
    5.20 - * fields of this structure available via a BASIC_START_INFO macro.
    5.21 - * 
    5.22 - * Extended version of start_info_t should be defined as:
    5.23 - *  typedef struct {
    5.24 - *      BASIC_START_INFO;
    5.25 - *      <...extra fields...>
    5.26 - *  } extended_start_info_t;
    5.27 - */
    5.28  #define MAX_CMDLINE 256
    5.29 -#define BASIC_START_INFO                                                      \
    5.30 -    /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.     */ \
    5.31 -    memory_t nr_pages;       /*  0: Total pages allocated to this domain. */  \
    5.32 -    _MEMORY_PADDING(A);                                                       \
    5.33 -    memory_t shared_info;    /*  8: MACHINE address of shared info struct.*/  \
    5.34 -    _MEMORY_PADDING(B);                                                       \
    5.35 -    u32      flags;          /* 16: SIF_xxx flags.                        */  \
    5.36 -    u32      __pad;                                                           \
    5.37 -    /* THE FOLLOWING ARE ONLY FILLED IN ON INITIAL BOOT (NOT RESUME).      */ \
    5.38 -    memory_t pt_base;        /* 24: VIRTUAL address of page directory.    */  \
    5.39 -    _MEMORY_PADDING(C);                                                       \
    5.40 -    memory_t nr_pt_frames;   /* 32: Number of bootstrap p.t. frames.      */  \
    5.41 -    _MEMORY_PADDING(D);                                                       \
    5.42 -    memory_t mfn_list;       /* 40: VIRTUAL address of page-frame list.   */  \
    5.43 -    _MEMORY_PADDING(E);                                                       \
    5.44 -    memory_t mod_start;      /* 48: VIRTUAL address of pre-loaded module. */  \
    5.45 -    _MEMORY_PADDING(F);                                                       \
    5.46 -    memory_t mod_len;        /* 56: Size (bytes) of pre-loaded module.    */  \
    5.47 -    _MEMORY_PADDING(G);                                                       \
    5.48 -    u8 cmd_line[MAX_CMDLINE] /* 64 */
    5.49 -
    5.50  typedef struct {
    5.51 -    BASIC_START_INFO;
    5.52 +    /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.     */
    5.53 +    memory_t nr_pages;        /*  0: Total pages allocated to this domain. */
    5.54 +    _MEMORY_PADDING(A);
    5.55 +    memory_t shared_info;     /*  8: MACHINE address of shared info struct.*/
    5.56 +    _MEMORY_PADDING(B);
    5.57 +    u32      flags;           /* 16: SIF_xxx flags.                        */
    5.58 +    u16      domain_controller_evtchn; /* 20 */
    5.59 +    u16      __pad;
    5.60 +    /* THE FOLLOWING ARE ONLY FILLED IN ON INITIAL BOOT (NOT RESUME).      */
    5.61 +    memory_t pt_base;         /* 24: VIRTUAL address of page directory.    */
    5.62 +    _MEMORY_PADDING(C);
    5.63 +    memory_t nr_pt_frames;    /* 32: Number of bootstrap p.t. frames.      */
    5.64 +    _MEMORY_PADDING(D);
    5.65 +    memory_t mfn_list;        /* 40: VIRTUAL address of page-frame list.   */
    5.66 +    _MEMORY_PADDING(E);
    5.67 +    memory_t mod_start;       /* 48: VIRTUAL address of pre-loaded module. */
    5.68 +    _MEMORY_PADDING(F);
    5.69 +    memory_t mod_len;         /* 56: Size (bytes) of pre-loaded module.    */
    5.70 +    _MEMORY_PADDING(G);
    5.71 +    u8 cmd_line[MAX_CMDLINE]; /* 64 */
    5.72  } PACKED start_info_t; /* 320 bytes */
    5.73  
    5.74  /* These flags are passed in the 'flags' field of start_info_t. */
    5.75  #define SIF_PRIVILEGED    (1<<0)  /* Is the domain privileged? */
    5.76  #define SIF_INITDOMAIN    (1<<1)  /* Is this the initial control domain? */
    5.77 +#define SIF_BLK_BE_DOMAIN (1<<4)  /* Is this a block backend domain? */
    5.78 +#define SIF_NET_BE_DOMAIN (1<<5)  /* Is this a net backend domain? */
    5.79  
    5.80  /* For use in guest OSes. */
    5.81  extern shared_info_t *HYPERVISOR_shared_info;
     6.1 --- a/xen/include/hypervisor-ifs/io/domain_controller.h	Mon Aug 16 13:04:39 2004 +0000
     6.2 +++ b/xen/include/hypervisor-ifs/io/domain_controller.h	Mon Aug 16 14:21:43 2004 +0000
     6.3 @@ -11,23 +11,6 @@
     6.4  #define __DOMAIN_CONTROLLER_H__
     6.5  
     6.6  
     6.7 -#ifndef BASIC_START_INFO
     6.8 -#error "Xen header file hypervisor-if.h must already be included here."
     6.9 -#endif
    6.10 -
    6.11 -
    6.12 -/*
    6.13 - * EXTENDED BOOTSTRAP STRUCTURE FOR NEW DOMAINS.
    6.14 - */
    6.15 -
    6.16 -typedef struct {
    6.17 -    BASIC_START_INFO;
    6.18 -    u16 domain_controller_evtchn; /* 320 */
    6.19 -} PACKED extended_start_info_t; /* 322 bytes */
    6.20 -#define SIF_BLK_BE_DOMAIN (1<<4)  /* Is this a block backend domain? */
    6.21 -#define SIF_NET_BE_DOMAIN (1<<5)  /* Is this a net backend domain? */
    6.22 -
    6.23 -
    6.24  /*
    6.25   * Reason codes for SCHEDOP_shutdown. These are opaque to Xen but may be
    6.26   * interpreted by control software to determine the appropriate action. These