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

[Xen-changelog] Fix IDE CD-drive PIO mode.



# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID ad33b3882867f6ab4466383129aa3827c64508d3
# Parent  2436cc71de508f409b957e9eb24c1f34b1ab615d
Fix IDE CD-drive PIO mode.
CD drives in PIO mode don't work under Xen because of a change in Linux
between 2.6.12 and 2.6.16, as a result of the following thread:
http://lists.parisc-linux.org/pipermail/parisc-linux/2005-August/027197.html

The change breaks systems which have highmem and a swiotlb because the
ide-cd driver doesn't use the swiotlb, resulting in read/writes to/from
highmem pages in PIO mode not working any longer.  Xen kernels usually have
both highmem and a swiotlb.

Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>
---
 patches/linux-2.6.16.13/fix-ide-cd-pio-mode.patch |   13 +++++++++++++
 1 files changed, 13 insertions(+)

diff -r 2436cc71de50 -r ad33b3882867 
patches/linux-2.6.16.13/fix-ide-cd-pio-mode.patch
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/linux-2.6.16.13/fix-ide-cd-pio-mode.patch Wed May 24 19:41:47 
2006 +0100
@@ -0,0 +1,18 @@
+diff -ru ../pristine-linux-2.6.16.13/drivers/ide/ide-lib.c 
./drivers/ide/ide-lib.c
+--- ../pristine-linux-2.6.16.13/drivers/ide/ide-lib.c  2006-05-02 
22:38:44.000000000 +0100
++++ ./drivers/ide/ide-lib.c    2006-05-24 18:37:05.000000000 +0100
+@@ -410,10 +410,10 @@
+ {
+       u64 addr = BLK_BOUNCE_HIGH;     /* dma64_addr_t */
+ 
+-      if (!PCI_DMA_BUS_IS_PHYS) {
+-              addr = BLK_BOUNCE_ANY;
+-      } else if (on && drive->media == ide_disk) {
+-              if (HWIF(drive)->pci_dev)
++      if (on && drive->media == ide_disk) {
++              if (!PCI_DMA_BUS_IS_PHYS)
++                      addr = BLK_BOUNCE_ANY;
++              else if (HWIF(drive)->pci_dev)
+                       addr = HWIF(drive)->pci_dev->dma_mask;
+       }
+ 

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