[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] libxc: Do not bother initialising shared-info page in HVM-domain builder.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1279808689 -3600
# Node ID b0b1a6163203574d53876c3afa2e1ffc94c9f3d3
# Parent  bba5ac2066c8dc2896ba6253813a06de74309c23
libxc: Do not bother initialising shared-info page in HVM-domain builder.

It is already zeroed by the hypervisor, and setting the evtchn_mask
array is pointless since its location varies between 32- and 64-bit
guests, and the builder can't know which is the correct bitness.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 tools/libxc/xc_hvm_build.c |   23 +----------------------
 1 files changed, 1 insertion(+), 22 deletions(-)

diff -r bba5ac2066c8 -r b0b1a6163203 tools/libxc/xc_hvm_build.c
--- a/tools/libxc/xc_hvm_build.c        Thu Jul 22 15:19:25 2010 +0100
+++ b/tools/libxc/xc_hvm_build.c        Thu Jul 22 15:24:49 2010 +0100
@@ -28,8 +28,7 @@
 #define SPECIALPAGE_XENSTORE 1
 #define SPECIALPAGE_IOREQ    2
 #define SPECIALPAGE_IDENT_PT 3
-#define SPECIALPAGE_SHINFO   4
-#define NR_SPECIAL_PAGES     5
+#define NR_SPECIAL_PAGES     4
 #define special_pfn(x) (0xff000u - NR_SPECIAL_PAGES + (x))
 
 static void build_hvm_info(void *hvm_info_page, uint64_t mem_size)
@@ -125,8 +124,6 @@ static int setup_guest(xc_interface *xch
     unsigned long target_pages = (unsigned long)target << (20 - PAGE_SHIFT);
     unsigned long pod_pages = 0;
     unsigned long entry_eip, cur_pages;
-    struct xen_add_to_physmap xatp;
-    struct shared_info *shared_info;
     void *hvm_info_page;
     uint32_t *ident_pt;
     struct elf_binary elf;
@@ -337,28 +334,10 @@ static int setup_guest(xc_interface *xch
     build_hvm_info(hvm_info_page, v_end);
     munmap(hvm_info_page, PAGE_SIZE);
 
-    /* Map and initialise shared_info page. */
-    xatp.domid = dom;
-    xatp.space = XENMAPSPACE_shared_info;
-    xatp.idx   = 0;
-    xatp.gpfn  = special_pfn(SPECIALPAGE_SHINFO);
-    if ( (xc_memory_op(xch, XENMEM_add_to_physmap, &xatp) != 0) ||
-         ((shared_info = xc_map_foreign_range(
-             xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
-             special_pfn(SPECIALPAGE_SHINFO))) == NULL) )
-        goto error_out;
-    memset(shared_info, 0, PAGE_SIZE);
-    /* NB. evtchn_upcall_mask is unused: leave as zero. */
-    memset(&shared_info->evtchn_mask[0], 0xff,
-           sizeof(shared_info->evtchn_mask));
-    munmap(shared_info, PAGE_SIZE);
-
     /* Allocate and clear special pages. */
     for ( i = 0; i < NR_SPECIAL_PAGES; i++ )
     {
         xen_pfn_t pfn = special_pfn(i);
-        if ( i == SPECIALPAGE_SHINFO )
-            continue;
         rc = xc_domain_memory_populate_physmap(xch, dom, 1, 0, 0, &pfn);
         if ( rc != 0 )
         {

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.