ia64/xen-unstable

changeset 19408:b7f7fb22210e

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@amd.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Mar 20 08:42:14 2009 +0000 (2009-03-20)
parents db20b819679c
children 2b61a1ee35ee
files xen/arch/x86/hvm/hvm.c
line diff
     1.1 --- a/xen/arch/x86/hvm/hvm.c	Fri Mar 20 08:40:18 2009 +0000
     1.2 +++ b/xen/arch/x86/hvm/hvm.c	Fri Mar 20 08:42:14 2009 +0000
     1.3 @@ -74,11 +74,12 @@ void hvm_enable(struct hvm_function_tabl
     1.4      printk("HVM: %s enabled\n", fns->name);
     1.5  
     1.6      /*
     1.7 -     * Allow direct access to the PC debug port (it is often used for I/O
     1.8 -     * delays, but the vmexits simply slow things down).
     1.9 +     * Allow direct access to the PC debug ports 0x80 and 0xed (they are
    1.10 +     * often used for I/O delays, but the vmexits simply slow things down).
    1.11       */
    1.12      memset(hvm_io_bitmap, ~0, sizeof(hvm_io_bitmap));
    1.13      __clear_bit(0x80, hvm_io_bitmap);
    1.14 +    __clear_bit(0xed, hvm_io_bitmap);
    1.15  
    1.16      hvm_funcs   = *fns;
    1.17      hvm_enabled = 1;