From 5dcd764409ee257ac406ea741523f7734e1d16ad Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 17:04:43 +0000 Subject: [PATCH 01/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- umr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/umr.spec b/umr.spec index 0f5f5a4..e6b714e 100644 --- a/umr.spec +++ b/umr.spec @@ -4,7 +4,7 @@ Summary: AMDGPU Userspace Register Debugger Name: umr Version: 1.0.8 -Release: 1%{?dist} +Release: 2%{?dist} License: MIT URL: https://gitlab.freedesktop.org/tomstdenis/umr Source0: https://gitlab.freedesktop.org/tomstdenis/%{name}/-/archive/%{version}/%{name}-%{version}.tar.gz @@ -80,6 +80,9 @@ AMDGPU Userspace Register Debugger header files and libraries %{_libdir}/*.a %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 1.0.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jun 01 2023 Jeremy Newton - 1.0.8-1 - Update to 1.0.8 From 3bfbafb8a077a5322eb214c15ab9a06ce0d70506 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 07:04:37 +0000 Subject: [PATCH 02/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- umr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/umr.spec b/umr.spec index e6b714e..48e9c58 100644 --- a/umr.spec +++ b/umr.spec @@ -4,7 +4,7 @@ Summary: AMDGPU Userspace Register Debugger Name: umr Version: 1.0.8 -Release: 2%{?dist} +Release: 3%{?dist} License: MIT URL: https://gitlab.freedesktop.org/tomstdenis/umr Source0: https://gitlab.freedesktop.org/tomstdenis/%{name}/-/archive/%{version}/%{name}-%{version}.tar.gz @@ -80,6 +80,9 @@ AMDGPU Userspace Register Debugger header files and libraries %{_libdir}/*.a %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 1.0.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Jul 22 2023 Fedora Release Engineering - 1.0.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 6fe2eb951d3a085373505817a10eb464bd97e5fc Mon Sep 17 00:00:00 2001 From: Jeremy Newton Date: Mon, 1 Apr 2024 10:47:20 -0400 Subject: [PATCH 03/14] Convert to autochangelog --- changelog | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++ umr.spec | 67 ++----------------------------------------------------- 2 files changed, 66 insertions(+), 65 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..5cc9aa7 --- /dev/null +++ b/changelog @@ -0,0 +1,64 @@ +* Sat Jan 27 2024 Fedora Release Engineering - 1.0.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 1.0.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 01 2023 Jeremy Newton - 1.0.8-1 +- Update to 1.0.8 + +* Wed Mar 29 2023 Jeremy Newton - 1.0.7-1 +- Update to 1.0.7 + +* Mon Jan 23 2023 Jeremy Newton - 1.0.6-1 +- Update to 1.0.6 + +* Sat Jan 21 2023 Fedora Release Engineering - 1.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Dec 19 2022 Jeremy Newton - 1.0.5-1 +- Update to 1.0.5 + +* Mon Sep 19 2022 Pete Walter - 1.0-14.20220107git02f162c +- Rebuild for llvm 15 + +* Sat Jul 23 2022 Fedora Release Engineering - 1.0-13.20220107git02f162c +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 1.0-12.20220107git02f162c +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 12 2022 Jeremy Newton - 1.0-11.20220107git02f162c +- Update to newer git + +* Fri Jul 23 2021 Fedora Release Engineering - 1.0-10.20210115git8bf83ae +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 20 2021 Jeremy Newton - 1.0-9.20210115git8bf83ae +- Update to newer git + +* Wed Jul 29 2020 Fedora Release Engineering - 1.0-8.20200709gitcf9e2f8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 09 2020 Jeremy Newton - 1.0-7.20200709gitcf9e2f8 +- Update to newer git +- Drop static llvm dependency + +* Fri Jan 31 2020 Fedora Release Engineering - 1.0-6.20191210git0affde7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Dec 15 2019 Fedora Release Engineering - 1.0-5.20191210git0affde7 +- Update to newer git + +* Sat Jul 27 2019 Fedora Release Engineering - 1.0-4.20190514gitcb1cb54 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed May 29 2019 Jeremy Newton 1.0-3.20190514gitcb1cb54 +- Update to newer git, switch to gitlab + +* Wed Apr 03 2019 Jeremy Newton 1.0-2.20190403git1139876 +- Update to newer git, fixes install issues and all patches upstreamed +- Add missing static provides for devel + +* Thu Mar 21 2019 Jeremy Newton 1.0-1.20190322.git51112c7 +- Initial Package diff --git a/umr.spec b/umr.spec index 48e9c58..f84ccf0 100644 --- a/umr.spec +++ b/umr.spec @@ -4,7 +4,7 @@ Summary: AMDGPU Userspace Register Debugger Name: umr Version: 1.0.8 -Release: 3%{?dist} +Release: %autorelease License: MIT URL: https://gitlab.freedesktop.org/tomstdenis/umr Source0: https://gitlab.freedesktop.org/tomstdenis/%{name}/-/archive/%{version}/%{name}-%{version}.tar.gz @@ -80,67 +80,4 @@ AMDGPU Userspace Register Debugger header files and libraries %{_libdir}/*.a %changelog -* Sat Jan 27 2024 Fedora Release Engineering - 1.0.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 1.0.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jun 01 2023 Jeremy Newton - 1.0.8-1 -- Update to 1.0.8 - -* Wed Mar 29 2023 Jeremy Newton - 1.0.7-1 -- Update to 1.0.7 - -* Mon Jan 23 2023 Jeremy Newton - 1.0.6-1 -- Update to 1.0.6 - -* Sat Jan 21 2023 Fedora Release Engineering - 1.0.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Dec 19 2022 Jeremy Newton - 1.0.5-1 -- Update to 1.0.5 - -* Mon Sep 19 2022 Pete Walter - 1.0-14.20220107git02f162c -- Rebuild for llvm 15 - -* Sat Jul 23 2022 Fedora Release Engineering - 1.0-13.20220107git02f162c -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 1.0-12.20220107git02f162c -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jan 12 2022 Jeremy Newton - 1.0-11.20220107git02f162c -- Update to newer git - -* Fri Jul 23 2021 Fedora Release Engineering - 1.0-10.20210115git8bf83ae -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jan 20 2021 Jeremy Newton - 1.0-9.20210115git8bf83ae -- Update to newer git - -* Wed Jul 29 2020 Fedora Release Engineering - 1.0-8.20200709gitcf9e2f8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jul 09 2020 Jeremy Newton - 1.0-7.20200709gitcf9e2f8 -- Update to newer git -- Drop static llvm dependency - -* Fri Jan 31 2020 Fedora Release Engineering - 1.0-6.20191210git0affde7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sun Dec 15 2019 Fedora Release Engineering - 1.0-5.20191210git0affde7 -- Update to newer git - -* Sat Jul 27 2019 Fedora Release Engineering - 1.0-4.20190514gitcb1cb54 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed May 29 2019 Jeremy Newton 1.0-3.20190514gitcb1cb54 -- Update to newer git, switch to gitlab - -* Wed Apr 03 2019 Jeremy Newton 1.0-2.20190403git1139876 -- Update to newer git, fixes install issues and all patches upstreamed -- Add missing static provides for devel - -* Thu Mar 21 2019 Jeremy Newton 1.0-1.20190322.git51112c7 -- Initial Package +%autochangelog From 4417818289a1c1297afa51f338a1024ff51ac35c Mon Sep 17 00:00:00 2001 From: Jeremy Newton Date: Mon, 1 Apr 2024 11:48:35 -0400 Subject: [PATCH 04/14] Update to 1.0.9 --- .gitignore | 1 + sources | 2 +- umr.spec | 16 +++------------- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 28503e8..6dc8d2b 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /umr-1.0.6.tar.gz /umr-1.0.7.tar.gz /umr-1.0.8.tar.gz +/umr-1.0.9.tar.gz diff --git a/sources b/sources index b9edc94..2e5be6d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (umr-1.0.8.tar.gz) = 92c8399f9ac449e3dd9688a5be0c9b5d27216be4ea3e08a5eadf66326ab9c042b04982a7480bef63494a64d053c6628b3a9610bb1e9d0890a92d0e0ccb90b96a +SHA512 (umr-1.0.9.tar.gz) = 17c39404eb6713b3801f38a923f8fb10688c1b2b5b51314a381660aa8ffa83c0c2e0776232c635bc7add897b85a94791149d3c6d2808a6b84fe7c3119a5ca286 diff --git a/umr.spec b/umr.spec index f84ccf0..9347cb5 100644 --- a/umr.spec +++ b/umr.spec @@ -3,7 +3,7 @@ Summary: AMDGPU Userspace Register Debugger Name: umr -Version: 1.0.8 +Version: 1.0.9 Release: %autorelease License: MIT URL: https://gitlab.freedesktop.org/tomstdenis/umr @@ -29,6 +29,7 @@ BuildRequires: libdrm-devel %endif BuildRequires: cmake%{?rhel:3} +BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: libpciaccess-devel BuildRequires: mesa-libgbm-devel @@ -44,14 +45,6 @@ ExclusiveArch: x86_64 aarch64 ppc64le AMDGPU Userspace Register Debugger (UMR) is a tool to read and display, as well as write to AMDGPU device MMIO, PCIE, SMC, and DIDT registers via userspace. -%package devel -Summary: UMR development package -Requires: %{name}%{?_isa} = %{version}-%{release} -Provides: %{name}-static = %{version}-%{release} - -%description devel -AMDGPU Userspace Register Debugger header files and libraries - %prep %autosetup -p1 -n %{name}-%{version} @@ -65,6 +58,7 @@ AMDGPU Userspace Register Debugger header files and libraries %install %cmake_install +%fdupes %{buildroot}%{_datadir}/%{name} %files %doc README @@ -75,9 +69,5 @@ AMDGPU Userspace Register Debugger header files and libraries %{_datadir}/%{name} %{_datadir}/bash-completion/completions/%{name} -%files devel -%{_includedir}/umr* -%{_libdir}/*.a - %changelog %autochangelog From f95976b8b13a3d7b54a9d56e91397e5408400cdf Mon Sep 17 00:00:00 2001 From: Jeremy Newton Date: Thu, 6 Jun 2024 22:41:50 -0400 Subject: [PATCH 05/14] Update to 1.0.10 --- .gitignore | 1 + sources | 2 +- umr.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6dc8d2b..9de0e3b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /umr-1.0.7.tar.gz /umr-1.0.8.tar.gz /umr-1.0.9.tar.gz +/umr-1.0.10.tar.gz diff --git a/sources b/sources index 2e5be6d..2b5fe09 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (umr-1.0.9.tar.gz) = 17c39404eb6713b3801f38a923f8fb10688c1b2b5b51314a381660aa8ffa83c0c2e0776232c635bc7add897b85a94791149d3c6d2808a6b84fe7c3119a5ca286 +SHA512 (umr-1.0.10.tar.gz) = 647f6ff4c700fb99279321a2543c9bffe9d7adabb07924bf4d19313765c8402a52666dfc83c9040a08d7fdc02e0cbbbd9508f557cfb2d82785d9f99d9ee1a3c8 diff --git a/umr.spec b/umr.spec index 9347cb5..5c23a5f 100644 --- a/umr.spec +++ b/umr.spec @@ -3,7 +3,7 @@ Summary: AMDGPU Userspace Register Debugger Name: umr -Version: 1.0.9 +Version: 1.0.10 Release: %autorelease License: MIT URL: https://gitlab.freedesktop.org/tomstdenis/umr From 457733fd5123dd438da52775df0b9251540c77ff Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 08:13:27 +0000 Subject: [PATCH 06/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From c96cc3732dac6dc0b5bab3e1a7fc768e8ca63012 Mon Sep 17 00:00:00 2001 From: Jeremy Newton Date: Mon, 23 Sep 2024 23:24:32 -0400 Subject: [PATCH 07/14] Rebuild for libnanomsg update From 4b3fd0a04ec128bf1c426847d997fc49126c1f97 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 13:43:02 +0000 Subject: [PATCH 08/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From bd0c7d3b129db61cbfc72f66fc2a2d02f03c2e5e Mon Sep 17 00:00:00 2001 From: Jeremy Newton Date: Fri, 7 Feb 2025 14:55:37 -0500 Subject: [PATCH 09/14] Fix GCC warnings --- 0001-Fix-warnings-treewide.patch | 228 +++++++++++++++++++++++++++++++ umr.spec | 4 + 2 files changed, 232 insertions(+) create mode 100644 0001-Fix-warnings-treewide.patch diff --git a/0001-Fix-warnings-treewide.patch b/0001-Fix-warnings-treewide.patch new file mode 100644 index 0000000..a5172d4 --- /dev/null +++ b/0001-Fix-warnings-treewide.patch @@ -0,0 +1,228 @@ +From 56aaa3a997740dc223d01d3106cbab1640fe0e32 Mon Sep 17 00:00:00 2001 +From: Pierre-Eric Pelloux-Prayer +Date: Fri, 31 Jan 2025 12:25:47 +0100 +Subject: [PATCH] Fix warnings treewide. + +Signed-off-by: Pierre-Eric Pelloux-Prayer +Change-Id: Ic5f3611b3a8448e490c149785a4cad4916e3d7be +--- + src/app/gui/commands.c | 2 +- + src/app/server.c | 2 +- + src/app/top.c | 3 --- + src/app/vbios.c | 2 +- + src/lib/lowlevel/linux/umr_clock.c | 7 ++++++- + src/lib/rumr/rumr_serial_asic.c | 2 ++ + src/lib/testing_harness.c | 4 ++++ + src/test/test_server.c | 16 ++++++++-------- + 8 files changed, 23 insertions(+), 15 deletions(-) + +diff --git a/src/app/gui/commands.c b/src/app/gui/commands.c +index 9477eee..ac32af8 100644 +--- a/src/app/gui/commands.c ++++ b/src/app/gui/commands.c +@@ -1584,7 +1584,7 @@ static void ring_done(struct umr_stream_decode_ui *ui) { + struct umr_asic *asics[16] = {0}; + char *ip_discovery_dumps[16] = {0}; + +-void init_asics() { ++void init_asics(void) { + struct umr_options opt; + char devname[512]; + int index = 0; +diff --git a/src/app/server.c b/src/app/server.c +index 6d8e6cd..d968d60 100644 +--- a/src/app/server.c ++++ b/src/app/server.c +@@ -28,7 +28,7 @@ + #include "parson.h" + + extern JSON_Value *umr_process_json_request(JSON_Object *request, void **raw_data, unsigned *raw_data_size); +-extern void init_asics(); ++extern void init_asics(void); + extern struct umr_asic *asics[16]; + + void run_server_loop(const char *url, struct umr_asic * asic) +diff --git a/src/app/top.c b/src/app/top.c +index a148599..9318085 100644 +--- a/src/app/top.c ++++ b/src/app/top.c +@@ -1127,7 +1127,6 @@ void umr_top(struct umr_asic *asic) + struct timespec req; + uint32_t rep; + time_t tt; +- uint64_t ts; + char hostname[64] = { 0 }; + char fname[64], *e; + pthread_t sensor_thread; +@@ -1193,7 +1192,6 @@ void umr_top(struct umr_asic *asic) + req.tv_sec = 0; + req.tv_nsec = 1000000000/rep; // 10ms + +- ts = 0; + while (!top_options.quit) { + for (i = 0; stat_counters[i].name[0]; i++) + memset(stat_counters[i].counts, 0, sizeof(stat_counters[i].counts[0])*32); +@@ -1215,7 +1213,6 @@ void umr_top(struct umr_asic *asic) + } + } + nanosleep(&req, NULL); +- ts += (req.tv_nsec / 1000000); + } + move(0, 0); + clear(); +diff --git a/src/app/vbios.c b/src/app/vbios.c +index a05a5c5..bb3427e 100644 +--- a/src/app/vbios.c ++++ b/src/app/vbios.c +@@ -50,4 +50,4 @@ int umr_print_vbios_info(struct umr_asic *asic) + + close(asic->fd.drm); + return 0; +-} +\ No newline at end of file ++} +diff --git a/src/lib/lowlevel/linux/umr_clock.c b/src/lib/lowlevel/linux/umr_clock.c +index a847f1e..70dcaab 100644 +--- a/src/lib/lowlevel/linux/umr_clock.c ++++ b/src/lib/lowlevel/linux/umr_clock.c +@@ -21,6 +21,7 @@ + * + */ + #include "umr.h" ++#include + + /** + * umr_read_clock - Read a clock information via sysfs +@@ -67,13 +68,17 @@ int umr_set_clock(struct umr_asic *asic, const char* clock_name, void* value) + int fd; + int input_flag = 0; + char input[8]; ++ struct timespec wait = { 0 }; + uint32_t input_len = strlen(value); + int ret = -1; + + umr_set_clock_performance(asic, "manual"); + strcpy(input, value); + input[input_len] = ' '; +- sleep(0.5); ++ ++ wait.tv_nsec = 500 * 1000000; /* 500 ms */ ++ nanosleep(&wait, NULL); ++ + snprintf(name, sizeof(name)-1, \ + "/sys/class/drm/card%d/device/pp_dpm_%s", asic->instance, clock_name); + fd = open(name, O_RDWR); +diff --git a/src/lib/rumr/rumr_serial_asic.c b/src/lib/rumr/rumr_serial_asic.c +index 5f85c03..7c65b4d 100644 +--- a/src/lib/rumr/rumr_serial_asic.c ++++ b/src/lib/rumr/rumr_serial_asic.c +@@ -41,6 +41,8 @@ struct rumr_buffer *rumr_serialize_asic(struct umr_asic *asic) + if (!buf) + return NULL; + ++ #pragma GCC diagnostic ignored "-Wmisleading-indentation" ++ + // ASICNAME + memset(tmpbuf, 0, sizeof tmpbuf); + strcpy(tmpbuf, asic->asicname); +diff --git a/src/lib/testing_harness.c b/src/lib/testing_harness.c +index ddee028..f657c9d 100644 +--- a/src/lib/testing_harness.c ++++ b/src/lib/testing_harness.c +@@ -716,6 +716,8 @@ static int read_sgprs(struct umr_asic *asic, struct umr_wave_data *wd, uint32_t + ((uint64_t)umr_wave_data_get_bits(asic, wd, "ixSQ_WAVE_HW_ID", "WAVE_ID") << 36) | + ((uint64_t)umr_wave_data_get_bits(asic, wd, "ixSQ_WAVE_HW_ID", "SIMD_ID") << 44); + nr = umr_wave_data_num_of_sgprs(asic, wd); ++ } else { ++ return -1; + } + + // grab upto 'nr' words into dst[0..nr-1] +@@ -784,6 +786,8 @@ static int read_vgprs(struct umr_asic *asic, struct umr_wave_data *wd, uint32_t + ((uint64_t)umr_wave_data_get_bits(asic, wd, "ixSQ_WAVE_HW_ID", "SIMD_ID") << 44) | + ((uint64_t)thread << 52); + nr = (umr_wave_data_get_bits(asic, wd, "ixSQ_WAVE_GPR_ALLOC", "VGPR_SIZE") + 1) << granularity; ++ } else { ++ return -1; + } + + // grab upto 'nr' words into dst[0..nr-1] +diff --git a/src/test/test_server.c b/src/test/test_server.c +index fae5623..bc44996 100644 +--- a/src/test/test_server.c ++++ b/src/test/test_server.c +@@ -9,7 +9,7 @@ extern JSON_Array *parse_kms_framebuffer_sysfs_file(struct umr_asic *asic, const + extern JSON_Object *parse_kms_state_sysfs_file(const char *content); + extern JSON_Object *parse_pp_features_sysfs_file(const char *content); + +-enum TEST_RESULT test_parse_sysfs_clock_file() ++static enum TEST_RESULT test_parse_sysfs_clock_file(__attribute__((unused)) struct umr_asic* asic) + { + char *content = + "0: 500Mhz \n" +@@ -23,7 +23,7 @@ enum TEST_RESULT test_parse_sysfs_clock_file() + return TEST_SUCCESS; + } + +-enum TEST_RESULT test_parse_fence_info() ++static enum TEST_RESULT test_parse_fence_info(__attribute__((unused)) struct umr_asic* asic) + { + const char *before = + "--- ring 0 (gfx_0.0.0) ---\n" +@@ -71,7 +71,7 @@ enum TEST_RESULT test_parse_fence_info() + return TEST_SUCCESS; + } + +-enum TEST_RESULT test_parse_vm_info() ++static enum TEST_RESULT test_parse_vm_info(__attribute__((unused)) struct umr_asic* asic) + { + const char *content = + "pid:0\tProcess: ----------\n" +@@ -118,7 +118,7 @@ enum TEST_RESULT test_parse_vm_info() + return TEST_SUCCESS; + } + +-enum TEST_RESULT test_parse_gem_info() ++static enum TEST_RESULT test_parse_gem_info(__attribute__((unused)) struct umr_asic* asic) + { + const char *content = + "pid 44961 command Xwayland:\n" +@@ -148,7 +148,7 @@ enum TEST_RESULT test_parse_gem_info() + return TEST_SUCCESS; + } + +-enum TEST_RESULT test_parse_sysfs_framebuffer() ++static enum TEST_RESULT test_parse_sysfs_framebuffer(__attribute__((unused)) struct umr_asic* asic) + { + const char *content = + "framebuffer[135]:\n" +@@ -215,7 +215,7 @@ enum TEST_RESULT test_parse_sysfs_framebuffer() + return TEST_SUCCESS; + } + +-enum TEST_RESULT test_parse_sysfs_state() ++static enum TEST_RESULT test_parse_sysfs_state(__attribute__((unused)) struct umr_asic* asic) + { + const char *content = + "plane[65]: plane-5\n" +@@ -277,7 +277,7 @@ enum TEST_RESULT test_parse_sysfs_state() + return TEST_SUCCESS; + } + +-enum TEST_RESULT test_parse_sysfs_pp_features() ++static enum TEST_RESULT test_parse_sysfs_pp_features(__attribute__((unused)) struct umr_asic* asic) + { + const char *content = + "features high: 0x00003763 low: 0xa37f7dff\n" +@@ -383,7 +383,7 @@ enum TEST_RESULT test_parse_sysfs_pp_features() + return TEST_SUCCESS; + } + +-enum TEST_RESULT test_parse_sysfs_pp_features2() ++static enum TEST_RESULT test_parse_sysfs_pp_features2(__attribute__((unused)) struct umr_asic* asic) + { + const char *content = + "Current ppfeatures: 0x0000000019f0e3cf\n" +-- +2.48.1 + diff --git a/umr.spec b/umr.spec index 5c23a5f..463393c 100644 --- a/umr.spec +++ b/umr.spec @@ -9,6 +9,10 @@ License: MIT URL: https://gitlab.freedesktop.org/tomstdenis/umr Source0: https://gitlab.freedesktop.org/tomstdenis/%{name}/-/archive/%{version}/%{name}-%{version}.tar.gz +# Upstream fixes to newer GCC +#https://gitlab.freedesktop.org/tomstdenis/umr/-/commit/511d5b9bebd91346ee208dfffed304ed05890d8d +Patch0: 0001-Fix-warnings-treewide.patch + #Glibc is too old prior to EL7, enable rt linking to avoid compilation failure %if 0%{?rhel} && 0%{?rhel} < 7 %global enablert 1 From 534af2b49b9eb96396eb17b067fa5eb2b2758018 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 19:45:36 +0000 Subject: [PATCH 10/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 9a656ce36fdaf7b23d46400b3932b21587ae41bf Mon Sep 17 00:00:00 2001 From: Jeremy Newton Date: Tue, 14 Oct 2025 17:18:06 -0400 Subject: [PATCH 11/14] Update to 1.0.11 --- .gitignore | 1 + 0001-Fix-warnings-treewide.patch | 228 ------------------------------- sources | 2 +- umr.spec | 8 +- 4 files changed, 5 insertions(+), 234 deletions(-) delete mode 100644 0001-Fix-warnings-treewide.patch diff --git a/.gitignore b/.gitignore index 9de0e3b..f5f50f7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /umr-1.0.8.tar.gz /umr-1.0.9.tar.gz /umr-1.0.10.tar.gz +/umr-1.0.11.tar.gz diff --git a/0001-Fix-warnings-treewide.patch b/0001-Fix-warnings-treewide.patch deleted file mode 100644 index a5172d4..0000000 --- a/0001-Fix-warnings-treewide.patch +++ /dev/null @@ -1,228 +0,0 @@ -From 56aaa3a997740dc223d01d3106cbab1640fe0e32 Mon Sep 17 00:00:00 2001 -From: Pierre-Eric Pelloux-Prayer -Date: Fri, 31 Jan 2025 12:25:47 +0100 -Subject: [PATCH] Fix warnings treewide. - -Signed-off-by: Pierre-Eric Pelloux-Prayer -Change-Id: Ic5f3611b3a8448e490c149785a4cad4916e3d7be ---- - src/app/gui/commands.c | 2 +- - src/app/server.c | 2 +- - src/app/top.c | 3 --- - src/app/vbios.c | 2 +- - src/lib/lowlevel/linux/umr_clock.c | 7 ++++++- - src/lib/rumr/rumr_serial_asic.c | 2 ++ - src/lib/testing_harness.c | 4 ++++ - src/test/test_server.c | 16 ++++++++-------- - 8 files changed, 23 insertions(+), 15 deletions(-) - -diff --git a/src/app/gui/commands.c b/src/app/gui/commands.c -index 9477eee..ac32af8 100644 ---- a/src/app/gui/commands.c -+++ b/src/app/gui/commands.c -@@ -1584,7 +1584,7 @@ static void ring_done(struct umr_stream_decode_ui *ui) { - struct umr_asic *asics[16] = {0}; - char *ip_discovery_dumps[16] = {0}; - --void init_asics() { -+void init_asics(void) { - struct umr_options opt; - char devname[512]; - int index = 0; -diff --git a/src/app/server.c b/src/app/server.c -index 6d8e6cd..d968d60 100644 ---- a/src/app/server.c -+++ b/src/app/server.c -@@ -28,7 +28,7 @@ - #include "parson.h" - - extern JSON_Value *umr_process_json_request(JSON_Object *request, void **raw_data, unsigned *raw_data_size); --extern void init_asics(); -+extern void init_asics(void); - extern struct umr_asic *asics[16]; - - void run_server_loop(const char *url, struct umr_asic * asic) -diff --git a/src/app/top.c b/src/app/top.c -index a148599..9318085 100644 ---- a/src/app/top.c -+++ b/src/app/top.c -@@ -1127,7 +1127,6 @@ void umr_top(struct umr_asic *asic) - struct timespec req; - uint32_t rep; - time_t tt; -- uint64_t ts; - char hostname[64] = { 0 }; - char fname[64], *e; - pthread_t sensor_thread; -@@ -1193,7 +1192,6 @@ void umr_top(struct umr_asic *asic) - req.tv_sec = 0; - req.tv_nsec = 1000000000/rep; // 10ms - -- ts = 0; - while (!top_options.quit) { - for (i = 0; stat_counters[i].name[0]; i++) - memset(stat_counters[i].counts, 0, sizeof(stat_counters[i].counts[0])*32); -@@ -1215,7 +1213,6 @@ void umr_top(struct umr_asic *asic) - } - } - nanosleep(&req, NULL); -- ts += (req.tv_nsec / 1000000); - } - move(0, 0); - clear(); -diff --git a/src/app/vbios.c b/src/app/vbios.c -index a05a5c5..bb3427e 100644 ---- a/src/app/vbios.c -+++ b/src/app/vbios.c -@@ -50,4 +50,4 @@ int umr_print_vbios_info(struct umr_asic *asic) - - close(asic->fd.drm); - return 0; --} -\ No newline at end of file -+} -diff --git a/src/lib/lowlevel/linux/umr_clock.c b/src/lib/lowlevel/linux/umr_clock.c -index a847f1e..70dcaab 100644 ---- a/src/lib/lowlevel/linux/umr_clock.c -+++ b/src/lib/lowlevel/linux/umr_clock.c -@@ -21,6 +21,7 @@ - * - */ - #include "umr.h" -+#include - - /** - * umr_read_clock - Read a clock information via sysfs -@@ -67,13 +68,17 @@ int umr_set_clock(struct umr_asic *asic, const char* clock_name, void* value) - int fd; - int input_flag = 0; - char input[8]; -+ struct timespec wait = { 0 }; - uint32_t input_len = strlen(value); - int ret = -1; - - umr_set_clock_performance(asic, "manual"); - strcpy(input, value); - input[input_len] = ' '; -- sleep(0.5); -+ -+ wait.tv_nsec = 500 * 1000000; /* 500 ms */ -+ nanosleep(&wait, NULL); -+ - snprintf(name, sizeof(name)-1, \ - "/sys/class/drm/card%d/device/pp_dpm_%s", asic->instance, clock_name); - fd = open(name, O_RDWR); -diff --git a/src/lib/rumr/rumr_serial_asic.c b/src/lib/rumr/rumr_serial_asic.c -index 5f85c03..7c65b4d 100644 ---- a/src/lib/rumr/rumr_serial_asic.c -+++ b/src/lib/rumr/rumr_serial_asic.c -@@ -41,6 +41,8 @@ struct rumr_buffer *rumr_serialize_asic(struct umr_asic *asic) - if (!buf) - return NULL; - -+ #pragma GCC diagnostic ignored "-Wmisleading-indentation" -+ - // ASICNAME - memset(tmpbuf, 0, sizeof tmpbuf); - strcpy(tmpbuf, asic->asicname); -diff --git a/src/lib/testing_harness.c b/src/lib/testing_harness.c -index ddee028..f657c9d 100644 ---- a/src/lib/testing_harness.c -+++ b/src/lib/testing_harness.c -@@ -716,6 +716,8 @@ static int read_sgprs(struct umr_asic *asic, struct umr_wave_data *wd, uint32_t - ((uint64_t)umr_wave_data_get_bits(asic, wd, "ixSQ_WAVE_HW_ID", "WAVE_ID") << 36) | - ((uint64_t)umr_wave_data_get_bits(asic, wd, "ixSQ_WAVE_HW_ID", "SIMD_ID") << 44); - nr = umr_wave_data_num_of_sgprs(asic, wd); -+ } else { -+ return -1; - } - - // grab upto 'nr' words into dst[0..nr-1] -@@ -784,6 +786,8 @@ static int read_vgprs(struct umr_asic *asic, struct umr_wave_data *wd, uint32_t - ((uint64_t)umr_wave_data_get_bits(asic, wd, "ixSQ_WAVE_HW_ID", "SIMD_ID") << 44) | - ((uint64_t)thread << 52); - nr = (umr_wave_data_get_bits(asic, wd, "ixSQ_WAVE_GPR_ALLOC", "VGPR_SIZE") + 1) << granularity; -+ } else { -+ return -1; - } - - // grab upto 'nr' words into dst[0..nr-1] -diff --git a/src/test/test_server.c b/src/test/test_server.c -index fae5623..bc44996 100644 ---- a/src/test/test_server.c -+++ b/src/test/test_server.c -@@ -9,7 +9,7 @@ extern JSON_Array *parse_kms_framebuffer_sysfs_file(struct umr_asic *asic, const - extern JSON_Object *parse_kms_state_sysfs_file(const char *content); - extern JSON_Object *parse_pp_features_sysfs_file(const char *content); - --enum TEST_RESULT test_parse_sysfs_clock_file() -+static enum TEST_RESULT test_parse_sysfs_clock_file(__attribute__((unused)) struct umr_asic* asic) - { - char *content = - "0: 500Mhz \n" -@@ -23,7 +23,7 @@ enum TEST_RESULT test_parse_sysfs_clock_file() - return TEST_SUCCESS; - } - --enum TEST_RESULT test_parse_fence_info() -+static enum TEST_RESULT test_parse_fence_info(__attribute__((unused)) struct umr_asic* asic) - { - const char *before = - "--- ring 0 (gfx_0.0.0) ---\n" -@@ -71,7 +71,7 @@ enum TEST_RESULT test_parse_fence_info() - return TEST_SUCCESS; - } - --enum TEST_RESULT test_parse_vm_info() -+static enum TEST_RESULT test_parse_vm_info(__attribute__((unused)) struct umr_asic* asic) - { - const char *content = - "pid:0\tProcess: ----------\n" -@@ -118,7 +118,7 @@ enum TEST_RESULT test_parse_vm_info() - return TEST_SUCCESS; - } - --enum TEST_RESULT test_parse_gem_info() -+static enum TEST_RESULT test_parse_gem_info(__attribute__((unused)) struct umr_asic* asic) - { - const char *content = - "pid 44961 command Xwayland:\n" -@@ -148,7 +148,7 @@ enum TEST_RESULT test_parse_gem_info() - return TEST_SUCCESS; - } - --enum TEST_RESULT test_parse_sysfs_framebuffer() -+static enum TEST_RESULT test_parse_sysfs_framebuffer(__attribute__((unused)) struct umr_asic* asic) - { - const char *content = - "framebuffer[135]:\n" -@@ -215,7 +215,7 @@ enum TEST_RESULT test_parse_sysfs_framebuffer() - return TEST_SUCCESS; - } - --enum TEST_RESULT test_parse_sysfs_state() -+static enum TEST_RESULT test_parse_sysfs_state(__attribute__((unused)) struct umr_asic* asic) - { - const char *content = - "plane[65]: plane-5\n" -@@ -277,7 +277,7 @@ enum TEST_RESULT test_parse_sysfs_state() - return TEST_SUCCESS; - } - --enum TEST_RESULT test_parse_sysfs_pp_features() -+static enum TEST_RESULT test_parse_sysfs_pp_features(__attribute__((unused)) struct umr_asic* asic) - { - const char *content = - "features high: 0x00003763 low: 0xa37f7dff\n" -@@ -383,7 +383,7 @@ enum TEST_RESULT test_parse_sysfs_pp_features() - return TEST_SUCCESS; - } - --enum TEST_RESULT test_parse_sysfs_pp_features2() -+static enum TEST_RESULT test_parse_sysfs_pp_features2(__attribute__((unused)) struct umr_asic* asic) - { - const char *content = - "Current ppfeatures: 0x0000000019f0e3cf\n" --- -2.48.1 - diff --git a/sources b/sources index 2b5fe09..7544c5c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (umr-1.0.10.tar.gz) = 647f6ff4c700fb99279321a2543c9bffe9d7adabb07924bf4d19313765c8402a52666dfc83c9040a08d7fdc02e0cbbbd9508f557cfb2d82785d9f99d9ee1a3c8 +SHA512 (umr-1.0.11.tar.gz) = e3102d241f59cad2a91ad2a8e1fa3fd373c638f1c45a48ced2e33611bac2d4ed2a93a221d41d239d4021869cea655cd3f2449fd607cdfb7834d1a0da26dc245f diff --git a/umr.spec b/umr.spec index 463393c..4b8cec8 100644 --- a/umr.spec +++ b/umr.spec @@ -3,16 +3,12 @@ Summary: AMDGPU Userspace Register Debugger Name: umr -Version: 1.0.10 +Version: 1.0.11 Release: %autorelease License: MIT URL: https://gitlab.freedesktop.org/tomstdenis/umr Source0: https://gitlab.freedesktop.org/tomstdenis/%{name}/-/archive/%{version}/%{name}-%{version}.tar.gz -# Upstream fixes to newer GCC -#https://gitlab.freedesktop.org/tomstdenis/umr/-/commit/511d5b9bebd91346ee208dfffed304ed05890d8d -Patch0: 0001-Fix-warnings-treewide.patch - #Glibc is too old prior to EL7, enable rt linking to avoid compilation failure %if 0%{?rhel} && 0%{?rhel} < 7 %global enablert 1 @@ -72,6 +68,8 @@ as write to AMDGPU device MMIO, PCIE, SMC, and DIDT registers via userspace. %{_mandir}/man1/* %{_datadir}/%{name} %{_datadir}/bash-completion/completions/%{name} +#Not including static libs right now +%exclude %{_libdir}/lib*.a %changelog %autochangelog From e467a0a7e0533cb4e8e5811d9cea21182560cef8 Mon Sep 17 00:00:00 2001 From: Lucas Zampieri Date: Wed, 26 Nov 2025 13:41:29 +0000 Subject: [PATCH 12/14] Add riscv64 Signed-off-by: David Abdurachmanov Signed-off-by: Lucas Zampieri --- umr.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/umr.spec b/umr.spec index 4b8cec8..4897d01 100644 --- a/umr.spec +++ b/umr.spec @@ -39,7 +39,7 @@ BuildRequires: SDL2-devel BuildRequires: zlib-devel Requires: bash-completion #Disable unnecessary arches, as umr requires the amdgpu kernel module: -ExclusiveArch: x86_64 aarch64 ppc64le +ExclusiveArch: x86_64 aarch64 ppc64le riscv64 %description AMDGPU Userspace Register Debugger (UMR) is a tool to read and display, as well From 80e4efaf438bc8464eb65da37164ca0c088de6b9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 19:35:02 +0000 Subject: [PATCH 13/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From fe6d343f537763670fdeba1a3b96d2070d16f70e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:09:40 +0000 Subject: [PATCH 14/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild