Red Hat Paravirtualized Xen Drivers for Windows(R)

These packages contains drivers for Microsoft Windows(R) operating systems
running as Xen guests on Red Hat Enterprise Linux.


Files:
------

README.txt                - This readme file
xenpv-win.exe             - Drivers for Windows(R) Guests
xenpv-win-debug.exe       - Drivers for Windows(R) Guests (debug)


Driver Listing:
---------------

rhelscsi - This contains a paravirtualized SCSI Miniport driver that improves
           performance for accessing virtual disks.  This driver replaces the
           built in IDE driver on Windows guests.

rhelnet  - This contains a paravirtualized network driver to improve network
           performance.  This driver replaces the built-in network driver on
           Windows guests.


Supported Host Operating Systems:
---------------------------------

Red Hat Enterprise Linux 5.2 (x86_64 and i686)


Supported Guest Operating Systems:
----------------------------------

Windows(R) XP Service Pack 2 (x86)
Windows(R) XP (x64)
Windows(R) 2003 Server Service Pack 2 (x86 and x64)
Windows(R) Vista (x86 and x64)
Windows(R) 2008 Server (x64)
Windows(R) 7 (x86 and x64)
Windows(R) 2008R2 Server (x64)

Each of the above listed operating systems should have the latest hotfixes
and patches installed from Microsoft Windows(R) Update.


Known Issues:
-------------

* The boot disk must be installed on the primary IDE channel as device 0
  (target device in the domU configuration should be 'hda').  The boot
  disk will still operate as a PV device after boot.

* After installation or uninstallation the installer will prompt for a
  reboot, as well as showing 'Add New Hardware Wizard' prompting
  the user to install the rhelnet drivers for the network devices.  Simply
  click through this dialog and the driver will be installed properly.
  If you reboot first, the wizards will pop up again after reboot.

* After reboot, one or more 'Add New Hardware Wizard' dialogs may still
  appear for 'RHEL Removed FV Device'.  These are fake devices corresponding
  to the emulated disk and network cards, which the PV drivers automatically
  disable.


Release Notes:
--------------
1.3.0  - Fixed bug in communications between the guest and the host.
         Support for disabling and enabling both rhelnet and rhelscsi via
         Device Manager.  Fixed various bugs in NIC hot-plug and hot-unplug.

1.2.0  - Rhelnet drivers can now be installed before rebooting.  Upgrading
         from 0.97.x to 1.2.0 will not present again the 'Add New Hardware
         Wizard' for network devices.  Support for RHEL5.5 and newer.

1.1.0  - Support for /nopv boot option, automatic blacklisting of the
         non-paravirtualized disks and network cards.

1.0.91 - Support for "xm shutdown" and "xm reboot", installer support
         for Windows Vista and Windows Server 2008, fixed possible data
         loss upon detaching a block device.

1.0.90 - Driver-level support for Windows Vista and Windows Server 2008.

0.97.4 - First released version.

0.97.2 - Fixed save/restore functionality.

0.97.1 - Fixed issue that caused the drivers to need a second reboot on
         Windows XP platforms.  Now the drivers will properly work after 
         the first reboot following installation.

0.97 - Fixed issue that caused the drivers to fail on Windows(R) XP 32-bit
       systems.  Added support for hotplug add/remove of PV disks and NIC
       devices.

0.95 - Fix for issue where adding new PV disks causes the NIC device to 
       require re-installation.  Adding new PV disks now no longer forces a 
       NIC driver reinstall with the 'Add New Hardware Wizard'

0.94 - Fix for disk corruption issue when boot disk is a physical disk.
       The fix requires the rhelscsi driver to not activate until the
       first reboot following installation.  Because the rhelnet device
       is not present until after the rhelscsi device is enabled, this
       requires the rhelnet driver to be installed after rebooting.
       This is done via the 'Add New Hardware Wizard' dialog.

0.92 - Initial Build

Disable/Enable Red Hat PV Disk Driver:
--------------------------------------

Unless explicitly told to not do so, the installer automatically enables
the PV disk and network drivers as part of the installation process.  If
this option is disabled, it is possible to start the PV drivers manually
using a batch file that is provided in the C:\Program Files\RedHat\XenPV
directory, named enableRedHatSCSIDriver.bat.

The batch file can also be used after installation, together with its
counterpart disableRedHatSCSIDriver.bat, in order to disable and reenable
the drivers.

Each invocation of the batch files will only be effective after the next
reboot.  Alternatively, the /NOPV boot option can be used to disable
the drivers for a single boot.  The switch can be added in boot.ini
for versions of Windows prior to Vista, or using the "bcdedit" tool
for Windows Vista or later.

After uninstallation the driver is no longer active, but the device
node will still remain in the Windows(R) device manager after rebooting.
The device node This may cause the "Add New Hardware Wizard" to appear
for a device named "PCI Device".  This wizard can be exited by selecting
the Cancel button.


Enabling the Paravirtualized Drivers for the Domain:
----------------------------------------------------

The PV disk and network devices must be enabled in the domain configuration
files.  The method of enabling these devices differs between the versions
of RHEL used.  In RHEL5.2 the configuration files are edited through libvirt
using the virsh utility.

By default the PV network driver is enabled in libvirt domain configuration
files.  Only the disk sections of the configuration file need to be
modified.

NOTE: In RHEL 5.2 or later you should only use the libvirt commands
(virsh, virt-manager) to manipulate guest domains.  Use of the xm commands
may result in the PV drivers not being enabled correctly.

Use the virsh tool from the command line to export a domain's configuration
like this:

# virsh dumpxml <domain> > config.xml

In the config.xml file look for sections like this:

    <disk type='file' device='disk'>
      <driver name='file'/>
      <source file='/var/lib/xen/images/disk2.img'/>
      <target dev='hdb'/>
    </disk>

And change them as follows:

    <disk type='file' device='disk'>
      <driver name='tap' type='aio'/>
      <source file='/var/lib/xen/images/disk2.img'/>
      <target dev='xvdb'/>
    </disk>

After editing the file, recreate the domain with:

# virsh define config.xml

NOTE: Only edit the disk entries for secondary disks.  Leave the primary boot
disk as a file disk device.  Booting to tap:aio disks is not yet supported.


Hotplugging PV Disks:
---------------------

Paravirtualized disks can be hotplugged using the virsh command, as follows:

virsh attach-disk --driver tap --subdriver aio <domain> <disk image file> <device node>

For example:

virsh attach-disk --driver tap --subdriver aio wxp32 /var/lib/xen/images/wxp32-2.img /dev/xvdb

To detach a disk dynamically, use the following command:

virsh detach-disk <domain> <device node>

For example:

virsh detach-disk wxp32 /dev/xvdb


