From: Dongjiu Geng <gengdongjiu@huawei.com>
To: <imammedo@redhat.com>, <mst@redhat.com>,
<xiaoguangrong.eric@gmail.com>, <peter.maydell@linaro.org>,
<shannon.zhaosl@gmail.com>, <fam@euphon.net>, <rth@twiddle.net>,
<ehabkost@redhat.com>, <mtosatti@redhat.com>,
<qemu-devel@nongnu.org>, <kvm@vger.kernel.org>,
<qemu-arm@nongnu.org>, <pbonzini@redhat.com>, <philmd@redhat.com>
Cc: <gengdongjiu@huawei.com>, <zhengxiang9@huawei.com>,
<Jonathan.Cameron@huawei.com>, <linuxarm@huawei.com>
Subject: [PATCH v27 01/10] acpi: nvdimm: change NVDIMM_UUID_LE to a common macro
Date: Tue, 12 May 2020 11:06:00 +0800 [thread overview]
Message-ID: <20200512030609.19593-2-gengdongjiu@huawei.com> (raw)
In-Reply-To: <20200512030609.19593-1-gengdongjiu@huawei.com>
The little end UUID is used in many places, so make
NVDIMM_UUID_LE to a common macro to convert the UUID
to a little end array.
Reviewed-by: Xiang Zheng <zhengxiang9@huawei.com>
Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com>
---
Change since v25:
1. Address Peter's comments to add a proper doc-comment comment for
UUID_LE macros.
---
hw/acpi/nvdimm.c | 10 +++-------
include/qemu/uuid.h | 27 +++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c
index fa7bf8b..9316d12 100644
--- a/hw/acpi/nvdimm.c
+++ b/hw/acpi/nvdimm.c
@@ -27,6 +27,7 @@
*/
#include "qemu/osdep.h"
+#include "qemu/uuid.h"
#include "hw/acpi/acpi.h"
#include "hw/acpi/aml-build.h"
#include "hw/acpi/bios-linker-loader.h"
@@ -34,18 +35,13 @@
#include "hw/mem/nvdimm.h"
#include "qemu/nvdimm-utils.h"
-#define NVDIMM_UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \
- { (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
- (b) & 0xff, ((b) >> 8) & 0xff, (c) & 0xff, ((c) >> 8) & 0xff, \
- (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }
-
/*
* define Byte Addressable Persistent Memory (PM) Region according to
* ACPI 6.0: 5.2.25.1 System Physical Address Range Structure.
*/
static const uint8_t nvdimm_nfit_spa_uuid[] =
- NVDIMM_UUID_LE(0x66f0d379, 0xb4f3, 0x4074, 0xac, 0x43, 0x0d, 0x33,
- 0x18, 0xb7, 0x8c, 0xdb);
+ UUID_LE(0x66f0d379, 0xb4f3, 0x4074, 0xac, 0x43, 0x0d, 0x33,
+ 0x18, 0xb7, 0x8c, 0xdb);
/*
* NVDIMM Firmware Interface Table
diff --git a/include/qemu/uuid.h b/include/qemu/uuid.h
index 129c45f..9925feb 100644
--- a/include/qemu/uuid.h
+++ b/include/qemu/uuid.h
@@ -34,6 +34,33 @@ typedef struct {
};
} QemuUUID;
+/**
+ * UUID_LE - converts the fields of UUID to little-endian array,
+ * each of parameters is the filed of UUID.
+ *
+ * @time_low: The low field of the timestamp
+ * @time_mid: The middle field of the timestamp
+ * @time_hi_and_version: The high field of the timestamp
+ * multiplexed with the version number
+ * @clock_seq_hi_and_reserved: The high field of the clock
+ * sequence multiplexed with the variant
+ * @clock_seq_low: The low field of the clock sequence
+ * @node0: The spatially unique node0 identifier
+ * @node1: The spatially unique node1 identifier
+ * @node2: The spatially unique node2 identifier
+ * @node3: The spatially unique node3 identifier
+ * @node4: The spatially unique node4 identifier
+ * @node5: The spatially unique node5 identifier
+ */
+#define UUID_LE(time_low, time_mid, time_hi_and_version, \
+ clock_seq_hi_and_reserved, clock_seq_low, node0, node1, node2, \
+ node3, node4, node5) \
+ { (time_low) & 0xff, ((time_low) >> 8) & 0xff, ((time_low) >> 16) & 0xff, \
+ ((time_low) >> 24) & 0xff, (time_mid) & 0xff, ((time_mid) >> 8) & 0xff, \
+ (time_hi_and_version) & 0xff, ((time_hi_and_version) >> 8) & 0xff, \
+ (clock_seq_hi_and_reserved), (clock_seq_low), (node0), (node1), (node2),\
+ (node3), (node4), (node5) }
+
#define UUID_FMT "%02hhx%02hhx%02hhx%02hhx-" \
"%02hhx%02hhx-%02hhx%02hhx-" \
"%02hhx%02hhx-" \
--
1.8.3.1
next prev parent reply other threads:[~2020-05-12 3:03 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-12 3:05 [PATCH v27 00/10] Add ARMv8 RAS virtualization support in QEMU Dongjiu Geng
2020-05-12 3:06 ` Dongjiu Geng [this message]
2020-05-14 11:11 ` [PATCH v27 01/10] acpi: nvdimm: change NVDIMM_UUID_LE to a common macro Peter Maydell
2020-05-12 3:06 ` [PATCH v27 02/10] hw/arm/virt: Introduce a RAS machine option Dongjiu Geng
2020-05-12 3:06 ` [PATCH v27 03/10] docs: APEI GHES generation and CPER record description Dongjiu Geng
2020-05-12 3:06 ` [PATCH v27 04/10] ACPI: Build related register address fields via hardware error fw_cfg blob Dongjiu Geng
2020-05-12 3:06 ` [PATCH v27 05/10] ACPI: Build Hardware Error Source Table Dongjiu Geng
2020-05-12 3:06 ` [PATCH v27 06/10] ACPI: Record the Generic Error Status Block address Dongjiu Geng
2020-05-12 3:06 ` [PATCH v27 07/10] KVM: Move hwpoison page related functions into kvm-all.c Dongjiu Geng
2020-05-12 3:06 ` [PATCH v27 08/10] ACPI: Record Generic Error Status Block(GESB) table Dongjiu Geng
2020-05-12 3:06 ` [PATCH v27 09/10] target-arm: kvm64: handle SIGBUS signal from kernel or KVM Dongjiu Geng
2020-05-12 3:06 ` [PATCH v27 10/10] MAINTAINERS: Add ACPI/HEST/GHES entries Dongjiu Geng
2020-05-14 12:54 ` [PATCH v27 00/10] Add ARMv8 RAS virtualization support in QEMU Peter Maydell
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=20200512030609.19593-2-gengdongjiu@huawei.com \
--to=gengdongjiu@huawei.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=ehabkost@redhat.com \
--cc=fam@euphon.net \
--cc=imammedo@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=shannon.zhaosl@gmail.com \
--cc=xiaoguangrong.eric@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).