Dynamic pcpu, arm, mips, powerpc, sun, etc. help needed

Marcel Moolenaar xcllnt at mac.com
Thu Jun 18 02:30:27 UTC 2009


On Jun 17, 2009, at 3:55 PM, Jeff Roberson wrote:

>
> On Tue, 9 Jun 2009, Peter Grehan wrote:
>
>>> As for sparc64 allocating the storage for the dynamic area
>>> from end probably isn't a good idea as the pmap code assumes
>>> that the range from KERNBASE to end is covered by the pages
>>> allocated by and locked into the TLB for the kernel by the
>>> loader
>>
>> Ditto for ppc. It's possible to get the additional space from  
>> within or after return from pmap_bootstrap() (like thread0's  
>> kstack, or the msgbuf).
>
> http://people.freebsd.org/~jeff/dpcpu.diff
>
> I have updated this patch based on feedback relating to various  
> architectures md code.  I tried to model most architectures after  
> the way msgbuf memory was taken.  I have no capacity to test  
> anything other than i386 and amd64.  ARM is reported to work with  
> one minor diff.  Apparently sparc64 worked with the earlier diff but  
> this should be cleaner.  If anyone can report back on sparc64, mips,  
> or powerpc, I'd appreciate it.

Can you fix the ia64 diff by moving the following lines
up as well:

	/* But if the bootstrap tells us otherwise, believe it! */
	if (bootinfo.bi_kernend)
		kernend = round_page(bootinfo.bi_kernend);

Otherwise we're using the wrong kernend value for dpcpu_init()
and also override what dpcpu_init() did to kernend.

Thanks,

-- 
Marcel Moolenaar
xcllnt at mac.com





More information about the freebsd-arch mailing list