return ((ACPI_SMALL_RESOURCE_HEADER*)Header)->Bits.Length +\r
sizeof (ACPI_SMALL_RESOURCE_HEADER);\r
}\r
+\r
+/** Set the Checksum of an EndTag resource data.\r
+\r
+ ACPI 6.4, s6.4.2.9 "End Tag":\r
+ "This checksum is generated such that adding it to the sum of all the data\r
+ bytes will produce a zero sum."\r
+ "If the checksum field is zero, the resource data is treated as if the\r
+ checksum operation succeeded. Configuration proceeds normally."\r
+\r
+ @param [in] Header Pointer to the first byte of a resource data.\r
+ @param [in] CheckSum Checksum value to set.\r
+\r
+ @retval EFI_SUCCESS The function completed successfully.\r
+ @retval EFI_INVALID_PARAMETER Invalid parameter.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+AmlRdSetEndTagChecksum (\r
+ IN CONST AML_RD_HEADER * Header,\r
+ IN UINT8 CheckSum\r
+ )\r
+{\r
+ if ((Header == NULL) ||\r
+ !AmlRdCompareDescId (\r
+ Header,\r
+ AML_RD_BUILD_SMALL_DESC_ID (ACPI_SMALL_END_TAG_DESCRIPTOR_NAME))) {\r
+ ASSERT (0);\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+\r
+ ((EFI_ACPI_END_TAG_DESCRIPTOR*)Header)->Checksum = CheckSum;\r
+ return EFI_SUCCESS;\r
+}\r
IN CONST AML_RD_HEADER * Header\r
);\r
\r
+/** Set the Checksum of an EndTag resource data.\r
+\r
+ ACPI 6.4, s6.4.2.9 "End Tag":\r
+ "This checksum is generated such that adding it to the sum of all the data\r
+ bytes will produce a zero sum."\r
+ "If the checksum field is zero, the resource data is treated as if the\r
+ checksum operation succeeded. Configuration proceeds normally."\r
+\r
+ @param [in] Header Pointer to the first byte of a resource data.\r
+ @param [in] CheckSum Checksum value to set.\r
+\r
+ @retval EFI_SUCCESS The function completed successfully.\r
+ @retval EFI_INVALID_PARAMETER Invalid parameter.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+AmlRdSetEndTagChecksum (\r
+ IN CONST AML_RD_HEADER * Header,\r
+ IN UINT8 CheckSum\r
+ );\r
+\r
#endif // AML_RESOURCE_DATA_H_\r