[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Creating the platform-independent layer

The platform-independent layer is the one that is ultimately used by GNU lightning clients. Creating this layer is a matter of creating a hundred or so macros that comprise part of the interface used by the clients, as described in GNU lightning's instruction set.

Fortunately, a number of these definitions are common to the different platforms and are defined just once in one of the header files that make up GNU lightning, that is, `core-common.h'.

Most of the macros are relatively straight-forward to implement (with a few caveats for architectures whose assembly language only offers two-operand arithmetic instructions). This section will cover the tricky points, before presenting the complete listing of the macros that make up the platform-independent interface provided by GNU lightning.

3.4.1 Implementing forward references  
3.4.2 Common features supported by `core-common.h'  
3.4.3 Supporting scheduling of delay slots  
3.4.4 Supporting arbitrarily sized immediate values  
3.4.5 Implementing the ABI  Function prologs and epilogs, and argument passing
3.4.6 Macros composing the platform-independent layer  

This document was generated by Alistair Turnbull on April, 12 2005 using texi2html