WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[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

<Prev in Thread] Current Thread [Next in Thread>