1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * This file describes the structure passed from the BootX application 4 * (for MacOS) when it is used to boot Linux. 5 * 6 * Written by Benjamin Herrenschmidt. 7 */ 8 9 #ifndef __ASM_BOOTX_H__ 10 #define __ASM_BOOTX_H__ 11 12 #include <uapi/asm/bootx.h> 13 14 /* (*) The format of the colormap is 256 * 3 * 2 bytes. Each color index 15 * is represented by 3 short words containing a 16 bits (unsigned) color 16 * component. Later versions may contain the gamma table for direct-color 17 * devices here. 18 */ 19 #define BOOTX_COLORTABLE_SIZE (256UL*3UL*2UL) 20 21 /* BootX passes the device-tree using a format that comes from earlier 22 * ppc32 kernels. This used to match what is in prom.h, but not anymore 23 * so we now define it here 24 */ 25 struct bootx_dt_prop { 26 u32 name; 27 int length; 28 u32 value; 29 u32 next; 30 }; 31 32 struct bootx_dt_node { 33 u32 unused0; 34 u32 unused1; 35 u32 phandle; /* not really available */ 36 u32 unused2; 37 u32 unused3; 38 u32 unused4; 39 u32 unused5; 40 u32 full_name; 41 u32 properties; 42 u32 parent; 43 u32 child; 44 u32 sibling; 45 u32 next; 46 u32 allnext; 47 }; 48 49 extern void bootx_init(unsigned long r4, unsigned long phys); 50 51 #endif 52