E.6.4 alternate boot data structure – Artesyn MOTLoad Firmware Package User's Manual (February 2015) User Manual
Page 278

Safe Start and Alternate Boot Image
MOTLoad Firmware Package User’s Manual (6806800C24D)
278
E.6.4
Alternate Boot Data Structure
The MOTLoad boot loader uses an alternate boot data structure to provide a user a mechanism
to pass POST results to subsequent boot images. The global Data field of the data structure
points to an area of RAM that is available for data storage. This RAM location is initialized to
zeroes. The boot loader does not clear this area of RAM after execution of a POST image or
other alternate boot images.
The alternate boot data structure also provides function pointers to ROM-based UART function
calls. This enables booted images to have early access to the console serial port. Below is a
description of the alternate boot data structure.
/*
* Structure passed to booted image.
*/
typedef struct altBootData {
unsigned int ramSize;/* board's RAM size in MB */
void *flashPtr;/* ptr to this image in flash */
char boardType[16];/* board name string */
void *globalData;/* 16 KB of user defined data, zeroed */
pVoidFunction_t romCpuGet; /* function ptr to CPU-get call */
pVoidFunction_t romPutChar; /* function ptr to UART-put call */
pVoidFunction_t romGetChar; /* function ptr to UART-get call */
pVoidFunction_t romGetCharReady /* function ptr to UART-ready
call */
unsigned int reserved[8]; /* reserved for future use */
} altBootData_t;