3.9.2 IPF Considerations for device path data structures

Individual device paths nodes may be any length, and each device path node in a complete device path starts immediately after the previous device path node. This means that device path nodes inside of a full device path may not start on a naturally aligned boundary. This can cause problems for CPU architectures that do not support unaligned memory accesses such as IPF. A device path node that is not a multiple of 8 bytes in length may cause a device path node that follows to be unaligned. Implementing source code that manages device paths requires some special techniques to guarantee that the source code is portable to all the CPU architectures supported by the UEFI Specification.


TIP: Be careful when using device paths. Make sure an alignment fault is not generated.


See Chapter 4 in this guide for more information about architecture-specific considerations. Refer to Chapter 28 for IPF platform porting considerations.