Re: virt_to_bus and >1G of memory (was MAX_DMA_ADDRESS ...)

Kurt Garloff (garloff@kg1.ping.de)
Thu, 12 Nov 1998 16:50:12 +0100


On Thu, Nov 12, 1998 at 03:59:38PM +0100, Kurt Garloff wrote:
> Reading this, I wonder, why my kernel with PAGE_OFFSET 0x70000000 does work.
> Somebody able to explain this?

And it crashes with an ,,Unable to handle kernel paging request at
e4414007`` in the ncr53c8xx (3.0i) driver, if I apply the following patch.
So is the idea about what it should look like wrong, or is it the ncr53c8xx
driver?

--- linux/include/asm-i386/io.h~ Thu Nov 12 10:52:46 1998
+++ linux/include/asm-i386/io.h Thu Nov 12 15:55:55 1998
@@ -101,8 +101,8 @@
#include <linux/vmalloc.h>
#include <asm/page.h>

-#define __io_virt(x) ((void *)(PAGE_OFFSET | (unsigned long)(x)))
-#define __io_phys(x) ((unsigned long)(x) & ~PAGE_OFFSET)
+#define __io_virt(x) ((void *)(PAGE_OFFSET + (unsigned long)(x)))
+#define __io_phys(x) ((unsigned long)(x) - PAGE_OFFSET)
/*
* Change virtual addresses to physical addresses and vv.
* These are pretty trivial

-- 
Kurt Garloff <K.Garloff@ping.de>  (Dortmund, FRG)
PGP key on http://student.physik.uni-dortmund.de/homepages/garloff
Unix IS user friendly - it's just selective about who its friends are!

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/