- //gaArch_BootModules[i].Base = (void *)mods[i].Start;
- gaArch_BootModules[i].ArgString = (char *)mods[i].String + KERNEL_BASE;
+ if( (tVAddr)mods[i].String > MAX_ARGSTR_POS )
+ {
+ gaArch_BootModules[i].ArgString = (void*)(
+ MM_MapHWPages((tVAddr)mods[i].String, 2)
+ + ((tVAddr)mods[i].String&0xFFF)
+ );
+ }
+ else
+ gaArch_BootModules[i].ArgString = (char *)mods[i].String + KERNEL_BASE;