Message ID | 20200410114639.32844-2-gengdongjiu@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add ARMv8 RAS virtualization support in QEMU | expand |
On Fri, 10 Apr 2020 at 12:45, Dongjiu Geng <gengdongjiu@huawei.com> wrote: > > 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> > --- > hw/acpi/nvdimm.c | 10 +++------- > include/qemu/uuid.h | 9 +++++++++ > 2 files changed, 12 insertions(+), 7 deletions(-) > > diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c > index eb6a37b..a747c63 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..c55541b 100644 > --- a/include/qemu/uuid.h > +++ b/include/qemu/uuid.h > @@ -34,6 +34,15 @@ typedef struct { > }; > } QemuUUID; > > +/** > + * convert UUID to little-endian array > + * The input parameter is the member of UUID > + */ This isn't in the right form to be a proper doc-comment comment, and it's too brief to really help somebody who doesn't already know what the macro does. The parameter names to the macro are still terrible, and "member of UUID" doesn't help -- assuming you mean "members of the QemuUUID struct, those are named 'time_low' , 'time_mid', and so on, not this random selection of alphabetic and d0..d7. > +#define 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 UUID_FMT "%02hhx%02hhx%02hhx%02hhx-" \ > "%02hhx%02hhx-%02hhx%02hhx-" \ > "%02hhx%02hhx-" \ > -- > 1.8.3.1 thanks -- PMM
diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c index eb6a37b..a747c63 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..c55541b 100644 --- a/include/qemu/uuid.h +++ b/include/qemu/uuid.h @@ -34,6 +34,15 @@ typedef struct { }; } QemuUUID; +/** + * convert UUID to little-endian array + * The input parameter is the member of UUID + */ +#define 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 UUID_FMT "%02hhx%02hhx%02hhx%02hhx-" \ "%02hhx%02hhx-%02hhx%02hhx-" \ "%02hhx%02hhx-" \