From: Alexandru Elisei <alexandru.elisei@arm.com>
To: kvm@vger.kernel.org
Cc: pbonzini@redhat.com, drjones@redhat.com, maz@kernel.org,
andre.przywara@arm.com, Laurent Vivier <lvivier@redhat.com>,
Thomas Huth <thuth@redhat.com>,
David Hildenbrand <david@redhat.com>
Subject: [kvm-unit-tests RFC PATCH v3 1/7] lib: Add _UL and _ULL definitions to linux/const.h
Date: Thu, 2 Jan 2020 13:46:40 +0000 [thread overview]
Message-ID: <1577972806-16184-2-git-send-email-alexandru.elisei@arm.com> (raw)
In-Reply-To: <1577972806-16184-1-git-send-email-alexandru.elisei@arm.com>
There is an UL macro defined in lib/arm64/asm/pgtable-hwdef.h. Replace
it with the _UL macro and put it in lib/linux/const.h, where it can be
used in other files. To keep things consistent with Linux's
include/uapi/linux/const.h file, also add an _ULL macro.
Cc: Drew Jones <drjones@redhat.com>
Cc: Laurent Vivier <lvivier@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
---
lib/linux/const.h | 7 ++++--
lib/asm-generic/page.h | 2 +-
lib/arm/asm/page.h | 2 +-
lib/arm/asm/pgtable-hwdef.h | 22 ++++++++++---------
lib/arm/asm/thread_info.h | 3 ++-
lib/arm64/asm/page.h | 2 +-
lib/arm64/asm/pgtable-hwdef.h | 50 +++++++++++++++++++++----------------------
lib/x86/asm/page.h | 2 +-
8 files changed, 48 insertions(+), 42 deletions(-)
diff --git a/lib/linux/const.h b/lib/linux/const.h
index c872bfd25e13..1453a886d041 100644
--- a/lib/linux/const.h
+++ b/lib/linux/const.h
@@ -21,7 +21,10 @@
#define _AT(T,X) ((T)(X))
#endif
-#define _BITUL(x) (_AC(1,UL) << (x))
-#define _BITULL(x) (_AC(1,ULL) << (x))
+#define _UL(x) _AC(x, UL)
+#define _ULL(x) _AC(x, ULL)
+
+#define _BITUL(x) (_UL(1) << (x))
+#define _BITULL(x) (_ULL(1) << (x))
#endif /* !(_LINUX_CONST_H) */
diff --git a/lib/asm-generic/page.h b/lib/asm-generic/page.h
index 5ed086129657..0b495ad090b7 100644
--- a/lib/asm-generic/page.h
+++ b/lib/asm-generic/page.h
@@ -12,7 +12,7 @@
#include <linux/const.h>
#define PAGE_SHIFT 12
-#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
+#define PAGE_SIZE (_UL(1) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
#ifndef __ASSEMBLY__
diff --git a/lib/arm/asm/page.h b/lib/arm/asm/page.h
index 039c9f7b3d49..37c9f2f12eb0 100644
--- a/lib/arm/asm/page.h
+++ b/lib/arm/asm/page.h
@@ -9,7 +9,7 @@
#include <linux/const.h>
#define PAGE_SHIFT 12
-#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
+#define PAGE_SIZE (_UL(1) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
#ifndef __ASSEMBLY__
diff --git a/lib/arm/asm/pgtable-hwdef.h b/lib/arm/asm/pgtable-hwdef.h
index 4107e188014a..66288ebb717c 100644
--- a/lib/arm/asm/pgtable-hwdef.h
+++ b/lib/arm/asm/pgtable-hwdef.h
@@ -9,9 +9,11 @@
* This work is licensed under the terms of the GNU GPL, version 2.
*/
+#include <linux/const.h>
+
#define PTRS_PER_PGD 4
#define PGDIR_SHIFT 30
-#define PGDIR_SIZE (_AC(1,UL) << PGDIR_SHIFT)
+#define PGDIR_SIZE (_UL(1) << PGDIR_SHIFT)
#define PGDIR_MASK (~((1 << PGDIR_SHIFT) - 1))
#define PGD_VALID (_AT(pgdval_t, 1) << 0)
@@ -20,7 +22,7 @@
#define PTRS_PER_PMD 512
#define PMD_SHIFT 21
-#define PMD_SIZE (_AC(1,UL) << PMD_SHIFT)
+#define PMD_SIZE (_UL(1) << PMD_SHIFT)
#define PMD_MASK (~((1 << PMD_SHIFT) - 1))
#define L_PMD_SECT_VALID (_AT(pmdval_t, 1) << 0)
@@ -109,14 +111,14 @@
* 40-bit physical address supported.
*/
#define PHYS_MASK_SHIFT (40)
-#define PHYS_MASK ((_AC(1, ULL) << PHYS_MASK_SHIFT) - 1)
+#define PHYS_MASK ((_ULL(1) << PHYS_MASK_SHIFT) - 1)
-#define TTBCR_IRGN0_WBWA (_AC(1, UL) << 8)
-#define TTBCR_ORGN0_WBWA (_AC(1, UL) << 10)
-#define TTBCR_SH0_SHARED (_AC(3, UL) << 12)
-#define TTBCR_IRGN1_WBWA (_AC(1, UL) << 24)
-#define TTBCR_ORGN1_WBWA (_AC(1, UL) << 26)
-#define TTBCR_SH1_SHARED (_AC(3, UL) << 28)
-#define TTBCR_EAE (_AC(1, UL) << 31)
+#define TTBCR_IRGN0_WBWA (_UL(1) << 8)
+#define TTBCR_ORGN0_WBWA (_UL(1) << 10)
+#define TTBCR_SH0_SHARED (_UL(3) << 12)
+#define TTBCR_IRGN1_WBWA (_UL(1) << 24)
+#define TTBCR_ORGN1_WBWA (_UL(1) << 26)
+#define TTBCR_SH1_SHARED (_UL(3) << 28)
+#define TTBCR_EAE (_UL(1) << 31)
#endif /* _ASMARM_PGTABLE_HWDEF_H_ */
diff --git a/lib/arm/asm/thread_info.h b/lib/arm/asm/thread_info.h
index 80ab3954a6b0..7ff1570e1381 100644
--- a/lib/arm/asm/thread_info.h
+++ b/lib/arm/asm/thread_info.h
@@ -7,6 +7,7 @@
*
* This work is licensed under the terms of the GNU GPL, version 2.
*/
+#include <linux/const.h>
#include <asm/page.h>
#define MIN_THREAD_SHIFT 14 /* THREAD_SIZE == 16K */
@@ -16,7 +17,7 @@
#define THREAD_MASK PAGE_MASK
#else
#define THREAD_SHIFT MIN_THREAD_SHIFT
-#define THREAD_SIZE (_AC(1,UL) << THREAD_SHIFT)
+#define THREAD_SIZE (_UL(1) << THREAD_SHIFT)
#define THREAD_MASK (~(THREAD_SIZE-1))
#endif
diff --git a/lib/arm64/asm/page.h b/lib/arm64/asm/page.h
index 46af552b91c7..07b3b61c2474 100644
--- a/lib/arm64/asm/page.h
+++ b/lib/arm64/asm/page.h
@@ -16,7 +16,7 @@
#define VA_BITS 42
#define PAGE_SHIFT 16
-#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
+#define PAGE_SIZE (_UL(1) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
#ifndef __ASSEMBLY__
diff --git a/lib/arm64/asm/pgtable-hwdef.h b/lib/arm64/asm/pgtable-hwdef.h
index 33524899e5fa..a434a01b24fc 100644
--- a/lib/arm64/asm/pgtable-hwdef.h
+++ b/lib/arm64/asm/pgtable-hwdef.h
@@ -9,7 +9,7 @@
* This work is licensed under the terms of the GNU GPL, version 2.
*/
-#define UL(x) _AC(x, UL)
+#include <linux/const.h>
#define PTRS_PER_PTE (1 << (PAGE_SHIFT - 3))
@@ -18,7 +18,7 @@
* (depending on the configuration, this level can be 0, 1 or 2).
*/
#define PGDIR_SHIFT ((PAGE_SHIFT - 3) * PGTABLE_LEVELS + 3)
-#define PGDIR_SIZE (_AC(1, UL) << PGDIR_SHIFT)
+#define PGDIR_SIZE (_UL(1) << PGDIR_SHIFT)
#define PGDIR_MASK (~(PGDIR_SIZE-1))
#define PTRS_PER_PGD (1 << (VA_BITS - PGDIR_SHIFT))
@@ -27,14 +27,14 @@
/* From include/asm-generic/pgtable-nopmd.h */
#define PMD_SHIFT PGDIR_SHIFT
#define PTRS_PER_PMD 1
-#define PMD_SIZE (UL(1) << PMD_SHIFT)
+#define PMD_SIZE (_UL(1) << PMD_SHIFT)
#define PMD_MASK (~(PMD_SIZE-1))
/*
* Section address mask and size definitions.
*/
#define SECTION_SHIFT PMD_SHIFT
-#define SECTION_SIZE (_AC(1, UL) << SECTION_SHIFT)
+#define SECTION_SIZE (_UL(1) << SECTION_SHIFT)
#define SECTION_MASK (~(SECTION_SIZE-1))
/*
@@ -93,31 +93,31 @@
* Highest possible physical address supported.
*/
#define PHYS_MASK_SHIFT (48)
-#define PHYS_MASK ((UL(1) << PHYS_MASK_SHIFT) - 1)
+#define PHYS_MASK ((_UL(1) << PHYS_MASK_SHIFT) - 1)
/*
* TCR flags.
*/
-#define TCR_TxSZ(x) (((UL(64) - (x)) << 16) | ((UL(64) - (x)) << 0))
-#define TCR_IRGN_NC ((UL(0) << 8) | (UL(0) << 24))
-#define TCR_IRGN_WBWA ((UL(1) << 8) | (UL(1) << 24))
-#define TCR_IRGN_WT ((UL(2) << 8) | (UL(2) << 24))
-#define TCR_IRGN_WBnWA ((UL(3) << 8) | (UL(3) << 24))
-#define TCR_IRGN_MASK ((UL(3) << 8) | (UL(3) << 24))
-#define TCR_ORGN_NC ((UL(0) << 10) | (UL(0) << 26))
-#define TCR_ORGN_WBWA ((UL(1) << 10) | (UL(1) << 26))
-#define TCR_ORGN_WT ((UL(2) << 10) | (UL(2) << 26))
-#define TCR_ORGN_WBnWA ((UL(3) << 10) | (UL(3) << 26))
-#define TCR_ORGN_MASK ((UL(3) << 10) | (UL(3) << 26))
-#define TCR_SHARED ((UL(3) << 12) | (UL(3) << 28))
-#define TCR_TG0_4K (UL(0) << 14)
-#define TCR_TG0_64K (UL(1) << 14)
-#define TCR_TG0_16K (UL(2) << 14)
-#define TCR_TG1_16K (UL(1) << 30)
-#define TCR_TG1_4K (UL(2) << 30)
-#define TCR_TG1_64K (UL(3) << 30)
-#define TCR_ASID16 (UL(1) << 36)
-#define TCR_TBI0 (UL(1) << 37)
+#define TCR_TxSZ(x) (((_UL(64) - (x)) << 16) | ((_UL(64) - (x)) << 0))
+#define TCR_IRGN_NC ((_UL(0) << 8) | (_UL(0) << 24))
+#define TCR_IRGN_WBWA ((_UL(1) << 8) | (_UL(1) << 24))
+#define TCR_IRGN_WT ((_UL(2) << 8) | (_UL(2) << 24))
+#define TCR_IRGN_WBnWA ((_UL(3) << 8) | (_UL(3) << 24))
+#define TCR_IRGN_MASK ((_UL(3) << 8) | (_UL(3) << 24))
+#define TCR_ORGN_NC ((_UL(0) << 10) | (_UL(0) << 26))
+#define TCR_ORGN_WBWA ((_UL(1) << 10) | (_UL(1) << 26))
+#define TCR_ORGN_WT ((_UL(2) << 10) | (_UL(2) << 26))
+#define TCR_ORGN_WBnWA ((_UL(3) << 10) | (_UL(3) << 26))
+#define TCR_ORGN_MASK ((_UL(3) << 10) | (_UL(3) << 26))
+#define TCR_SHARED ((_UL(3) << 12) | (_UL(3) << 28))
+#define TCR_TG0_4K (_UL(0) << 14)
+#define TCR_TG0_64K (_UL(1) << 14)
+#define TCR_TG0_16K (_UL(2) << 14)
+#define TCR_TG1_16K (_UL(1) << 30)
+#define TCR_TG1_4K (_UL(2) << 30)
+#define TCR_TG1_64K (_UL(3) << 30)
+#define TCR_ASID16 (_UL(1) << 36)
+#define TCR_TBI0 (_UL(1) << 37)
/*
* Memory types available.
diff --git a/lib/x86/asm/page.h b/lib/x86/asm/page.h
index 073580a80f0c..5d3af06d14b4 100644
--- a/lib/x86/asm/page.h
+++ b/lib/x86/asm/page.h
@@ -14,7 +14,7 @@ typedef unsigned long pteval_t;
typedef unsigned long pgd_t;
#define PAGE_SHIFT 12
-#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
+#define PAGE_SIZE (_UL(1) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
#ifndef __ASSEMBLY__
--
2.7.4
next prev parent reply other threads:[~2020-01-02 13:47 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-02 13:46 [kvm-unit-tests RFC PATCH v3 0/7] arm64: Run at EL2 Alexandru Elisei
2020-01-02 13:46 ` Alexandru Elisei [this message]
2020-01-02 13:46 ` [kvm-unit-tests RFC PATCH v3 2/7] lib: arm64: Run existing tests " Alexandru Elisei
2020-01-02 13:46 ` [kvm-unit-tests RFC PATCH v3 3/7] arm64: timer: Add test for EL2 timers Alexandru Elisei
2020-01-02 13:46 ` [kvm-unit-tests RFC PATCH v3 4/7] arm64: selftest: Add basic test for EL2 Alexandru Elisei
2020-01-02 13:46 ` [kvm-unit-tests RFC PATCH v3 5/7] lib: arm64: Add support for disabling and re-enabling VHE Alexandru Elisei
2020-01-30 17:40 ` Marc Zyngier
2020-01-31 9:52 ` Alexandru Elisei
2020-01-31 11:26 ` Marc Zyngier
2020-01-31 11:43 ` Alexandru Elisei
2020-01-02 13:46 ` [kvm-unit-tests RFC PATCH v3 6/7] arm64: selftest: Expand EL2 test to disable and re-enable VHE Alexandru Elisei
2020-01-02 13:46 ` [kvm-unit-tests RFC PATCH v3 7/7] arm64: timer: Run tests with VHE disabled Alexandru Elisei
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=1577972806-16184-2-git-send-email-alexandru.elisei@arm.com \
--to=alexandru.elisei@arm.com \
--cc=andre.przywara@arm.com \
--cc=david@redhat.com \
--cc=drjones@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=lvivier@redhat.com \
--cc=maz@kernel.org \
--cc=pbonzini@redhat.com \
--cc=thuth@redhat.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).