OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
LegacyBios.h
Go to the documentation of this file.
1
27#ifndef _EFI_LEGACY_BIOS_H_
28#define _EFI_LEGACY_BIOS_H_
29
33#pragma pack(1)
34
35typedef UINT8 SERIAL_MODE;
36typedef UINT8 PARALLEL_MODE;
37
38#define EFI_COMPATIBILITY16_TABLE_SIGNATURE SIGNATURE_32 ('I', 'F', 'E', '$')
39
48typedef struct {
53 UINT32 Signature;
54
59
64
69
74
79
84
88 UINT16 Reserved;
89
94
99
105
111
117
122
130
135
142
147
154
159
166
171
176
181
186
191
196
201
206
210 UINT16 TpmOffset;
211
216
226
231
238
243 UINT32 UmaSize;
244
250
257
371
391
451
455typedef struct {
456 UINT16 Address;
457 UINT8 Irq;
460
464#define DEVICE_SERIAL_MODE_NORMAL 0x00
465#define DEVICE_SERIAL_MODE_IRDA 0x01
466#define DEVICE_SERIAL_MODE_ASK_IR 0x02
467#define DEVICE_SERIAL_MODE_DUPLEX_HALF 0x00
468#define DEVICE_SERIAL_MODE_DUPLEX_FULL 0x10
470
474typedef struct {
475 UINT16 Address;
476 UINT8 Irq;
477 UINT8 Dma;
480
484#define DEVICE_PARALLEL_MODE_MODE_OUTPUT_ONLY 0x00
485#define DEVICE_PARALLEL_MODE_MODE_BIDIRECTIONAL 0x01
486#define DEVICE_PARALLEL_MODE_MODE_EPP 0x02
487#define DEVICE_PARALLEL_MODE_MODE_ECP 0x03
489
493typedef struct {
494 UINT16 Address;
495 UINT8 Irq;
496 UINT8 Dma;
499
503typedef struct {
504 UINT32 A20Kybd : 1;
505 UINT32 A20Port90 : 1;
506 UINT32 Reserved : 30;
508
519
523typedef struct {
524 UINT16 Raw[256];
526
530typedef struct {
536 UINT16 Status;
537
541 UINT32 Bus;
542
546 UINT32 Device;
547
551 UINT32 Function;
552
557
562
567
568 UINT8 HddIrq;
569
573 ATAPI_IDENTIFY IdentifyDrive[2];
574} HDD_INFO;
575
579#define HDD_PRIMARY 0x01
580#define HDD_SECONDARY 0x02
581#define HDD_MASTER_ATAPI_CDROM 0x04
582#define HDD_SLAVE_ATAPI_CDROM 0x08
583#define HDD_MASTER_IDE 0x20
584#define HDD_SLAVE_IDE 0x40
585#define HDD_MASTER_ATAPI_ZIPDISK 0x10
586#define HDD_SLAVE_ATAPI_ZIPDISK 0x80
587
591typedef struct {
592 UINT16 OldPosition : 4;
593 UINT16 Reserved1 : 4;
594 UINT16 Enabled : 1;
595 UINT16 Failed : 1;
597
605 UINT16 MediaPresent : 2;
606 UINT16 Reserved2 : 4;
608
723
727#define BBS_FLOPPY 0x01
728#define BBS_HARDDISK 0x02
729#define BBS_CDROM 0x03
730#define BBS_PCMCIA 0x04
731#define BBS_USB 0x05
732#define BBS_EMBED_NETWORK 0x06
733#define BBS_BEV_DEVICE 0x80
734#define BBS_UNKNOWN 0xff
736
740#define BBS_DO_NOT_BOOT_FROM 0xFFFC
741#define BBS_LOWEST_PRIORITY 0xFFFD
742#define BBS_UNPRIORITIZED_ENTRY 0xFFFE
743#define BBS_IGNORE_ENTRY 0xFFFF
745
749typedef struct {
754 UINT16 Type : 3;
755
759 UINT16 PortGranularity : 3;
760
764 UINT16 DataGranularity : 3;
765
769 UINT16 Reserved : 7;
771
775#define STANDARD_IO 0x00
776#define STANDARD_MEMORY 0x01
778
782#define PORT_SIZE_8 0x00
783#define PORT_SIZE_16 0x01
784#define PORT_SIZE_32 0x02
785#define PORT_SIZE_64 0x03
787
791#define DATA_SIZE_8 0x00
792#define DATA_SIZE_16 0x01
793#define DATA_SIZE_32 0x02
794#define DATA_SIZE_64 0x03
796
800typedef struct {
801 UINT16 Function : 15;
802 UINT16 Owner : 1;
804
808#define INT15_D042 0x0000
809#define GET_USB_BOOT_INFO 0x0001
810#define DMI_PNP_50_57 0x0002
812
816#define STANDARD_OWNER 0x0
817#define OEM_OWNER 0x1
819
846
850typedef struct {
853} SMM_TABLE;
854
858typedef struct {
863
868 UINT8 RabcaUsedFlag : 1;
869
874
878 UINT8 Reserved : 5;
880
884typedef struct {
890
896
903
908
913
917 UINT8 BeerData[128];
918
922 UINT8 ServiceAreaData[64];
923} UD_TABLE;
924
925#define EFI_TO_LEGACY_MAJOR_VERSION 0x02
926#define EFI_TO_LEGACY_MINOR_VERSION 0x00
927#define MAX_IDE_CONTROLLER 8
928
932typedef struct {
935 UINT32 AcpiTable;
936 UINT32 SmbiosTable;
938 //
939 // Legacy SIO state
940 //
943 UINT16 PciIrqMask;
946 //
947 // Controller & Drive Identify[2] per controller information
948 //
951 UINT32 BbsTable;
952 UINT32 SmmTable;
959
963typedef struct {
964 UINT8 PciBus;
967 UINT8 PciClass;
970 //
971 // Primary section
972 //
976 UINT16 PrimaryBase;
978 //
979 // Secondary Section
980 //
987
988//
989// Restore default pack value
990//
991#pragma pack()
992
993#define EFI_LEGACY_BIOS_PROTOCOL_GUID \
994 { \
995 0xdb9a1e3d, 0x45cb, 0x4abb, {0x85, 0x3b, 0xe5, 0x38, 0x7f, 0xdb, 0x2e, 0x2d } \
996 }
997
999
1003#define NO_ROM 0x00
1004#define ROM_FOUND 0x01
1005#define VALID_LEGACY_ROM 0x02
1006#define ROM_WITH_CONFIG 0x04
1007
1014#define EFI_SEGMENT(_Adr) (UINT16) ((UINT16) (((UINTN) (_Adr)) >> 4) & 0xf000)
1015#define EFI_OFFSET(_Adr) (UINT16) (((UINT16) ((UINTN) (_Adr))) & 0xffff)
1017
1018#define CARRY_FLAG 0x01
1019
1023typedef struct {
1024 UINT32 CF : 1;
1025 UINT32 Reserved1 : 1;
1026 UINT32 PF : 1;
1027 UINT32 Reserved2 : 1;
1028 UINT32 AF : 1;
1029 UINT32 Reserved3 : 1;
1030 UINT32 ZF : 1;
1031 UINT32 SF : 1;
1032 UINT32 TF : 1;
1033 UINT32 IF : 1;
1034 UINT32 DF : 1;
1035 UINT32 OF : 1;
1036 UINT32 IOPL : 2;
1037 UINT32 NT : 1;
1038 UINT32 Reserved4 : 2;
1039 UINT32 VM : 1;
1040 UINT32 Reserved5 : 14;
1042
1046typedef struct {
1047 UINT32 EAX;
1048 UINT32 EBX;
1049 UINT32 ECX;
1050 UINT32 EDX;
1051 UINT32 ESI;
1052 UINT32 EDI;
1054 UINT16 ES;
1055 UINT16 CS;
1056 UINT16 SS;
1057 UINT16 DS;
1058 UINT16 FS;
1059 UINT16 GS;
1060 UINT32 EBP;
1061 UINT32 ESP;
1063
1067typedef struct {
1068 UINT16 CF : 1;
1069 UINT16 Reserved1 : 1;
1070 UINT16 PF : 1;
1071 UINT16 Reserved2 : 1;
1072 UINT16 AF : 1;
1073 UINT16 Reserved3 : 1;
1074 UINT16 ZF : 1;
1075 UINT16 SF : 1;
1076 UINT16 TF : 1;
1077 UINT16 IF : 1;
1078 UINT16 DF : 1;
1079 UINT16 OF : 1;
1080 UINT16 IOPL : 2;
1081 UINT16 NT : 1;
1082 UINT16 Reserved4 : 1;
1084
1088typedef struct {
1089 UINT16 AX;
1091 UINT16 BX;
1093 UINT16 CX;
1095 UINT16 DX;
1097 UINT16 SI;
1099 UINT16 DI;
1103 UINT16 ES;
1104 UINT16 CS;
1105 UINT16 SS;
1106 UINT16 DS;
1107 UINT16 FS;
1108 UINT16 GS;
1109 UINT16 BP;
1111 UINT16 SP;
1114
1118typedef struct {
1119 UINT8 AL, AH;
1121 UINT8 BL, BH;
1123 UINT8 CL, CH;
1125 UINT8 DL, DH;
1128
1137
1151typedef
1152BOOLEAN
1153(EFIAPI *EFI_LEGACY_BIOS_INT86)(
1154 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1155 IN UINT8 BiosInt,
1156 IN OUT EFI_IA32_REGISTER_SET *Regs
1157 );
1158
1174typedef
1175BOOLEAN
1177 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1178 IN UINT16 Segment,
1179 IN UINT16 Offset,
1180 IN EFI_IA32_REGISTER_SET *Regs,
1181 IN VOID *Stack,
1182 IN UINTN StackSize
1183 );
1184
1202typedef
1203EFI_STATUS
1205 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1206 IN EFI_HANDLE PciHandle,
1207 OUT VOID **RomImage, OPTIONAL
1208 OUT UINTN *RomSize, OPTIONAL
1209 OUT UINTN *Flags
1210 );
1211
1239typedef
1240EFI_STATUS
1242 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1243 IN EFI_HANDLE PciHandle,
1244 IN VOID **RomImage,
1245 OUT UINTN *Flags,
1246 OUT UINT8 *DiskStart, OPTIONAL
1247 OUT UINT8 *DiskEnd, OPTIONAL
1248 OUT VOID **RomShadowAddress, OPTIONAL
1249 OUT UINT32 *ShadowedRomSize OPTIONAL
1250 );
1251
1283typedef
1284EFI_STATUS
1285(EFIAPI *EFI_LEGACY_BIOS_BOOT)(
1286 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1287 IN BBS_BBS_DEVICE_PATH *BootOption,
1288 IN UINT32 LoadOptionsSize,
1289 IN VOID *LoadOptions
1290 );
1291
1308typedef
1309EFI_STATUS
1311 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1312 IN UINT8 Leds
1313 );
1314
1327typedef
1328EFI_STATUS
1330 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1331 OUT UINT16 *HddCount,
1332 OUT HDD_INFO **HddInfo,
1333 OUT UINT16 *BbsCount,
1334 IN OUT BBS_TABLE **BbsTable
1335 );
1336
1348typedef
1349EFI_STATUS
1351 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1352 OUT UINT16 *BbsCount,
1353 OUT BBS_TABLE **BbsTable
1354 );
1355
1372typedef
1373EFI_STATUS
1375 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1376 IN UDC_ATTRIBUTES Attributes,
1377 IN UINTN BbsEntry,
1378 IN VOID *BeerData,
1379 IN VOID *ServiceAreaData
1380 );
1381
1393typedef
1394EFI_STATUS
1397 );
1398
1417typedef
1418EFI_STATUS
1420 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1421 IN UINTN LegacyMemorySize,
1422 IN UINTN Region,
1423 IN UINTN Alignment,
1424 OUT VOID **LegacyMemoryAddress
1425 );
1426
1441typedef
1442EFI_STATUS
1444 IN EFI_LEGACY_BIOS_PROTOCOL *This,
1445 IN UINTN LegacyMemorySize,
1446 IN VOID *LegacyMemoryAddress,
1447 IN VOID *LegacyMemorySourceAddress
1448 );
1449
1518
1519//
1520// Legacy BIOS needs to access memory in page 0 (0-4095), which is disabled if
1521// NULL pointer detection feature is enabled. Following macro can be used to
1522// enable/disable page 0 before/after accessing it.
1523//
1524#define ACCESS_PAGE0_CODE(statements) \
1525 do { \
1526 EFI_STATUS Status_; \
1527 EFI_GCD_MEMORY_SPACE_DESCRIPTOR Desc_; \
1528 \
1529 Desc_.Attributes = 0; \
1530 Status_ = gDS->GetMemorySpaceDescriptor (0, &Desc_); \
1531 ASSERT_EFI_ERROR (Status_); \
1532 if ((Desc_.Attributes & EFI_MEMORY_RP) != 0) { \
1533 Status_ = gDS->SetMemorySpaceAttributes ( \
1534 0, \
1535 EFI_PAGES_TO_SIZE(1), \
1536 Desc_.Attributes & ~(UINT64)EFI_MEMORY_RP \
1537 ); \
1538 ASSERT_EFI_ERROR (Status_); \
1539 } \
1540 \
1541 { \
1542 statements; \
1543 } \
1544 \
1545 if ((Desc_.Attributes & EFI_MEMORY_RP) != 0) { \
1546 Status_ = gDS->SetMemorySpaceAttributes ( \
1547 0, \
1548 EFI_PAGES_TO_SIZE(1), \
1549 Desc_.Attributes \
1550 ); \
1551 ASSERT_EFI_ERROR (Status_); \
1552 } \
1553 } while (FALSE)
1554
1555extern EFI_GUID gEfiLegacyBiosProtocolGuid;
1556
1557#endif
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_COPY_LEGACY_REGION)(IN EFI_LEGACY_BIOS_PROTOCOL *This, IN UINTN LegacyMemorySize, IN VOID *LegacyMemoryAddress, IN VOID *LegacyMemorySourceAddress)
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_PREPARE_TO_BOOT_EFI)(IN EFI_LEGACY_BIOS_PROTOCOL *This, OUT UINT16 *BbsCount, OUT BBS_TABLE **BbsTable)
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_BOOT_UNCONVENTIONAL_DEVICE)(IN EFI_LEGACY_BIOS_PROTOCOL *This, IN UDC_ATTRIBUTES Attributes, IN UINTN BbsEntry, IN VOID *BeerData, IN VOID *ServiceAreaData)
UINT8 PARALLEL_MODE
Definition LegacyBios.h:36
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_BOOT)(IN EFI_LEGACY_BIOS_PROTOCOL *This, IN BBS_BBS_DEVICE_PATH *BootOption, IN UINT32 LoadOptionsSize, IN VOID *LoadOptions)
UINT8 SERIAL_MODE
Definition LegacyBios.h:35
BOOLEAN(EFIAPI * EFI_LEGACY_BIOS_INT86)(IN EFI_LEGACY_BIOS_PROTOCOL *This, IN UINT8 BiosInt, IN OUT EFI_IA32_REGISTER_SET *Regs)
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_SHADOW_ALL_LEGACY_OPROMS)(IN EFI_LEGACY_BIOS_PROTOCOL *This)
EFI_GUID gEfiLegacyBiosProtocolGuid
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_GET_LEGACY_REGION)(IN EFI_LEGACY_BIOS_PROTOCOL *This, IN UINTN LegacyMemorySize, IN UINTN Region, IN UINTN Alignment, OUT VOID **LegacyMemoryAddress)
EFI_COMPATIBILITY_FUNCTIONS
Definition LegacyBios.h:267
@ Legacy16DispatchOprom
Definition LegacyBios.h:328
@ Legacy16RetrieveLastBootDevice
Definition LegacyBios.h:317
@ Legacy16PrepareToBoot
Definition LegacyBios.h:297
@ Legacy16InitializeYourself
Definition LegacyBios.h:276
@ Legacy16InstallPciHandler
Definition LegacyBios.h:369
@ Legacy16Boot
Definition LegacyBios.h:306
@ Legacy16SetKeyboardLeds
Definition LegacyBios.h:358
@ Legacy16UpdateBbs
Definition LegacyBios.h:286
@ Legacy16GetTableAddress
Definition LegacyBios.h:345
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_CHECK_ROM)(IN EFI_LEGACY_BIOS_PROTOCOL *This, IN EFI_HANDLE PciHandle, OUT VOID **RomImage, OPTIONAL OUT UINTN *RomSize, OPTIONAL OUT UINTN *Flags)
#define MAX_IDE_CONTROLLER
Definition LegacyBios.h:927
BOOLEAN(EFIAPI * EFI_LEGACY_BIOS_FARCALL86)(IN EFI_LEGACY_BIOS_PROTOCOL *This, IN UINT16 Segment, IN UINT16 Offset, IN EFI_IA32_REGISTER_SET *Regs, IN VOID *Stack, IN UINTN StackSize)
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_UPDATE_KEYBOARD_LED_STATUS)(IN EFI_LEGACY_BIOS_PROTOCOL *This, IN UINT8 Leds)
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_GET_BBS_INFO)(IN EFI_LEGACY_BIOS_PROTOCOL *This, OUT UINT16 *HddCount, OUT HDD_INFO **HddInfo, OUT UINT16 *BbsCount, IN OUT BBS_TABLE **BbsTable)
EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_INSTALL_ROM)(IN EFI_LEGACY_BIOS_PROTOCOL *This, IN EFI_HANDLE PciHandle, IN VOID **RomImage, OUT UINTN *Flags, OUT UINT8 *DiskStart, OPTIONAL OUT UINT8 *DiskEnd, OPTIONAL OUT VOID **RomShadowAddress, OPTIONAL OUT UINT32 *ShadowedRomSize OPTIONAL)
EFI_LEGACY_BIOS_BOOT_UNCONVENTIONAL_DEVICE BootUnconventionalDevice
EFI_LEGACY_BIOS_PREPARE_TO_BOOT_EFI PrepareToBootEfi
EFI_LEGACY_BIOS_SHADOW_ALL_LEGACY_OPROMS ShadowAllLegacyOproms
EFI_LEGACY_BIOS_CHECK_ROM CheckPciRom
EFI_LEGACY_BIOS_BOOT LegacyBoot
EFI_LEGACY_BIOS_COPY_LEGACY_REGION CopyLegacyRegion
EFI_LEGACY_BIOS_GET_LEGACY_REGION GetLegacyRegion
EFI_LEGACY_BIOS_INT86 Int86
EFI_LEGACY_BIOS_UPDATE_KEYBOARD_LED_STATUS UpdateKeyboardLedStatus
EFI_LEGACY_BIOS_INSTALL_ROM InstallPciRom
EFI_LEGACY_BIOS_GET_BBS_INFO GetBbsInfo
EFI_LEGACY_BIOS_FARCALL86 FarCall86
UINT16 OldPosition
Prior priority.
Definition LegacyBios.h:592
UINT16 Reserved2
Reserved for future use.
Definition LegacyBios.h:606
UINT16 Reserved1
Reserved for future use.
Definition LegacyBios.h:593
UINT16 Enabled
If 0, ignore this entry.
Definition LegacyBios.h:594
UINT8 Class
Definition LegacyBios.h:636
UINT32 AdditionalIrq41Handler
Definition LegacyBios.h:718
UINT16 DescStringSegment
Definition LegacyBios.h:683
UINT8 SubClass
Definition LegacyBios.h:641
UINT32 IBV2
Definition LegacyBios.h:721
UINT32 Function
Definition LegacyBios.h:631
UINT8 AssignedDriveNumber
Definition LegacyBios.h:717
UINT16 DeviceType
Definition LegacyBios.h:656
BBS_STATUS_FLAGS StatusFlags
Definition LegacyBios.h:661
UINT16 BootPriority
Definition LegacyBios.h:616
UINT32 AdditionalIrq46Handler
Definition LegacyBios.h:719
UINT32 AdditionalIrq19Handler
Definition LegacyBios.h:709
UINT32 AdditionalIrq13Handler
Definition LegacyBios.h:695
UINT16 MfgStringOffset
Definition LegacyBios.h:646
UINT16 MfgStringSegment
Definition LegacyBios.h:651
UINT32 AdditionalIrq18Handler
Definition LegacyBios.h:702
UINT16 BootHandlerSegment
Definition LegacyBios.h:673
UINT32 Device
Definition LegacyBios.h:626
UINT16 BootHandlerOffset
Definition LegacyBios.h:667
UINT32 InitPerReserved
Definition LegacyBios.h:688
UINT32 Bus
Definition LegacyBios.h:621
UINT16 DescStringOffset
Definition LegacyBios.h:678
UINT32 AdditionalIrq40Handler
Definition LegacyBios.h:716
UINT32 IBV1
Definition LegacyBios.h:720
UINT8 MousePresent
Flag to indicate if mouse is present.
Definition LegacyBios.h:516
DEVICE_PRODUCER_FLOPPY Floppy
Data for floppy. Type DEVICE_PRODUCER_FLOPPY is defined below.
Definition LegacyBios.h:515
LEGACY_DEVICE_FLAGS Flags
Miscellaneous Boolean state information passed to CSM.
Definition LegacyBios.h:517
UINT8 Irq
IRQ assigned to the floppy.
Definition LegacyBios.h:495
UINT8 Dma
DMA assigned to the floppy.
Definition LegacyBios.h:496
UINT16 Address
I/O address assigned to the floppy.
Definition LegacyBios.h:494
UINT8 NumberOfFloppy
Number of floppies in the system.
Definition LegacyBios.h:497
UINT8 Dma
DMA assigned to the parallel port.
Definition LegacyBios.h:477
UINT16 Address
I/O address assigned to the parallel port.
Definition LegacyBios.h:475
UINT8 Irq
IRQ assigned to the parallel port.
Definition LegacyBios.h:476
PARALLEL_MODE Mode
Mode of the parallel port. Values are defined below.
Definition LegacyBios.h:478
SERIAL_MODE Mode
Mode of serial port. Values are defined below.
Definition LegacyBios.h:458
UINT8 Irq
IRQ assigned to the serial port.
Definition LegacyBios.h:457
UINT16 Address
I/O address assigned to the serial port.
Definition LegacyBios.h:456
UINT16 ReservedAX
UINT16 ReservedDX
UINT16 ReservedBX
UINT16 ReservedCX
UINT32 BbsTablePointer
A pointer to the BBS table.
Definition LegacyBios.h:384
UINT8 PciDeviceFunction
The PCI device * 0x08 | PCI function.
Definition LegacyBios.h:380
UINT16 OpromSegment
The segment where the OpROM was placed. Offset is assumed to be 3.
Definition LegacyBios.h:378
UINT16 PnPInstallationCheckSegment
A pointer to the PnpInstallationCheck data structure.
Definition LegacyBios.h:376
UINT8 PciBus
The PCI bus.
Definition LegacyBios.h:379
UINT16 PnPInstallationCheckOffset
A pointer to the PnpInstallationCheck data structure.
Definition LegacyBios.h:377
EFI_EFLAGS_REG EFlags
UINT16 PrimaryControl
The primary device control I/O base.
Definition LegacyBios.h:975
UINT8 PrimaryIrq
The primary device IRQ.
Definition LegacyBios.h:973
UINT16 SecondaryBusMaster
The secondary device bus master I/O base.
Definition LegacyBios.h:985
UINT8 PciClass
The PCI class code of the device.
Definition LegacyBios.h:967
UINT8 PciSubclass
The PCI subclass code of the device.
Definition LegacyBios.h:968
UINT8 SecondaryIrq
The secondary device IRQ.
Definition LegacyBios.h:981
UINT16 SecondaryControl
The secondary device control I/O base.
Definition LegacyBios.h:983
UINT8 PciSegment
The PCI segment of the device.
Definition LegacyBios.h:966
UINT16 PrimaryBase
The primary device I/O base.
Definition LegacyBios.h:976
UINT16 SecondaryBase
The secondary device I/O base.
Definition LegacyBios.h:984
UINT8 PciDeviceFun
The PCI device in bits 7:3 and function in bits 2:0.
Definition LegacyBios.h:965
UINT16 PrimaryBusMaster
The primary device bus master I/O base.
Definition LegacyBios.h:977
UINT8 PciBus
The PCI bus of the device.
Definition LegacyBios.h:964
UINT8 PciInterface
The PCI interface code of the device.
Definition LegacyBios.h:969
DEVICE_PRODUCER_DATA_HEADER SioData
Standard traditional device information.
Definition LegacyBios.h:941
UINT16 MinorVersion
The EfiCompatibility minor version number.
Definition LegacyBios.h:934
UINT16 MajorVersion
The EfiCompatibility major version number.
Definition LegacyBios.h:933
UINT16 DevicePathType
The default boot type.
Definition LegacyBios.h:942
UINT32 SmbiosTable
The location of the SMBIOS table in EFI memory. < 4G range.
Definition LegacyBios.h:936
UINT32 AcpiTable
The location of the RSDT ACPI table. < 4G range.
Definition LegacyBios.h:935
UINT32 SmmTable
A pointer to the SMM table. Type SMM_TABLE is defined below.
Definition LegacyBios.h:952
UINT32 BbsTable
A pointer to the BBS table. Type BBS_TABLE is defined below.
Definition LegacyBios.h:951
UINT32 NumberBbsEntries
Number of entries in the BBS table.
Definition LegacyBios.h:950
UINT16 PciIrqMask
Mask of which IRQs have been assigned to PCI.
Definition LegacyBios.h:943
UINT16 ReservedCX
UINT16 ReservedBP
UINT16 ReservedFlags
UINT16 ReservedDI
UINT16 ReservedSP
UINT16 ReservedSI
UINT16 ReservedBX
EFI_FLAGS_REG Flags
UINT16 ReservedAX
UINT16 ReservedDX
UINT8 HddIrq
Definition LegacyBios.h:568
UINT16 Status
Definition LegacyBios.h:536
UINT16 ControlBaseAddress
Definition LegacyBios.h:561
UINT16 CommandBaseAddress
Definition LegacyBios.h:556
UINT16 BusMasterAddress
Definition LegacyBios.h:566
UINT32 Device
Definition LegacyBios.h:546
UINT32 Bus
Definition LegacyBios.h:541
UINT32 Function
Definition LegacyBios.h:551
UINT32 A20Port90
A20 controlled by port 0x92.
Definition LegacyBios.h:505
UINT32 Reserved
Reserved for future usage.
Definition LegacyBios.h:506
UINT32 A20Kybd
A20 controller by keyboard controller.
Definition LegacyBios.h:504
UINT16 DataGranularity
Definition LegacyBios.h:764
UINT16 PortGranularity
Definition LegacyBios.h:759
SMM_FUNCTION SmmFunction
Definition LegacyBios.h:834
SMM_ATTRIBUTES SmmAttributes
Definition LegacyBios.h:829
UINT8 SmmData
Definition LegacyBios.h:844
UINT8 SmmPort
Definition LegacyBios.h:839
UINT16 Function
Definition LegacyBios.h:801
UINT16 NumSmmEntries
Number of entries represented by SmmEntry.
Definition LegacyBios.h:851
SMM_ENTRY SmmEntry
One entry per function. Type SMM_ENTRY is defined below.
Definition LegacyBios.h:852
UINT8 BbsTableEntryNumberForParentDevice
Definition LegacyBios.h:902
UINT8 DeviceNumber
Definition LegacyBios.h:895
UDC_ATTRIBUTES Attributes
Definition LegacyBios.h:889
UINT8 BbsTableEntryNumberForBoot
Definition LegacyBios.h:907
UINT8 BbsTableEntryNumberForHddDiag
Definition LegacyBios.h:912
UINT8 RabcaUsedFlag
Definition LegacyBios.h:868
UINT8 DirectoryServiceValidity
Definition LegacyBios.h:862
UINT8 ExecuteHddDiagnosticsFlag
Definition LegacyBios.h:873