From: "Andrew D. Ball" Subject: [PATCH] change ISA_IO_BASE to fix_to_virt(FIX_ISAMAP_BEGIN) (bug 393) Date: Tue, 15 Nov 2005 15:55:01 -0500 Message-ID: <1132088101.26178.3.camel@localhost.localdomain> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-PinMDYmg6P0xlsnAM3zo" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org --=-PinMDYmg6P0xlsnAM3zo Content-Type: text/plain Content-Transfer-Encoding: 7bit Change ISA_IO_BASE to fix_to_virt(FIX_ISAMAP_BEGIN). It used to be PAGE_OFFSET, which was unaltered from vanilla Linux 2.6.12.6 kernels and caused isa_memcpy_fromio() to not read physical memory from 0xf0000 - 0xfffff correctly. http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=393 output from diffstat: linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h | 2 +- linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) xm-test results do not differ from an unpatched changeset 7793 of xen-unstable Signed-off-by: Andrew D. Ball diff -r 995e94c4802e linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Fri Nov 11 18:11:13 2005 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Mon Nov 14 14:12:50 2005 @@ -228,7 +228,7 @@ * used as the IO-area pointer (it can be iounmapped as well, so the * analogy with PCI is quite large): */ -#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET)) +#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN))) #define isa_readb(a) readb(__ISA_IO_base + (a)) #define isa_readw(a) readw(__ISA_IO_base + (a)) diff -r 995e94c4802e linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h --- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h Fri Nov 11 18:11:13 2005 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h Mon Nov 14 14:12:50 2005 @@ -298,7 +298,7 @@ * used as the IO-area pointer (it can be iounmapped as well, so the * analogy with PCI is quite large): */ -#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET)) +#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN))) #define isa_readb(a) readb(__ISA_IO_base + (a)) #define isa_readw(a) readw(__ISA_IO_base + (a)) --=-PinMDYmg6P0xlsnAM3zo Content-Disposition: attachment; filename=isa_io_base.patch Content-Type: text/x-patch; name=isa_io_base.patch; charset=UTF-8 Content-Transfer-Encoding: 7bit Change ISA_IO_BASE to fix_to_virt(FIX_ISAMAP_BEGIN). It used to be PAGE_OFFSET, which was unaltered from vanilla Linux 2.6.12.6 kernels and caused isa_memcpy_fromio() to not read physical memory from 0xf0000 - 0xfffff correctly. http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=393 output from diffstat: linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h | 2 +- linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Signed-off-by: Andrew D. Ball diff -r 995e94c4802e linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Fri Nov 11 18:11:13 2005 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Mon Nov 14 14:12:50 2005 @@ -228,7 +228,7 @@ * used as the IO-area pointer (it can be iounmapped as well, so the * analogy with PCI is quite large): */ -#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET)) +#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN))) #define isa_readb(a) readb(__ISA_IO_base + (a)) #define isa_readw(a) readw(__ISA_IO_base + (a)) diff -r 995e94c4802e linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h --- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h Fri Nov 11 18:11:13 2005 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h Mon Nov 14 14:12:50 2005 @@ -298,7 +298,7 @@ * used as the IO-area pointer (it can be iounmapped as well, so the * analogy with PCI is quite large): */ -#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET)) +#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN))) #define isa_readb(a) readb(__ISA_IO_base + (a)) #define isa_readw(a) readw(__ISA_IO_base + (a)) --=-PinMDYmg6P0xlsnAM3zo Content-Disposition: attachment; filename=isa_io_base.patch Content-Type: text/x-patch; name=isa_io_base.patch; charset=UTF-8 Content-Transfer-Encoding: 7bit Change ISA_IO_BASE to fix_to_virt(FIX_ISAMAP_BEGIN). It used to be PAGE_OFFSET, which was unaltered from vanilla Linux 2.6.12.6 kernels and caused isa_memcpy_fromio() to not read physical memory from 0xf0000 - 0xfffff correctly. http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=393 output from diffstat: linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h | 2 +- linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) xm-test results do not differ from an unpatched changeset 7793 of xen-unstable Signed-off-by: Andrew D. Ball diff -r 995e94c4802e linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Fri Nov 11 18:11:13 2005 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Mon Nov 14 14:12:50 2005 @@ -228,7 +228,7 @@ * used as the IO-area pointer (it can be iounmapped as well, so the * analogy with PCI is quite large): */ -#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET)) +#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN))) #define isa_readb(a) readb(__ISA_IO_base + (a)) #define isa_readw(a) readw(__ISA_IO_base + (a)) diff -r 995e94c4802e linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h --- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h Fri Nov 11 18:11:13 2005 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h Mon Nov 14 14:12:50 2005 @@ -298,7 +298,7 @@ * used as the IO-area pointer (it can be iounmapped as well, so the * analogy with PCI is quite large): */ -#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET)) +#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN))) #define isa_readb(a) readb(__ISA_IO_base + (a)) #define isa_readw(a) readw(__ISA_IO_base + (a)) --=-PinMDYmg6P0xlsnAM3zo Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --=-PinMDYmg6P0xlsnAM3zo--