Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jun 2009 18:30:22 -0700
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Jeff Roberson <jroberson@jroberson.net>
Cc:        arch@freebsd.org, Peter Grehan <grehan@freebsd.org>, Marius Strobl <marius@alchemy.franken.de>
Subject:   Re: Dynamic pcpu, arm, mips, powerpc, sun, etc. help needed
Message-ID:  <94B46331-19AB-4174-BEDA-8B4B0A525B45@mac.com>
In-Reply-To: <alpine.BSF.2.00.0906171231540.1025@desktop>
References:  <alpine.BSF.2.00.0906032050220.981@desktop> <20090609201127.GA50903@alchemy.franken.de> <4A2F1148.9090706@freebsd.org> <alpine.BSF.2.00.0906171231540.1025@desktop>

next in thread | previous in thread | raw e-mail | index | archive | help

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@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?94B46331-19AB-4174-BEDA-8B4B0A525B45>