2 * This file describes the structure passed from the BootX application
3 * (for MacOS) when it is used to boot Linux.
5 * Written by Benjamin Herrenschmidt.
9 #ifndef __ASM_BOOTX_H__
10 #define __ASM_BOOTX_H__
17 /* All this requires PowerPC alignment */
18 #pragma options align=power
23 * r3 = 0x426f6f58 ('BooX')
24 * r4 = pointer to boot_infos
28 #define BOOT_INFO_VERSION 2
29 #define BOOT_INFO_COMPATIBLE_VERSION 1
31 /* Here are the boot informations that are passed to the bootstrap
32 * Note that the kernel arguments and the device tree are appended
33 * at the end of this structure. */
34 typedef struct boot_infos
36 /* Version of this structure */
37 unsigned long version
;
38 /* backward compatible down to version: */
39 unsigned long compatible_version
;
41 /* NEW (vers. 2) this holds the current _logical_ base addr of
42 the frame buffer (for use by early boot message) */
43 unsigned char* logicalDisplayBase
;
45 /* Set to 0 by current BootX */
46 unsigned long unused
[2];
48 /* The device tree (internal addresses relative to the beginning of the tree,
49 * device tree offset relative to the beginning of this structure). */
50 unsigned long deviceTreeOffset
; /* Device tree offset */
51 unsigned long deviceTreeSize
; /* Size of the device tree */
53 /* Some infos about the current MacOS display */
54 unsigned long dispDeviceRect
[4]; /* left,top,right,bottom */
55 unsigned long dispDeviceDepth
; /* (8, 16 or 32) */
56 unsigned char* dispDeviceBase
; /* base address (physical) */
57 unsigned long dispDeviceRowBytes
; /* rowbytes (in bytes) */
58 unsigned long dispDeviceColorsOffset
; /* Colormap (8 bits only) or 0 (*) */
59 /* Optional offset in the registry to the current
60 * MacOS display. (Can be 0 when not detected) */
61 unsigned long dispDeviceRegEntryOffset
;
63 /* Optional pointer to boot ramdisk (offset from this structure) */
64 unsigned long ramDisk
;
65 unsigned long ramDiskSize
; /* size of ramdisk image */
67 /* Kernel command line arguments (offset from this structure) */
68 unsigned long kernelParamsOffset
;
72 /* (*) The format of the colormap is 256 * 3 * 2 bytes. Each color index is represented
73 * by 3 short words containing a 16 bits (unsigned) color component.
74 * Later versions may contain the gamma table for direct-color devices here.
76 #define BOOTX_COLORTABLE_SIZE (256UL*3UL*2UL)
79 #pragma options align=reset