176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* 276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * This file describes the structure passed from the BootX application 376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * (for MacOS) when it is used to boot Linux. 476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Written by Benjamin Herrenschmidt. 676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Move to LinuxBIOS by LYH yhlu@tyan.com 876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman */ 1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#ifndef _BTEXT_H__ 1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define _BTEXT_H__ 1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#if 1 1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define u32 unsigned int 1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define u16 unsigned short 1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define u8 unsigned char 1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif 2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* Here are the boot informations that are passed to the bootstrap 2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Note that the kernel arguments and the device tree are appended 2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * at the end of this structure. */ 2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmantypedef struct boot_infos 2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman{ 2676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman /* NEW (vers. 2) this holds the current _logical_ base addr of 2876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman the frame buffer (for use by early boot message) */ 2976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman u8* logicalDisplayBase; 3076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman /* Some infos about the current MacOS display */ 3376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman u32 dispDeviceRect[4]; /* left,top,right,bottom */ 3476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman u32 dispDeviceDepth; /* (8, 16 or 32) */ 3576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman u32 dispDeviceBase; /* base address (physical) */ 3676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman u32 dispDeviceRowBytes; /* rowbytes (in bytes) */ 3776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman u32 dispDeviceColorsOffset; /* Colormap (8 bits only) or 0 (*) */ 3876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 4076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman /* The framebuffer size (optional, currently 0) */ 4176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman u32 frameBufferSize; /* Represents a max size, can be 0. */ 4276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 4376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 4476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman} boot_infos_t; 4576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 4676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* (*) The format of the colormap is 256 * 3 * 2 bytes. Each color index is represented 4776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * by 3 short words containing a 16 bits (unsigned) color component. 4876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Later versions may contain the gamma table for direct-color devices here. 4976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman */ 5076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define BOOTX_COLORTABLE_SIZE (256UL*3UL*2UL) 5176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 5276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 5376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* 5476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Definitions for using the procedures in btext.c. 5576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 5676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Benjamin Herrenschmidt <benh@kernel.crashing.org> 5776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman */ 5876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 5976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern boot_infos_t disp_bi; 6076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern u32 boot_text_mapped; 6176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 6276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif /* _BTEXT_H */ 63