XenevaOS
Loading...
Searching...
No Matches
acefiex.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Name: acefiex.h - Extra OS specific defines, etc. for EFI
4 *
5 *****************************************************************************/
6
7/******************************************************************************
8 *
9 * 1. Copyright Notice
10 *
11 * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
12 * All rights reserved.
13 *
14 * 2. License
15 *
16 * 2.1. This is your license from Intel Corp. under its intellectual property
17 * rights. You may have additional license terms from the party that provided
18 * you this software, covering your right to use that party's intellectual
19 * property rights.
20 *
21 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22 * copy of the source code appearing in this file ("Covered Code") an
23 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24 * base code distributed originally by Intel ("Original Intel Code") to copy,
25 * make derivatives, distribute, use and display any portion of the Covered
26 * Code in any form, with the right to sublicense such rights; and
27 *
28 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29 * license (with the right to sublicense), under only those claims of Intel
30 * patents that are infringed by the Original Intel Code, to make, use, sell,
31 * offer to sell, and import the Covered Code and derivative works thereof
32 * solely to the minimum extent necessary to exercise the above copyright
33 * license, and in no event shall the patent license extend to any additions
34 * to or modifications of the Original Intel Code. No other license or right
35 * is granted directly or by implication, estoppel or otherwise;
36 *
37 * The above copyright and patent license is granted only if the following
38 * conditions are met:
39 *
40 * 3. Conditions
41 *
42 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43 * Redistribution of source code of any substantial portion of the Covered
44 * Code or modification with rights to further distribute source must include
45 * the above Copyright Notice, the above License, this list of Conditions,
46 * and the following Disclaimer and Export Compliance provision. In addition,
47 * Licensee must cause all Covered Code to which Licensee contributes to
48 * contain a file documenting the changes Licensee made to create that Covered
49 * Code and the date of any change. Licensee must include in that file the
50 * documentation of any changes made by any predecessor Licensee. Licensee
51 * must include a prominent statement that the modification is derived,
52 * directly or indirectly, from Original Intel Code.
53 *
54 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55 * Redistribution of source code of any substantial portion of the Covered
56 * Code or modification without rights to further distribute source must
57 * include the following Disclaimer and Export Compliance provision in the
58 * documentation and/or other materials provided with distribution. In
59 * addition, Licensee may not authorize further sublicense of source of any
60 * portion of the Covered Code, and must include terms to the effect that the
61 * license from Licensee to its licensee is limited to the intellectual
62 * property embodied in the software Licensee provides to its licensee, and
63 * not to intellectual property embodied in modifications its licensee may
64 * make.
65 *
66 * 3.3. Redistribution of Executable. Redistribution in executable form of any
67 * substantial portion of the Covered Code or modification must reproduce the
68 * above Copyright Notice, and the following Disclaimer and Export Compliance
69 * provision in the documentation and/or other materials provided with the
70 * distribution.
71 *
72 * 3.4. Intel retains all right, title, and interest in and to the Original
73 * Intel Code.
74 *
75 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76 * Intel shall be used in advertising or otherwise to promote the sale, use or
77 * other dealings in products derived from or relating to the Covered Code
78 * without prior written authorization from Intel.
79 *
80 * 4. Disclaimer and Export Compliance
81 *
82 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88 * PARTICULAR PURPOSE.
89 *
90 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97 * LIMITED REMEDY.
98 *
99 * 4.3. Licensee shall not export, either directly or indirectly, any of this
100 * software or system incorporating such software without first obtaining any
101 * required license or other approval from the U. S. Department of Commerce or
102 * any other agency or department of the United States Government. In the
103 * event Licensee exports any such software from the United States or
104 * re-exports any such software from a foreign destination, Licensee shall
105 * ensure that the distribution and export/re-export of the software is in
106 * compliance with all laws, regulations, orders, or other restrictions of the
107 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108 * any of its subsidiaries will export/re-export any technical data, process,
109 * software, or service, directly or indirectly, to any country for which the
110 * United States government or any agency thereof requires an export license,
111 * other governmental approval, or letter of assurance, without first obtaining
112 * such license, approval or letter.
113 *
114 *****************************************************************************
115 *
116 * Alternatively, you may choose to be licensed under the terms of the
117 * following license:
118 *
119 * Redistribution and use in source and binary forms, with or without
120 * modification, are permitted provided that the following conditions
121 * are met:
122 * 1. Redistributions of source code must retain the above copyright
123 * notice, this list of conditions, and the following disclaimer,
124 * without modification.
125 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126 * substantially similar to the "NO WARRANTY" disclaimer below
127 * ("Disclaimer") and any redistribution must be conditioned upon
128 * including a substantially similar Disclaimer requirement for further
129 * binary redistribution.
130 * 3. Neither the names of the above-listed copyright holders nor the names
131 * of any contributors may be used to endorse or promote products derived
132 * from this software without specific prior written permission.
133 *
134 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145 *
146 * Alternatively, you may choose to be licensed under the terms of the
147 * GNU General Public License ("GPL") version 2 as published by the Free
148 * Software Foundation.
149 *
150 *****************************************************************************/
151
152#ifndef __ACEFIEX_H__
153#define __ACEFIEX_H__
154
155
156#ifndef ACPI_USE_SYSTEM_CLIBRARY
157
158typedef signed char int8_t;
159typedef short int int16_t;
160typedef int int32_t;
161typedef unsigned char uint8_t;
162typedef unsigned short int uint16_t;
163typedef unsigned int uint32_t;
166
167#endif /* ACPI_USE_SYSTEM_CLIBRARY */
168
169#define ACPI_EFI_ERROR(a) (((INTN) a) < 0)
170#define ACPI_EFI_SUCCESS 0
171#define ACPI_EFI_LOAD_ERROR ACPI_EFI_ERR(1)
172#define ACPI_EFI_INVALID_PARAMETER ACPI_EFI_ERR(2)
173#define ACPI_EFI_UNSUPPORTED ACPI_EFI_ERR(3)
174#define ACPI_EFI_BAD_BUFFER_SIZE ACPI_EFI_ERR(4)
175#define ACPI_EFI_BUFFER_TOO_SMALL ACPI_EFI_ERR(5)
176#define ACPI_EFI_NOT_READY ACPI_EFI_ERR(6)
177#define ACPI_EFI_DEVICE_ERROR ACPI_EFI_ERR(7)
178#define ACPI_EFI_WRITE_PROTECTED ACPI_EFI_ERR(8)
179#define ACPI_EFI_OUT_OF_RESOURCES ACPI_EFI_ERR(9)
180#define ACPI_EFI_VOLUME_CORRUPTED ACPI_EFI_ERR(10)
181#define ACPI_EFI_VOLUME_FULL ACPI_EFI_ERR(11)
182#define ACPI_EFI_NO_MEDIA ACPI_EFI_ERR(12)
183#define ACPI_EFI_MEDIA_CHANGED ACPI_EFI_ERR(13)
184#define ACPI_EFI_NOT_FOUND ACPI_EFI_ERR(14)
185#define ACPI_EFI_ACCESS_DENIED ACPI_EFI_ERR(15)
186#define ACPI_EFI_NO_RESPONSE ACPI_EFI_ERR(16)
187#define ACPI_EFI_NO_MAPPING ACPI_EFI_ERR(17)
188#define ACPI_EFI_TIMEOUT ACPI_EFI_ERR(18)
189#define ACPI_EFI_NOT_STARTED ACPI_EFI_ERR(19)
190#define ACPI_EFI_ALREADY_STARTED ACPI_EFI_ERR(20)
191#define ACPI_EFI_ABORTED ACPI_EFI_ERR(21)
192#define ACPI_EFI_PROTOCOL_ERROR ACPI_EFI_ERR(24)
193
194
198
205
206typedef struct {
207 UINT16 Year; /* 1998 - 20XX */
208 UINT8 Month; /* 1 - 12 */
209 UINT8 Day; /* 1 - 31 */
210 UINT8 Hour; /* 0 - 23 */
211 UINT8 Minute; /* 0 - 59 */
212 UINT8 Second; /* 0 - 59 */
214 UINT32 Nanosecond; /* 0 - 999,999,999 */
215 INT16 TimeZone; /* -1440 to 1440 or 2047 */
219
225
228
235
253
254/* possible caching types for the memory range */
255#define ACPI_EFI_MEMORY_UC 0x0000000000000001
256#define ACPI_EFI_MEMORY_WC 0x0000000000000002
257#define ACPI_EFI_MEMORY_WT 0x0000000000000004
258#define ACPI_EFI_MEMORY_WB 0x0000000000000008
259#define ACPI_EFI_MEMORY_UCE 0x0000000000000010
260
261/* physical memory protection on range */
262#define ACPI_EFI_MEMORY_WP 0x0000000000001000
263#define ACPI_EFI_MEMORY_RP 0x0000000000002000
264#define ACPI_EFI_MEMORY_XP 0x0000000000004000
265
266/* range requires a runtime mapping */
267#define ACPI_EFI_MEMORY_RUNTIME 0x8000000000000000
268
269#define ACPI_EFI_MEMORY_DESCRIPTOR_VERSION 1
278
286
287typedef
290 void);
291
292
293/*
294 * Text output protocol
295 */
296#define ACPI_SIMPLE_TEXT_OUTPUT_PROTOCOL \
297 { 0x387477c2, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
298
299typedef
303 BOOLEAN ExtendedVerification);
304
305typedef
309 CHAR16 *String);
310
311typedef
315 CHAR16 *String);
316
317typedef
321 UINTN ModeNumber,
322 UINTN *Columns,
323 UINTN *Rows);
324
325typedef
329 UINTN ModeNumber);
330
331typedef
335 UINTN Attribute);
336
337typedef
341
342typedef
346 UINTN Column,
347 UINTN Row);
348
349typedef
353 BOOLEAN Enable);
354
363
380
381/*
382 * Text input protocol
383 */
384#define ACPI_SIMPLE_TEXT_INPUT_PROTOCOL \
385 { 0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
386
391
392/*
393 * Baseline unicode control chars
394 */
395#define CHAR_NULL 0x0000
396#define CHAR_BACKSPACE 0x0008
397#define CHAR_TAB 0x0009
398#define CHAR_LINEFEED 0x000A
399#define CHAR_CARRIAGE_RETURN 0x000D
400
401typedef
404 struct _ACPI_SIMPLE_INPUT_INTERFACE *This,
405 BOOLEAN ExtendedVerification);
406
407typedef
410 struct _ACPI_SIMPLE_INPUT_INTERFACE *This,
411 ACPI_EFI_INPUT_KEY *Key);
412
418
419
420/*
421 * Simple file system protocol
422 */
423#define ACPI_SIMPLE_FILE_SYSTEM_PROTOCOL \
424 { 0x964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
425
426typedef
429 struct _ACPI_EFI_FILE_IO_INTERFACE *This,
430 struct _ACPI_EFI_FILE_HANDLE **Root);
431
432#define ACPI_EFI_FILE_IO_INTERFACE_REVISION 0x00010000
433
438
439typedef
442 struct _ACPI_EFI_FILE_HANDLE *File,
443 struct _ACPI_EFI_FILE_HANDLE **NewHandle,
444 CHAR16 *FileName,
445 UINT64 OpenMode,
446 UINT64 Attributes);
447
448/* Values for OpenMode used above */
449
450#define ACPI_EFI_FILE_MODE_READ 0x0000000000000001
451#define ACPI_EFI_FILE_MODE_WRITE 0x0000000000000002
452#define ACPI_EFI_FILE_MODE_CREATE 0x8000000000000000
453
454/* Values for Attribute used above */
455
456#define ACPI_EFI_FILE_READ_ONLY 0x0000000000000001
457#define ACPI_EFI_FILE_HIDDEN 0x0000000000000002
458#define ACPI_EFI_FILE_SYSTEM 0x0000000000000004
459#define ACPI_EFI_FILE_RESERVIED 0x0000000000000008
460#define ACPI_EFI_FILE_DIRECTORY 0x0000000000000010
461#define ACPI_EFI_FILE_ARCHIVE 0x0000000000000020
462#define ACPI_EFI_FILE_VALID_ATTR 0x0000000000000037
463
464typedef
467 struct _ACPI_EFI_FILE_HANDLE *File);
468
469typedef
472 struct _ACPI_EFI_FILE_HANDLE *File);
473
474typedef
477 struct _ACPI_EFI_FILE_HANDLE *File,
478 UINTN *BufferSize,
479 VOID *Buffer);
480
481typedef
484 struct _ACPI_EFI_FILE_HANDLE *File,
485 UINTN *BufferSize,
486 VOID *Buffer);
487
488typedef
491 struct _ACPI_EFI_FILE_HANDLE *File,
492 UINT64 Position);
493
494typedef
497 struct _ACPI_EFI_FILE_HANDLE *File,
498 UINT64 *Position);
499
500#define ACPI_EFI_FILE_INFO_ID \
501 { 0x9576e92, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
502
513
514#define SIZE_OF_ACPI_EFI_FILE_INFO ACPI_OFFSET(ACPI_EFI_FILE_INFO, FileName)
515
516typedef
519 struct _ACPI_EFI_FILE_HANDLE *File,
520 ACPI_EFI_GUID *InformationType,
521 UINTN *BufferSize,
522 VOID *Buffer);
523
524typedef
527 struct _ACPI_EFI_FILE_HANDLE *File,
528 ACPI_EFI_GUID *InformationType,
529 UINTN BufferSize,
530 VOID *Buffer);
531
532typedef
535 struct _ACPI_EFI_FILE_HANDLE *File);
536
537
538#define ACPI_EFI_FILE_HANDLE_REVISION 0x00010000
539
553
554
555/*
556 * Loaded image protocol
557 */
558#define ACPI_EFI_LOADED_IMAGE_PROTOCOL \
559 { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} }
560
561typedef
564 ACPI_EFI_HANDLE ImageHandle,
565 struct _ACPI_EFI_SYSTEM_TABLE *SystemTable);
566
567typedef
570 BOOLEAN BootPolicy,
571 ACPI_EFI_HANDLE ParentImageHandle,
572 ACPI_EFI_DEVICE_PATH *FilePath,
573 VOID *SourceBuffer,
574 UINTN SourceSize,
575 ACPI_EFI_HANDLE *ImageHandle);
576
577typedef
580 ACPI_EFI_HANDLE ImageHandle,
581 UINTN *ExitDataSize,
582 CHAR16 **ExitData);
583
584typedef
587 ACPI_EFI_HANDLE ImageHandle,
588 ACPI_EFI_STATUS ExitStatus,
589 UINTN ExitDataSize,
590 CHAR16 *ExitData);
591
592typedef
595 ACPI_EFI_HANDLE ImageHandle);
596
597
598typedef
601 UINTN Microseconds);
602
603typedef
606 UINTN Timeout,
607 UINT64 WatchdogCode,
608 UINTN DataSize,
609 CHAR16 *WatchdogData);
610
611
612#define EFI_IMAGE_INFORMATION_REVISION 0x1000
629
630
631/*
632 * EFI Memory
633 */
634typedef
638 ACPI_EFI_MEMORY_TYPE MemoryType,
639 UINTN NoPages,
641
642typedef
646 UINTN NoPages);
647
648typedef
651 UINTN *MemoryMapSize,
653 UINTN *MapKey,
654 UINTN *DescriptorSize,
655 UINT32 *DescriptorVersion);
656
657#define NextMemoryDescriptor(Ptr,Size) ((ACPI_EFI_MEMORY_DESCRIPTOR *) (((UINT8 *) Ptr) + Size))
658
659typedef
662 ACPI_EFI_MEMORY_TYPE PoolType,
663 UINTN Size,
664 VOID **Buffer);
665
666typedef
669 VOID *Buffer);
670
671
672/*
673 * EFI Time
674 */
680
681typedef
684 ACPI_EFI_TIME *Time,
685 ACPI_EFI_TIME_CAPABILITIES *Capabilities);
686
687typedef
690 ACPI_EFI_TIME *Time);
691
692
693/*
694 * Protocol handler functions
695 */
700
706
707typedef
710 ACPI_EFI_HANDLE *Handle,
711 ACPI_EFI_GUID *Protocol,
712 ACPI_EFI_INTERFACE_TYPE InterfaceType,
713 VOID *Interface);
714
715typedef
718 ACPI_EFI_HANDLE Handle,
719 ACPI_EFI_GUID *Protocol,
720 VOID *OldInterface,
721 VOID *NewInterface);
722
723typedef
726 ACPI_EFI_HANDLE Handle,
727 ACPI_EFI_GUID *Protocol,
728 VOID *Interface);
729
730typedef
733 ACPI_EFI_HANDLE Handle,
734 ACPI_EFI_GUID *Protocol,
735 VOID **Interface);
736
737typedef
740 ACPI_EFI_GUID *Protocol,
741 ACPI_EFI_EVENT Event,
742 VOID **Registration);
743
744typedef
748 ACPI_EFI_GUID *Protocol,
749 VOID *SearchKey,
750 UINTN *BufferSize,
751 ACPI_EFI_HANDLE *Buffer);
752
753typedef
756 ACPI_EFI_GUID *Protocol,
757 ACPI_EFI_DEVICE_PATH **DevicePath,
758 ACPI_EFI_HANDLE *Device);
759
760typedef
763 ACPI_EFI_GUID *Guid,
764 VOID *Table);
765
766#define ACPI_EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
767#define ACPI_EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
768#define ACPI_EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
769#define ACPI_EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
770#define ACPI_EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
771#define ACPI_EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
772
773typedef
776 ACPI_EFI_HANDLE Handle,
777 ACPI_EFI_GUID *Protocol,
778 VOID **Interface,
779 ACPI_EFI_HANDLE AgentHandle,
780 ACPI_EFI_HANDLE ControllerHandle,
781 UINT32 Attributes);
782
783typedef
786 ACPI_EFI_HANDLE Handle,
787 ACPI_EFI_GUID *Protocol,
788 ACPI_EFI_HANDLE AgentHandle,
789 ACPI_EFI_HANDLE ControllerHandle);
790
797
798typedef
801 ACPI_EFI_HANDLE Handle,
802 ACPI_EFI_GUID *Protocol,
804 UINTN *EntryCount);
805
806typedef
809 ACPI_EFI_HANDLE Handle,
810 ACPI_EFI_GUID ***ProtocolBuffer,
811 UINTN *ProtocolBufferCount);
812
813typedef
817 ACPI_EFI_GUID *Protocol,
818 VOID *SearchKey,
819 UINTN *NoHandles,
820 ACPI_EFI_HANDLE **Buffer);
821
822typedef
825 ACPI_EFI_GUID *Protocol,
826 VOID *Registration,
827 VOID **Interface);
828
829typedef
832 ACPI_EFI_HANDLE *Handle,
833 ...);
834
835typedef
838 ACPI_EFI_HANDLE Handle,
839 ...);
840
841typedef
844 VOID *Data,
845 UINTN DataSize,
846 UINT32 *Crc32);
847
848typedef
851 VOID *Destination,
852 VOID *Source,
853 UINTN Length);
854
855typedef
858 VOID *Buffer,
859 UINTN Size,
860 UINT8 Value);
861
862/*
863 * EFI Boot Services Table
864 */
865#define ACPI_EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42
866#define ACPI_EFI_BOOT_SERVICES_REVISION (ACPI_EFI_SPECIFICATION_MAJOR_REVISION<<16) | (ACPI_EFI_SPECIFICATION_MINOR_REVISION)
867
870
871#if 0
872 ACPI_EFI_RAISE_TPL RaiseTPL;
873 ACPI_EFI_RESTORE_TPL RestoreTPL;
874#else
877#endif
878
884
885#if 0
886 ACPI_EFI_CREATE_EVENT CreateEvent;
887 ACPI_EFI_SET_TIMER SetTimer;
888 ACPI_EFI_WAIT_FOR_EVENT WaitForEvent;
889 ACPI_EFI_SIGNAL_EVENT SignalEvent;
890 ACPI_EFI_CLOSE_EVENT CloseEvent;
891 ACPI_EFI_CHECK_EVENT CheckEvent;
892#else
899#endif
900
910
915
916#if 0
917 ACPI_EFI_EXIT_BOOT_SERVICES ExitBootServices;
918 ACPI_EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
919#else
922#endif
925
926#if 0
927 ACPI_EFI_CONNECT_CONTROLLER ConnectController;
928 ACPI_EFI_DISCONNECT_CONTROLLER DisconnectController;
929#else
932#endif
933
942
944
947
948#if 0
949 ACPI_EFI_CREATE_EVENT_EX CreateEventEx;
950#else
952#endif
954
955
956/*
957 * EFI Runtime Services Table
958 */
959#define ACPI_EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552
960#define ACPI_EFI_RUNTIME_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)
961
964
967#if 0
968 ACPI_EFI_GET_WAKEUP_TIME GetWakeupTime;
969 ACPI_EFI_SET_WAKEUP_TIME SetWakeupTime;
970#else
973#endif
974
975#if 0
976 ACPI_EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
977 ACPI_EFI_CONVERT_POINTER ConvertPointer;
978#else
981#endif
982
983#if 0
984 ACPI_EFI_GET_VARIABLE GetVariable;
985 ACPI_EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
986 ACPI_EFI_SET_VARIABLE SetVariable;
987#else
991#endif
992
993#if 0
994 ACPI_EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
995 ACPI_EFI_RESET_SYSTEM ResetSystem;
996#else
999#endif
1000
1002
1003
1004/*
1005 * EFI System Table
1006 */
1007
1008/*
1009 * EFI Configuration Table and GUID definitions
1010 */
1011#define ACPI_TABLE_GUID \
1012 { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1013#define ACPI_20_TABLE_GUID \
1014 { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
1015
1020
1021
1022#define ACPI_EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
1023#define ACPI_EFI_SYSTEM_TABLE_REVISION (ACPI_EFI_SPECIFICATION_MAJOR_REVISION<<16) | (ACPI_EFI_SPECIFICATION_MINOR_REVISION)
1024
1047
1048
1049/*
1050 * EFI PCI I/O Protocol
1051 */
1052#define ACPI_EFI_PCI_IO_PROTOCOL \
1053 { 0x4cf5b200, 0x68b8, 0x4ca5, {0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x2, 0x9a} }
1054
1070
1071typedef
1074 struct _ACPI_EFI_PCI_IO *This,
1076 UINT32 Offset,
1077 UINTN Count,
1078 VOID *Buffer);
1079
1084
1085typedef
1088 struct _ACPI_EFI_PCI_IO *This,
1089 UINTN *SegmentNumber,
1090 UINTN *BusNumber,
1091 UINTN *DeviceNumber,
1093
1113
1114/* FILE abstraction */
1115
1121
1122
1123/* EFI definitions */
1124
1125#if defined(_GNU_EFI) || defined(_EDK2_EFI)
1126
1127/*
1128 * This is needed to hide platform specific code from ACPICA
1129 */
1131DivU64x32 (
1132 UINT64 Dividend,
1133 UINTN Divisor,
1134 UINTN *Remainder);
1135
1137MultU64x32 (
1138 UINT64 Multiplicand,
1139 UINTN Multiplier);
1140
1142LShiftU64 (
1143 UINT64 Operand,
1144 UINTN Count);
1145
1147RShiftU64 (
1148 UINT64 Operand,
1149 UINTN Count);
1150
1151/*
1152 * EFI specific prototypes
1153 */
1155efi_main (
1156 ACPI_EFI_HANDLE Image,
1157 ACPI_EFI_SYSTEM_TABLE *SystemTab);
1158
1159int
1160acpi_main (
1161 int argc,
1162 char *argv[]);
1163
1164#endif
1165
1171
1172#endif /* __ACEFIEX_H__ */
UINT64 UINTN
Definition ProcessorBind.h:118
int INT32
Definition ProcessorBind.h:103
unsigned short CHAR16
Definition ProcessorBind.h:105
unsigned int UINT32
Definition ProcessorBind.h:102
UINT16 FunctionNumber
Definition Acpi62.h:47
UINT64 EFIAPI DivU64x32(IN UINT64 Dividend, IN UINT32 Divisor)
UINT64 EFIAPI RShiftU64(IN UINT64 Operand, IN UINTN Count)
UINT64 EFIAPI MultU64x32(IN UINT64 Multiplicand, IN UINT32 Multiplier)
UINT64 EFIAPI LShiftU64(IN UINT64 Operand, IN UINTN Count)
EFI_STATUS efi_main(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
Definition xnldr.cpp:223
uint32_t Size
Definition pe.h:1
#define COMPILER_DEPENDENT_INT64
Definition accygwin.h:180
#define COMPILER_DEPENDENT_UINT64
Definition accygwin.h:181
#define ACPI_EFI_API
Definition acefi.h:187
#define VOID
Definition acefi.h:190
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_INSTALL_PROTOCOL_INTERFACE)(ACPI_EFI_HANDLE *Handle, ACPI_EFI_GUID *Protocol, ACPI_EFI_INTERFACE_TYPE InterfaceType, VOID *Interface)
Definition acefiex.h:709
struct _ACPI_EFI_SYSTEM_TABLE ACPI_EFI_SYSTEM_TABLE
struct _ACPI_EFI_CONFIGURATION_TABLE ACPI_EFI_CONFIGURATION_TABLE
struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_TEXT_SET_ATTRIBUTE)(struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, UINTN Attribute)
Definition acefiex.h:333
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_INPUT_RESET)(struct _ACPI_SIMPLE_INPUT_INTERFACE *This, BOOLEAN ExtendedVerification)
Definition acefiex.h:403
VOID(ACPI_EFI_API * ACPI_EFI_COPY_MEM)(VOID *Destination, VOID *Source, UINTN Length)
Definition acefiex.h:850
ACPI_EFI_GUID AcpiGbl_GenericFileInfo
struct _ACPI_EFI_FILE_HANDLE ACPI_EFI_FILE_STRUCT
struct _ACPI_EFI_FILE_IO_INTERFACE ACPI_EFI_FILE_IO_INTERFACE
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_PCI_IO_PROTOCOL_CONFIG)(struct _ACPI_EFI_PCI_IO *This, ACPI_EFI_PCI_IO_PROTOCOL_WIDTH Width, UINT32 Offset, UINTN Count, VOID *Buffer)
Definition acefiex.h:1073
UINT64 ACPI_EFI_PHYSICAL_ADDRESS
Definition acefiex.h:226
struct _ACPI_SIMPLE_INPUT_INTERFACE ACPI_SIMPLE_INPUT_INTERFACE
ACPI_EFI_GUID AcpiGbl_LoadedImageProtocol
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_TEXT_QUERY_MODE)(struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, UINTN ModeNumber, UINTN *Columns, UINTN *Rows)
Definition acefiex.h:319
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES)(ACPI_EFI_HANDLE *Handle,...)
Definition acefiex.h:831
int int32_t
Definition acefiex.h:160
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_LOCATE_DEVICE_PATH)(ACPI_EFI_GUID *Protocol, ACPI_EFI_DEVICE_PATH **DevicePath, ACPI_EFI_HANDLE *Device)
Definition acefiex.h:755
struct _ACPI_EFI_PCI_IO ACPI_EFI_PCI_IO
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_IMAGE_ENTRY_POINT)(ACPI_EFI_HANDLE ImageHandle, struct _ACPI_EFI_SYSTEM_TABLE *SystemTable)
Definition acefiex.h:563
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_OPEN_PROTOCOL)(ACPI_EFI_HANDLE Handle, ACPI_EFI_GUID *Protocol, VOID **Interface, ACPI_EFI_HANDLE AgentHandle, ACPI_EFI_HANDLE ControllerHandle, UINT32 Attributes)
Definition acefiex.h:775
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_FLUSH)(struct _ACPI_EFI_FILE_HANDLE *File)
Definition acefiex.h:534
unsigned int uint32_t
Definition acefiex.h:163
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_EXIT)(ACPI_EFI_HANDLE ImageHandle, ACPI_EFI_STATUS ExitStatus, UINTN ExitDataSize, CHAR16 *ExitData)
Definition acefiex.h:586
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_SET_POSITION)(struct _ACPI_EFI_FILE_HANDLE *File, UINT64 Position)
Definition acefiex.h:490
VOID(ACPI_EFI_API * ACPI_EFI_SET_MEM)(VOID *Buffer, UINTN Size, UINT8 Value)
Definition acefiex.h:857
COMPILER_DEPENDENT_INT64 int64_t
Definition acefiex.h:164
UINT64 ACPI_EFI_VIRTUAL_ADDRESS
Definition acefiex.h:227
ACPI_EFI_ALLOCATE_TYPE
Definition acefiex.h:229
@ AcpiEfiAllocateMaxAddress
Definition acefiex.h:231
@ AcpiEfiMaxAllocateType
Definition acefiex.h:233
@ AcpiEfiAllocateAddress
Definition acefiex.h:232
@ AcpiEfiAllocateAnyPages
Definition acefiex.h:230
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_IMAGE_LOAD)(BOOLEAN BootPolicy, ACPI_EFI_HANDLE ParentImageHandle, ACPI_EFI_DEVICE_PATH *FilePath, VOID *SourceBuffer, UINTN SourceSize, ACPI_EFI_HANDLE *ImageHandle)
Definition acefiex.h:569
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_TEXT_RESET)(struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, BOOLEAN ExtendedVerification)
Definition acefiex.h:301
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_TEXT_OUTPUT_STRING)(struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, CHAR16 *String)
Definition acefiex.h:307
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_REGISTER_PROTOCOL_NOTIFY)(ACPI_EFI_GUID *Protocol, ACPI_EFI_EVENT Event, VOID **Registration)
Definition acefiex.h:739
short int int16_t
Definition acefiex.h:159
UINTN ACPI_EFI_STATUS
Definition acefiex.h:195
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_IMAGE_UNLOAD)(ACPI_EFI_HANDLE ImageHandle)
Definition acefiex.h:594
VOID * ACPI_EFI_HANDLE
Definition acefiex.h:196
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_LOCATE_HANDLE_BUFFER)(ACPI_EFI_LOCATE_SEARCH_TYPE SearchType, ACPI_EFI_GUID *Protocol, VOID *SearchKey, UINTN *NoHandles, ACPI_EFI_HANDLE **Buffer)
Definition acefiex.h:815
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_TEXT_TEST_STRING)(struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, CHAR16 *String)
Definition acefiex.h:313
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_REINSTALL_PROTOCOL_INTERFACE)(ACPI_EFI_HANDLE Handle, ACPI_EFI_GUID *Protocol, VOID *OldInterface, VOID *NewInterface)
Definition acefiex.h:717
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_OPEN)(struct _ACPI_EFI_FILE_HANDLE *File, struct _ACPI_EFI_FILE_HANDLE **NewHandle, CHAR16 *FileName, UINT64 OpenMode, UINT64 Attributes)
Definition acefiex.h:441
struct _ACPI_EFI_DEVICE_PATH ACPI_EFI_DEVICE_PATH
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_ALLOCATE_POOL)(ACPI_EFI_MEMORY_TYPE PoolType, UINTN Size, VOID **Buffer)
Definition acefiex.h:661
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_CLOSE_PROTOCOL)(ACPI_EFI_HANDLE Handle, ACPI_EFI_GUID *Protocol, ACPI_EFI_HANDLE AgentHandle, ACPI_EFI_HANDLE ControllerHandle)
Definition acefiex.h:785
struct _ACPI_EFI_TABLE_HEARDER ACPI_EFI_TABLE_HEADER
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_VOLUME_OPEN)(struct _ACPI_EFI_FILE_IO_INTERFACE *This, struct _ACPI_EFI_FILE_HANDLE **Root)
Definition acefiex.h:428
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_INPUT_READ_KEY)(struct _ACPI_SIMPLE_INPUT_INTERFACE *This, ACPI_EFI_INPUT_KEY *Key)
Definition acefiex.h:409
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_SET_TIME)(ACPI_EFI_TIME *Time)
Definition acefiex.h:689
struct _ACPI_EFI_RUNTIME_SERVICES ACPI_EFI_RUNTIME_SERVICES
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_TEXT_ENABLE_CURSOR)(struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, BOOLEAN Enable)
Definition acefiex.h:351
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_READ)(struct _ACPI_EFI_FILE_HANDLE *File, UINTN *BufferSize, VOID *Buffer)
Definition acefiex.h:476
VOID * ACPI_EFI_EVENT
Definition acefiex.h:197
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_LOCATE_PROTOCOL)(ACPI_EFI_GUID *Protocol, VOID *Registration, VOID **Interface)
Definition acefiex.h:824
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_INSTALL_CONFIGURATION_TABLE)(ACPI_EFI_GUID *Guid, VOID *Table)
Definition acefiex.h:762
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_GET_TIME)(ACPI_EFI_TIME *Time, ACPI_EFI_TIME_CAPABILITIES *Capabilities)
Definition acefiex.h:683
ACPI_EFI_INTERFACE_TYPE
Definition acefiex.h:696
@ ACPI_EFI_PCODE_INTERFACE
Definition acefiex.h:698
@ ACPI_EFI_NATIVE_INTERFACE
Definition acefiex.h:697
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_PROTOCOLS_PER_HANDLE)(ACPI_EFI_HANDLE Handle, ACPI_EFI_GUID ***ProtocolBuffer, UINTN *ProtocolBufferCount)
Definition acefiex.h:808
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FREE_POOL)(VOID *Buffer)
Definition acefiex.h:668
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_UNKNOWN_INTERFACE)(void)
Definition acefiex.h:289
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_PCI_IO_PROTOCOL_GET_LOCATION)(struct _ACPI_EFI_PCI_IO *This, UINTN *SegmentNumber, UINTN *BusNumber, UINTN *DeviceNumber, UINTN *FunctionNumber)
Definition acefiex.h:1087
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FREE_PAGES)(ACPI_EFI_PHYSICAL_ADDRESS Memory, UINTN NoPages)
Definition acefiex.h:644
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_GET_INFO)(struct _ACPI_EFI_FILE_HANDLE *File, ACPI_EFI_GUID *InformationType, UINTN *BufferSize, VOID *Buffer)
Definition acefiex.h:518
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_CALCULATE_CRC32)(VOID *Data, UINTN DataSize, UINT32 *Crc32)
Definition acefiex.h:843
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_GET_POSITION)(struct _ACPI_EFI_FILE_HANDLE *File, UINT64 *Position)
Definition acefiex.h:496
struct _ACPI_EFI_BOOT_SERVICES ACPI_EFI_BOOT_SERVICES
unsigned char uint8_t
Definition acefiex.h:161
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_IMAGE_START)(ACPI_EFI_HANDLE ImageHandle, UINTN *ExitDataSize, CHAR16 **ExitData)
Definition acefiex.h:579
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_SET_INFO)(struct _ACPI_EFI_FILE_HANDLE *File, ACPI_EFI_GUID *InformationType, UINTN BufferSize, VOID *Buffer)
Definition acefiex.h:526
ACPI_EFI_PCI_IO_PROTOCOL_WIDTH
Definition acefiex.h:1055
@ AcpiEfiPciIoWidthFillUint8
Definition acefiex.h:1064
@ AcpiEfiPciIoWidthUint16
Definition acefiex.h:1057
@ AcpiEfiPciIoWidthFifoUint64
Definition acefiex.h:1063
@ AcpiEfiPciIoWidthFillUint32
Definition acefiex.h:1066
@ AcpiEfiPciIoWidthUint32
Definition acefiex.h:1058
@ AcpiEfiPciIoWidthFifoUint32
Definition acefiex.h:1062
@ AcpiEfiPciIoWidthUint64
Definition acefiex.h:1059
@ AcpiEfiPciIoWidthMaximum
Definition acefiex.h:1068
@ AcpiEfiPciIoWidthFillUint64
Definition acefiex.h:1067
@ AcpiEfiPciIoWidthFifoUint8
Definition acefiex.h:1060
@ AcpiEfiPciIoWidthFifoUint16
Definition acefiex.h:1061
@ AcpiEfiPciIoWidthFillUint16
Definition acefiex.h:1065
@ AcpiEfiPciIoWidthUint8
Definition acefiex.h:1056
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_CLOSE)(struct _ACPI_EFI_FILE_HANDLE *File)
Definition acefiex.h:466
ACPI_EFI_GUID AcpiGbl_FileSystemProtocol
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_STALL)(UINTN Microseconds)
Definition acefiex.h:600
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES)(ACPI_EFI_HANDLE Handle,...)
Definition acefiex.h:837
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_TEXT_SET_CURSOR_POSITION)(struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, UINTN Column, UINTN Row)
Definition acefiex.h:344
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_GET_MEMORY_MAP)(UINTN *MemoryMapSize, ACPI_EFI_MEMORY_DESCRIPTOR *MemoryMap, UINTN *MapKey, UINTN *DescriptorSize, UINT32 *DescriptorVersion)
Definition acefiex.h:650
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_ALLOCATE_PAGES)(ACPI_EFI_ALLOCATE_TYPE Type, ACPI_EFI_MEMORY_TYPE MemoryType, UINTN NoPages, ACPI_EFI_PHYSICAL_ADDRESS *Memory)
Definition acefiex.h:636
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_HANDLE_PROTOCOL)(ACPI_EFI_HANDLE Handle, ACPI_EFI_GUID *Protocol, VOID **Interface)
Definition acefiex.h:732
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_DELETE)(struct _ACPI_EFI_FILE_HANDLE *File)
Definition acefiex.h:471
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_TEXT_CLEAR_SCREEN)(struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This)
Definition acefiex.h:339
ACPI_EFI_GUID AcpiGbl_TextInProtocol
ACPI_EFI_MEMORY_TYPE
Definition acefiex.h:236
@ AcpiEfiConventionalMemory
Definition acefiex.h:244
@ AcpiEfiPalCode
Definition acefiex.h:250
@ AcpiEfiMaxMemoryType
Definition acefiex.h:251
@ AcpiEfiUnusableMemory
Definition acefiex.h:245
@ AcpiEfiACPIReclaimMemory
Definition acefiex.h:246
@ AcpiEfiRuntimeServicesData
Definition acefiex.h:243
@ AcpiEfiLoaderData
Definition acefiex.h:239
@ AcpiEfiLoaderCode
Definition acefiex.h:238
@ AcpiEfiMemoryMappedIOPortSpace
Definition acefiex.h:249
@ AcpiEfiRuntimeServicesCode
Definition acefiex.h:242
@ AcpiEfiMemoryMappedIO
Definition acefiex.h:248
@ AcpiEfiACPIMemoryNVS
Definition acefiex.h:247
@ AcpiEfiBootServicesCode
Definition acefiex.h:240
@ AcpiEfiBootServicesData
Definition acefiex.h:241
@ AcpiEfiReservedMemoryType
Definition acefiex.h:237
unsigned short int uint16_t
Definition acefiex.h:162
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_SET_WATCHDOG_TIMER)(UINTN Timeout, UINT64 WatchdogCode, UINTN DataSize, CHAR16 *WatchdogData)
Definition acefiex.h:605
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_OPEN_PROTOCOL_INFORMATION)(ACPI_EFI_HANDLE Handle, ACPI_EFI_GUID *Protocol, ACPI_EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer, UINTN *EntryCount)
Definition acefiex.h:800
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_FILE_WRITE)(struct _ACPI_EFI_FILE_HANDLE *File, UINTN *BufferSize, VOID *Buffer)
Definition acefiex.h:483
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_LOCATE_HANDLE)(ACPI_EFI_LOCATE_SEARCH_TYPE SearchType, ACPI_EFI_GUID *Protocol, VOID *SearchKey, UINTN *BufferSize, ACPI_EFI_HANDLE *Buffer)
Definition acefiex.h:746
ACPI_EFI_LOCATE_SEARCH_TYPE
Definition acefiex.h:701
@ AcpiEfiByRegisterNotify
Definition acefiex.h:703
@ AcpiEfiAllHandles
Definition acefiex.h:702
@ AcpiEfiByProtocol
Definition acefiex.h:704
struct _ACPI_EFI_FILE_HANDLE * ACPI_EFI_FILE_HANDLE
signed char int8_t
Definition acefiex.h:158
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_UNINSTALL_PROTOCOL_INTERFACE)(ACPI_EFI_HANDLE Handle, ACPI_EFI_GUID *Protocol, VOID *Interface)
Definition acefiex.h:725
ACPI_EFI_GUID AcpiGbl_TextOutProtocol
ACPI_EFI_STATUS(ACPI_EFI_API * ACPI_EFI_TEXT_SET_MODE)(struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, UINTN ModeNumber)
Definition acefiex.h:327
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 Type
Definition acpixf.h:894
ACPI_PHYSICAL_ADDRESS ACPI_SIZE Length
Definition acpixf.h:638
unsigned short UINT16
Definition actypes.h:237
unsigned char BOOLEAN
Definition actypes.h:235
short INT16
Definition actypes.h:238
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition acefiex.h:503
UINT64 PhysicalSize
Definition acefiex.h:506
UINT64 Size
Definition acefiex.h:504
UINT64 Attribute
Definition acefiex.h:510
UINT64 FileSize
Definition acefiex.h:505
ACPI_EFI_TIME LastAccessTime
Definition acefiex.h:508
ACPI_EFI_TIME CreateTime
Definition acefiex.h:507
ACPI_EFI_TIME ModificationTime
Definition acefiex.h:509
Definition acefiex.h:199
UINT32 Data1
Definition acefiex.h:200
UINT16 Data2
Definition acefiex.h:201
UINT16 Data3
Definition acefiex.h:202
Definition acefiex.h:387
CHAR16 UnicodeChar
Definition acefiex.h:389
UINT16 ScanCode
Definition acefiex.h:388
Definition acefiex.h:613
ACPI_EFI_HANDLE DeviceHandle
Definition acefiex.h:617
ACPI_EFI_MEMORY_TYPE ImageCodeType
Definition acefiex.h:624
ACPI_EFI_DEVICE_PATH * FilePath
Definition acefiex.h:618
VOID * LoadOptions
Definition acefiex.h:621
VOID * ImageBase
Definition acefiex.h:622
ACPI_EFI_HANDLE ParentHandle
Definition acefiex.h:615
UINT32 LoadOptionsSize
Definition acefiex.h:620
VOID * Reserved
Definition acefiex.h:619
UINT64 ImageSize
Definition acefiex.h:623
UINT32 Revision
Definition acefiex.h:614
ACPI_EFI_MEMORY_TYPE ImageDataType
Definition acefiex.h:625
ACPI_EFI_IMAGE_UNLOAD Unload
Definition acefiex.h:626
struct _ACPI_EFI_SYSTEM_TABLE * SystemTable
Definition acefiex.h:616
Definition acefiex.h:270
ACPI_EFI_PHYSICAL_ADDRESS PhysicalStart
Definition acefiex.h:273
UINT64 Attribute
Definition acefiex.h:276
UINT32 Type
Definition acefiex.h:271
UINT64 NumberOfPages
Definition acefiex.h:275
ACPI_EFI_VIRTUAL_ADDRESS VirtualStart
Definition acefiex.h:274
UINT32 Pad
Definition acefiex.h:272
Definition acefiex.h:791
UINT32 OpenCount
Definition acefiex.h:795
UINT32 Attributes
Definition acefiex.h:794
ACPI_EFI_HANDLE ControllerHandle
Definition acefiex.h:793
ACPI_EFI_HANDLE AgentHandle
Definition acefiex.h:792
ACPI_EFI_PCI_IO_PROTOCOL_CONFIG Read
Definition acefiex.h:1081
ACPI_EFI_PCI_IO_PROTOCOL_CONFIG Write
Definition acefiex.h:1082
Definition acefiex.h:675
BOOLEAN SetsToZero
Definition acefiex.h:678
UINT32 Resolution
Definition acefiex.h:676
UINT32 Accuracy
Definition acefiex.h:677
Definition acefiex.h:206
UINT8 Day
Definition acefiex.h:209
UINT8 Minute
Definition acefiex.h:211
UINT8 Second
Definition acefiex.h:212
UINT8 Month
Definition acefiex.h:208
UINT16 Year
Definition acefiex.h:207
UINT8 Hour
Definition acefiex.h:210
UINT8 Daylight
Definition acefiex.h:216
UINT8 Pad2
Definition acefiex.h:217
UINT8 Pad1
Definition acefiex.h:213
INT16 TimeZone
Definition acefiex.h:215
UINT32 Nanosecond
Definition acefiex.h:214
Definition acefiex.h:355
INT32 MaxMode
Definition acefiex.h:356
INT32 CursorRow
Definition acefiex.h:360
BOOLEAN CursorVisible
Definition acefiex.h:361
INT32 Mode
Definition acefiex.h:357
INT32 Attribute
Definition acefiex.h:358
INT32 CursorColumn
Definition acefiex.h:359
Definition acefiex.h:868
ACPI_EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle
Definition acefiex.h:937
ACPI_EFI_IMAGE_LOAD LoadImage
Definition acefiex.h:911
ACPI_EFI_IMAGE_UNLOAD UnloadImage
Definition acefiex.h:914
ACPI_EFI_UNKNOWN_INTERFACE SetTimer
Definition acefiex.h:894
ACPI_EFI_ALLOCATE_PAGES AllocatePages
Definition acefiex.h:879
ACPI_EFI_LOCATE_HANDLE LocateHandle
Definition acefiex.h:907
ACPI_EFI_OPEN_PROTOCOL OpenProtocol
Definition acefiex.h:934
ACPI_EFI_SET_MEM SetMem
Definition acefiex.h:946
ACPI_EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces
Definition acefiex.h:940
ACPI_EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable
Definition acefiex.h:909
ACPI_EFI_ALLOCATE_POOL AllocatePool
Definition acefiex.h:882
ACPI_EFI_UNKNOWN_INTERFACE RaiseTPL
Definition acefiex.h:875
ACPI_EFI_FREE_POOL FreePool
Definition acefiex.h:883
ACPI_EFI_LOCATE_PROTOCOL LocateProtocol
Definition acefiex.h:939
ACPI_EFI_CALCULATE_CRC32 CalculateCrc32
Definition acefiex.h:943
ACPI_EFI_CLOSE_PROTOCOL CloseProtocol
Definition acefiex.h:935
ACPI_EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface
Definition acefiex.h:903
ACPI_EFI_UNKNOWN_INTERFACE ExitBootServices
Definition acefiex.h:920
ACPI_EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface
Definition acefiex.h:902
ACPI_EFI_IMAGE_START StartImage
Definition acefiex.h:912
ACPI_EFI_EXIT Exit
Definition acefiex.h:913
ACPI_EFI_LOCATE_DEVICE_PATH LocateDevicePath
Definition acefiex.h:908
ACPI_EFI_UNKNOWN_INTERFACE CreateEvent
Definition acefiex.h:893
ACPI_EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation
Definition acefiex.h:936
ACPI_EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify
Definition acefiex.h:906
ACPI_EFI_COPY_MEM CopyMem
Definition acefiex.h:945
ACPI_EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface
Definition acefiex.h:901
ACPI_EFI_SET_WATCHDOG_TIMER SetWatchdogTimer
Definition acefiex.h:924
ACPI_EFI_UNKNOWN_INTERFACE CreateEventEx
Definition acefiex.h:951
ACPI_EFI_UNKNOWN_INTERFACE SignalEvent
Definition acefiex.h:896
ACPI_EFI_UNKNOWN_INTERFACE DisconnectController
Definition acefiex.h:931
ACPI_EFI_FREE_PAGES FreePages
Definition acefiex.h:880
ACPI_EFI_UNKNOWN_INTERFACE CheckEvent
Definition acefiex.h:898
ACPI_EFI_UNKNOWN_INTERFACE RestoreTPL
Definition acefiex.h:876
ACPI_EFI_HANDLE_PROTOCOL HandleProtocol
Definition acefiex.h:904
ACPI_EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces
Definition acefiex.h:941
ACPI_EFI_TABLE_HEADER Hdr
Definition acefiex.h:869
ACPI_EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer
Definition acefiex.h:938
ACPI_EFI_STALL Stall
Definition acefiex.h:923
ACPI_EFI_HANDLE_PROTOCOL PCHandleProtocol
Definition acefiex.h:905
ACPI_EFI_UNKNOWN_INTERFACE CloseEvent
Definition acefiex.h:897
ACPI_EFI_UNKNOWN_INTERFACE WaitForEvent
Definition acefiex.h:895
ACPI_EFI_UNKNOWN_INTERFACE GetNextMonotonicCount
Definition acefiex.h:921
ACPI_EFI_GET_MEMORY_MAP GetMemoryMap
Definition acefiex.h:881
ACPI_EFI_UNKNOWN_INTERFACE ConnectController
Definition acefiex.h:930
Definition acefiex.h:1016
ACPI_EFI_GUID VendorGuid
Definition acefiex.h:1017
VOID * VendorTable
Definition acefiex.h:1018
Definition acefiex.h:220
UINT8 Type
Definition acefiex.h:221
UINT8 Length[2]
Definition acefiex.h:223
UINT8 SubType
Definition acefiex.h:222
Definition acefiex.h:540
ACPI_EFI_FILE_GET_INFO GetInfo
Definition acefiex.h:549
UINT64 Revision
Definition acefiex.h:541
ACPI_EFI_FILE_DELETE Delete
Definition acefiex.h:544
ACPI_EFI_FILE_CLOSE Close
Definition acefiex.h:543
ACPI_EFI_FILE_SET_POSITION SetPosition
Definition acefiex.h:548
ACPI_EFI_FILE_READ Read
Definition acefiex.h:545
ACPI_EFI_FILE_OPEN Open
Definition acefiex.h:542
ACPI_EFI_FILE_FLUSH Flush
Definition acefiex.h:551
ACPI_EFI_FILE_GET_POSITION GetPosition
Definition acefiex.h:547
ACPI_EFI_FILE_SET_INFO SetInfo
Definition acefiex.h:550
ACPI_EFI_FILE_WRITE Write
Definition acefiex.h:546
Definition acefiex.h:434
UINT64 Revision
Definition acefiex.h:435
ACPI_EFI_VOLUME_OPEN OpenVolume
Definition acefiex.h:436
Definition acefiex.h:1094
ACPI_EFI_UNKNOWN_INTERFACE Flush
Definition acefiex.h:1105
ACPI_EFI_UNKNOWN_INTERFACE FreeBuffer
Definition acefiex.h:1104
ACPI_EFI_UNKNOWN_INTERFACE PollMem
Definition acefiex.h:1095
VOID * RomImage
Definition acefiex.h:1111
ACPI_EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS Pci
Definition acefiex.h:1099
ACPI_EFI_UNKNOWN_INTERFACE Mem
Definition acefiex.h:1097
ACPI_EFI_UNKNOWN_INTERFACE AllocateBuffer
Definition acefiex.h:1103
ACPI_EFI_UNKNOWN_INTERFACE GetBarAttributes
Definition acefiex.h:1108
ACPI_EFI_UNKNOWN_INTERFACE Map
Definition acefiex.h:1101
ACPI_EFI_UNKNOWN_INTERFACE CopyMem
Definition acefiex.h:1100
ACPI_EFI_PCI_IO_PROTOCOL_GET_LOCATION GetLocation
Definition acefiex.h:1106
ACPI_EFI_UNKNOWN_INTERFACE SetBarAttributes
Definition acefiex.h:1109
UINT64 RomSize
Definition acefiex.h:1110
ACPI_EFI_UNKNOWN_INTERFACE Io
Definition acefiex.h:1098
ACPI_EFI_UNKNOWN_INTERFACE PollIo
Definition acefiex.h:1096
ACPI_EFI_UNKNOWN_INTERFACE Attributes
Definition acefiex.h:1107
ACPI_EFI_UNKNOWN_INTERFACE Unmap
Definition acefiex.h:1102
Definition acefiex.h:962
ACPI_EFI_SET_TIME SetTime
Definition acefiex.h:966
ACPI_EFI_UNKNOWN_INTERFACE ResetSystem
Definition acefiex.h:998
ACPI_EFI_TABLE_HEADER Hdr
Definition acefiex.h:963
ACPI_EFI_UNKNOWN_INTERFACE GetVariable
Definition acefiex.h:988
ACPI_EFI_UNKNOWN_INTERFACE GetNextVariableName
Definition acefiex.h:989
ACPI_EFI_UNKNOWN_INTERFACE SetWakeupTime
Definition acefiex.h:972
ACPI_EFI_UNKNOWN_INTERFACE SetVariable
Definition acefiex.h:990
ACPI_EFI_UNKNOWN_INTERFACE GetNextHighMonotonicCount
Definition acefiex.h:997
ACPI_EFI_UNKNOWN_INTERFACE ConvertPointer
Definition acefiex.h:980
ACPI_EFI_UNKNOWN_INTERFACE GetWakeupTime
Definition acefiex.h:971
ACPI_EFI_GET_TIME GetTime
Definition acefiex.h:965
ACPI_EFI_UNKNOWN_INTERFACE SetVirtualAddressMap
Definition acefiex.h:979
Definition acefiex.h:1025
ACPI_EFI_CONFIGURATION_TABLE * ConfigurationTable
Definition acefiex.h:1044
ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE * ConOut
Definition acefiex.h:1035
ACPI_EFI_HANDLE ConsoleInHandle
Definition acefiex.h:1031
ACPI_SIMPLE_INPUT_INTERFACE * ConIn
Definition acefiex.h:1032
ACPI_EFI_HANDLE ConsoleOutHandle
Definition acefiex.h:1034
ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE * StdErr
Definition acefiex.h:1038
ACPI_EFI_HANDLE StandardErrorHandle
Definition acefiex.h:1037
ACPI_EFI_TABLE_HEADER Hdr
Definition acefiex.h:1026
ACPI_EFI_RUNTIME_SERVICES * RuntimeServices
Definition acefiex.h:1040
UINT32 FirmwareRevision
Definition acefiex.h:1029
ACPI_EFI_BOOT_SERVICES * BootServices
Definition acefiex.h:1041
CHAR16 * FirmwareVendor
Definition acefiex.h:1028
UINTN NumberOfTableEntries
Definition acefiex.h:1043
Definition acefiex.h:279
UINT32 Reserved
Definition acefiex.h:284
UINT32 HeaderSize
Definition acefiex.h:282
UINT64 Signature
Definition acefiex.h:280
UINT32 CRC32
Definition acefiex.h:283
UINT32 Revision
Definition acefiex.h:281
Definition acefiex.h:413
ACPI_EFI_EVENT WaitForKey
Definition acefiex.h:416
ACPI_EFI_INPUT_READ_KEY ReadKeyStroke
Definition acefiex.h:415
ACPI_EFI_INPUT_RESET Reset
Definition acefiex.h:414
Definition acefiex.h:364
ACPI_SIMPLE_TEXT_OUTPUT_MODE * Mode
Definition acefiex.h:378
ACPI_EFI_TEXT_OUTPUT_STRING OutputString
Definition acefiex.h:367
ACPI_EFI_TEXT_SET_CURSOR_POSITION SetCursorPosition
Definition acefiex.h:375
ACPI_EFI_TEXT_ENABLE_CURSOR EnableCursor
Definition acefiex.h:376
ACPI_EFI_TEXT_RESET Reset
Definition acefiex.h:365
ACPI_EFI_TEXT_QUERY_MODE QueryMode
Definition acefiex.h:370
ACPI_EFI_TEXT_CLEAR_SCREEN ClearScreen
Definition acefiex.h:374
ACPI_EFI_TEXT_SET_ATTRIBUTE SetAttribute
Definition acefiex.h:372
ACPI_EFI_TEXT_SET_MODE SetMode
Definition acefiex.h:371
ACPI_EFI_TEXT_TEST_STRING TestString
Definition acefiex.h:368
Definition acefiex.h:1116
struct _ACPI_SIMPLE_INPUT_INTERFACE ConIn
Definition acefiex.h:1119
struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE ConOut
Definition acefiex.h:1118
struct _ACPI_EFI_FILE_HANDLE File
Definition acefiex.h:1117