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

[Xen-devel] [PATCH RFC 00/20] Change parts of the shadow interface to be domain based



The purpose of this series is to prevent toolstack entry points into the
shadow code from passing d->vcpu[0] for actions which are inherenly domain
wide.  It also fixes the fact that shadow heuristics were being applied to
vcpu 0 for toolstack-initiated actions.

This series is composed mostly of mechanical changes.  The only patches which
have a practical difference on shadow execution are patches 4 and 20

The entire series has been compile tested at each changeset, for both
shadow-paging=y and n.  It has also been tested internally in XenServer, but
appears to have gotten caught up in some collateral damage from an unrelated
merge.  I am rerunning the tests.

This series can be found as in the shadow-dom-v1 branch on

  git://xenbits.xen.org/people/andrewcoop/xen.git


Andrew Cooper (20):
  x86/shadow: Whitespace cleanup
  x86/shadow: Rename hash_foreach() to hash_vcpu_foreach()
  x86/shadow: Introduce 'd' pointers and clean up use of 'v->domain'
  x86/shadow: Only apply shadow heuristics when in guest context
  x86/shadow: Alter shadow_hash_{lookup,insert,delete}() to take a domain
  x86/shadow: Alter *_shadow_status() and make_fl1_shadow() to take a domain
  x86/shadow: Alter sh_type_{is_pinnable,has_up_pointer}() to take a domain
  x86/shadow: Alter OOS functions to take a domain
  x86/shadow: Alter shadow_{pro,de}mote() to take a domain
  x86/shadow: Alter sh_put_ref() and shadow destroy functions to take a domain
  x86/shadow: Alter sh_get_ref() and sh_{,un}pin() to take a domain
  x86/shadow: Alter shadow_set_l?e() to take a domain
  x86/shadow: Alter sh_{clear_shadow_entry,remove_shadow_via_pointer}() to take 
a domain
  x86/shadow: Alter sh_remove_l?_shadow() to take a domain
  x86/shadow: Alter shadow_unhook{_???}_mappings() to take a domain
  x86/shadow: Alter sh_rm_write_access_from_???() to take a domain
  x86/shadow: Alter sh_remove_{all_}shadows{,_and_parents}() to take a domain
  x86/shadow: Alter sh_{remove_all_mappings,rm_mappings_from_l1}() to take a 
domain
  x86/shadow: Alter sh_remove_write_access to take a domain
  x86/shadow: Cleanup of vcpu handling

 xen/arch/x86/hvm/hvm.c           |    2 +-
 xen/arch/x86/mm.c                |    4 +-
 xen/arch/x86/mm/shadow/common.c  |  769 +++++++++++++------------
 xen/arch/x86/mm/shadow/multi.c   | 1180 +++++++++++++++++++-------------------
 xen/arch/x86/mm/shadow/multi.h   |   64 +--
 xen/arch/x86/mm/shadow/private.h |  154 ++---
 xen/arch/x86/mm/shadow/types.h   |   42 +-
 xen/include/asm-x86/shadow.h     |    8 +-
 8 files changed, 1140 insertions(+), 1083 deletions(-)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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