Re: pre2.3.6-2 PAGE_OFFSET_RAW & pcmcia

Steven N. Hirsch (shirsch@adelphia.net)
Thu, 10 Jun 1999 07:38:33 -0400 (EDT)


On Thu, 10 Jun 1999, Alan Cox wrote:

> > Two problems here. The first is that the new constant is not propagated
> > to vmlinux.lds
>
> It should be. vmlinux.lds is generated from vmlinux.lds.S. If that didn't
> occur can you rm vmlinux.lds and repeat
>
> > The second is that, for reasons I don't see, PAGE_OFFSET_RAW causes
> > undeclared variable errors compiling pcmcia-cs-3.0.12.
>
> Quite possibly. It relies on CONFIG_1G/CONFIG_2G being defined , I would
> guess that PCMCIA CS doesn't pull that define out of the kernel .config.
> Fixing it to extract this ought to sort that out.

There's another wrinkle to this problem. The pcmcia build pulls in
asm/pgtable.h, which needs asm/page.h --> asm/page_offset.h -->
linux/config.h before CONFIG_nG is defined. The pcmcia Makefile sets up
the includes such that 'linux/config.h' finds the _pcmcia_ config.h file
rather than the kernel configuration file. So, it remains undefined.

I hacked around it by doing this:

*** page.h.orig Wed Jun 9 20:34:23 1999
--- page.h Wed Jun 9 20:34:02 1999
***************
*** 82,87 ****
--- 82,91 ----

#include <asm/page_offset.h>

+ #ifndef PAGE_OFFSET_RAW
+ #define PAGE_OFFSET_RAW 0xC0000000
+ #endif
+
#define __PAGE_OFFSET (PAGE_OFFSET_RAW)

#define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET)
*** pgtable.h.orig Wed Jun 9 19:39:11 1999
--- pgtable.h Wed Jun 9 20:32:41 1999
***************
*** 399,404 ****
--- 399,406 ----
#define pte_quicklist (current_cpu_data.pte_quick)
#define pgtable_cache_size (current_cpu_data.pgtable_cache_sz)

+ #include <asm/page.h>
+
extern __inline__ pgd_t *get_pgd_slow(void)
{
pgd_t *ret = (pgd_t *)__get_free_page(GFP_KERNEL), *init;

However, it's ugly. Any ideas for a more elegant solution?

Steve

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