mirror of https://github.com/acidanthera/audk.git
Add a workaround to judge the end-of-device path type:
We used to have type EFI_END_ENTIRE_DEVICE_PATH (0xff) to tag the end of entire device path. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6562 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
d5954c618f
commit
8dd2a792d6
|
@ -20,9 +20,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#define END_DEVICE_PATH_LENGTH (sizeof (EFI_DEVICE_PATH_PROTOCOL))
|
||||
#define DevicePathNodeLength(Node) ReadUnaligned16 ((UINT16 *)&((EFI_DEVICE_PATH_PROTOCOL *)(Node))->Length[0])
|
||||
#define NextDevicePathNode(Node) ((EFI_DEVICE_PATH_PROTOCOL *)((UINT8 *)(Node) + DevicePathNodeLength(Node)))
|
||||
#define DevicePathType(Node) (((EFI_DEVICE_PATH_PROTOCOL *)(Node))->Type)
|
||||
#define DevicePathType(Node) (((EFI_DEVICE_PATH_PROTOCOL *)(Node))->Type)
|
||||
#define DevicePathSubType(Node) (((EFI_DEVICE_PATH_PROTOCOL *)(Node))->SubType)
|
||||
#define IsDevicePathEndType(Node) (DevicePathType (Node) == END_DEVICE_PATH_TYPE)
|
||||
#define IsDevicePathEndType(Node) ((DevicePathType (Node) & 0x7f) == END_DEVICE_PATH_TYPE)
|
||||
#define IsDevicePathEnd(Node) (IsDevicePathEndType (Node) && DevicePathSubType(Node) == END_ENTIRE_DEVICE_PATH_SUBTYPE)
|
||||
#define IsDevicePathEndInstance(Node) (IsDevicePathEndType (Node) && DevicePathSubType(Node) == END_INSTANCE_DEVICE_PATH_SUBTYPE)
|
||||
|
||||
|
@ -30,7 +30,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#define SetDevicePathEndNode(Node) { \
|
||||
DevicePathType (Node) = END_DEVICE_PATH_TYPE; \
|
||||
DevicePathSubType (Node) = END_ENTIRE_DEVICE_PATH_SUBTYPE; \
|
||||
SetDevicePathNodeLength ((Node), END_DEVICE_PATH_LENGTH); \
|
||||
SetDevicePathNodeLength ((Node), END_DEVICE_PATH_LENGTH); \
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue