Skip to content

Commit

Permalink
Define GUID for boot manage policy to connecxt storage devices. (#619)
Browse files Browse the repository at this point in the history
## Description

Some devices may require connecting storage media while booting to
network or require enumerating storage protocols that were not initially
enumerated during DXE. This change adds a GUID to allow implementation
of boot manager's ConnectDeviceClass to connect storage media.

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

## How This Was Tested

N/A

## Integration Instructions

N/A
  • Loading branch information
cfernald committed Nov 15, 2023
1 parent 991a64e commit a0e861f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
16 changes: 16 additions & 0 deletions MdePkg/Include/Protocol/BootManagerPolicy.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@
0x113B2126, 0xFC8A, 0x11E3, { 0xBD, 0x6C, 0xB8, 0xE8, 0x56, 0x2C, 0xBA, 0xFA } \
}

// MU_CHANGE START: Introduce disk connect guid
#define EFI_BOOT_MANAGER_POLICY_STORAGE_GUID \
{ \
0XCD68FE79, 0XD3CB, 0X436E, {0XA8, 0X50, 0XF4, 0X43, 0XC8, 0X8C, 0XFB, 0X49 }\
}
// MU_CHANGE END

typedef struct _EFI_BOOT_MANAGER_POLICY_PROTOCOL EFI_BOOT_MANAGER_POLICY_PROTOCOL;

#define EFI_BOOT_MANAGER_POLICY_PROTOCOL_REVISION 0x00010000
Expand Down Expand Up @@ -98,6 +105,14 @@ EFI_STATUS
EFI_BOOT_SERVICES.ConnectController(). If the Boot Manager has policy
associated with connect all UEFI drivers this policy will be used.
MU_CHANGE START: Introduce disk connect guid
If Class is EFI_BOOT_MANAGER_POLICY_STORAGE_GUID then the Boot Manager will
connect the protocols associated with the discoverable storage disks. This may include
EFI_BLOCK_IO_PROTOCOL, EFI_SIMPLE_FILE_SYSTEM_PROTOCOL, or other storage protocols
appropriate to the device. Some platforms may choose to restrict the connected
devices to exclude USB or other peripherals.
MU_CHANGE END
A platform can also define platform specific Class values as a properly generated
EFI_GUID would never conflict with this specification.
Expand Down Expand Up @@ -128,5 +143,6 @@ extern EFI_GUID gEfiBootManagerPolicyProtocolGuid;
extern EFI_GUID gEfiBootManagerPolicyConsoleGuid;
extern EFI_GUID gEfiBootManagerPolicyNetworkGuid;
extern EFI_GUID gEfiBootManagerPolicyConnectAllGuid;
extern EFI_GUID gEfiBootManagerPolicyStorageGuid; // MU_CHANGE: Introduce disk connect guid

#endif
1 change: 1 addition & 0 deletions MdePkg/MdePkg.dec
Original file line number Diff line number Diff line change
Expand Up @@ -699,6 +699,7 @@
gEfiBootManagerPolicyConsoleGuid = { 0xCAB0E94C, 0xE15F, 0x11E3, { 0x91, 0x8D, 0xB8, 0xE8, 0x56, 0x2C, 0xBA, 0xFA }}
gEfiBootManagerPolicyNetworkGuid = { 0xD04159DC, 0xE15F, 0x11E3, { 0xB2, 0x61, 0xB8, 0xE8, 0x56, 0x2C, 0xBA, 0xFA }}
gEfiBootManagerPolicyConnectAllGuid = { 0x113B2126, 0xFC8A, 0x11E3, { 0xBD, 0x6C, 0xB8, 0xE8, 0x56, 0x2C, 0xBA, 0xFA }}
gEfiBootManagerPolicyStorageGuid = { 0XCD68FE79, 0XD3CB, 0X436E, {0XA8, 0X50, 0XF4, 0X43, 0XC8, 0X8C, 0XFB, 0X49 }} # MU_CHANGE: Introduce disk connect guid

## Include/Protocol/DevicePath.h
gEfiVirtualDiskGuid = { 0x77AB535A, 0x45FC, 0x624B, {0x55, 0x60, 0xF7, 0xB2, 0x81, 0xD1, 0xF9, 0x6E }}
Expand Down

0 comments on commit a0e861f

Please sign in to comment.