summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/busybox/busybox/0001-devmem-add-128-bit-width.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/busybox/busybox/0001-devmem-add-128-bit-width.patch')
-rw-r--r--meta/recipes-core/busybox/busybox/0001-devmem-add-128-bit-width.patch128
1 files changed, 0 insertions, 128 deletions
diff --git a/meta/recipes-core/busybox/busybox/0001-devmem-add-128-bit-width.patch b/meta/recipes-core/busybox/busybox/0001-devmem-add-128-bit-width.patch
deleted file mode 100644
index 985e2bf1d9..0000000000
--- a/meta/recipes-core/busybox/busybox/0001-devmem-add-128-bit-width.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From d432049f288c9acdc4a7caa729c68ceba3c5dca1 Mon Sep 17 00:00:00 2001
-From: Aaro Koskinen <aaro.koskinen@nokia.com>
-Date: Thu, 25 Aug 2022 18:47:02 +0300
-Subject: [PATCH] devmem: add 128-bit width
-
-Add 128-bit width if the compiler provides the needed type.
-
-function old new delta
-devmem_main 405 464 +59
-.rodata 109025 109043 +18
-------------------------------------------------------------------------------
-(add/remove: 0/0 grow/shrink: 2/0 up/down: 77/0) Total: 77 bytes
-
-Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=d432049f288c9acdc4a7caa729c68ceba3c5dca1]
-
-Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
-Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- miscutils/devmem.c | 68 ++++++++++++++++++++++++++++++----------------
- 1 file changed, 44 insertions(+), 24 deletions(-)
-
-diff --git a/miscutils/devmem.c b/miscutils/devmem.c
-index f9f0276bc..f21621bd6 100644
---- a/miscutils/devmem.c
-+++ b/miscutils/devmem.c
-@@ -29,7 +29,6 @@ int devmem_main(int argc UNUSED_PARAM, char **argv)
- {
- void *map_base, *virt_addr;
- uint64_t read_result;
-- uint64_t writeval = writeval; /* for compiler */
- off_t target;
- unsigned page_size, mapped_size, offset_in_page;
- int fd;
-@@ -64,9 +63,6 @@ int devmem_main(int argc UNUSED_PARAM, char **argv)
- width = strchrnul(bhwl, (argv[2][0] | 0x20)) - bhwl;
- width = sizes[width];
- }
-- /* VALUE */
-- if (argv[3])
-- writeval = bb_strtoull(argv[3], NULL, 0);
- } else { /* argv[2] == NULL */
- /* make argv[3] to be a valid thing to fetch */
- argv--;
-@@ -96,28 +92,46 @@ int devmem_main(int argc UNUSED_PARAM, char **argv)
- virt_addr = (char*)map_base + offset_in_page;
-
- if (!argv[3]) {
-- switch (width) {
-- case 8:
-- read_result = *(volatile uint8_t*)virt_addr;
-- break;
-- case 16:
-- read_result = *(volatile uint16_t*)virt_addr;
-- break;
-- case 32:
-- read_result = *(volatile uint32_t*)virt_addr;
-- break;
-- case 64:
-- read_result = *(volatile uint64_t*)virt_addr;
-- break;
-- default:
-- bb_simple_error_msg_and_die("bad width");
-+#ifdef __SIZEOF_INT128__
-+ if (width == 128) {
-+ unsigned __int128 rd =
-+ *(volatile unsigned __int128 *)virt_addr;
-+ printf("0x%016llX%016llX\n",
-+ (unsigned long long)(uint64_t)(rd >> 64),
-+ (unsigned long long)(uint64_t)rd
-+ );
-+ } else
-+#endif
-+ {
-+ switch (width) {
-+ case 8:
-+ read_result = *(volatile uint8_t*)virt_addr;
-+ break;
-+ case 16:
-+ read_result = *(volatile uint16_t*)virt_addr;
-+ break;
-+ case 32:
-+ read_result = *(volatile uint32_t*)virt_addr;
-+ break;
-+ case 64:
-+ read_result = *(volatile uint64_t*)virt_addr;
-+ break;
-+ default:
-+ bb_simple_error_msg_and_die("bad width");
-+ }
-+// printf("Value at address 0x%"OFF_FMT"X (%p): 0x%llX\n",
-+// target, virt_addr,
-+// (unsigned long long)read_result);
-+ /* Zero-padded output shows the width of access just done */
-+ printf("0x%0*llX\n", (width >> 2), (unsigned long long)read_result);
- }
--// printf("Value at address 0x%"OFF_FMT"X (%p): 0x%llX\n",
--// target, virt_addr,
--// (unsigned long long)read_result);
-- /* Zero-padded output shows the width of access just done */
-- printf("0x%0*llX\n", (width >> 2), (unsigned long long)read_result);
- } else {
-+ /* parse VALUE */
-+#ifdef __SIZEOF_INT128__
-+ unsigned __int128 writeval = strtoumax(argv[3], NULL, 0);
-+#else
-+ uint64_t writeval = bb_strtoull(argv[3], NULL, 0);
-+#endif
- switch (width) {
- case 8:
- *(volatile uint8_t*)virt_addr = writeval;
-@@ -135,6 +149,12 @@ int devmem_main(int argc UNUSED_PARAM, char **argv)
- *(volatile uint64_t*)virt_addr = writeval;
- // read_result = *(volatile uint64_t*)virt_addr;
- break;
-+#ifdef __SIZEOF_INT128__
-+ case 128:
-+ *(volatile unsigned __int128 *)virt_addr = writeval;
-+// read_result = *(volatile uint64_t*)virt_addr;
-+ break;
-+#endif
- default:
- bb_simple_error_msg_and_die("bad width");
- }
---
-2.25.1
-