On Tue, 9 Jun 2009 08:30:40 -0700, nathan binkert <[email protected]> wrote:
>> These patches touch up our ARM implementation and add in support for
some
>> new
>> features including TLS, a page for the "kernel" to install user level
>> helper
>> functions, a few of those functions, and hooking in mmap2. With these
>> patches,
>> I can run a new hello world I compiled which will become ARM's first
>> regression test.
>>
>> I wanted to send these out for review mainly because of the user level
>> helper
>> page/functions. I'm mostly guessing how this page (pages?) is (are)
>> supposed to
>> work, and I'm even guessing at what the right name is. The name I'm
>> using,
>> comm page, came from a post about valgrind and may be totally
inaccurate.
>> Also, the functions I implemented are paraphrased from the Linux kernel.
>> Please let me know if there are any copyright concerns. They're
generally
>> very
>> short, but the one for cmpxchg is a little longer. My version is dumbed
>> down
>> because some of the needed instructions aren't supported, so that
>> specific one
>> isn't copied verbatim.
> If you're talking about the short blobs of hex strings, it's no big
> deal.  Those are very short.
> 
> Out of curiosity, what are these blobs for?  Are they a microcode thing?
They support certain features where their may not be a workable
implementation on the hardware (this is generally the case for older ARM
systems without coherence). For example one implements a compare/exchange
in a system without (ll/sc, swap, etc) by having a system call do it. In
the UP case as long as the kernel won't interrupt it's private routine for
a context switch this works fine. I don't know why the TLS one exists, but
it provide a way to store and retrieve the per-thread TLS pointer in
syscall form. 

I actually had a much uglier hack in a private tree that did this, so I
approve of Gabe's patches. Although, when I compiled hello world all the
syscalls tried to use ID 0 (indirect syscall) and I don't see an
implementation for that.

Ali
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to