Import 2.3.13pre6
[davej-history.git] / include / asm-ppc / bootx.h
blobad69eaa545d102c08551f9a3f32b66c0dcc98c4b
1 /*
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.
6 */
9 #ifndef __ASM_BOOTX_H__
10 #define __ASM_BOOTX_H__
12 #ifdef macintosh
13 #include <Types.h>
14 #endif
16 #ifdef macintosh
17 /* All this requires PowerPC alignment */
18 #pragma options align=power
19 #endif
21 /* On boostrap entry:
23 * r3 = 0x426f6f58 ('BooX')
24 * r4 = pointer to boot_infos
25 * r5 = NULL
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;
70 } boot_infos_t;
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)
78 #ifdef macintosh
79 #pragma options align=reset
80 #endif
82 #endif