On Mon, 15 Jan 2001, Florian Lohoff wrote: > the current cvs kernel crashes in __alloc_bootmem_core here: > > [...] > printk("%s, %d memset %p 0 %d\n", __FUNCTION__, __LINE__, ret, size); > memset(ret, 0, size); > printk("%s, %d\n", __FUNCTION__, __LINE__); > return ret; > [...] > > Output coming: > > __alloc_bootmem_core, 230 > __alloc_bootmem_core, 234 memset 81000000 0 36864 > > I guess this is really bogus as the ARCS MEMORY debug gives: > > [0,a8748da0]: base<00000000> pages<00000001> type<Exception Block> > [1,a8748dbc]: base<00000001> pages<00000001> type<ARCS Romvec Page> > [2,a8748d84]: base<00008002> pages<00000173> type<Standlong Program Pages> > [3,a87491cc]: base<00008175> pages<000005cb> type<Generic Free RAM> > [4,a874919c]: base<00008740> pages<000000c0> type<ARCS Temp Storage Area> > [5,a8749180]: base<00008800> pages<00007800> type<Generic Free RAM> > > Might this be the sgi/arc bootmem/memory.c doesnt alloc everything > or frees to much ? Thanks for a useful report. I am the responsible person, it would seem, as I've rewritten the bootmem allocation code recently to make it consistent across all the subports and more flexible as well. I could only test the DECstation code so it's possible I screwed up things elsewhere. I'll look at the code and I'll provide a patch, either a fix, if I am able to develop it immediately or some debugging code otherwise. As I see prink() works for you could you please also check and report the memory map as found by the kernel, i.e. the lines output after "Determined physical RAM map:", if any? The code is executed very early, before an actual allocation takes place, so it should run regardless. Maciej -- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +