English
Language : 

UM0438 Datasheet, PDF (13/50 Pages) STMicroelectronics – This user manual defines a programming model for use with the variable-length encoding
UM0438
Application Binary Interface (ABI)
2.2.1
The VLE encodings also require additional relocation types, which allow the linker to resolve
immediate and branch displacement fields in the instruction encoding once a symbol or
label address is known (at link time). The VLE encodings require additional relocation types
to resolve fields not present in the PowerPC Book E encodings.
VLE information section
The e500 ABI defines an information section named .PPC.EMB.apuinfo having type
SHT_NOTE and attributes of 0, which matches the format of a typical ELF note section as
shown in Table 3. The information section allows disassemblers and debuggers to interpret
the instructions properly within the binary and can be used by operating systems to provide
emulation or error checking of the VLE extension revisions.
Table 3.
Typical Elf note section format
length of name (in bytes)
length of data (in bytes)
type
name (null-terminated, padded to 4-byte alignment)
data
For the .PPC.EMB.apuinfo section, the name is APUinfo the type is 2 (as type 1 is already
reserved), and the data contains a series of words providing information about the APU or
extension, one per word. The information contains two unsigned half words: the upper half
contains the unique identifier, and the lower half contains the revision number. The VLE
identifier is shown in Table 4.
Table 4. VLE identifier
Identifier (16 Bits)
0x0104
APU/Extension
VLE
Example - Object file a.o
0
0x00000008
4
0x0000000C
8
0x00000002
12
0x41505569
16
0x6e666f00
20
0x00010001
24
0x01040001
28
0x00040001
# 8 bytes in
"APUinfo\0"
# 12 bytes (3 words)
of APU information
# NOTE type 2
# ASCII for "APUi"
# ASCII for "nfo\0"
# APU #1, revision 1
# VLE, revision 1
# APU #4, revision 1
13/50