ARM/PPC Support?
Peter Johnson
peter at tortall.net
Sat Aug 18 15:28:04 PDT 2007
On Sat, 18 Aug 2007, Paul Barker wrote:
> I've been trying to find an interesting project to work on for a while now, and
> I'm considering the idea of adding a couple of new architecture modules to yasm.
> Primarily I'm interested in ARM, but if theres already some code written for PPC
> support it might be an idea to start there.
>
> I've had a look around the current source tree (from subversion) and played
> around with a couple of things to try to learn the interface. I'm a little
> confused as to the status of the LC-3B arch module... is this deprecated? It no
> longer compiles and it looks like the arch module interface has changed and
> LC-3B hasn't kept up-to-date. I was hoping that I could learn the interface from
> a simple module rather than having to understand the x86 module.
Yeah, the authors of LC-3b have a nasty habit of changing the instruction
definitions seemingly every year, so I stopped supporting it and unhooked
it from the build. I'll work on unbitrotting it and reconnectting it as
an example.
For RISC machines, I'd really like to see an arch module generator based
on an instruction description (this is very difficult to do for x86, but
should be significantly easier for PPC/ARM). I started writing one for
PPC and LC-3b (in Python) but didn't get anywhere close to completing it.
If this sounds like an interesting project, I'd love to see this
completed, and I do have some starter code for you to look at along those
lines. Right now the code I have just generates the .c and .gap files for
the instruction tables; ideally it would generate even more (e.g. the
entire architecture would be the goal). See the just-added GenArch wiki
page <http://www.tortall.net/projects/yasm/wiki/GenArch>.
> As well as looking at architecture modules, I've looked at the other open
> tickets for the 0.7.0 milestone. For a GAS-like preprocessor, would it help if I
> wrote a very simple preprocessor which can remove comments and handle the
> '.include' directive and nothing else? This probably doesn't involve too much work.
I also have a work in progress improvement for the GAS preprocessor, but I
got bogged down in implementing .macro. I can hand it off to you if
you're interested in this. I need to make sure it compiles first :).
> I don't want to get your hopes up too much since I don't know how much time I
> will have to work on all this yet, but I'm happy to help out when I can.
Sure, I understand. Thanks for your help, every little bit is
appreciated!
Peter
More information about the yasm-devel
mailing list