]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/IScsiBootFirmwareTable.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / IScsiBootFirmwareTable.h
index 7fc7ac63776d54e5929b38fd317bad8bdcff40df..1fd2d6df7231df15e2f8cda4ee4ef75d9086078f 100644 (file)
@@ -1,37 +1,27 @@
 /** @file\r
-  The definition for iSCSI Boot Firmware Table, it's defined in\r
-  Microsoft iBFT document. \r
-  \r
-  Copyright (c) 2006 - 2008, Intel Corporation\r
-  All rights reserved. This program and the accompanying materials                          \r
-  are licensed and made available under the terms and conditions of the BSD License         \r
-  which accompanies this distribution.  The full text of the license may be found at        \r
-  http://opensource.org/licenses/bsd-license.php                                            \r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+  The definition for iSCSI Boot Firmware Table, it's defined in Microsoft's\r
+  iSCSI Boot Firmware Table(iBFT) as Defined in ACPI 3.0b Specification.\r
+\r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #ifndef _ISCSI_BOOT_FIRMWARE_TABLE_H_\r
 #define _ISCSI_BOOT_FIRMWARE_TABLE_H_\r
 \r
-#include "Acpi30.h"\r
-\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_REVISION            0x01\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_ALIGNMENT 8\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_REVISION             0x01\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_ALIGNMENT  8\r
 \r
 ///\r
 /// Structure Type/ID\r
 ///\r
-typedef enum {\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_RESERVED_STRUCTURE_ID = 0,\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_ID,\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_ID,\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_ID,\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_ID,\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_EXTERNSIONS_STRUCTURE_ID\r
-} EFI_ACPI_ISCSI_ID_DEFINITIONS;\r
+#define  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_RESERVED_STRUCTURE_ID     0\r
+#define  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_ID      1\r
+#define  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_ID    2\r
+#define  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_ID          3\r
+#define  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_ID       4\r
+#define  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_EXTERNSIONS_STRUCTURE_ID  5\r
 \r
 ///\r
 /// from the definition of IP_PREFIX_ORIGIN Enumeration in MSDN,\r
@@ -52,112 +42,119 @@ typedef enum {
 /// iBF Table Header\r
 ///\r
 typedef struct {\r
-  UINT32  Signature;\r
-  UINT32  Length;\r
-  UINT8   Revision;\r
-  UINT8   Checksum;\r
-  UINT8   OemId[6];\r
-  UINT64  OemTableId;\r
-  UINT8   Reserved[24];\r
+  UINT32    Signature;\r
+  UINT32    Length;\r
+  UINT8     Revision;\r
+  UINT8     Checksum;\r
+  UINT8     OemId[6];\r
+  UINT64    OemTableId;\r
+  UINT8     Reserved[24];\r
 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER;\r
 \r
 ///\r
-/// Common Header of Boot Firmware Table Structure \r
+/// Common Header of Boot Firmware Table Structure\r
 ///\r
 typedef struct {\r
-  UINT8   StructureId;\r
-  UINT8   Version;\r
-  UINT16  Length;\r
-  UINT8   Index;\r
-  UINT8   Flags;\r
+  UINT8     StructureId;\r
+  UINT8     Version;\r
+  UINT16    Length;\r
+  UINT8     Index;\r
+  UINT8     Flags;\r
 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER;\r
 \r
 ///\r
 /// Control Structure\r
 ///\r
 typedef struct {\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER  Header;\r
-  UINT16                                               Extensions;\r
-  UINT16                                               InitiatorOffset;\r
-  UINT16                                               NIC0Offset;\r
-  UINT16                                               Target0Offset;\r
-  UINT16                                               NIC1Offset;\r
-  UINT16                                               Target1Offset;  \r
+  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER    Header;\r
+  UINT16                                                 Extensions;\r
+  UINT16                                                 InitiatorOffset;\r
+  UINT16                                                 NIC0Offset;\r
+  UINT16                                                 Target0Offset;\r
+  UINT16                                                 NIC1Offset;\r
+  UINT16                                                 Target1Offset;\r
 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE;\r
 \r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_VERSION            0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_FLAG_BOOT_FAILOVER 0x1\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_VERSION  0x1\r
+\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_FLAG_BOOT_FAILOVER  BIT0\r
 \r
 ///\r
 /// Initiator Structure\r
 ///\r
 typedef struct {\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER  Header;\r
-  EFI_IPv6_ADDRESS                                     ISnsServer;\r
-  EFI_IPv6_ADDRESS                                     SlpServer;\r
-  EFI_IPv6_ADDRESS                                     PrimaryRadiusServer;\r
-  EFI_IPv6_ADDRESS                                     SecondaryRadiusServer;\r
-  UINT16                                               IScsiNameLength;\r
-  UINT16                                               IScsiNameOffset;\r
+  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER    Header;\r
+  EFI_IPv6_ADDRESS                                       ISnsServer;\r
+  EFI_IPv6_ADDRESS                                       SlpServer;\r
+  EFI_IPv6_ADDRESS                                       PrimaryRadiusServer;\r
+  EFI_IPv6_ADDRESS                                       SecondaryRadiusServer;\r
+  UINT16                                                 IScsiNameLength;\r
+  UINT16                                                 IScsiNameOffset;\r
 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE;\r
 \r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_VERSION            0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BLOCK_VALID   0x1 \r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BOOT_SELECTED 0x2 \r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_VERSION  0x1\r
+\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BLOCK_VALID    BIT0\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BOOT_SELECTED  BIT1\r
 \r
 ///\r
 /// NIC Structure\r
 ///\r
 typedef struct {\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER  Header;\r
-  EFI_IPv6_ADDRESS                                     Ip;\r
-  UINT8                                                SubnetMaskPrefixLength;\r
-  UINT8                                                Origin;\r
-  EFI_IPv6_ADDRESS                                     Gateway;\r
-  EFI_IPv6_ADDRESS                                     PrimaryDns;\r
-  EFI_IPv6_ADDRESS                                     SecondaryDns;\r
-  EFI_IPv6_ADDRESS                                     DhcpServer;\r
-  UINT16                                               VLanTag;\r
-  UINT8                                                Mac[6];\r
-  UINT16                                               PciLocation;\r
-  UINT16                                               HostNameLength;\r
-  UINT16                                               HostNameOffset;\r
+  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER    Header;\r
+  EFI_IPv6_ADDRESS                                       Ip;\r
+  UINT8                                                  SubnetMaskPrefixLength;\r
+  UINT8                                                  Origin;\r
+  EFI_IPv6_ADDRESS                                       Gateway;\r
+  EFI_IPv6_ADDRESS                                       PrimaryDns;\r
+  EFI_IPv6_ADDRESS                                       SecondaryDns;\r
+  EFI_IPv6_ADDRESS                                       DhcpServer;\r
+  UINT16                                                 VLanTag;\r
+  UINT8                                                  Mac[6];\r
+  UINT16                                                 PciLocation;\r
+  UINT16                                                 HostNameLength;\r
+  UINT16                                                 HostNameOffset;\r
 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE;\r
 \r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_VERSION            0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BLOCK_VALID   0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BOOT_SELECTED 0x2\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_GLOBAL        0x4\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_VERSION  0x1\r
+\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BLOCK_VALID    BIT0\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BOOT_SELECTED  BIT1\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_GLOBAL         BIT2\r
 \r
 ///\r
 /// Target Structure\r
 ///\r
 typedef struct {\r
-  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER  Header;\r
-  EFI_IPv6_ADDRESS                                     Ip;\r
-  UINT16                                               Port;\r
-  UINT8                                                BootLun[8];\r
-  UINT8                                                CHAPType;\r
-  UINT8                                                NicIndex;\r
-  UINT16                                               IScsiNameLength;\r
-  UINT16                                               IScsiNameOffset;\r
-  UINT16                                               CHAPNameLength;\r
-  UINT16                                               CHAPNameOffset;\r
-  UINT16                                               CHAPSecretLength;\r
-  UINT16                                               CHAPSecretOffset;\r
-  UINT16                                               ReverseCHAPNameLength;\r
-  UINT16                                               ReverseCHAPNameOffset;\r
-  UINT16                                               ReverseCHAPSecretLength;\r
-  UINT16                                               ReverseCHAPSecretOffset;\r
+  EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER    Header;\r
+  EFI_IPv6_ADDRESS                                       Ip;\r
+  UINT16                                                 Port;\r
+  UINT8                                                  BootLun[8];\r
+  UINT8                                                  CHAPType;\r
+  UINT8                                                  NicIndex;\r
+  UINT16                                                 IScsiNameLength;\r
+  UINT16                                                 IScsiNameOffset;\r
+  UINT16                                                 CHAPNameLength;\r
+  UINT16                                                 CHAPNameOffset;\r
+  UINT16                                                 CHAPSecretLength;\r
+  UINT16                                                 CHAPSecretOffset;\r
+  UINT16                                                 ReverseCHAPNameLength;\r
+  UINT16                                                 ReverseCHAPNameOffset;\r
+  UINT16                                                 ReverseCHAPSecretLength;\r
+  UINT16                                                 ReverseCHAPSecretOffset;\r
 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE;\r
 \r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_VERSION            0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BLOCK_VALID   0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BOOT_SELECTED 0x2\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_CHAP   0x4\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_RCHAP  0x8\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_VERSION  0x1\r
+\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BLOCK_VALID    BIT0\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BOOT_SELECTED  BIT1\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_CHAP    BIT2\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_RCHAP   BIT3\r
+\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_CHAP_TYPE_NO_CHAP      0\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_CHAP_TYPE_CHAP         1\r
+#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_CHAP_TYPE_MUTUAL_CHAP  2\r
 \r
 #pragma pack()\r
 \r
 #endif\r
-\r