Re: Problem with 1G RAM

Pavel Janik ml. (Pavel.Janik@inet.cz)
04 Dec 1998 15:45:38 +0100


From: Rik van Riel <H.H.vanRiel@phys.uu.nl>
Date: Thu, 3 Dec 1998 13:19:03 +0100 (CET)

Hi,

> To do that you need to change __PAGE_OFFSET in
> include/asm-i386/page.h and arch/i386/vmlinux.lds.
>
> All you need to know to succesfully do this operation
> is in a big fat comment in page.h.

Do you really think that this pseudo-patch

--- linux/arch/i386/vmlinux.lds
+++ linux-/arch/i386/vmlinux.lds
@@ -6,7 +6,7 @@
ENTRY(_start)
SECTIONS
{
- . = 0xC0000000 + 0x100000;
+ . = 0xA0000000 + 0x100000;
_text = .; /* Text and read-only data */
.text : {
*(.text)
--- linux/include/asm-i386/page.h
+++ linux-/include/asm-i386/page.h
@@ -80,7 +80,7 @@
*
* which has the same constant encoded..
*/
-#define __PAGE_OFFSET (0xC0000000)
+#define __PAGE_OFFSET (0xA0000000)

#define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET)
#define __pa(x) ((unsigned long)(x)-PAGE_OFFSET)

is enough? We need to change this too to even boot, but this was
discussed between 11th and 15th Nov here:

--- linux/include/asm-i386/io.h
+++ linux-/include/asm-i386/io.h
@@ -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

-- 
Pavel Janík ml.
Pavel.Janik@inet.cz

- 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/