All of lore.kernel.org
 help / color / mirror / Atom feed
From: gengdongjiu <gengdongjiu@huawei.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: <pbonzini@redhat.com>, <mst@redhat.com>,
	<shannon.zhaosl@gmail.com>, <peter.maydell@linaro.org>,
	<lersek@redhat.com>, <james.morse@arm.com>, <mtosatti@redhat.com>,
	<rth@twiddle.net>, <ehabkost@redhat.com>,
	<zhengxiang9@huawei.com>, <jonathan.cameron@huawei.com>,
	<xuwei5@huawei.com>, <kvm@vger.kernel.org>,
	<qemu-devel@nongnu.org>, <qemu-arm@nongnu.org>,
	<linuxarm@huawei.com>
Subject: Re: [PATCH v17 04/10] acpi: add build_append_ghes_generic_data() helper for Generic Error Data Entry
Date: Mon, 24 Jun 2019 20:37:26 +0800	[thread overview]
Message-ID: <b1ef7ea4-acc9-1f97-b320-37f4600cd9f4@huawei.com> (raw)
In-Reply-To: <20190620142814.7caf9c3c@redhat.com>



On 2019/6/20 20:28, Igor Mammedov wrote:
> On Tue, 14 May 2019 04:18:17 -0700
> Dongjiu Geng <gengdongjiu@huawei.com> wrote:
> 
>> It will help to add Generic Error Data Entry to ACPI tables
>> without using packed C structures and avoid endianness
>> issues as API doesn't need explicit conversion.
>>
>> Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com>
>> ---
>>  hw/acpi/aml-build.c         | 32 ++++++++++++++++++++++++++++++++
>>  include/hw/acpi/aml-build.h |  6 ++++++
>>  2 files changed, 38 insertions(+)
>>
>> diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
>> index fb53f21..102a288 100644
>> --- a/hw/acpi/aml-build.c
>> +++ b/hw/acpi/aml-build.c
>> @@ -296,6 +296,38 @@ void build_append_ghes_notify(GArray *table, const uint8_t type,
>>          build_append_int_noprefix(table, error_threshold_window, 4);
>>  }
>>  
>> +/* Generic Error Data Entry
>> + * ACPI 4.0: 17.3.2.6.1 Generic Error Data
>> + */
>> +void build_append_ghes_generic_data(GArray *table, const char *section_type,
> s/build_append_ghes_generic_data/build_append_ghes_generic_error_data/
> 
>> +                                    uint32_t error_severity, uint16_t revision,
>> +                                    uint8_t validation_bits, uint8_t flags,
>> +                                    uint32_t error_data_length, uint8_t *fru_id,
>> +                                    uint8_t *fru_text, uint64_t time_stamp)
> checkpatch probably will complain due to too long lines
> you can use:
> void build_append_ghe...
>          uint32_t error_severity, uint16_t revision,
>          ...
> 
>> +{
>> +    int i;
>> +
>> +    for (i = 0; i < 16; i++) {
>> +        build_append_int_noprefix(table, section_type[i], 1);
>                                             ^^^
> use QemuUUID instead, see vmgenid_build_acpi
ok.

> 
>> +    }
>> +
>> +    build_append_int_noprefix(table, error_severity, 4);
>> +    build_append_int_noprefix(table, revision, 2);
>> +    build_append_int_noprefix(table, validation_bits, 1);
>> +    build_append_int_noprefix(table, flags, 1);
>> +    build_append_int_noprefix(table, error_data_length, 4);
>> +
>> +    for (i = 0; i < 16; i++) {
>> +        build_append_int_noprefix(table, fru_id[i], 1);
> same as section_type
ok.

> 
>> +    }
>> +
>> +    for (i = 0; i < 20; i++) {
>> +        build_append_int_noprefix(table, fru_text[i], 1);
>> +    }
> instead of loop use g_array_insert_vals()
ok

> 
>> +
>> +    build_append_int_noprefix(table, time_stamp, 8);
> that's not part of 'Table 17-13'
> where does it come from?


It comes from "ACPI 6.1: Table 18-343 Generic Error Data Entry", I will update the comments, thanks for the pointing out.

> 
>> +}
>> +
>>  /*
>>   * Build NAME(XXXX, 0x00000000) where 0x00000000 is encoded as a dword,
>>   * and return the offset to 0x00000000 for runtime patching.
>> diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h
>> index 90c8ef8..a71db2f 100644
>> --- a/include/hw/acpi/aml-build.h
>> +++ b/include/hw/acpi/aml-build.h
>> @@ -419,6 +419,12 @@ void build_append_ghes_notify(GArray *table, const uint8_t type,
>>                                uint32_t error_threshold_value,
>>                                uint32_t error_threshold_window);
>>  
>> +void build_append_ghes_generic_data(GArray *table, const char *section_type,
>> +                                    uint32_t error_severity, uint16_t revision,
>> +                                    uint8_t validation_bits, uint8_t flags,
>> +                                    uint32_t error_data_length, uint8_t *fru_id,
>> +                                    uint8_t *fru_text, uint64_t time_stamp);
>> +
>>  void build_srat_memory(AcpiSratMemoryAffinity *numamem, uint64_t base,
>>                         uint64_t len, int node, MemoryAffinityFlags flags);
>>  
> 
> .
> 


WARNING: multiple messages have this Message-ID (diff)
From: gengdongjiu <gengdongjiu@huawei.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: peter.maydell@linaro.org, ehabkost@redhat.com,
	kvm@vger.kernel.org, mst@redhat.com, mtosatti@redhat.com,
	qemu-devel@nongnu.org, linuxarm@huawei.com,
	shannon.zhaosl@gmail.com, zhengxiang9@huawei.com,
	qemu-arm@nongnu.org, james.morse@arm.com, xuwei5@huawei.com,
	jonathan.cameron@huawei.com, pbonzini@redhat.com,
	lersek@redhat.com, rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH v17 04/10] acpi: add build_append_ghes_generic_data() helper for Generic Error Data Entry
Date: Mon, 24 Jun 2019 20:37:26 +0800	[thread overview]
Message-ID: <b1ef7ea4-acc9-1f97-b320-37f4600cd9f4@huawei.com> (raw)
In-Reply-To: <20190620142814.7caf9c3c@redhat.com>



On 2019/6/20 20:28, Igor Mammedov wrote:
> On Tue, 14 May 2019 04:18:17 -0700
> Dongjiu Geng <gengdongjiu@huawei.com> wrote:
> 
>> It will help to add Generic Error Data Entry to ACPI tables
>> without using packed C structures and avoid endianness
>> issues as API doesn't need explicit conversion.
>>
>> Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com>
>> ---
>>  hw/acpi/aml-build.c         | 32 ++++++++++++++++++++++++++++++++
>>  include/hw/acpi/aml-build.h |  6 ++++++
>>  2 files changed, 38 insertions(+)
>>
>> diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
>> index fb53f21..102a288 100644
>> --- a/hw/acpi/aml-build.c
>> +++ b/hw/acpi/aml-build.c
>> @@ -296,6 +296,38 @@ void build_append_ghes_notify(GArray *table, const uint8_t type,
>>          build_append_int_noprefix(table, error_threshold_window, 4);
>>  }
>>  
>> +/* Generic Error Data Entry
>> + * ACPI 4.0: 17.3.2.6.1 Generic Error Data
>> + */
>> +void build_append_ghes_generic_data(GArray *table, const char *section_type,
> s/build_append_ghes_generic_data/build_append_ghes_generic_error_data/
> 
>> +                                    uint32_t error_severity, uint16_t revision,
>> +                                    uint8_t validation_bits, uint8_t flags,
>> +                                    uint32_t error_data_length, uint8_t *fru_id,
>> +                                    uint8_t *fru_text, uint64_t time_stamp)
> checkpatch probably will complain due to too long lines
> you can use:
> void build_append_ghe...
>          uint32_t error_severity, uint16_t revision,
>          ...
> 
>> +{
>> +    int i;
>> +
>> +    for (i = 0; i < 16; i++) {
>> +        build_append_int_noprefix(table, section_type[i], 1);
>                                             ^^^
> use QemuUUID instead, see vmgenid_build_acpi
ok.

> 
>> +    }
>> +
>> +    build_append_int_noprefix(table, error_severity, 4);
>> +    build_append_int_noprefix(table, revision, 2);
>> +    build_append_int_noprefix(table, validation_bits, 1);
>> +    build_append_int_noprefix(table, flags, 1);
>> +    build_append_int_noprefix(table, error_data_length, 4);
>> +
>> +    for (i = 0; i < 16; i++) {
>> +        build_append_int_noprefix(table, fru_id[i], 1);
> same as section_type
ok.

> 
>> +    }
>> +
>> +    for (i = 0; i < 20; i++) {
>> +        build_append_int_noprefix(table, fru_text[i], 1);
>> +    }
> instead of loop use g_array_insert_vals()
ok

> 
>> +
>> +    build_append_int_noprefix(table, time_stamp, 8);
> that's not part of 'Table 17-13'
> where does it come from?


It comes from "ACPI 6.1: Table 18-343 Generic Error Data Entry", I will update the comments, thanks for the pointing out.

> 
>> +}
>> +
>>  /*
>>   * Build NAME(XXXX, 0x00000000) where 0x00000000 is encoded as a dword,
>>   * and return the offset to 0x00000000 for runtime patching.
>> diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h
>> index 90c8ef8..a71db2f 100644
>> --- a/include/hw/acpi/aml-build.h
>> +++ b/include/hw/acpi/aml-build.h
>> @@ -419,6 +419,12 @@ void build_append_ghes_notify(GArray *table, const uint8_t type,
>>                                uint32_t error_threshold_value,
>>                                uint32_t error_threshold_window);
>>  
>> +void build_append_ghes_generic_data(GArray *table, const char *section_type,
>> +                                    uint32_t error_severity, uint16_t revision,
>> +                                    uint8_t validation_bits, uint8_t flags,
>> +                                    uint32_t error_data_length, uint8_t *fru_id,
>> +                                    uint8_t *fru_text, uint64_t time_stamp);
>> +
>>  void build_srat_memory(AcpiSratMemoryAffinity *numamem, uint64_t base,
>>                         uint64_t len, int node, MemoryAffinityFlags flags);
>>  
> 
> .
> 



  reply	other threads:[~2019-06-24 12:37 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-14 11:18 [PATCH v17 00/10] Add ARMv8 RAS virtualization support in QEMU Dongjiu Geng
2019-05-14 11:18 ` [Qemu-devel] " Dongjiu Geng
2019-05-14 11:18 ` [PATCH v17 01/10] hw/arm/virt: Add RAS platform version for migration Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-06-20 12:04   ` Igor Mammedov
2019-06-20 12:04     ` [Qemu-devel] " Igor Mammedov
2019-06-24 12:19     ` gengdongjiu
2019-06-24 12:19       ` [Qemu-devel] " gengdongjiu
2019-06-25 13:16       ` Igor Mammedov
2019-06-25 13:16         ` [Qemu-devel] " Igor Mammedov
2019-06-25 13:29         ` gengdongjiu
2019-06-25 13:29           ` [Qemu-devel] " gengdongjiu
2019-05-14 11:18 ` [PATCH v17 02/10] ACPI: add some GHES structures and macros definition Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-05-29  3:40   ` Michael S. Tsirkin
2019-05-29  3:40     ` [Qemu-devel] " Michael S. Tsirkin
2019-05-30 14:58     ` gengdongjiu
2019-05-30 14:58       ` [Qemu-devel] " gengdongjiu
2019-06-20 12:10   ` Igor Mammedov
2019-06-20 12:10     ` Igor Mammedov
2019-06-20 14:04     ` gengdongjiu
2019-06-20 14:04       ` gengdongjiu
2019-06-20 15:09       ` Igor Mammedov
2019-06-20 15:09         ` Igor Mammedov
2019-06-20 17:17         ` gengdongjiu
2019-06-20 17:17           ` gengdongjiu
2019-06-24 11:16           ` Igor Mammedov
2019-06-24 11:16             ` Igor Mammedov
2019-06-25  9:56             ` gengdongjiu
2019-06-25  9:56               ` gengdongjiu
2019-06-25 13:33               ` Igor Mammedov
2019-06-25 13:33                 ` Igor Mammedov
2019-05-14 11:18 ` [PATCH v17 03/10] acpi: add build_append_ghes_notify() helper for Hardware Error Notification Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-06-24 11:21   ` Igor Mammedov
2019-06-24 11:21     ` [Qemu-devel] " Igor Mammedov
2019-05-14 11:18 ` [PATCH v17 04/10] acpi: add build_append_ghes_generic_data() helper for Generic Error Data Entry Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-06-20 12:28   ` Igor Mammedov
2019-06-20 12:28     ` [Qemu-devel] " Igor Mammedov
2019-06-24 12:37     ` gengdongjiu [this message]
2019-06-24 12:37       ` gengdongjiu
2019-05-14 11:18 ` [PATCH v17 05/10] acpi: add build_append_ghes_generic_status() helper for Generic Error Status Block Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-06-20 12:42   ` Igor Mammedov
2019-06-20 12:42     ` [Qemu-devel] " Igor Mammedov
2019-06-25 12:11     ` gengdongjiu
2019-06-25 12:11       ` [Qemu-devel] " gengdongjiu
2019-06-25 13:41       ` Igor Mammedov
2019-06-25 13:41         ` [Qemu-devel] " Igor Mammedov
2019-05-14 11:18 ` [PATCH v17 06/10] docs: APEI GHES generation and CPER record description Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-06-24 11:39   ` Igor Mammedov
2019-06-24 11:39     ` [Qemu-devel] " Igor Mammedov
2019-05-14 11:18 ` [PATCH v17 07/10] ACPI: Add APEI GHES table generation support Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-05-29  3:37   ` Michael S. Tsirkin
2019-05-29  3:37     ` [Qemu-devel] " Michael S. Tsirkin
2019-05-30 14:47     ` gengdongjiu
2019-05-30 14:47       ` [Qemu-devel] " gengdongjiu
2019-06-06 13:43   ` Jonathan Cameron
2019-06-06 13:43     ` [Qemu-devel] " Jonathan Cameron
2019-06-24 12:27   ` Igor Mammedov
2019-06-24 12:27     ` [Qemu-devel] " Igor Mammedov
2019-06-25 13:48     ` gengdongjiu
2019-06-25 13:48       ` [Qemu-devel] " gengdongjiu
2019-06-26 14:25       ` Igor Mammedov
2019-05-14 11:18 ` [PATCH v17 08/10] KVM: Move related hwpoison page functions to accel/kvm/ folder Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-06-24 12:32   ` Igor Mammedov
2019-06-24 12:32     ` [Qemu-devel] " Igor Mammedov
2019-06-25 12:28     ` gengdongjiu
2019-06-25 12:28       ` [Qemu-devel] " gengdongjiu
2019-05-14 11:18 ` [PATCH v17 09/10] target-arm: kvm64: inject synchronous External Abort Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-05-14 11:18 ` [PATCH v17 10/10] target-arm: kvm64: handle SIGBUS signal from kernel or KVM Dongjiu Geng
2019-05-14 11:18   ` [Qemu-devel] " Dongjiu Geng
2019-06-06 13:31   ` Jonathan Cameron
2019-06-06 13:31     ` [Qemu-devel] " Jonathan Cameron
2019-06-24 13:08   ` Igor Mammedov
2019-06-24 13:08     ` [Qemu-devel] " Igor Mammedov
2019-06-25 12:24     ` gengdongjiu
2019-06-25 12:24       ` [Qemu-devel] " gengdongjiu
2019-06-25 13:32       ` Igor Mammedov
2019-06-25 13:32         ` [Qemu-devel] " Igor Mammedov
2019-05-15  9:40 ` [PATCH v17 00/10] Add ARMv8 RAS virtualization support in QEMU gengdongjiu
2019-05-15  9:40   ` [Qemu-devel] " gengdongjiu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b1ef7ea4-acc9-1f97-b320-37f4600cd9f4@huawei.com \
    --to=gengdongjiu@huawei.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=james.morse@arm.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=kvm@vger.kernel.org \
    --cc=lersek@redhat.com \
    --cc=linuxarm@huawei.com \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=shannon.zhaosl@gmail.com \
    --cc=xuwei5@huawei.com \
    --cc=zhengxiang9@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.