MdePkg: Handle AcpiExp device path when optional para is not specified

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1243

AcpiExp text device path: AcpiExp(HID,CID,UIDSTR)
And according to UEFI spec, the CID parameter is optional
and has a default value of 0. But current implementation
miss to check following cases for the AcpiExp.
FromText:when text device is AcpiExp(HID,,UIDSTR)/AcpiExp(HID,0,UIDSTR)
ToText: when the CID is 0 in the node structure

This commit is to do the enhancement.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
This commit is contained in:
Dandan Bi
2018-10-12 10:18:28 +08:00
committed by Liming Gao
parent 3874108034
commit a8b5750901
2 changed files with 26 additions and 8 deletions

View File

@ -480,13 +480,22 @@ DevPathToTextAcpiEx (
//
// use AcpiExp()
//
UefiDevicePathLibCatPrint (
Str,
L"AcpiExp(%s,%s,%a)",
HIDText,
CIDText,
UIDStr
);
if (AcpiEx->CID == 0) {
UefiDevicePathLibCatPrint (
Str,
L"AcpiExp(%s,0,%a)",
HIDText,
UIDStr
);
} else {
UefiDevicePathLibCatPrint (
Str,
L"AcpiExp(%s,%s,%a)",
HIDText,
CIDText,
UIDStr
);
}
} else {
if (AllowShortcuts) {
//