[RFC] 16K page size for kernel thread stack (patch)

Jayachandran C. c.jayachandran at gmail.com
Thu Feb 20 05:05:57 UTC 2014


On Thu, Feb 20, 2014 at 1:19 AM, Juli Mallett <jmallett at freebsd.org> wrote:
> On Wed, Feb 19, 2014 at 11:41 AM, Stacey Son <sson at freebsd.org> wrote:
>>
>>  On Feb 18, 2014, at 7:58 PM, Adrian Chadd <adrian at freebsd.org> wrote:
>> > I don't think the mips24k/mips74k cores I have support ULRI.
>>
>> I am starting to wonder which mips CPUs actually do have an ULRI.
>>
>
> Basically-none.  Some sources I've read from when the rdhwr approach was
> first implemented clearly thought it would pretty much never be implemented
> in hardware, and certainly most implementations after it became widespread
> didn't implement it, and its use only became common in the recent past.
>  Until we started using it for TLS, GXemul would exit rather than trap on
> the rdhwr.  I don't believe I've ever possessed a piece of hardware which
> actually implements the register itself, and there's actually a huge
> disincentive to do so because a lot of software has been written now which
> assumes that rdhwr will always trap and be implemented in software, and so
> won't set up the actual hardware register with the right value, breaking
> existing software.

The Broadcom XLP also has rdhwr (with register 29 implemented).

The current emulation we have of rdhwr can be improved quite a bit, I
think we should have a handler for reserved exception in the mips
exception table and fix up rdhwr without doing full kernel entry/exit.
Currently it is routed thru General Exception and trap()

JC.


More information about the freebsd-mips mailing list