From 1ba5cea3addc972f4c1be1fece67dbe9e361ccdf Mon Sep 17 00:00:00 2001
From: Carolyn Gjertsen
EFI_ATA_PASS_THRU_PROTOCOL.GetNextDevice – GetNextDevice()
could iterate all available
-devices on one port.
devices on one port (accepts dual terminal behavior per Mantis 2359).
1.GetNextPort() with Port as
0xFFFFto start iterate ports.
2. Call GetNextPort() with Port
as one available port and
PortMultiplierPort as 0xFFFF to
start iterate devicess.
-3. The iteration should ended up with a return code -EFI_NOT_FOUND.
3. The iteration should end with either:
+(a) A return code of EFI_NOT_FOUND, or
+(b) EFI_SUCCESS with PortMultiplierPort +set to 0xFFFF (broadcast address indicating no port +multiplier connected, per Mantis 2359).
+Both behaviors are spec-compliant per UEFI 2.10 Errata A.
+**Note (Mantis 2359):** UEFI 2.10 Errata A clarified that when a port +multiplier is not connected, **GetNextDevice()** may return either +**EFI_NOT_FOUND** or **EFI_SUCCESS** with *PortMultiplierPort* set to +**0xFFFF**. Both behaviors are now accepted. The conformance test +checkpoints 1 and 2 (5.7.8.6.1 and 5.7.8.6.2) record **WARNING** and +skip when no devices are enumerable, rather than hard-failing. + ### PassThru()