Browse Source

[efi] Update to current EDK2 headers

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 8 years ago
parent
commit
24415a3eee

+ 13
- 2
src/include/ipxe/efi/Base.h View File

@@ -6,7 +6,7 @@
6 6
   environment. There are a set of base libraries in the Mde Package that can
7 7
   be used to implement base modules.
8 8
 
9
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
9
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
10 10
 Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
11 11
 This program and the accompanying materials
12 12
 are licensed and made available under the terms and conditions of the BSD License
@@ -942,6 +942,11 @@ typedef UINTN RETURN_STATUS;
942 942
 ///
943 943
 #define RETURN_COMPROMISED_DATA      ENCODE_ERROR (33)
944 944
 
945
+///
946
+/// A HTTP error occurred during the network operation.
947
+///
948
+#define RETURN_HTTP_ERROR            ENCODE_ERROR (35)
949
+
945 950
 ///
946 951
 /// The string contained one or more characters that
947 952
 /// the device could not render and were skipped.
@@ -971,6 +976,12 @@ typedef UINTN RETURN_STATUS;
971 976
 ///
972 977
 #define RETURN_WARN_STALE_DATA       ENCODE_WARNING (5)
973 978
 
979
+///
980
+/// The resulting buffer contains UEFI-compliant file system.
981
+///
982
+#define RETURN_WARN_FILE_SYSTEM      ENCODE_WARNING (6)
983
+
984
+
974 985
 /**
975 986
   Returns a 16-bit signature built from 2 ASCII characters.
976 987
 
@@ -1024,7 +1035,7 @@ typedef UINTN RETURN_STATUS;
1024 1035
 #define SIGNATURE_64(A, B, C, D, E, F, G, H) \
1025 1036
     (SIGNATURE_32 (A, B, C, D) | ((UINT64) (SIGNATURE_32 (E, F, G, H)) << 32))
1026 1037
 
1027
-#if defined(_MSC_EXTENSIONS) && !defined (MDE_CPU_EBC)
1038
+#if defined(_MSC_EXTENSIONS) && !defined (__INTEL_COMPILER) && !defined (MDE_CPU_EBC)
1028 1039
   #pragma intrinsic(_ReturnAddress)
1029 1040
   /**
1030 1041
     Get the return address of the calling funcation.

+ 3
- 3
src/include/ipxe/efi/Ia32/ProcessorBind.h View File

@@ -95,7 +95,7 @@ FILE_LICENCE ( BSD3 );
95 95
 //
96 96
 #pragma warning ( disable : 4206 )
97 97
 
98
-#if _MSC_VER == 1800
98
+#if _MSC_VER == 1800 || _MSC_VER == 1900
99 99
 
100 100
 //
101 101
 // Disable these warnings for VS2013.
@@ -103,13 +103,13 @@ FILE_LICENCE ( BSD3 );
103 103
 
104 104
 //
105 105
 // This warning is for potentially uninitialized local variable, and it may cause false
106
-// positive issues in VS2013 build
106
+// positive issues in VS2013 and VS2015 build
107 107
 //
108 108
 #pragma warning ( disable : 4701 )
109 109
 
110 110
 //
111 111
 // This warning is for potentially uninitialized local pointer variable, and it may cause
112
-// false positive issues in VS2013 build
112
+// false positive issues in VS2013 and VS2015 build
113 113
 //
114 114
 #pragma warning ( disable : 4703 )
115 115
 

+ 11
- 1
src/include/ipxe/efi/IndustryStandard/Acpi51.h View File

@@ -3,6 +3,7 @@
3 3
 
4 4
   Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
5 5
   Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
6
+  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
6 7
   This program and the accompanying materials
7 8
   are licensed and made available under the terms and conditions of the BSD License
8 9
   which accompanies this distribution.  The full text of the license may be found at
@@ -531,9 +532,18 @@ typedef struct {
531 532
   UINT32  GicId;
532 533
   UINT64  PhysicalBaseAddress;
533 534
   UINT32  SystemVectorBase;
534
-  UINT32  Reserved2;
535
+  UINT8   GicVersion;
536
+  UINT8   Reserved2[3];
535 537
 } EFI_ACPI_5_1_GIC_DISTRIBUTOR_STRUCTURE;
536 538
 
539
+///
540
+/// GIC Version
541
+///
542
+#define EFI_ACPI_5_1_GIC_V2                                   0x01
543
+#define EFI_ACPI_5_1_GIC_V2m                                  0x02
544
+#define EFI_ACPI_5_1_GIC_V3                                   0x03
545
+#define EFI_ACPI_5_1_GIC_V4                                   0x04
546
+
537 547
 ///
538 548
 /// GIC MSI Frame Structure
539 549
 ///

+ 23
- 10
src/include/ipxe/efi/IndustryStandard/Acpi60.h View File

@@ -1,7 +1,8 @@
1 1
 /** @file
2 2
   ACPI 6.0 definitions from the ACPI Specification Revision 6.0 April, 2015.
3 3
 
4
-  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
4
+  Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
5
+  (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
5 6
   This program and the accompanying materials
6 7
   are licensed and made available under the terms and conditions of the BSD License
7 8
   which accompanies this distribution.  The full text of the license may be found at
@@ -534,9 +535,18 @@ typedef struct {
534 535
   UINT32  GicId;
535 536
   UINT64  PhysicalBaseAddress;
536 537
   UINT32  SystemVectorBase;
537
-  UINT32  Reserved2;
538
+  UINT8   GicVersion;
539
+  UINT8   Reserved2[3];
538 540
 } EFI_ACPI_6_0_GIC_DISTRIBUTOR_STRUCTURE;
539 541
 
542
+///
543
+/// GIC Version
544
+///
545
+#define EFI_ACPI_6_0_GIC_V1                                   0x01
546
+#define EFI_ACPI_6_0_GIC_V2                                   0x02
547
+#define EFI_ACPI_6_0_GIC_V3                                   0x03
548
+#define EFI_ACPI_6_0_GIC_V4                                   0x04
549
+
540 550
 ///
541 551
 /// GIC MSI Frame Structure
542 552
 ///
@@ -1385,14 +1395,14 @@ typedef struct {
1385 1395
 //
1386 1396
 #define EFI_ACPI_6_0_NFIT_SYSTEM_PHYSICAL_ADDRESS_RANGE_FLAGS_CONTROL_REGION_FOR_MANAGEMENT      BIT0
1387 1397
 #define EFI_ACPI_6_0_NFIT_SYSTEM_PHYSICAL_ADDRESS_RANGE_FLAGS_PROXIMITY_DOMAIN_VALID             BIT1
1388
-#define EFI_ACPI_6_0_NFIT_GUID_VOLATILE_MEMORY_REGION                             { 0x7305944F, 0xFDDA, 0x44E3, 0xB1, 0x6C, 0x3F, 0x22, 0xD2, 0x52, 0xE5, 0xD0 }
1389
-#define EFI_ACPI_6_0_NFIT_GUID_BYTE_ADDRESSABLE_PERSISTENT_MEMORY_REGION          { 0x66F0D379, 0xB4F3, 0x4074, 0xAC, 0x43, 0x0D, 0x33, 0x18, 0xB7, 0x8C, 0xDB }
1390
-#define EFI_ACPI_6_0_NFIT_GUID_NVDIMM_CONTROL_REGION                              { 0x92F701F6, 0x13B4, 0x405D, 0x91, 0x0B, 0x29, 0x93, 0x67, 0xE8, 0x23, 0x4C }
1391
-#define EFI_ACPI_6_0_NFIT_GUID_NVDIMM_BLOCK_DATA_WINDOW_REGION                    { 0x91AF0530, 0x5D86, 0x470E, 0xA6, 0xB0, 0x0A, 0x2D, 0xB9, 0x40, 0x82, 0x49 }
1392
-#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_VOLATILE   { 0x77AB535A, 0x45FC, 0x624B, 0x55, 0x60, 0xF7, 0xB2, 0x81, 0xD1, 0xF9, 0x6E }
1393
-#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_VOLATILE     { 0x3D5ABD30, 0x4175, 0x87CE, 0x6D, 0x64, 0xD2, 0xAD, 0xE5, 0x23, 0xC4, 0xBB }
1394
-#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_PERSISTENT { 0x5CEA02C9, 0x4D07, 0x69D3, 0x26, 0x9F ,0x44, 0x96, 0xFB, 0xE0, 0x96, 0xF9 }
1395
-#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_PERSISTENT   { 0x08018188, 0x42CD, 0xBB48, 0x10, 0x0F, 0x53, 0x87, 0xD5, 0x3D, 0xED, 0x3D }
1398
+#define EFI_ACPI_6_0_NFIT_GUID_VOLATILE_MEMORY_REGION                             { 0x7305944F, 0xFDDA, 0x44E3, { 0xB1, 0x6C, 0x3F, 0x22, 0xD2, 0x52, 0xE5, 0xD0 }}
1399
+#define EFI_ACPI_6_0_NFIT_GUID_BYTE_ADDRESSABLE_PERSISTENT_MEMORY_REGION          { 0x66F0D379, 0xB4F3, 0x4074, { 0xAC, 0x43, 0x0D, 0x33, 0x18, 0xB7, 0x8C, 0xDB }}
1400
+#define EFI_ACPI_6_0_NFIT_GUID_NVDIMM_CONTROL_REGION                              { 0x92F701F6, 0x13B4, 0x405D, { 0x91, 0x0B, 0x29, 0x93, 0x67, 0xE8, 0x23, 0x4C }}
1401
+#define EFI_ACPI_6_0_NFIT_GUID_NVDIMM_BLOCK_DATA_WINDOW_REGION                    { 0x91AF0530, 0x5D86, 0x470E, { 0xA6, 0xB0, 0x0A, 0x2D, 0xB9, 0x40, 0x82, 0x49 }}
1402
+#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_VOLATILE   { 0x77AB535A, 0x45FC, 0x624B, { 0x55, 0x60, 0xF7, 0xB2, 0x81, 0xD1, 0xF9, 0x6E }}
1403
+#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_VOLATILE     { 0x3D5ABD30, 0x4175, 0x87CE, { 0x6D, 0x64, 0xD2, 0xAD, 0xE5, 0x23, 0xC4, 0xBB }}
1404
+#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_PERSISTENT { 0x5CEA02C9, 0x4D07, 0x69D3, { 0x26, 0x9F ,0x44, 0x96, 0xFB, 0xE0, 0x96, 0xF9 }}
1405
+#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_PERSISTENT   { 0x08018188, 0x42CD, 0xBB48, { 0x10, 0x0F, 0x53, 0x87, 0xD5, 0x3D, 0xED, 0x3D }}
1396 1406
 typedef struct {
1397 1407
   UINT16                                      Type;
1398 1408
   UINT16                                      Length;
@@ -1658,6 +1668,9 @@ typedef struct {
1658 1668
 #define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT       0x02
1659 1669
 #define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_SCI                   0x03
1660 1670
 #define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_NMI                   0x04
1671
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_CMCI                  0x05
1672
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_MCE                   0x06
1673
+#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_GPIO_SIGNAL           0x07
1661 1674
 
1662 1675
 ///
1663 1676
 /// Hardware Error Notification Configuration Write Enable Structure Definition

+ 4
- 1
src/include/ipxe/efi/IndustryStandard/Tpm20.h View File

@@ -677,7 +677,10 @@ typedef UINT32 TPM_RH;
677 677
 #define TPM_RH_LOCKOUT     (TPM_RH)(0x4000000A)
678 678
 #define TPM_RH_ENDORSEMENT (TPM_RH)(0x4000000B)
679 679
 #define TPM_RH_PLATFORM    (TPM_RH)(0x4000000C)
680
-#define TPM_RH_LAST        (TPM_RH)(0x4000000C)
680
+#define TPM_RH_PLATFORM_NV (TPM_RH)(0x4000000D)
681
+#define TPM_RH_AUTH_00     (TPM_RH)(0x40000010)
682
+#define TPM_RH_AUTH_FF     (TPM_RH)(0x4000010F)
683
+#define TPM_RH_LAST        (TPM_RH)(0x4000010F)
681 684
 
682 685
 // Table 28 - TPM_HC Constants
683 686
 typedef TPM_HANDLE TPM_HC;

+ 2
- 1
src/include/ipxe/efi/Protocol/HiiConfigAccess.h View File

@@ -5,7 +5,7 @@
5 5
   This protocol is published by drivers providing and requesting
6 6
   configuration data from HII. It may only be invoked by HII.
7 7
 
8
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
8
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
9 9
 This program and the accompanying materials are licensed and made available under
10 10
 the terms and conditions of the BSD License that accompanies this distribution.
11 11
 The full text of the license may be found at
@@ -36,6 +36,7 @@ typedef UINTN EFI_BROWSER_ACTION;
36 36
 #define EFI_BROWSER_ACTION_RETRIEVE   2
37 37
 #define EFI_BROWSER_ACTION_FORM_OPEN  3
38 38
 #define EFI_BROWSER_ACTION_FORM_CLOSE 4
39
+#define EFI_BROWSER_ACTION_SUBMITTED  5
39 40
 #define EFI_BROWSER_ACTION_DEFAULT_STANDARD      0x1000
40 41
 #define EFI_BROWSER_ACTION_DEFAULT_MANUFACTURING 0x1001
41 42
 #define EFI_BROWSER_ACTION_DEFAULT_SAFE          0x1002

+ 2
- 2
src/include/ipxe/efi/Protocol/LoadFile.h View File

@@ -7,7 +7,7 @@
7 7
 
8 8
   UEFI 2.0 can boot from any device that produces a LoadFile protocol.
9 9
 
10
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
10
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
11 11
 This program and the accompanying materials are licensed and made available under
12 12
 the terms and conditions of the BSD License that accompanies this distribution.
13 13
 The full text of the license may be found at
@@ -66,7 +66,7 @@ typedef EFI_LOAD_FILE_PROTOCOL  EFI_LOAD_FILE_INTERFACE;
66 66
   @retval EFI_NO_RESPONSE       The remote system did not respond.
67 67
   @retval EFI_NOT_FOUND         The file was not found.
68 68
   @retval EFI_ABORTED           The file load process was manually cancelled.
69
-
69
+  @retval EFI_WARN_FILE_SYSTEM  The resulting Buffer contains UEFI-compliant file system.
70 70
 **/
71 71
 typedef
72 72
 EFI_STATUS

+ 2
- 2
src/include/ipxe/efi/Protocol/SerialIo.h View File

@@ -4,7 +4,7 @@
4 4
   Abstraction of a basic serial device. Targeted at 16550 UART, but
5 5
   could be much more generic.
6 6
 
7
-  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
7
+  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
8 8
   This program and the accompanying materials
9 9
   are licensed and made available under the terms and conditions of the BSD License
10 10
   which accompanies this distribution.  The full text of the license may be found at
@@ -107,7 +107,7 @@ EFI_STATUS
107 107
 
108 108
 /**
109 109
   Sets the baud rate, receive FIFO depth, transmit/receice time out, parity,
110
-  data buts, and stop bits on a serial device.
110
+  data bits, and stop bits on a serial device.
111 111
 
112 112
   @param  This             Protocol instance pointer.
113 113
   @param  BaudRate         The requested baud rate. A BaudRate value of 0 will use the

+ 20
- 1
src/include/ipxe/efi/Protocol/SimpleNetwork.h View File

@@ -9,7 +9,7 @@
9 9
   MCast - MultiCast
10 10
   ...
11 11
 
12
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
12
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
13 13
 This program and the accompanying materials are licensed and made available under
14 14
 the terms and conditions of the BSD License that accompanies this distribution.
15 15
 The full text of the license may be found at
@@ -123,6 +123,25 @@ typedef struct {
123 123
   ///
124 124
   UINT64  UnsupportedProtocol;
125 125
 
126
+  ///
127
+  /// Number of valid frames received that were duplicated.
128
+  ///
129
+  UINT64  RxDuplicatedFrames;
130
+
131
+  ///
132
+  /// Number of encrypted frames received that failed to decrypt.
133
+  ///
134
+  UINT64  RxDecryptErrorFrames;
135
+
136
+  ///
137
+  /// Number of frames that failed to transmit after exceeding the retry limit.
138
+  ///
139
+  UINT64  TxErrorFrames;
140
+
141
+  ///
142
+  /// Number of frames transmitted successfully after more than one attempt.
143
+  ///
144
+  UINT64  TxRetryFrames;
126 145
 } EFI_NETWORK_STATISTICS;
127 146
 
128 147
 ///

+ 4
- 2
src/include/ipxe/efi/Uefi/UefiBaseType.h View File

@@ -1,8 +1,8 @@
1 1
 /** @file
2 2
   Defines data types and constants introduced in UEFI.
3 3
 
4
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
5
-Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
4
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
5
+Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.<BR>
6 6
 
7 7
 This program and the accompanying materials are licensed and made available under
8 8
 the terms and conditions of the BSD License that accompanies this distribution.
@@ -153,12 +153,14 @@ typedef union {
153 153
 #define EFI_END_OF_FILE           RETURN_END_OF_FILE
154 154
 #define EFI_INVALID_LANGUAGE      RETURN_INVALID_LANGUAGE
155 155
 #define EFI_COMPROMISED_DATA      RETURN_COMPROMISED_DATA
156
+#define EFI_HTTP_ERROR            RETURN_HTTP_ERROR
156 157
 
157 158
 #define EFI_WARN_UNKNOWN_GLYPH    RETURN_WARN_UNKNOWN_GLYPH
158 159
 #define EFI_WARN_DELETE_FAILURE   RETURN_WARN_DELETE_FAILURE
159 160
 #define EFI_WARN_WRITE_FAILURE    RETURN_WARN_WRITE_FAILURE
160 161
 #define EFI_WARN_BUFFER_TOO_SMALL RETURN_WARN_BUFFER_TOO_SMALL
161 162
 #define EFI_WARN_STALE_DATA       RETURN_WARN_STALE_DATA
163
+#define EFI_WARN_FILE_SYSTEM      RETURN_WARN_FILE_SYSTEM
162 164
 ///@}
163 165
 
164 166
 ///

+ 21
- 1
src/include/ipxe/efi/Uefi/UefiPxe.h View File

@@ -3,7 +3,7 @@
3 3
   structure prototypes, global variables and constants that
4 4
   are needed for porting PXE to EFI.
5 5
 
6
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
6
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
7 7
 This program and the accompanying materials are licensed and made available under
8 8
 the terms and conditions of the BSD License that accompanies this distribution.
9 9
 The full text of the license may be found at
@@ -1460,6 +1460,26 @@ typedef struct s_pxe_db_statistics {
1460 1460
 ///
1461 1461
 #define PXE_STATISTICS_UNSUPPORTED_PROTOCOL 0x15
1462 1462
 
1463
+///
1464
+/// Number of valid frames received that were duplicated.
1465
+///
1466
+#define PXE_STATISTICS_RX_DUPLICATED_FRAMES 0x16
1467
+
1468
+///
1469
+/// Number of encrypted frames received that failed to decrypt.
1470
+///
1471
+#define PXE_STATISTICS_RX_DECRYPT_ERROR_FRAMES 0x17
1472
+
1473
+///
1474
+/// Number of frames that failed to transmit after exceeding the retry limit.
1475
+///
1476
+#define PXE_STATISTICS_TX_ERROR_FRAMES 0x18
1477
+
1478
+///
1479
+/// Number of frames transmitted successfully after more than one attempt.
1480
+///
1481
+#define PXE_STATISTICS_TX_RETRY_FRAMES 0x19
1482
+
1463 1483
 typedef struct s_pxe_cpb_mcast_ip_to_mac {
1464 1484
   ///
1465 1485
   /// Multicast IP address to be converted to multicast MAC address.

+ 15
- 13
src/include/ipxe/efi/Uefi/UefiSpec.h View File

@@ -1,11 +1,11 @@
1 1
 /** @file
2 2
   Include file that supports UEFI.
3 3
 
4
-  This include file must contain things defined in the UEFI 2.5 specification.
5
-  If a code construct is defined in the UEFI 2.5 specification it must be included
4
+  This include file must contain things defined in the UEFI 2.6 specification.
5
+  If a code construct is defined in the UEFI 2.6 specification it must be included
6 6
   by this include file.
7 7
 
8
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
8
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
9 9
 This program and the accompanying materials are licensed and made available under
10 10
 the terms and conditions of the BSD License that accompanies this distribution.
11 11
 The full text of the license may be found at
@@ -138,8 +138,7 @@ typedef struct {
138 138
                                 MemoryType values in the range 0x70000000..0x7FFFFFFF
139 139
                                 are reserved for OEM use. MemoryType values in the range
140 140
                                 0x80000000..0xFFFFFFFF are reserved for use by UEFI OS loaders
141
-                                that are provided by operating system vendors. The only illegal
142
-                                memory type values are those in the range EfiMaxMemoryType..0x6FFFFFFF.
141
+                                that are provided by operating system vendors.
143 142
   @param[in]       Pages        The number of contiguous 4 KB pages to allocate.
144 143
   @param[in, out]  Memory       The pointer to a physical address. On input, the way in which the address is
145 144
                                 used depends on the value of Type.
@@ -150,7 +149,7 @@ typedef struct {
150 149
                                 2) MemoryType is in the range
151 150
                                 EfiMaxMemoryType..0x6FFFFFFF.
152 151
                                 3) Memory is NULL.
153
-                                4) MemoryType was EfiPersistentMemory.
152
+                                4) MemoryType is EfiPersistentMemory.
154 153
   @retval EFI_OUT_OF_RESOURCES  The pages could not be allocated.
155 154
   @retval EFI_NOT_FOUND         The requested pages could not be found.
156 155
 
@@ -225,16 +224,16 @@ EFI_STATUS
225 224
                                 MemoryType values in the range 0x70000000..0x7FFFFFFF
226 225
                                 are reserved for OEM use. MemoryType values in the range
227 226
                                 0x80000000..0xFFFFFFFF are reserved for use by UEFI OS loaders
228
-                                that are provided by operating system vendors. The only illegal
229
-                                memory type values are those in the range EfiMaxMemoryType..0x6FFFFFFF.
227
+                                that are provided by operating system vendors.
230 228
   @param[in]   Size             The number of bytes to allocate from the pool.
231 229
   @param[out]  Buffer           A pointer to a pointer to the allocated buffer if the call succeeds;
232 230
                                 undefined otherwise.
233 231
 
234 232
   @retval EFI_SUCCESS           The requested number of bytes was allocated.
235 233
   @retval EFI_OUT_OF_RESOURCES  The pool requested could not be allocated.
236
-  @retval EFI_INVALID_PARAMETER PoolType was invalid or Buffer is NULL.
237
-                                PoolType was EfiPersistentMemory.
234
+  @retval EFI_INVALID_PARAMETER Buffer is NULL.
235
+                                PoolType is in the range EfiMaxMemoryType..0x6FFFFFFF.
236
+                                PoolType is EfiPersistentMemory.
238 237
 
239 238
 **/
240 239
 typedef
@@ -630,7 +629,8 @@ VOID
630 629
                                  attributes bitmask for the variable.
631 630
   @param[in, out]  DataSize      On input, the size in bytes of the return Data buffer.
632 631
                                  On output the size of data returned in Data.
633
-  @param[out]      Data          The buffer to return the contents of the variable.
632
+  @param[out]      Data          The buffer to return the contents of the variable. May be NULL
633
+                                 with a zero DataSize in order to determine the size buffer needed.
634 634
 
635 635
   @retval EFI_SUCCESS            The function completed successfully.
636 636
   @retval EFI_NOT_FOUND          The variable was not found.
@@ -650,7 +650,7 @@ EFI_STATUS
650 650
   IN     EFI_GUID                    *VendorGuid,
651 651
   OUT    UINT32                      *Attributes,    OPTIONAL
652 652
   IN OUT UINTN                       *DataSize,
653
-  OUT    VOID                        *Data
653
+  OUT    VOID                        *Data           OPTIONAL
654 654
   );
655 655
 
656 656
 /**
@@ -1752,11 +1752,13 @@ EFI_STATUS
1752 1752
 #define EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED  0x0000000000000004
1753 1753
 #define EFI_OS_INDICATIONS_FMP_CAPSULE_SUPPORTED            0x0000000000000008
1754 1754
 #define EFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED     0x0000000000000010
1755
+#define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY          0x0000000000000040
1755 1756
 
1756 1757
 //
1757 1758
 // EFI Runtime Services Table
1758 1759
 //
1759 1760
 #define EFI_SYSTEM_TABLE_SIGNATURE      SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
1761
+#define EFI_2_60_SYSTEM_TABLE_REVISION  ((2 << 16) | (60))
1760 1762
 #define EFI_2_50_SYSTEM_TABLE_REVISION  ((2 << 16) | (50))
1761 1763
 #define EFI_2_40_SYSTEM_TABLE_REVISION  ((2 << 16) | (40))
1762 1764
 #define EFI_2_31_SYSTEM_TABLE_REVISION  ((2 << 16) | (31))
@@ -1766,7 +1768,7 @@ EFI_STATUS
1766 1768
 #define EFI_2_00_SYSTEM_TABLE_REVISION  ((2 << 16) | (00))
1767 1769
 #define EFI_1_10_SYSTEM_TABLE_REVISION  ((1 << 16) | (10))
1768 1770
 #define EFI_1_02_SYSTEM_TABLE_REVISION  ((1 << 16) | (02))
1769
-#define EFI_SYSTEM_TABLE_REVISION       EFI_2_50_SYSTEM_TABLE_REVISION
1771
+#define EFI_SYSTEM_TABLE_REVISION       EFI_2_60_SYSTEM_TABLE_REVISION
1770 1772
 #define EFI_SPECIFICATION_VERSION       EFI_SYSTEM_TABLE_REVISION
1771 1773
 
1772 1774
 #define EFI_RUNTIME_SERVICES_SIGNATURE  SIGNATURE_64 ('R','U','N','T','S','E','R','V')

+ 3
- 3
src/include/ipxe/efi/X64/ProcessorBind.h View File

@@ -96,7 +96,7 @@ FILE_LICENCE ( BSD3 );
96 96
 //
97 97
 #pragma warning ( disable : 4206 )
98 98
 
99
-#if _MSC_VER == 1800
99
+#if _MSC_VER == 1800 || _MSC_VER == 1900
100 100
 
101 101
 //
102 102
 // Disable these warnings for VS2013.
@@ -104,13 +104,13 @@ FILE_LICENCE ( BSD3 );
104 104
 
105 105
 //
106 106
 // This warning is for potentially uninitialized local variable, and it may cause false
107
-// positive issues in VS2013 build
107
+// positive issues in VS2013 and VS2015 build
108 108
 //
109 109
 #pragma warning ( disable : 4701 )
110 110
 
111 111
 //
112 112
 // This warning is for potentially uninitialized local pointer variable, and it may cause
113
-// false positive issues in VS2013 build
113
+// false positive issues in VS2013 and VS2015 build
114 114
 //
115 115
 #pragma warning ( disable : 4703 )
116 116
 

Loading…
Cancel
Save