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
