# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1168364593 0
# Node ID 51fd5bdc2744d7eedce5907be88347e477f1e0f0
# Parent 7fd4e256196b6b9f5b47377622e663ebd7b856b9
[HVM] Ignore evtchn_upcall_mask and initialise to zero.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
tools/libxc/xc_hvm_build.c | 3 +--
xen/arch/x86/hvm/irq.c | 3 ++-
2 files changed, 3 insertions(+), 3 deletions(-)
diff -r 7fd4e256196b -r 51fd5bdc2744 tools/libxc/xc_hvm_build.c
--- a/tools/libxc/xc_hvm_build.c Tue Jan 09 17:38:48 2007 +0000
+++ b/tools/libxc/xc_hvm_build.c Tue Jan 09 17:43:13 2007 +0000
@@ -233,8 +233,7 @@ static int setup_guest(int xc_handle,
SCRATCH_PFN)) == NULL) )
goto error_out;
memset(shared_info, 0, PAGE_SIZE);
- for ( i = 0; i < MAX_VIRT_CPUS; i++ )
- shared_info->vcpu_info[i].evtchn_upcall_mask = 1;
+ /* 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);
diff -r 7fd4e256196b -r 51fd5bdc2744 xen/arch/x86/hvm/irq.c
--- a/xen/arch/x86/hvm/irq.c Tue Jan 09 17:38:48 2007 +0000
+++ b/xen/arch/x86/hvm/irq.c Tue Jan 09 17:43:13 2007 +0000
@@ -135,7 +135,8 @@ void hvm_set_callback_irq_level(void)
if ( gsi == 0 )
goto out;
- if ( local_events_need_delivery() )
+ /* NB. Do not check the evtchn_upcall_mask. It is not used in HVM mode. */
+ if ( vcpu_info(v, evtchn_upcall_pending) )
{
if ( !__test_and_set_bit(0, &hvm_irq->callback_irq_wire) &&
(hvm_irq->gsi_assert_count[gsi]++ == 0) )
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|