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

[Xen-changelog] [xen-unstable] hvm: Allow HVM guests direct access to 0xed debug/delay port



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1237538534 0
# Node ID b7f7fb22210e3707d456731a4b0c2cc843221a2b
# Parent  db20b819679cadd781c40075cce158361ac39b6a
hvm: Allow HVM guests direct access to 0xed debug/delay port

Port 0x80 is already passed-through.  Writes to port 0x80 are
traditionally used as IO delay.  Recent Linux kernel versions can be
configured to use port 0xed instead (CONFIG_IO_DELAY_0XED=3Dy).
Ubuntu 8.04 and later kernels are configured to use port 0xed.

In Linux IO delay is implemented by (in|out)[bwl]_p.  From a first
glance at Linux it looks like the only relevant usage of delayed IO is
in drivers/video/console/vgacon.c.  Affected is VGA console
initialization and font setup.  Output / scrolling is not affected.

Signed-off-by: Thomas Friebel <thomas.friebel@xxxxxxx>
---
 xen/arch/x86/hvm/hvm.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff -r db20b819679c -r b7f7fb22210e xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c    Fri Mar 20 08:40:18 2009 +0000
+++ b/xen/arch/x86/hvm/hvm.c    Fri Mar 20 08:42:14 2009 +0000
@@ -74,11 +74,12 @@ void hvm_enable(struct hvm_function_tabl
     printk("HVM: %s enabled\n", fns->name);
 
     /*
-     * Allow direct access to the PC debug port (it is often used for I/O
-     * delays, but the vmexits simply slow things down).
+     * Allow direct access to the PC debug ports 0x80 and 0xed (they are
+     * often used for I/O delays, but the vmexits simply slow things down).
      */
     memset(hvm_io_bitmap, ~0, sizeof(hvm_io_bitmap));
     __clear_bit(0x80, hvm_io_bitmap);
+    __clear_bit(0xed, hvm_io_bitmap);
 
     hvm_funcs   = *fns;
     hvm_enabled = 1;

_______________________________________________
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®.