All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Dongjiu Geng <gengdongjiu@huawei.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: Thu, 20 Jun 2019 14:28:14 +0200	[thread overview]
Message-ID: <20190620142814.7caf9c3c@redhat.com> (raw)
In-Reply-To: <1557832703-42620-5-git-send-email-gengdongjiu@huawei.com>

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

> +    }
> +
> +    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

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

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

> +}
> +
>  /*
>   * 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: Igor Mammedov <imammedo@redhat.com>
To: Dongjiu Geng <gengdongjiu@huawei.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: Thu, 20 Jun 2019 14:28:14 +0200	[thread overview]
Message-ID: <20190620142814.7caf9c3c@redhat.com> (raw)
In-Reply-To: <1557832703-42620-5-git-send-email-gengdongjiu@huawei.com>

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

> +    }
> +
> +    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

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

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

> +}
> +
>  /*
>   * 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-20 12:28 UTC|newest]

Thread overview: 89+ 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 [this message]
2019-06-20 12:28     ` Igor Mammedov
2019-06-24 12:37     ` gengdongjiu
2019-06-24 12:37       ` [Qemu-devel] " 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
2019-05-24 14:25   ` [Qemu-arm] " gengdongjiu
2019-05-24 14:25   ` [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=20190620142814.7caf9c3c@redhat.com \
    --to=imammedo@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=gengdongjiu@huawei.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.