[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 29/33] bitops: Support 32 and 64 bit mask macro
From: |
Yang Zhong |
Subject: |
[PATCH v3 29/33] bitops: Support 32 and 64 bit mask macro |
Date: |
Fri, 9 Jul 2021 19:09:51 +0800 |
The Qemu should enable bit mask macro like Linux did in the
kernel, the GENMASK(h, l) and GENMASK_ULL(h, l) will set the
bit to 1 from l to h bit in the 32 bit or 64 bit long type.
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
---
include/qemu/bitops.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/include/qemu/bitops.h b/include/qemu/bitops.h
index 110c56e099..130d746ba3 100644
--- a/include/qemu/bitops.h
+++ b/include/qemu/bitops.h
@@ -18,6 +18,7 @@
#define BITS_PER_BYTE CHAR_BIT
#define BITS_PER_LONG (sizeof (unsigned long) * BITS_PER_BYTE)
+#define BITS_PER_LONG_LONG 64
#define BIT(nr) (1UL << (nr))
#define BIT_ULL(nr) (1ULL << (nr))
@@ -28,6 +29,12 @@
#define MAKE_64BIT_MASK(shift, length) \
(((~0ULL) >> (64 - (length))) << (shift))
+#define GENMASK(h, l) \
+ (((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h))))
+
+#define GENMASK_ULL(h, l) \
+ (((~0ULL) << (l)) & (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h))))
+
/**
* set_bit - Set a bit in memory
* @nr: the bit to set
--
2.29.2.334.gfaefdd61ec
- [PATCH v3 19/33] i386: acpi: Add SGX EPC entry to ACPI tables, (continued)
- [PATCH v3 19/33] i386: acpi: Add SGX EPC entry to ACPI tables, Yang Zhong, 2021/07/09
- [PATCH v3 21/33] i440fx: Add support for SGX EPC, Yang Zhong, 2021/07/09
- [PATCH v3 20/33] q35: Add support for SGX EPC, Yang Zhong, 2021/07/09
- [PATCH v3 22/33] hostmem-epc: Add the reset interface for EPC backend reset, Yang Zhong, 2021/07/09
- [PATCH v3 23/33] sgx-epc: Add the reset interface for sgx-epc virt device, Yang Zhong, 2021/07/09
- [PATCH v3 24/33] sgx-epc: Avoid bios reset during sgx epc initialization, Yang Zhong, 2021/07/09
- [PATCH v3 25/33] hostmem-epc: Make prealloc consistent with qemu cmdline during reset, Yang Zhong, 2021/07/09
- [PATCH v3 26/33] qmp: Add query-sgx command, Yang Zhong, 2021/07/09
- [PATCH v3 28/33] i386: Add sgx_get_info() interface, Yang Zhong, 2021/07/09
- [PATCH v3 27/33] hmp: Add 'info sgx' command, Yang Zhong, 2021/07/09
- [PATCH v3 29/33] bitops: Support 32 and 64 bit mask macro,
Yang Zhong <=
- [PATCH v3 30/33] qmp: Add the qmp_query_sgx_capabilities(), Yang Zhong, 2021/07/09
- [PATCH v3 31/33] Kconfig: Add CONFIG_SGX support, Yang Zhong, 2021/07/09
- [PATCH v3 32/33] sgx-epc: Add the fill_device_info() callback support, Yang Zhong, 2021/07/09
- [PATCH v3 33/33] doc: Add the SGX doc, Yang Zhong, 2021/07/09
- Re: [PATCH v3 00/33] Qemu SGX virtualization, Jarkko Sakkinen, 2021/07/09