[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240822044853.567386-1-anshuman.khandual@arm.com>
Date: Thu, 22 Aug 2024 10:18:51 +0530
From: Anshuman Khandual <anshuman.khandual@....com>
To: linux-kernel@...r.kernel.org,
yury.norov@...il.com,
arnd@...db.de
Cc: Anshuman Khandual <anshuman.khandual@....com>,
Andrew Morton <akpm@...ux-foundation.org>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
linux-arch@...r.kernel.org
Subject: [PATCH V4 0/2] uapi: Add support for GENMASK_U128()
This adds support for GENMASK_U128() and some corresponding tests as well.
GENMASK_U128() generated 128 bit masks will be required later on the arm64
platform for enabling FEAT_SYSREG128 and FEAT_D128 features.
Because GENMAKS_U128() depends on __int128 data type being supported in the
compiler, its usage needs to be protected with CONFIG_ARCH_SUPPORTS_INT128.
This series is being used for an work in progress on arm64 platform.
https://lore.kernel.org/all/20240801054436.612024-1-anshuman.khandual@arm.com/
Cc: Andrew Morton <akpm@...ux-foundation.org>
Cc: Yury Norov <yury.norov@...il.com>
Cc: Rasmus Villemoes <linux@...musvillemoes.dk>
Cc: Arnd Bergmann <arnd@...db.de>>
Cc: linux-kernel@...r.kernel.org
Cc: linux-arch@...r.kernel.org
Changes in V4:
- Folded in the below patch which guards against assembly code
- Fixed __GENMASK_U128() for the corner case (128 bit left shift)
- Improved genmask_u128_test() and genmask_input_check_test()
https://lore.kernel.org/lkml/20240803133753.1598137-1-yury.norov@gmail.com/
Changes in V3:
https://lore.kernel.org/lkml/20240801071646.682731-1-anshuman.khandual@arm.com/
- Dropped unused __BITS_PER_U128
- Moved #ifdef CONFIG_ARCH_SUPPORTS_INT128 inside genmask_u128_test()
- Added asm unsupported comments for GENMASK_U128() and __BIT128()
- Added reviewed tag from Arnd
Changes in V2:
https://lore.kernel.org/all/20240725054808.286708-1-anshuman.khandual@arm.com/
- Wrapped genmask_u128_test() with CONFIG_ARCH_SUPPORTS_INT128
- Defined __BITS_PER_U128 unconditionally as 128
- Defined __GENMASK_U128() via new _BIT128()
- Dropped _U128() and _AC128()
Changes in V1:
https://lore.kernel.org/lkml/20240724103142.165693-1-anshuman.khandual@arm.com/
Anshuman Khandual (2):
uapi: Define GENMASK_U128
lib/test_bits.c: Add tests for GENMASK_U128()
include/linux/bits.h | 15 +++++++++++++++
include/uapi/linux/bits.h | 3 +++
include/uapi/linux/const.h | 17 +++++++++++++++++
lib/test_bits.c | 34 ++++++++++++++++++++++++++++++++++
4 files changed, 69 insertions(+)
--
2.30.2
Powered by blists - more mailing lists