ia64/xen-unstable

changeset 11883:7f861cd3d0c3

[HVM] E820 table misreports the ACPI NVS/Data information which
triggers a complaint from Windows HCT.

Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Winston Wang <winston.l.wang@intel.com>
author kfraser@localhost.localdomain
date Wed Oct 18 17:39:52 2006 +0100 (2006-10-18)
parents 12f7be674616
children 9943e06e966e
files tools/libxc/xc_hvm_build.c
line diff
     1.1 --- a/tools/libxc/xc_hvm_build.c	Wed Oct 18 17:29:08 2006 +0100
     1.2 +++ b/tools/libxc/xc_hvm_build.c	Wed Oct 18 17:39:52 2006 +0100
     1.3 @@ -17,7 +17,6 @@
     1.4  #include <xen/hvm/e820.h>
     1.5  
     1.6  #define HVM_LOADER_ENTR_ADDR  0x00100000
     1.7 -
     1.8  static int
     1.9  parseelfimage(
    1.10      char *elfbase, unsigned long elfsize, struct domain_setup_info *dsi);
    1.11 @@ -82,15 +81,16 @@ static void build_e820map(void *e820_pag
    1.12      e820entry[nr_map].type = E820_IO;
    1.13      nr_map++;
    1.14  
    1.15 +    e820entry[nr_map].addr = 0xEA000;
    1.16 +    e820entry[nr_map].size = 0x01000;
    1.17 +    e820entry[nr_map].type = E820_ACPI;
    1.18 +    nr_map++;
    1.19 +
    1.20      e820entry[nr_map].addr = 0xF0000;
    1.21      e820entry[nr_map].size = 0x10000;
    1.22      e820entry[nr_map].type = E820_RESERVED;
    1.23      nr_map++;
    1.24  
    1.25 -/* ACPI data: 10 pages. */
    1.26 -#define ACPI_DATA_PAGES     10
    1.27 -/* ACPI NVS: 3 pages.   */
    1.28 -#define ACPI_NVS_PAGES      3
    1.29  /* buffered io page.    */
    1.30  #define BUFFERED_IO_PAGES   1
    1.31  /* xenstore page.       */
    1.32 @@ -102,9 +102,7 @@ static void build_e820map(void *e820_pag
    1.33      /* Most of the ram goes here */
    1.34      e820entry[nr_map].addr = 0x100000;
    1.35      e820entry[nr_map].size = mem_size - 0x100000 - PAGE_SIZE *
    1.36 -                                                (ACPI_DATA_PAGES +
    1.37 -                                                 ACPI_NVS_PAGES +
    1.38 -                                                 BUFFERED_IO_PAGES +
    1.39 +                                                (BUFFERED_IO_PAGES +
    1.40                                                   XENSTORE_PAGES +
    1.41                                                   SHARED_IO_PAGES);
    1.42      e820entry[nr_map].type = E820_RAM;
    1.43 @@ -112,27 +110,6 @@ static void build_e820map(void *e820_pag
    1.44  
    1.45      /* Statically allocated special pages */
    1.46  
    1.47 -    /* For ACPI data */
    1.48 -    e820entry[nr_map].addr = mem_size - PAGE_SIZE *
    1.49 -                                        (ACPI_DATA_PAGES +
    1.50 -                                         ACPI_NVS_PAGES +
    1.51 -                                         BUFFERED_IO_PAGES +
    1.52 -                                         XENSTORE_PAGES +
    1.53 -                                         SHARED_IO_PAGES);
    1.54 -    e820entry[nr_map].size = PAGE_SIZE * ACPI_DATA_PAGES;
    1.55 -    e820entry[nr_map].type = E820_ACPI;
    1.56 -    nr_map++;
    1.57 -
    1.58 -    /* For ACPI NVS */
    1.59 -    e820entry[nr_map].addr = mem_size - PAGE_SIZE *
    1.60 -                                        (ACPI_NVS_PAGES +
    1.61 -                                         BUFFERED_IO_PAGES +
    1.62 -                                         XENSTORE_PAGES +
    1.63 -                                         SHARED_IO_PAGES);
    1.64 -    e820entry[nr_map].size = PAGE_SIZE * ACPI_NVS_PAGES;
    1.65 -    e820entry[nr_map].type = E820_NVS;
    1.66 -    nr_map++;
    1.67 -
    1.68      /* For buffered IO requests */
    1.69      e820entry[nr_map].addr = mem_size - PAGE_SIZE *
    1.70                                          (BUFFERED_IO_PAGES +