From 18de80cf9110db85603406df9ad02b1b3880a2aa Mon Sep 17 00:00:00 2001 From: Renbo Date: Wed, 4 Dec 2024 11:49:12 +0800 Subject: [PATCH 1/3] [BA] update to libdrm-2.4.121-1.src.rpm to #IB8YIC update to libdrm-2.4.121-1.src.rpm Signed-off-by: Renbo --- download | 2 +- libdrm-2.4.117-sw.patch | 93 --------------------------------------- libdrm-2.4.117-sw8a.patch | 14 ------ libdrm.spec | 18 +++----- 4 files changed, 8 insertions(+), 119 deletions(-) delete mode 100644 libdrm-2.4.117-sw.patch delete mode 100644 libdrm-2.4.117-sw8a.patch diff --git a/download b/download index bebd0aa..062d09a 100644 --- a/download +++ b/download @@ -1 +1 @@ -69b17be6250b2c863411e0c5f6aefd6a libdrm-2.4.117.tar.xz +9eaa82b7b7a79972c6b11dd25a4356b1 libdrm-2.4.121.tar.xz diff --git a/libdrm-2.4.117-sw.patch b/libdrm-2.4.117-sw.patch deleted file mode 100644 index 900b102..0000000 --- a/libdrm-2.4.117-sw.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 34ccc56ce6a51f8ff3f84132be1e0d48940863cb Mon Sep 17 00:00:00 2001 -From: Weisson -Date: Thu, 1 Feb 2024 20:58:35 +0800 -Subject: [PATCH] add sw support. - -Signed-off-by: Weisson ---- - include/drm/drm_sarea.h | 4 +++- - xf86drm.c | 2 +- - xf86drm.h | 32 +++++++++++++++++++++++++++++++- - 3 files changed, 35 insertions(+), 3 deletions(-) - -diff --git a/include/drm/drm_sarea.h b/include/drm/drm_sarea.h -index 93025be..60b979a 100644 ---- a/include/drm/drm_sarea.h -+++ b/include/drm/drm_sarea.h -@@ -39,7 +39,9 @@ extern "C" { - #endif - - /* SAREA area needs to be at least a page */ --#if defined(__alpha__) -+#if defined(__sw_64__) -+#define SAREA_MAX 0x2000U -+#elif defined(__alpha__) - #define SAREA_MAX 0x2000U - #elif defined(__mips__) - #define SAREA_MAX 0x4000U -diff --git a/xf86drm.c b/xf86drm.c -index 5295abe..7bcfa28 100644 ---- a/xf86drm.c -+++ b/xf86drm.c -@@ -1112,7 +1112,7 @@ static int drmOpenByBusid(const char *busid, int type) - sv.drm_dd_major = -1; /* Don't care */ - sv.drm_dd_minor = -1; /* Don't care */ - if (drmSetInterfaceVersion(fd, &sv)) { --#ifndef __alpha__ -+#ifndef __sw_64__ - pci_domain_ok = 0; - #endif - sv.drm_di_major = 1; -diff --git a/xf86drm.h b/xf86drm.h -index 7a5b4ae..8e4d7cb 100644 ---- a/xf86drm.h -+++ b/xf86drm.h -@@ -382,6 +382,34 @@ typedef struct _drmSetVersion { - "r" (new)); \ - } while (0) - -+#elif defined(__sw_64__) -+#define DRM_CAS(lock, old, new, ret) \ -+ do { \ -+ int tmp, old32; \ -+ int tmp1; \ -+ __asm__ __volatile__( \ -+ " addw $31, %6, %4\n" \ -+ " ldi %1, %3\n" \ -+ "1: lldw %0, 0(%1)\n" \ -+ " cmpeq %0, %4, %2\n" \ -+ " wr_f %2\n" \ -+ " mov %5, %0\n" \ -+ " lstw %0, 0(%1)\n" \ -+ " rd_f %0\n" \ -+ " beq %2, 2f\n" \ -+ " beq %0, 3f\n" \ -+ " memb\n" \ -+ "2: cmpeq %2, 0, %2\n" \ -+ ".subsection 2\n" \ -+ "3: br 1b\n" \ -+ ".previous" \ -+ : "=&r"(tmp), "=&r"(tmp1), "=&r"(ret), \ -+ "=m"(__drm_dummy_lock(lock)), \ -+ "=&r"(old32) \ -+ : "r"(new), "r"(old) \ -+ : "memory"); \ -+ } while (0) -+ - #elif defined(__alpha__) - - #define DRM_CAS(lock, old, new, ret) \ -@@ -511,7 +539,9 @@ do { register unsigned int __old __asm("o0"); \ - #define DRM_CAS(lock,old,new,ret) do { ret=1; } while (0) /* FAST LOCK FAILS */ - #endif - --#if defined(__alpha__) -+#if defined(__sw_64__) -+#define DRM_CAS_RESULT(_result) long _result -+#elif defined(__alpha__) - #define DRM_CAS_RESULT(_result) long _result - #elif defined(__powerpc__) - #define DRM_CAS_RESULT(_result) int _result --- -2.31.1 - diff --git a/libdrm-2.4.117-sw8a.patch b/libdrm-2.4.117-sw8a.patch deleted file mode 100644 index 4650002..0000000 --- a/libdrm-2.4.117-sw8a.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -uNar libdrm-2.4.115.org/xf86drm.h libdrm-2.4.115.new/xf86drm.h ---- libdrm-2.4.115.org/xf86drm.h 2024-04-17 14:28:53.679049167 +0800 -+++ libdrm-2.4.115.new/xf86drm.h 2024-04-17 14:31:45.650434817 +0800 -@@ -392,10 +392,8 @@ - " ldi %1, %3\n" \ - "1: lldw %0, 0(%1)\n" \ - " cmpeq %0, %4, %2\n" \ -- " wr_f %2\n" \ - " mov %5, %0\n" \ - " lstw %0, 0(%1)\n" \ -- " rd_f %0\n" \ - " beq %2, 2f\n" \ - " beq %0, 3f\n" \ - " memb\n" \ diff --git a/libdrm.spec b/libdrm.spec index 9511a88..a463681 100644 --- a/libdrm.spec +++ b/libdrm.spec @@ -51,12 +51,10 @@ end} %bcond_without install_test_programs %bcond_without udev -%define anolis_release .0.2 - Name: libdrm Summary: Direct Rendering Manager runtime library -Version: 2.4.117 -Release: 1%{anolis_release}%{?dist} +Version: 2.4.121 +Release: 1%{?dist} License: MIT URL: https://dri.freedesktop.org @@ -90,8 +88,6 @@ BuildRequires: chrpath Patch1001: libdrm-make-dri-perms-okay.patch # remove backwards compat not needed on Fedora Patch1002: libdrm-2.4.0-no-bc.patch -Patch1003: libdrm-2.4.117-sw.patch -Patch1004: libdrm-2.4.117-sw8a.patch %description Direct Rendering Manager runtime library @@ -283,12 +279,12 @@ cp %{SOURCE1} %{buildroot}%{_docdir}/libdrm %endif %changelog -* Tue Nov 5 2024 wxiat - 2.4.117-1.0.2 -- cherry-pick `add sw8a support #f9d26569486686a856a8599a0daf83944c3212e1`. +* Wed Jun 05 2024 José Expósito - 2.4.121-1 +- Update to 2.4.121 -* Tue May 21 2024 wxiat - 2.4.117-1.0.1 -- cherry-pick `add sw arch #69144edad3fa9f6d32041144524ba7509d3bc9a3`. -- cherry-pick `Fix sw macro #ffacd58d562e62de7abf3ed2128aaaee26a703e2`. +* Mon May 27 2024 José Expósito - 2.4.120-1 +- Update to 2.4.120 +- Fix findings from static application security testing (SAST) * Mon Nov 06 2023 José Expósito - 2.4.117-1 - Update to 2.4.117 -- Gitee From 25c60ef498593d30d6f88f9b323d98cf89c969ac Mon Sep 17 00:00:00 2001 From: wxiat Date: Mon, 31 Jul 2023 15:39:03 +0800 Subject: [PATCH 2/3] cherry-pick `add sw arch #69144edad3fa9f6d32041144524ba7509d3bc9a3`. cherry-pick `Fix sw macro #ffacd58d562e62de7abf3ed2128aaaee26a703e2`. Signed-off-by: Weisson --- libdrm-2.4.114-sw.patch | 93 +++++++++++++++++++++++++++++++++++++++++ libdrm.spec | 9 +++- 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 libdrm-2.4.114-sw.patch diff --git a/libdrm-2.4.114-sw.patch b/libdrm-2.4.114-sw.patch new file mode 100644 index 0000000..900b102 --- /dev/null +++ b/libdrm-2.4.114-sw.patch @@ -0,0 +1,93 @@ +From 34ccc56ce6a51f8ff3f84132be1e0d48940863cb Mon Sep 17 00:00:00 2001 +From: Weisson +Date: Thu, 1 Feb 2024 20:58:35 +0800 +Subject: [PATCH] add sw support. + +Signed-off-by: Weisson +--- + include/drm/drm_sarea.h | 4 +++- + xf86drm.c | 2 +- + xf86drm.h | 32 +++++++++++++++++++++++++++++++- + 3 files changed, 35 insertions(+), 3 deletions(-) + +diff --git a/include/drm/drm_sarea.h b/include/drm/drm_sarea.h +index 93025be..60b979a 100644 +--- a/include/drm/drm_sarea.h ++++ b/include/drm/drm_sarea.h +@@ -39,7 +39,9 @@ extern "C" { + #endif + + /* SAREA area needs to be at least a page */ +-#if defined(__alpha__) ++#if defined(__sw_64__) ++#define SAREA_MAX 0x2000U ++#elif defined(__alpha__) + #define SAREA_MAX 0x2000U + #elif defined(__mips__) + #define SAREA_MAX 0x4000U +diff --git a/xf86drm.c b/xf86drm.c +index 5295abe..7bcfa28 100644 +--- a/xf86drm.c ++++ b/xf86drm.c +@@ -1112,7 +1112,7 @@ static int drmOpenByBusid(const char *busid, int type) + sv.drm_dd_major = -1; /* Don't care */ + sv.drm_dd_minor = -1; /* Don't care */ + if (drmSetInterfaceVersion(fd, &sv)) { +-#ifndef __alpha__ ++#ifndef __sw_64__ + pci_domain_ok = 0; + #endif + sv.drm_di_major = 1; +diff --git a/xf86drm.h b/xf86drm.h +index 7a5b4ae..8e4d7cb 100644 +--- a/xf86drm.h ++++ b/xf86drm.h +@@ -382,6 +382,34 @@ typedef struct _drmSetVersion { + "r" (new)); \ + } while (0) + ++#elif defined(__sw_64__) ++#define DRM_CAS(lock, old, new, ret) \ ++ do { \ ++ int tmp, old32; \ ++ int tmp1; \ ++ __asm__ __volatile__( \ ++ " addw $31, %6, %4\n" \ ++ " ldi %1, %3\n" \ ++ "1: lldw %0, 0(%1)\n" \ ++ " cmpeq %0, %4, %2\n" \ ++ " wr_f %2\n" \ ++ " mov %5, %0\n" \ ++ " lstw %0, 0(%1)\n" \ ++ " rd_f %0\n" \ ++ " beq %2, 2f\n" \ ++ " beq %0, 3f\n" \ ++ " memb\n" \ ++ "2: cmpeq %2, 0, %2\n" \ ++ ".subsection 2\n" \ ++ "3: br 1b\n" \ ++ ".previous" \ ++ : "=&r"(tmp), "=&r"(tmp1), "=&r"(ret), \ ++ "=m"(__drm_dummy_lock(lock)), \ ++ "=&r"(old32) \ ++ : "r"(new), "r"(old) \ ++ : "memory"); \ ++ } while (0) ++ + #elif defined(__alpha__) + + #define DRM_CAS(lock, old, new, ret) \ +@@ -511,7 +539,9 @@ do { register unsigned int __old __asm("o0"); \ + #define DRM_CAS(lock,old,new,ret) do { ret=1; } while (0) /* FAST LOCK FAILS */ + #endif + +-#if defined(__alpha__) ++#if defined(__sw_64__) ++#define DRM_CAS_RESULT(_result) long _result ++#elif defined(__alpha__) + #define DRM_CAS_RESULT(_result) long _result + #elif defined(__powerpc__) + #define DRM_CAS_RESULT(_result) int _result +-- +2.31.1 + diff --git a/libdrm.spec b/libdrm.spec index a463681..7ddbee5 100644 --- a/libdrm.spec +++ b/libdrm.spec @@ -51,10 +51,12 @@ end} %bcond_without install_test_programs %bcond_without udev +%define anolis_release .0.1 + Name: libdrm Summary: Direct Rendering Manager runtime library Version: 2.4.121 -Release: 1%{?dist} +Release: 1%{anolis_release}%{?dist} License: MIT URL: https://dri.freedesktop.org @@ -88,6 +90,7 @@ BuildRequires: chrpath Patch1001: libdrm-make-dri-perms-okay.patch # remove backwards compat not needed on Fedora Patch1002: libdrm-2.4.0-no-bc.patch +Patch1003: libdrm-2.4.114-sw.patch %description Direct Rendering Manager runtime library @@ -279,6 +282,10 @@ cp %{SOURCE1} %{buildroot}%{_docdir}/libdrm %endif %changelog +* Wed Dec 04 2024 wxiat - 2.4.121-1.0.1 +- cherry-pick `add sw arch #69144edad3fa9f6d32041144524ba7509d3bc9a3`. +- cherry-pick `Fix sw macro #ffacd58d562e62de7abf3ed2128aaaee26a703e2`. + * Wed Jun 05 2024 José Expósito - 2.4.121-1 - Update to 2.4.121 -- Gitee From e15d5c65a554381800774ec85de3c5b0d928d835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E5=90=8E=E9=93=B6?= <@kanghou-silver> Date: Wed, 17 Apr 2024 17:38:05 +0800 Subject: [PATCH 3/3] add sw8a support. delete wr_f and rd_f in xf86drm.h. Signed-off-by: Weisson --- libdrm-2.4.114-sw.patch => libdrm-2.4.117-sw.patch | 0 libdrm-2.4.117-sw8a.patch | 14 ++++++++++++++ libdrm.spec | 4 +++- 3 files changed, 17 insertions(+), 1 deletion(-) rename libdrm-2.4.114-sw.patch => libdrm-2.4.117-sw.patch (100%) create mode 100644 libdrm-2.4.117-sw8a.patch diff --git a/libdrm-2.4.114-sw.patch b/libdrm-2.4.117-sw.patch similarity index 100% rename from libdrm-2.4.114-sw.patch rename to libdrm-2.4.117-sw.patch diff --git a/libdrm-2.4.117-sw8a.patch b/libdrm-2.4.117-sw8a.patch new file mode 100644 index 0000000..4650002 --- /dev/null +++ b/libdrm-2.4.117-sw8a.patch @@ -0,0 +1,14 @@ +diff -uNar libdrm-2.4.115.org/xf86drm.h libdrm-2.4.115.new/xf86drm.h +--- libdrm-2.4.115.org/xf86drm.h 2024-04-17 14:28:53.679049167 +0800 ++++ libdrm-2.4.115.new/xf86drm.h 2024-04-17 14:31:45.650434817 +0800 +@@ -392,10 +392,8 @@ + " ldi %1, %3\n" \ + "1: lldw %0, 0(%1)\n" \ + " cmpeq %0, %4, %2\n" \ +- " wr_f %2\n" \ + " mov %5, %0\n" \ + " lstw %0, 0(%1)\n" \ +- " rd_f %0\n" \ + " beq %2, 2f\n" \ + " beq %0, 3f\n" \ + " memb\n" \ diff --git a/libdrm.spec b/libdrm.spec index 7ddbee5..ec80333 100644 --- a/libdrm.spec +++ b/libdrm.spec @@ -90,7 +90,8 @@ BuildRequires: chrpath Patch1001: libdrm-make-dri-perms-okay.patch # remove backwards compat not needed on Fedora Patch1002: libdrm-2.4.0-no-bc.patch -Patch1003: libdrm-2.4.114-sw.patch +Patch1003: libdrm-2.4.117-sw.patch +Patch1004: libdrm-2.4.117-sw8a.patch %description Direct Rendering Manager runtime library @@ -285,6 +286,7 @@ cp %{SOURCE1} %{buildroot}%{_docdir}/libdrm * Wed Dec 04 2024 wxiat - 2.4.121-1.0.1 - cherry-pick `add sw arch #69144edad3fa9f6d32041144524ba7509d3bc9a3`. - cherry-pick `Fix sw macro #ffacd58d562e62de7abf3ed2128aaaee26a703e2`. +- cherry-pick `add sw8a support #f9d26569486686a856a8599a0daf83944c3212e1`. * Wed Jun 05 2024 José Expósito - 2.4.121-1 - Update to 2.4.121 -- Gitee