IN CHAR16 *TextDeviceNode\r
)\r
{\r
- CHAR16 *StartingOffsetStr;\r
- CHAR16 *EndingOffsetStr;\r
- MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH\r
- *Offset;\r
+ CHAR16 *StartingOffsetStr;\r
+ CHAR16 *EndingOffsetStr;\r
+ MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *Offset;\r
+ UINT64 StartingOffset;\r
+ UINT64 EndingOffset;\r
\r
StartingOffsetStr = GetNextParamStr (&TextDeviceNode);\r
EndingOffsetStr = GetNextParamStr (&TextDeviceNode);\r
- Offset = (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *) \r
- CreateDeviceNode (\r
- MEDIA_DEVICE_PATH,\r
- MEDIA_RELATIVE_OFFSET_RANGE_DP,\r
- sizeof (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH)\r
- );\r
-\r
- Strtoi64 (StartingOffsetStr, &Offset->StartingOffset);\r
- Strtoi64 (EndingOffsetStr, &Offset->EndingOffset);\r
+ Offset = (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *) CreateDeviceNode (\r
+ MEDIA_DEVICE_PATH,\r
+ MEDIA_RELATIVE_OFFSET_RANGE_DP,\r
+ sizeof (MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH)\r
+ );\r
+\r
+ Strtoi64 (StartingOffsetStr, &StartingOffset);\r
+ Strtoi64 (EndingOffsetStr, &EndingOffset);\r
+\r
+ WriteUnaligned64 ((VOID *) &Offset->StartingOffset, StartingOffset);\r
+ WriteUnaligned64 ((VOID *) &Offset->EndingOffset, EndingOffset);\r
+\r
\r
return (EFI_DEVICE_PATH_PROTOCOL *) Offset;\r
}\r