Browse Source

[efi] Update to latest EDK2 headers

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 11 years ago
parent
commit
1025835d80

+ 2
- 2
src/include/ipxe/efi/Guid/WinCertificate.h View File

1
 /** @file
1
 /** @file
2
   GUID for UEFI WIN_CERTIFICATE structure.
2
   GUID for UEFI WIN_CERTIFICATE structure.
3
 
3
 
4
-  Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
4
+  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
5
   This program and the accompanying materials
5
   This program and the accompanying materials
6
   are licensed and made available under the terms and conditions of the BSD License
6
   are licensed and made available under the terms and conditions of the BSD License
7
   which accompanies this distribution.  The full text of the license may be found at
7
   which accompanies this distribution.  The full text of the license may be found at
76
 typedef struct {
76
 typedef struct {
77
   ///
77
   ///
78
   /// This is the standard WIN_CERTIFICATE header, where
78
   /// This is the standard WIN_CERTIFICATE header, where
79
-  /// wCertificateType is set to WIN_CERT_TYPE_UEFI_GUID.
79
+  /// wCertificateType is set to WIN_CERT_TYPE_EFI_GUID.
80
   ///
80
   ///
81
   WIN_CERTIFICATE   Hdr;
81
   WIN_CERTIFICATE   Hdr;
82
   ///
82
   ///

+ 7
- 5
src/include/ipxe/efi/IndustryStandard/Pci22.h View File

6
     PCI-to-PCI Bridge Architecture Specification, Revision 1.2
6
     PCI-to-PCI Bridge Architecture Specification, Revision 1.2
7
     PC Card Standard, 8.0
7
     PC Card Standard, 8.0
8
 
8
 
9
-  Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
9
+  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
10
   This program and the accompanying materials
10
   This program and the accompanying materials
11
   are licensed and made available under the terms and conditions of the BSD License
11
   are licensed and made available under the terms and conditions of the BSD License
12
   which accompanies this distribution.  The full text of the license may be found at
12
   which accompanies this distribution.  The full text of the license may be found at
221
 #define     PCI_IF_16550_MODEM            0x02
221
 #define     PCI_IF_16550_MODEM            0x02
222
 #define     PCI_IF_16650_MODEM            0x03
222
 #define     PCI_IF_16650_MODEM            0x03
223
 #define     PCI_IF_16750_MODEM            0x04
223
 #define     PCI_IF_16750_MODEM            0x04
224
-#define   PCI_SUBCLASS_SCC_OTHER          0x80
224
+#define   PCI_SUBCLASS_SCC_OTHER        0x80
225
 
225
 
226
 #define PCI_CLASS_SYSTEM_PERIPHERAL   0x08
226
 #define PCI_CLASS_SYSTEM_PERIPHERAL   0x08
227
 #define   PCI_SUBCLASS_PIC              0x00
227
 #define   PCI_SUBCLASS_PIC              0x00
240
 #define     PCI_IF_EISA_TIMER             0x02
240
 #define     PCI_IF_EISA_TIMER             0x02
241
 #define   PCI_SUBCLASS_RTC              0x03
241
 #define   PCI_SUBCLASS_RTC              0x03
242
 #define     PCI_IF_GENERIC_RTC            0x00
242
 #define     PCI_IF_GENERIC_RTC            0x00
243
-#define     PCI_IF_ISA_RTC                0x00
243
+#define     PCI_IF_ISA_RTC                0x01
244
 #define   PCI_SUBCLASS_PNP_CONTROLLER   0x04    ///< HotPlug Controller
244
 #define   PCI_SUBCLASS_PNP_CONTROLLER   0x04    ///< HotPlug Controller
245
 #define   PCI_SUBCLASS_PERIPHERAL_OTHER 0x80
245
 #define   PCI_SUBCLASS_PERIPHERAL_OTHER 0x80
246
 
246
 
251
 #define   PCI_SUBCLASS_SCAN_CONTROLLER  0x03
251
 #define   PCI_SUBCLASS_SCAN_CONTROLLER  0x03
252
 #define   PCI_SUBCLASS_GAMEPORT         0x04
252
 #define   PCI_SUBCLASS_GAMEPORT         0x04
253
 #define     PCI_IF_GAMEPORT               0x00
253
 #define     PCI_IF_GAMEPORT               0x00
254
-#define     PCI_IF_GAMEPORT1              0x01
254
+#define     PCI_IF_GAMEPORT1              0x10
255
 #define   PCI_SUBCLASS_INPUT_OTHER      0x80
255
 #define   PCI_SUBCLASS_INPUT_OTHER      0x80
256
 
256
 
257
 #define PCI_CLASS_DOCKING_STATION     0x0A
257
 #define PCI_CLASS_DOCKING_STATION     0x0A
258
+#define   PCI_SUBCLASS_DOCKING_GENERIC  0x00
259
+#define   PCI_SUBCLASS_DOCKING_OTHER    0x80
258
 
260
 
259
 #define PCI_CLASS_PROCESSOR           0x0B
261
 #define PCI_CLASS_PROCESSOR           0x0B
260
 #define   PCI_SUBCLASS_PROC_386         0x00
262
 #define   PCI_SUBCLASS_PROC_386         0x00
282
 #define PCI_CLASS_WIRELESS            0x0D
284
 #define PCI_CLASS_WIRELESS            0x0D
283
 #define   PCI_SUBCLASS_IRDA             0x00
285
 #define   PCI_SUBCLASS_IRDA             0x00
284
 #define   PCI_SUBCLASS_IR               0x01
286
 #define   PCI_SUBCLASS_IR               0x01
285
-#define   PCI_SUBCLASS_RF               0x02
287
+#define   PCI_SUBCLASS_RF               0x10
286
 #define   PCI_SUBCLASS_WIRELESS_OTHER   0x80
288
 #define   PCI_SUBCLASS_WIRELESS_OTHER   0x80
287
 
289
 
288
 #define PCI_CLASS_INTELLIGENT_IO      0x0E
290
 #define PCI_CLASS_INTELLIGENT_IO      0x0E

+ 42
- 10
src/include/ipxe/efi/Library/BaseLib.h View File

17
 #ifndef __BASE_LIB__
17
 #ifndef __BASE_LIB__
18
 #define __BASE_LIB__
18
 #define __BASE_LIB__
19
 
19
 
20
+FILE_LICENCE ( BSD3 );
21
+
20
 //
22
 //
21
 // Definitions for architecture-specific types
23
 // Definitions for architecture-specific types
22
 //
24
 //
1291
   If Entry is NULL, then ASSERT().
1293
   If Entry is NULL, then ASSERT().
1292
   If ListHead was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1294
   If ListHead was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1293
   InitializeListHead(), then ASSERT().
1295
   InitializeListHead(), then ASSERT().
1294
-  If PcdMaximumLinkedListLenth is not zero, and prior to insertion the number
1296
+  If PcdMaximumLinkedListLength is not zero, and prior to insertion the number
1295
   of nodes in ListHead, including the ListHead node, is greater than or
1297
   of nodes in ListHead, including the ListHead node, is greater than or
1296
   equal to PcdMaximumLinkedListLength, then ASSERT().
1298
   equal to PcdMaximumLinkedListLength, then ASSERT().
1297
 
1299
 
1321
   If Entry is NULL, then ASSERT().
1323
   If Entry is NULL, then ASSERT().
1322
   If ListHead was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1324
   If ListHead was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1323
   InitializeListHead(), then ASSERT().
1325
   InitializeListHead(), then ASSERT().
1324
-  If PcdMaximumLinkedListLenth is not zero, and prior to insertion the number
1326
+  If PcdMaximumLinkedListLength is not zero, and prior to insertion the number
1325
   of nodes in ListHead, including the ListHead node, is greater than or
1327
   of nodes in ListHead, including the ListHead node, is greater than or
1326
   equal to PcdMaximumLinkedListLength, then ASSERT().
1328
   equal to PcdMaximumLinkedListLength, then ASSERT().
1327
 
1329
 
1350
   If List is NULL, then ASSERT().
1352
   If List is NULL, then ASSERT().
1351
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1353
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1352
   InitializeListHead(), then ASSERT().
1354
   InitializeListHead(), then ASSERT().
1353
-  If PcdMaximumLinkedListLenth is not zero, and the number of nodes
1355
+  If PcdMaximumLinkedListLength is not zero, and the number of nodes
1354
   in List, including the List node, is greater than or equal to
1356
   in List, including the List node, is greater than or equal to
1355
   PcdMaximumLinkedListLength, then ASSERT().
1357
   PcdMaximumLinkedListLength, then ASSERT().
1356
 
1358
 
1378
   If Node is NULL, then ASSERT().
1380
   If Node is NULL, then ASSERT().
1379
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1381
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1380
   InitializeListHead(), then ASSERT().
1382
   InitializeListHead(), then ASSERT().
1381
-  If PcdMaximumLinkedListLenth is not zero, and List contains more than
1382
-  PcdMaximumLinkedListLenth nodes, then ASSERT().
1383
+  If PcdMaximumLinkedListLength is not zero, and List contains more than
1384
+  PcdMaximumLinkedListLength nodes, then ASSERT().
1383
   If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
1385
   If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
1384
 
1386
 
1385
   @param  List  A pointer to the head node of a doubly linked list.
1387
   @param  List  A pointer to the head node of a doubly linked list.
1407
   If Node is NULL, then ASSERT().
1409
   If Node is NULL, then ASSERT().
1408
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1410
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1409
   InitializeListHead(), then ASSERT().
1411
   InitializeListHead(), then ASSERT().
1410
-  If PcdMaximumLinkedListLenth is not zero, and List contains more than
1411
-  PcdMaximumLinkedListLenth nodes, then ASSERT().
1412
+  If PcdMaximumLinkedListLength is not zero, and List contains more than
1413
+  PcdMaximumLinkedListLength nodes, then ASSERT().
1412
   If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
1414
   If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
1413
 
1415
 
1414
   @param  List  A pointer to the head node of a doubly linked list.
1416
   @param  List  A pointer to the head node of a doubly linked list.
1434
   If ListHead is NULL, then ASSERT().
1436
   If ListHead is NULL, then ASSERT().
1435
   If ListHead was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1437
   If ListHead was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1436
   InitializeListHead(), then ASSERT().
1438
   InitializeListHead(), then ASSERT().
1437
-  If PcdMaximumLinkedListLenth is not zero, and the number of nodes
1439
+  If PcdMaximumLinkedListLength is not zero, and the number of nodes
1438
   in List, including the List node, is greater than or equal to
1440
   in List, including the List node, is greater than or equal to
1439
   PcdMaximumLinkedListLength, then ASSERT().
1441
   PcdMaximumLinkedListLength, then ASSERT().
1440
 
1442
 
1464
   If Node is NULL, then ASSERT().
1466
   If Node is NULL, then ASSERT().
1465
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or InitializeListHead(),
1467
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or InitializeListHead(),
1466
   then ASSERT().
1468
   then ASSERT().
1467
-  If PcdMaximumLinkedListLenth is not zero, and the number of nodes
1469
+  If PcdMaximumLinkedListLength is not zero, and the number of nodes
1468
   in List, including the List node, is greater than or equal to
1470
   in List, including the List node, is greater than or equal to
1469
   PcdMaximumLinkedListLength, then ASSERT().
1471
   PcdMaximumLinkedListLength, then ASSERT().
1470
   If PcdVerifyNodeInList is TRUE and Node is not a node in List the and Node is not equal
1472
   If PcdVerifyNodeInList is TRUE and Node is not a node in List the and Node is not equal
1496
   If Node is NULL, then ASSERT().
1498
   If Node is NULL, then ASSERT().
1497
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1499
   If List was not initialized with INTIALIZE_LIST_HEAD_VARIABLE() or
1498
   InitializeListHead(), then ASSERT().
1500
   InitializeListHead(), then ASSERT().
1499
-  If PcdMaximumLinkedListLenth is not zero, and the number of nodes
1501
+  If PcdMaximumLinkedListLength is not zero, and the number of nodes
1500
   in List, including the List node, is greater than or equal to
1502
   in List, including the List node, is greater than or equal to
1501
   PcdMaximumLinkedListLength, then ASSERT().
1503
   PcdMaximumLinkedListLength, then ASSERT().
1502
   If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
1504
   If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
2343
   If StartBit is greater than 7, then ASSERT().
2345
   If StartBit is greater than 7, then ASSERT().
2344
   If EndBit is greater than 7, then ASSERT().
2346
   If EndBit is greater than 7, then ASSERT().
2345
   If EndBit is less than StartBit, then ASSERT().
2347
   If EndBit is less than StartBit, then ASSERT().
2348
+  If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2346
 
2349
 
2347
   @param  Operand   Operand on which to perform the bitfield operation.
2350
   @param  Operand   Operand on which to perform the bitfield operation.
2348
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2351
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2376
   If StartBit is greater than 7, then ASSERT().
2379
   If StartBit is greater than 7, then ASSERT().
2377
   If EndBit is greater than 7, then ASSERT().
2380
   If EndBit is greater than 7, then ASSERT().
2378
   If EndBit is less than StartBit, then ASSERT().
2381
   If EndBit is less than StartBit, then ASSERT().
2382
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2379
 
2383
 
2380
   @param  Operand   Operand on which to perform the bitfield operation.
2384
   @param  Operand   Operand on which to perform the bitfield operation.
2381
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2385
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2409
   If StartBit is greater than 7, then ASSERT().
2413
   If StartBit is greater than 7, then ASSERT().
2410
   If EndBit is greater than 7, then ASSERT().
2414
   If EndBit is greater than 7, then ASSERT().
2411
   If EndBit is less than StartBit, then ASSERT().
2415
   If EndBit is less than StartBit, then ASSERT().
2416
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2412
 
2417
 
2413
   @param  Operand   Operand on which to perform the bitfield operation.
2418
   @param  Operand   Operand on which to perform the bitfield operation.
2414
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2419
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2443
   If StartBit is greater than 7, then ASSERT().
2448
   If StartBit is greater than 7, then ASSERT().
2444
   If EndBit is greater than 7, then ASSERT().
2449
   If EndBit is greater than 7, then ASSERT().
2445
   If EndBit is less than StartBit, then ASSERT().
2450
   If EndBit is less than StartBit, then ASSERT().
2451
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2452
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2446
 
2453
 
2447
   @param  Operand   Operand on which to perform the bitfield operation.
2454
   @param  Operand   Operand on which to perform the bitfield operation.
2448
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2455
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2505
   If StartBit is greater than 15, then ASSERT().
2512
   If StartBit is greater than 15, then ASSERT().
2506
   If EndBit is greater than 15, then ASSERT().
2513
   If EndBit is greater than 15, then ASSERT().
2507
   If EndBit is less than StartBit, then ASSERT().
2514
   If EndBit is less than StartBit, then ASSERT().
2515
+  If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2508
 
2516
 
2509
   @param  Operand   Operand on which to perform the bitfield operation.
2517
   @param  Operand   Operand on which to perform the bitfield operation.
2510
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2518
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2538
   If StartBit is greater than 15, then ASSERT().
2546
   If StartBit is greater than 15, then ASSERT().
2539
   If EndBit is greater than 15, then ASSERT().
2547
   If EndBit is greater than 15, then ASSERT().
2540
   If EndBit is less than StartBit, then ASSERT().
2548
   If EndBit is less than StartBit, then ASSERT().
2549
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2541
 
2550
 
2542
   @param  Operand   Operand on which to perform the bitfield operation.
2551
   @param  Operand   Operand on which to perform the bitfield operation.
2543
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2552
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2571
   If StartBit is greater than 15, then ASSERT().
2580
   If StartBit is greater than 15, then ASSERT().
2572
   If EndBit is greater than 15, then ASSERT().
2581
   If EndBit is greater than 15, then ASSERT().
2573
   If EndBit is less than StartBit, then ASSERT().
2582
   If EndBit is less than StartBit, then ASSERT().
2583
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2574
 
2584
 
2575
   @param  Operand   Operand on which to perform the bitfield operation.
2585
   @param  Operand   Operand on which to perform the bitfield operation.
2576
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2586
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2605
   If StartBit is greater than 15, then ASSERT().
2615
   If StartBit is greater than 15, then ASSERT().
2606
   If EndBit is greater than 15, then ASSERT().
2616
   If EndBit is greater than 15, then ASSERT().
2607
   If EndBit is less than StartBit, then ASSERT().
2617
   If EndBit is less than StartBit, then ASSERT().
2618
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2619
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2608
 
2620
 
2609
   @param  Operand   Operand on which to perform the bitfield operation.
2621
   @param  Operand   Operand on which to perform the bitfield operation.
2610
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2622
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2667
   If StartBit is greater than 31, then ASSERT().
2679
   If StartBit is greater than 31, then ASSERT().
2668
   If EndBit is greater than 31, then ASSERT().
2680
   If EndBit is greater than 31, then ASSERT().
2669
   If EndBit is less than StartBit, then ASSERT().
2681
   If EndBit is less than StartBit, then ASSERT().
2682
+  If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2670
 
2683
 
2671
   @param  Operand   Operand on which to perform the bitfield operation.
2684
   @param  Operand   Operand on which to perform the bitfield operation.
2672
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2685
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2700
   If StartBit is greater than 31, then ASSERT().
2713
   If StartBit is greater than 31, then ASSERT().
2701
   If EndBit is greater than 31, then ASSERT().
2714
   If EndBit is greater than 31, then ASSERT().
2702
   If EndBit is less than StartBit, then ASSERT().
2715
   If EndBit is less than StartBit, then ASSERT().
2716
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2703
 
2717
 
2704
   @param  Operand   Operand on which to perform the bitfield operation.
2718
   @param  Operand   Operand on which to perform the bitfield operation.
2705
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2719
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2733
   If StartBit is greater than 31, then ASSERT().
2747
   If StartBit is greater than 31, then ASSERT().
2734
   If EndBit is greater than 31, then ASSERT().
2748
   If EndBit is greater than 31, then ASSERT().
2735
   If EndBit is less than StartBit, then ASSERT().
2749
   If EndBit is less than StartBit, then ASSERT().
2750
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2736
 
2751
 
2737
   @param  Operand   Operand on which to perform the bitfield operation.
2752
   @param  Operand   Operand on which to perform the bitfield operation.
2738
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2753
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2767
   If StartBit is greater than 31, then ASSERT().
2782
   If StartBit is greater than 31, then ASSERT().
2768
   If EndBit is greater than 31, then ASSERT().
2783
   If EndBit is greater than 31, then ASSERT().
2769
   If EndBit is less than StartBit, then ASSERT().
2784
   If EndBit is less than StartBit, then ASSERT().
2785
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2786
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2770
 
2787
 
2771
   @param  Operand   Operand on which to perform the bitfield operation.
2788
   @param  Operand   Operand on which to perform the bitfield operation.
2772
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2789
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2829
   If StartBit is greater than 63, then ASSERT().
2846
   If StartBit is greater than 63, then ASSERT().
2830
   If EndBit is greater than 63, then ASSERT().
2847
   If EndBit is greater than 63, then ASSERT().
2831
   If EndBit is less than StartBit, then ASSERT().
2848
   If EndBit is less than StartBit, then ASSERT().
2849
+  If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2832
 
2850
 
2833
   @param  Operand   Operand on which to perform the bitfield operation.
2851
   @param  Operand   Operand on which to perform the bitfield operation.
2834
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2852
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2862
   If StartBit is greater than 63, then ASSERT().
2880
   If StartBit is greater than 63, then ASSERT().
2863
   If EndBit is greater than 63, then ASSERT().
2881
   If EndBit is greater than 63, then ASSERT().
2864
   If EndBit is less than StartBit, then ASSERT().
2882
   If EndBit is less than StartBit, then ASSERT().
2883
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2865
 
2884
 
2866
   @param  Operand   Operand on which to perform the bitfield operation.
2885
   @param  Operand   Operand on which to perform the bitfield operation.
2867
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2886
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2895
   If StartBit is greater than 63, then ASSERT().
2914
   If StartBit is greater than 63, then ASSERT().
2896
   If EndBit is greater than 63, then ASSERT().
2915
   If EndBit is greater than 63, then ASSERT().
2897
   If EndBit is less than StartBit, then ASSERT().
2916
   If EndBit is less than StartBit, then ASSERT().
2917
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2898
 
2918
 
2899
   @param  Operand   Operand on which to perform the bitfield operation.
2919
   @param  Operand   Operand on which to perform the bitfield operation.
2900
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2920
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2929
   If StartBit is greater than 63, then ASSERT().
2949
   If StartBit is greater than 63, then ASSERT().
2930
   If EndBit is greater than 63, then ASSERT().
2950
   If EndBit is greater than 63, then ASSERT().
2931
   If EndBit is less than StartBit, then ASSERT().
2951
   If EndBit is less than StartBit, then ASSERT().
2952
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2953
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
2932
 
2954
 
2933
   @param  Operand   Operand on which to perform the bitfield operation.
2955
   @param  Operand   Operand on which to perform the bitfield operation.
2934
   @param  StartBit  The ordinal of the least significant bit in the bit field.
2956
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5380
   If StartBit is greater than 31, then ASSERT().
5402
   If StartBit is greater than 31, then ASSERT().
5381
   If EndBit is greater than 31, then ASSERT().
5403
   If EndBit is greater than 31, then ASSERT().
5382
   If EndBit is less than StartBit, then ASSERT().
5404
   If EndBit is less than StartBit, then ASSERT().
5405
+  If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5383
 
5406
 
5384
   @param  Index     The 32-bit MSR index to write.
5407
   @param  Index     The 32-bit MSR index to write.
5385
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5408
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5416
   If StartBit is greater than 31, then ASSERT().
5439
   If StartBit is greater than 31, then ASSERT().
5417
   If EndBit is greater than 31, then ASSERT().
5440
   If EndBit is greater than 31, then ASSERT().
5418
   If EndBit is less than StartBit, then ASSERT().
5441
   If EndBit is less than StartBit, then ASSERT().
5442
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5419
 
5443
 
5420
   @param  Index     The 32-bit MSR index to write.
5444
   @param  Index     The 32-bit MSR index to write.
5421
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5445
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5452
   If StartBit is greater than 31, then ASSERT().
5476
   If StartBit is greater than 31, then ASSERT().
5453
   If EndBit is greater than 31, then ASSERT().
5477
   If EndBit is greater than 31, then ASSERT().
5454
   If EndBit is less than StartBit, then ASSERT().
5478
   If EndBit is less than StartBit, then ASSERT().
5479
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5455
 
5480
 
5456
   @param  Index     The 32-bit MSR index to write.
5481
   @param  Index     The 32-bit MSR index to write.
5457
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5482
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5490
   If StartBit is greater than 31, then ASSERT().
5515
   If StartBit is greater than 31, then ASSERT().
5491
   If EndBit is greater than 31, then ASSERT().
5516
   If EndBit is greater than 31, then ASSERT().
5492
   If EndBit is less than StartBit, then ASSERT().
5517
   If EndBit is less than StartBit, then ASSERT().
5518
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5519
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5493
 
5520
 
5494
   @param  Index     The 32-bit MSR index to write.
5521
   @param  Index     The 32-bit MSR index to write.
5495
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5522
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5684
   If StartBit is greater than 63, then ASSERT().
5711
   If StartBit is greater than 63, then ASSERT().
5685
   If EndBit is greater than 63, then ASSERT().
5712
   If EndBit is greater than 63, then ASSERT().
5686
   If EndBit is less than StartBit, then ASSERT().
5713
   If EndBit is less than StartBit, then ASSERT().
5714
+  If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5687
 
5715
 
5688
   @param  Index     The 32-bit MSR index to write.
5716
   @param  Index     The 32-bit MSR index to write.
5689
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5717
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5720
   If StartBit is greater than 63, then ASSERT().
5748
   If StartBit is greater than 63, then ASSERT().
5721
   If EndBit is greater than 63, then ASSERT().
5749
   If EndBit is greater than 63, then ASSERT().
5722
   If EndBit is less than StartBit, then ASSERT().
5750
   If EndBit is less than StartBit, then ASSERT().
5751
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5723
 
5752
 
5724
   @param  Index     The 32-bit MSR index to write.
5753
   @param  Index     The 32-bit MSR index to write.
5725
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5754
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5756
   If StartBit is greater than 63, then ASSERT().
5785
   If StartBit is greater than 63, then ASSERT().
5757
   If EndBit is greater than 63, then ASSERT().
5786
   If EndBit is greater than 63, then ASSERT().
5758
   If EndBit is less than StartBit, then ASSERT().
5787
   If EndBit is less than StartBit, then ASSERT().
5788
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5759
 
5789
 
5760
   @param  Index     The 32-bit MSR index to write.
5790
   @param  Index     The 32-bit MSR index to write.
5761
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5791
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5793
   If StartBit is greater than 63, then ASSERT().
5823
   If StartBit is greater than 63, then ASSERT().
5794
   If EndBit is greater than 63, then ASSERT().
5824
   If EndBit is greater than 63, then ASSERT().
5795
   If EndBit is less than StartBit, then ASSERT().
5825
   If EndBit is less than StartBit, then ASSERT().
5826
+  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5827
+  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5796
 
5828
 
5797
   @param  Index     The 32-bit MSR index to write.
5829
   @param  Index     The 32-bit MSR index to write.
5798
   @param  StartBit  The ordinal of the least significant bit in the bit field.
5830
   @param  StartBit  The ordinal of the least significant bit in the bit field.

+ 3
- 2
src/include/ipxe/efi/Pi/PiBootMode.h View File

1
 /** @file
1
 /** @file
2
   Present the boot mode values in PI.
2
   Present the boot mode values in PI.
3
 
3
 
4
-  Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
4
+  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
5
   This program and the accompanying materials
5
   This program and the accompanying materials
6
   are licensed and made available under the terms and conditions of the BSD License
6
   are licensed and made available under the terms and conditions of the BSD License
7
   which accompanies this distribution.  The full text of the license may be found at
7
   which accompanies this distribution.  The full text of the license may be found at
11
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
 
12
 
13
   @par Revision Reference:
13
   @par Revision Reference:
14
-  PI Version 1.0
14
+  PI Version 1.2.1A
15
 
15
 
16
 **/
16
 **/
17
 
17
 
35
 #define BOOT_WITH_DEFAULT_SETTINGS                    0x04
35
 #define BOOT_WITH_DEFAULT_SETTINGS                    0x04
36
 #define BOOT_ON_S4_RESUME                             0x05
36
 #define BOOT_ON_S4_RESUME                             0x05
37
 #define BOOT_ON_S5_RESUME                             0x06
37
 #define BOOT_ON_S5_RESUME                             0x06
38
+#define BOOT_WITH_MFG_MODE_SETTINGS                   0x07
38
 #define BOOT_ON_S2_RESUME                             0x10
39
 #define BOOT_ON_S2_RESUME                             0x10
39
 #define BOOT_ON_S3_RESUME                             0x11
40
 #define BOOT_ON_S3_RESUME                             0x11
40
 #define BOOT_ON_FLASH_UPDATE                          0x12
41
 #define BOOT_ON_FLASH_UPDATE                          0x12

+ 3
- 3
src/include/ipxe/efi/Protocol/SimpleTextInEx.h View File

5
   which exposes much more state and modifier information from the input device,
5
   which exposes much more state and modifier information from the input device,
6
   also allows one to register a notification for a particular keystroke.
6
   also allows one to register a notification for a particular keystroke.
7
 
7
 
8
-  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
8
+  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
9
   This program and the accompanying materials
9
   This program and the accompanying materials
10
   are licensed and made available under the terms and conditions of the BSD License
10
   are licensed and made available under the terms and conditions of the BSD License
11
   which accompanies this distribution.  The full text of the license may be found at
11
   which accompanies this distribution.  The full text of the license may be found at
276
   IN  EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
276
   IN  EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
277
   IN  EFI_KEY_DATA                      *KeyData,
277
   IN  EFI_KEY_DATA                      *KeyData,
278
   IN  EFI_KEY_NOTIFY_FUNCTION           KeyNotificationFunction,
278
   IN  EFI_KEY_NOTIFY_FUNCTION           KeyNotificationFunction,
279
-  OUT EFI_HANDLE                        *NotifyHandle
279
+  OUT VOID                              **NotifyHandle
280
 );
280
 );
281
 
281
 
282
 /**
282
 /**
298
 EFI_STATUS
298
 EFI_STATUS
299
 (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
299
 (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
300
   IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL  *This,
300
   IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL  *This,
301
-  IN EFI_HANDLE                         NotificationHandle
301
+  IN VOID                               *NotificationHandle
302
 );
302
 );
303
 
303
 
304
 
304
 

+ 8
- 2
src/include/ipxe/efi/Uefi/UefiInternalFormRepresentation.h View File

887
   EFI_IMAGE_ID             Id;
887
   EFI_IMAGE_ID             Id;
888
 } EFI_IFR_IMAGE;
888
 } EFI_IFR_IMAGE;
889
 
889
 
890
-typedef struct _EFI_IFR_MODAL {
890
+typedef struct _EFI_IFR_MODAL_TAG {
891
   EFI_IFR_OP_HEADER        Header;
891
   EFI_IFR_OP_HEADER        Header;
892
-} EFI_IFR_MODAL;
892
+} EFI_IFR_MODAL_TAG;
893
 
893
 
894
 typedef struct _EFI_IFR_LOCKED {
894
 typedef struct _EFI_IFR_LOCKED {
895
   EFI_IFR_OP_HEADER        Header;
895
   EFI_IFR_OP_HEADER        Header;
907
   EFI_IFR_TYPE_VALUE       Value;
907
   EFI_IFR_TYPE_VALUE       Value;
908
 } EFI_IFR_DEFAULT;
908
 } EFI_IFR_DEFAULT;
909
 
909
 
910
+typedef struct _EFI_IFR_DEFAULT_2 {
911
+  EFI_IFR_OP_HEADER        Header;
912
+  UINT16                   DefaultId;
913
+  UINT8                    Type;
914
+} EFI_IFR_DEFAULT_2;
915
+
910
 typedef struct _EFI_IFR_VALUE {
916
 typedef struct _EFI_IFR_VALUE {
911
   EFI_IFR_OP_HEADER        Header;
917
   EFI_IFR_OP_HEADER        Header;
912
 } EFI_IFR_VALUE;
918
 } EFI_IFR_VALUE;

+ 49
- 45
src/include/ipxe/efi/Uefi/UefiSpec.h View File

283
   @retval EFI_NOT_FOUND         1) There are no EFI_DRIVER_BINDING_PROTOCOL instances
283
   @retval EFI_NOT_FOUND         1) There are no EFI_DRIVER_BINDING_PROTOCOL instances
284
                                 present in the system.
284
                                 present in the system.
285
                                 2) No drivers were connected to ControllerHandle.
285
                                 2) No drivers were connected to ControllerHandle.
286
-
286
+  @retval EFI_SECURITY_VIOLATION
287
+                                The user has no permission to start UEFI device drivers on the device path
288
+                                associated with the ControllerHandle or specified by the RemainingDevicePath.
287
 **/
289
 **/
288
 typedef
290
 typedef
289
 EFI_STATUS
291
 EFI_STATUS
850
   @param  ExitData              The pointer to a pointer to a data buffer that includes a Null-terminated
852
   @param  ExitData              The pointer to a pointer to a data buffer that includes a Null-terminated
851
                                 string, optionally followed by additional binary data.
853
                                 string, optionally followed by additional binary data.
852
 
854
 
853
-  @retval EFI_INVALID_PARAMETER ImageHandle is either an invalid image handle or the image
854
-                                has already been initialized with StartImage.
855
+  @retval EFI_INVALID_PARAMETER  ImageHandle is either an invalid image handle or the image
856
+                                 has already been initialized with StartImage.
857
+  @retval EFI_SECURITY_VIOLATION The current platform policy specifies that the image should not be started.
855
   @return Exit code from image
858
   @return Exit code from image
856
 
859
 
857
 **/
860
 **/
1138
 /**
1141
 /**
1139
   Installs one or more protocol interfaces into the boot services environment.
1142
   Installs one or more protocol interfaces into the boot services environment.
1140
 
1143
 
1141
-  @param  Handle                The handle to install the new protocol interfaces on, or NULL if a new
1142
-                                handle is to be allocated.
1144
+  @param  Handle                The pointer to a handle to install the new protocol interfaces on,
1145
+                                or a pointer to NULL if a new handle is to be allocated.
1143
   @param  ...                   A variable argument list containing pairs of protocol GUIDs and protocol
1146
   @param  ...                   A variable argument list containing pairs of protocol GUIDs and protocol
1144
                                 interfaces.
1147
                                 interfaces.
1145
 
1148
 
1722
   OUT UINT64            *MaximumVariableSize
1725
   OUT UINT64            *MaximumVariableSize
1723
   );
1726
   );
1724
 
1727
 
1728
+//
1729
+// Firmware should stop at a firmware user interface on next boot
1730
+//
1731
+#define EFI_OS_INDICATIONS_BOOT_TO_FW_UI    0x0000000000000001
1725
 
1732
 
1726
 //
1733
 //
1727
 // EFI Runtime Services Table
1734
 // EFI Runtime Services Table
2006
 ///
2013
 ///
2007
 /// EFI Boot Key Data
2014
 /// EFI Boot Key Data
2008
 ///
2015
 ///
2009
-typedef union {
2010
-  struct {
2011
-    ///
2012
-    /// Indicates the revision of the EFI_KEY_OPTION structure. This revision level should be 0.
2013
-    ///
2014
-    UINT32  Revision        : 8;
2015
-    ///
2016
-    /// Either the left or right Shift keys must be pressed (1) or must not be pressed (0).
2017
-    ///
2018
-    UINT32  ShiftPressed    : 1;
2019
-    ///
2020
-    /// Either the left or right Control keys must be pressed (1) or must not be pressed (0).
2021
-    ///
2022
-    UINT32  ControlPressed  : 1;
2023
-    ///
2024
-    /// Either the left or right Alt keys must be pressed (1) or must not be pressed (0).
2025
-    ///
2026
-    UINT32  AltPressed      : 1;
2027
-    ///
2028
-    /// Either the left or right Logo keys must be pressed (1) or must not be pressed (0).
2029
-    ///
2030
-    UINT32  LogoPressed     : 1;
2031
-    ///
2032
-    /// The Menu key must be pressed (1) or must not be pressed (0).
2033
-    ///
2034
-    UINT32  MenuPressed     : 1;
2035
-    ///
2036
-    /// The SysReq key must be pressed (1) or must not be pressed (0).
2037
-    ///
2038
-    UINT32  SysReqPressed    : 1;
2039
-    UINT32  Reserved        : 16;
2040
-    ///
2041
-    /// Specifies the actual number of entries in EFI_KEY_OPTION.Keys, from 0-3. If
2042
-    /// zero, then only the shift state is considered. If more than one, then the boot option will
2043
-    /// only be launched if all of the specified keys are pressed with the same shift state.
2044
-    ///
2045
-    UINT32  InputKeyCount   : 2;
2046
-  } Options;
2047
-  UINT32  PackedValue;
2048
-} EFI_BOOT_KEY_DATA;
2016
+typedef UINT32 EFI_BOOT_KEY_DATA;
2017
+///
2018
+/// Indicates the revision of the EFI_KEY_OPTION structure. This revision level should be 0.
2019
+///
2020
+#define EFI_KEY_OPTION_REVISION_MASK        0x000000FF
2021
+///
2022
+/// Either the left or right Shift keys must be pressed (1) or must not be pressed (0).
2023
+///
2024
+#define EFI_KEY_OPTION_SHIFT_PRESSED_MASK   BIT8
2025
+///
2026
+/// Either the left or right Control keys must be pressed (1) or must not be pressed (0).
2027
+///
2028
+#define EFI_KEY_OPTION_CONTROL_PRESSED_MASK BIT9
2029
+///
2030
+/// Either the left or right Alt keys must be pressed (1) or must not be pressed (0).
2031
+///
2032
+#define EFI_KEY_OPTION_ALT_PRESSED_MASK     BIT10
2033
+///
2034
+/// Either the left or right Logo keys must be pressed (1) or must not be pressed (0).
2035
+///
2036
+#define EFI_KEY_OPTION_LOGO_PRESSED_MASK    BIT11
2037
+///
2038
+/// The Menu key must be pressed (1) or must not be pressed (0).
2039
+///
2040
+#define EFI_KEY_OPTION_MENU_PRESSED_MASK    BIT12
2041
+///
2042
+/// The SysReq key must be pressed (1) or must not be pressed (0).
2043
+///
2044
+#define EFI_KEY_OPTION_SYS_REQ_PRESSED_MASK BIT13
2045
+///
2046
+/// Specifies the actual number of entries in EFI_KEY_OPTION.Keys, from 0-3. If
2047
+/// zero, then only the shift state is considered. If more than one, then the boot option will
2048
+/// only be launched if all of the specified keys are pressed with the same shift state.
2049
+///
2050
+#define EFI_KEY_OPTION_INPUT_KEY_COUNT_MASK (BIT30 | BIT31)
2049
 
2051
 
2050
 ///
2052
 ///
2051
 /// EFI Key Option.
2053
 /// EFI Key Option.
2052
 ///
2054
 ///
2055
+#pragma pack(1)
2053
 typedef struct {
2056
 typedef struct {
2054
   ///
2057
   ///
2055
   /// Specifies options about how the key will be processed.
2058
   /// Specifies options about how the key will be processed.
2073
   ///
2076
   ///
2074
   //EFI_INPUT_KEY      Keys[];
2077
   //EFI_INPUT_KEY      Keys[];
2075
 } EFI_KEY_OPTION;
2078
 } EFI_KEY_OPTION;
2079
+#pragma pack()
2076
 
2080
 
2077
 //
2081
 //
2078
 // EFI File location to boot from on removable media devices
2082
 // EFI File location to boot from on removable media devices

+ 11
- 4
src/include/ipxe/efi/import.pl View File

59
       open my $outfh, ">$outfile" or die "Could not open $outfile: $!\n";
59
       open my $outfh, ">$outfile" or die "Could not open $outfile: $!\n";
60
       my @dependencies = ();
60
       my @dependencies = ();
61
       my $licence;
61
       my $licence;
62
+      my $maybe_guard;
62
       my $guard;
63
       my $guard;
63
       while ( <$infh> ) {
64
       while ( <$infh> ) {
64
 	# Strip CR and trailing whitespace
65
 	# Strip CR and trailing whitespace
77
 	# Write out line
78
 	# Write out line
78
 	print $outfh "$_\n";
79
 	print $outfh "$_\n";
79
 	# Apply FILE_LICENCE() immediately after include guard
80
 	# Apply FILE_LICENCE() immediately after include guard
80
-	if ( /^\#define\s+_?_\S+_H_?_$/ ) {
81
-	  die "Duplicate header guard detected in $infile\n" if $guard;
82
-	  $guard = 1;
83
-	  print $outfh "\nFILE_LICENCE ( $licence );\n" if $licence;
81
+	if ( defined $maybe_guard ) {
82
+	  if ( /^\#define\s+_?_${maybe_guard}_?_$/ ) {
83
+	    die "Duplicate header guard detected in $infile\n" if $guard;
84
+	    $guard = $maybe_guard;
85
+	    print $outfh "\nFILE_LICENCE ( $licence );\n" if $licence;
86
+	  }
87
+	  undef $maybe_guard;
88
+	}
89
+	if ( /^#ifndef\s+_?_(\S+)_?_/ ) {
90
+	  $maybe_guard = $1;
84
 	}
91
 	}
85
       }
92
       }
86
       close $outfh;
93
       close $outfh;

Loading…
Cancel
Save