1*0e42ee5dSEd Maste /*- 2*0e42ee5dSEd Maste * Copyright (c) 2003 Peter Wemm <peter@FreeBSD.org> 3*0e42ee5dSEd Maste * All rights reserved. 4*0e42ee5dSEd Maste * 5*0e42ee5dSEd Maste * Redistribution and use in source and binary forms, with or without 6*0e42ee5dSEd Maste * modification, are permitted provided that the following conditions 7*0e42ee5dSEd Maste * are met: 8*0e42ee5dSEd Maste * 1. Redistributions of source code must retain the above copyright 9*0e42ee5dSEd Maste * notice, this list of conditions and the following disclaimer. 10*0e42ee5dSEd Maste * 2. Redistributions in binary form must reproduce the above copyright 11*0e42ee5dSEd Maste * notice, this list of conditions and the following disclaimer in the 12*0e42ee5dSEd Maste * documentation and/or other materials provided with the distribution. 13*0e42ee5dSEd Maste * 14*0e42ee5dSEd Maste * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15*0e42ee5dSEd Maste * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16*0e42ee5dSEd Maste * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17*0e42ee5dSEd Maste * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18*0e42ee5dSEd Maste * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19*0e42ee5dSEd Maste * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20*0e42ee5dSEd Maste * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21*0e42ee5dSEd Maste * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22*0e42ee5dSEd Maste * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23*0e42ee5dSEd Maste * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24*0e42ee5dSEd Maste * SUCH DAMAGE. 25*0e42ee5dSEd Maste * 26*0e42ee5dSEd Maste * $FreeBSD$ 27*0e42ee5dSEd Maste */ 28*0e42ee5dSEd Maste 29*0e42ee5dSEd Maste #ifndef _MACHINE_METADATA_H_ 30*0e42ee5dSEd Maste #define _MACHINE_METADATA_H_ 31*0e42ee5dSEd Maste 32*0e42ee5dSEd Maste #define MODINFOMD_SMAP 0x1001 33*0e42ee5dSEd Maste #define MODINFOMD_SMAP_XATTR 0x1002 34*0e42ee5dSEd Maste #define MODINFOMD_DTBP 0x1003 35*0e42ee5dSEd Maste #define MODINFOMD_EFI_MAP 0x1004 36*0e42ee5dSEd Maste #define MODINFOMD_EFI_FB 0x1005 37*0e42ee5dSEd Maste #define MODINFOMD_MODULEP 0x1006 38*0e42ee5dSEd Maste 39*0e42ee5dSEd Maste struct efi_map_header { 40*0e42ee5dSEd Maste uint64_t memory_size; 41*0e42ee5dSEd Maste uint64_t descriptor_size; 42*0e42ee5dSEd Maste uint32_t descriptor_version; 43*0e42ee5dSEd Maste }; 44*0e42ee5dSEd Maste 45*0e42ee5dSEd Maste struct efi_fb { 46*0e42ee5dSEd Maste uint64_t fb_addr; 47*0e42ee5dSEd Maste uint64_t fb_size; 48*0e42ee5dSEd Maste uint32_t fb_height; 49*0e42ee5dSEd Maste uint32_t fb_width; 50*0e42ee5dSEd Maste uint32_t fb_stride; 51*0e42ee5dSEd Maste uint32_t fb_mask_red; 52*0e42ee5dSEd Maste uint32_t fb_mask_green; 53*0e42ee5dSEd Maste uint32_t fb_mask_blue; 54*0e42ee5dSEd Maste uint32_t fb_mask_reserved; 55*0e42ee5dSEd Maste }; 56*0e42ee5dSEd Maste 57*0e42ee5dSEd Maste #endif /* !_MACHINE_METADATA_H_ */ 58