Re: [PATCH] Re: pre2.3.6-2 PAGE_OFFSET_RAW & pcmcia

Garst R. Reese (reese@isn.net)
Thu, 10 Jun 1999 12:45:34 -0300


Jakub Jelinek wrote:
>
> On Thu, Jun 10, 1999 at 03:09:44AM +0100, 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.
>
> Hi!
>
> What about doing something like this:
> Then pcmcia nor any other module should have any problems, plus (that is
> more important in my eyes) the same binary modules should work with 1G and
> 2G kernels. All the dirty work will be done by modutils automagically.
> I hope it won't have any performance penalty, at least PAGE_OFFSET+const
> should be optimized into the R_I386_32 reloc + const addend, PAGE_OFFSET+var
> will be normal addition, var-PAGE_OFFSET will be normal subtraction (I
> wonder whether const-PAGE_OFFSET is common), etc. Shifting PAGE_OFFSET down
> should not happen IMHO in modules in the common case, if somebody sees it,
> then some similar macro for modules can be added for ELF_ET_DYN_BASE and
> TASK_UNMAPPED_BASE if needed, maybe USER_PTRS_PER_PGD but IMHO that is
> really limited to the core kernel.
> Anyway, this patch is untested (sorry, no ia32 around me), so if anyone
> would like to actually test this and say to l-k if it works and does not
> bring any optimization penalties, I'd be very happy.
Happy to test, but not sure how I would know if there were optimization
penalties.
oops,
i386_ksyms.c:63 `__page_offset_raw' undeclared here (not in a function)
i386_ksyms.c:63 initializer element ofr
`__ksymtab___page_offset_raw_value' is not constant
That's all folks.
---
Garst

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