Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

undefined instruction Re: TLS register access trapping failure on Orion



Hi Matt, hi folks,

On Tue, Feb 14, 2012 at 08:57:54AM -0800, Matt Thomas wrote:
> On Feb 14, 2012, at 2:10 AM, Reinoud Zandijk wrote: Alas, it's not that
> simple.  You still to deal with setting the CONTEXT_ID register in
> cpu_setprivate and saving/restoring it in cpu_switchto.
> 
> reg 3 is easy since it's only ARMV6 and above.  reg 1 is a lot harder since
> only some armv5 have it, but not all.

Regretfully, I'll have to agree with this :-/ Testing on this ARMv5 machine,
it showed out that the context_id register is not readable in usermode and
gives a trap and that sucks. No win :(

Pity the access to these registers can't be programmed in the CPU so no luck
there either.

However, looking at the undefined instruction vector code its implemented
quite ..... slow! :-)

Although the ideas behind is are nice, i think the emulated instructions other
than say complext ones like FPE etc. ought to be done directly in undefined
instruction mode. That will only require a few instructions without all the
elaborate processor state save and load stuff and all the jumping around.

With regards,
Reinoud



Home | Main Index | Thread Index | Old Index