11.7Sriastrad/*	$NetBSD: efi.h,v 1.7 2022/08/20 10:55:27 riastradh Exp $	*/
21.1Sjmcneill
31.1Sjmcneill/*-
41.1Sjmcneill * Copyright (c) 2004 Marcel Moolenaar
51.1Sjmcneill * All rights reserved.
61.1Sjmcneill *
71.1Sjmcneill * Redistribution and use in source and binary forms, with or without
81.1Sjmcneill * modification, are permitted provided that the following conditions
91.1Sjmcneill * are met:
101.1Sjmcneill *
111.1Sjmcneill * 1. Redistributions of source code must retain the above copyright
121.1Sjmcneill *    notice, this list of conditions and the following disclaimer.
131.1Sjmcneill * 2. Redistributions in binary form must reproduce the above copyright
141.1Sjmcneill *    notice, this list of conditions and the following disclaimer in the
151.1Sjmcneill *    documentation and/or other materials provided with the distribution.
161.1Sjmcneill *
171.1Sjmcneill * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
181.1Sjmcneill * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
191.1Sjmcneill * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
201.1Sjmcneill * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
211.1Sjmcneill * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
221.1Sjmcneill * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
231.1Sjmcneill * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
241.1Sjmcneill * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
251.1Sjmcneill * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
261.1Sjmcneill * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
271.1Sjmcneill *
281.1Sjmcneill * $FreeBSD$
291.1Sjmcneill */
301.1Sjmcneill
311.1Sjmcneill#ifndef _ARM_EFI_H_
321.1Sjmcneill#define _ARM_EFI_H_
331.1Sjmcneill
341.1Sjmcneill#include <sys/uuid.h>
351.1Sjmcneill
361.7Sriastrad#include <dev/efi/efi.h>
371.7Sriastrad
381.3Sriastrad#define	EFI_PAGE_SHIFT		12
391.3Sriastrad#define	EFI_PAGE_SIZE		(1 << EFI_PAGE_SHIFT)
401.3Sriastrad#define	EFI_PAGE_MASK		(EFI_PAGE_SIZE - 1)
411.1Sjmcneill
421.1Sjmcneill#define	EFI_TABLE_ACPI20						\
431.1Sjmcneill	{0x8868e871,0xe4f1,0x11d3,0xbc,0x22,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
441.1Sjmcneill#define	EFI_TABLE_ACPI10						\
451.1Sjmcneill	{0xeb9d2d30,0x2d88,0x11d3,0x9a,0x16,{0x00,0x90,0x27,0x3f,0xc1,0x4d}}
461.1Sjmcneill#define	EFI_TABLE_SMBIOS						\
471.1Sjmcneill	{0xeb9d2d31,0x2d88,0x11d3,0x9a,0x16,{0x00,0x90,0x27,0x3f,0xc1,0x4d}}
481.1Sjmcneill#define	EFI_TABLE_SMBIOS3						\
491.1Sjmcneill	{0xf2fd1544,0x9794,0x4a2c,0x99,0x2e,{0xe5,0xbb,0xcf,0x20,0xe3,0x94}}
501.1Sjmcneill
511.1Sjmcneillextern const struct uuid EFI_UUID_ACPI20;
521.1Sjmcneillextern const struct uuid EFI_UUID_ACPI10;
531.1Sjmcneillextern const struct uuid EFI_UUID_SMBIOS;
541.1Sjmcneillextern const struct uuid EFI_UUID_SMBIOS3;
551.1Sjmcneill
561.1Sjmcneillextern bool bootmethod_efi;
571.1Sjmcneill
581.1Sjmcneill#endif /* _ARM_EFI_H_ */
59