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