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 */
25struct bootx_dt_prop {
26	u32	name;
27	int	length;
28	u32	value;
29	u32	next;
30};
31
32struct 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
49extern void bootx_init(unsigned long r4, unsigned long phys);
50
51#endif
52