On 11/20/07, Thiemo Seufer <ths@xxxxxxxxxxxx> wrote: > zhuzhenhua wrote: > > hello,all > > i want to place my kernel loadaddr=0x81008000 and set > > EBASE=0x81000000, it workes. > > but there is still some memory usable before 0x81000000, for > > example from 0x80100000 ~ 0x80200000 > > The obvious thing to do seems to set LOARADDR to 0x80208000. > > > i have try to pass param as mem=1M@1M mem=16M@16M to the kernel, > > it seems only take the 0x8000000 ~ kernel_end as reserved. > > is there any other options to set the memory useable? ( my kernel > > version is 2.6.14) > > thanks for any hints > > AFAIR the kernel assumes to occupy the lowest addresses of the usable RAM. > > > Thiemo > i have resolve it, by modify as follow: in arch/mips/kernel/setup.c static inline void bootmem_init(void) ..... if (curr_pfn < start_pfn) // just change the judgement curr_pfn = start_pfn; .... /* Register lowmem ranges */ free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(size)); thanks all. zzh