[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 29/33] bitops: Support 32 and 64 bit mask macro
|
From: |
Yang Zhong |
|
Subject: |
[PATCH v4 29/33] bitops: Support 32 and 64 bit mask macro |
|
Date: |
Mon, 19 Jul 2021 19:21:32 +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
- [PATCH v4 19/33] i386: acpi: Add SGX EPC entry to ACPI tables, (continued)
- [PATCH v4 19/33] i386: acpi: Add SGX EPC entry to ACPI tables, Yang Zhong, 2021/07/19
- [PATCH v4 20/33] q35: Add support for SGX EPC, Yang Zhong, 2021/07/19
- [PATCH v4 21/33] i440fx: Add support for SGX EPC, Yang Zhong, 2021/07/19
- [PATCH v4 22/33] hostmem-epc: Add the reset interface for EPC backend reset, Yang Zhong, 2021/07/19
- [PATCH v4 23/33] sgx-epc: Add the reset interface for sgx-epc virt device, Yang Zhong, 2021/07/19
- [PATCH v4 24/33] sgx-epc: Avoid bios reset during sgx epc initialization, Yang Zhong, 2021/07/19
- [PATCH v4 25/33] hostmem-epc: Make prealloc consistent with qemu cmdline during reset, Yang Zhong, 2021/07/19
- [PATCH v4 26/33] qmp: Add query-sgx command, Yang Zhong, 2021/07/19
- [PATCH v4 27/33] hmp: Add 'info sgx' command, Yang Zhong, 2021/07/19
- [PATCH v4 28/33] i386: Add sgx_get_info() interface, Yang Zhong, 2021/07/19
- [PATCH v4 29/33] bitops: Support 32 and 64 bit mask macro,
Yang Zhong <=
- [PATCH v4 30/33] qmp: Add the qmp_query_sgx_capabilities(), Yang Zhong, 2021/07/19
- [PATCH v4 31/33] Kconfig: Add CONFIG_SGX support, Yang Zhong, 2021/07/19
- [PATCH v4 32/33] sgx-epc: Add the fill_device_info() callback support, Yang Zhong, 2021/07/19
- [PATCH v4 33/33] doc: Add the SGX doc, Yang Zhong, 2021/07/19
- Re: [PATCH v4 00/33] Qemu SGX virtualization, Paolo Bonzini, 2021/07/28