Re: system lockup with 2.6.29 on Cavium/Octeon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 21, 2009 at 03:29:05PM +1000, Greg Ungerer wrote:

> Interestingly the definition of MODULE_START is like this:
>
> #if defined(CONFIG_MODULES) && defined(KBUILD_64BIT_SYM32) && \
>         VMALLOC_START != CKSSEG
> /* Load modules into 32bit-compatible segment. */
> #define MODULE_START    CKSSEG
>
>
> If MODULE_START wasn't defined then the module_alloc() code would
> have just called vmalloc() directly - and we wouldn't be in this
> mess :-)

The reason it's done like this is that if the kernel is in CKSEG0 and
modules in CKSEG2 all address references to kernel code and variables are
just 32-bit that is they can be referenced with a much shorter instruction
sequence than for full blown 64-bit code.  This is just one of the
artefacts and I think we can just ignore it.

  Ralf


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux