lkml.org 
[lkml]   [1998]   [Mar]   [13]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
Subjectx86 memsize > 1Gb patches.
DateFri, 13 Mar 1998 11:11:28 +0000
FromDavid Woodhouse <>
Is the module versioning system going to pick up on differences in 
CONFIG_MAX_MEMSIZE?

Functions such as phys_to_virt et. al. are going to be horribly broken when we 
compile modules with a different CONFIG_MAX_MEMSIZE to the kernel we're using.
I _know_ that the correct answer might be "user education", but we're not 
designing an Alpha CPU here.

Should we make an outline version of the affected functions, and force the 
modules to use that instead?

If this involves too much overhead, then perhaps we could make the
kernel's value of PAGE_OFFSET available to the modules, and their inline
function could use the value of that global variable.

Something like:
  (in io.h)

#ifdef MODULE
#define __io_virt(x)	((void *)(kernel_page_offset | (unsigned long)(x)))
#define __io_phys(x)	((unsigned long)(x) & ~kernel_page_offset)
#else
#define __io_virt(x)            ((void *)(PAGE_OFFSET | (unsigned long)(x)))
#define __io_phys(x)            ((unsigned long)(x) & ~PAGE_OFFSET)
#endif
  (in i386_ksyms.c)

EXPORT_SYMBOL(kernel_page_offset);

  (somewhere else)

unsigned long kernel_page_offset = PAGE_OFFSET;



----                              ----                              ----
David Woodhouse, Robinson College, CB3 9AN, England.   (+44) 0976 658355
    Dave@imladris.demon.co.uk        http://dwmw2.robinson.cam.ac.uk
	    finger pgp@dwmw2.robinson.cam.ac.uk for PGP key.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 13:41    [from the cache]
©2003-2008