|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
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|