Thread (28 messages) 28 messages, 4 authors, 2017-09-06

[Qemu-devel] [PATCH v11 2/6] ACPI: Add APEI GHES Table Generation support

From: Igor Mammedov <hidden>
Date: 2017-09-01 11:51:33
Also in: kvm, kvmarm, linux-acpi, lkml, qemu-arm, qemu-devel

On Fri, 1 Sep 2017 17:58:55 +0800
gengdongjiu [off-list ref] wrote:
Hi Igor,

On 2017/8/29 18:20, Igor Mammedov wrote:
quoted
On Fri, 18 Aug 2017 22:23:43 +0800
Dongjiu Geng [off-list ref] wrote:
[...]
quoted
  
quoted
+void ghes_build_acpi(GArray *table_data, GArray *hardware_error,
+                                            BIOSLinker *linker)
+{
+    uint32_t ghes_start = table_data->len;
+    uint32_t address_size, error_status_address_offset;
+    uint32_t read_ack_register_offset, i;
+
+    address_size = sizeof(struct AcpiGenericAddress) -
+        offsetof(struct AcpiGenericAddress, address);  
it's confusing name for var,
AcpiGenericAddress::address is fixed unsigned 64 bit integer per spec
also, I'm not sure why it's needed at all.  
 it is because other people have concern about where does the "unsigned 64 bit integer"
 come from, they are confused about the "unsigned 64 bit integer"
 so they suggested use sizeof. anyway I will directly use unsigned 64 bit integer.
Maybe properly named macro instead of sizeof(foo) would do the job


[...]
quoted
quoted
+
+        /* Build error status address*/
+        build_address(table_data, linker, error_status_address_offset + i *
+            sizeof(AcpiGenericHardwareErrorSourceV2), i * address_size,
+            AML_SYSTEM_MEMORY, 0x40, 0, 4 /* QWord access */);  
just do something like this instead of build_address():
build_append_gas()
bios_linker_loader_add_pointer()  
Thanks for the suggestion.
quoted
also register width 0x40 looks suspicious, where does it come from?
While at it do you have a real hardware which has HEST table that you re trying to model after?
I'd like to see HEST and other related tables from it.  
Igor, what is your suspicious point? The register width 0x40 come from our host BIOS record to the System Memory space.
maybe s/0x40/ERROR_STATUS_BLOCK_POINTER_SIZE/

[...]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help