[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1005237: bullseye-pu: package nvidia-persistenced/470.103.01-1~deb11u1



Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
Control: block -1 with 1005129

Hi,

in order to avoid confusion I'd like to keep the major version in sync
and therefore update nvidia-persistenced to a new upstream release from the
470 series along the update of src:nvidia-graphics-drivers (#1005129).

This is a no-change rebuild of the package in sid.


Andreas
diff --git a/Makefile b/Makefile
index 313ec63..182163b 100644
--- a/Makefile
+++ b/Makefile
@@ -58,6 +58,7 @@ OPTIONS_1_INC    = $(OUTPUTDIR)/options.1.inc
 RPC_DIR ?= .
 NVIDIA_CFG_DIR ?= .
 NVIDIA_NUMA_DIR ?= .
+NV_IOCTL_INC_DIR ?= .
 
 ##############################################################################
 # The common-utils directory may be in one of two places: either elsewhere in
@@ -84,6 +85,7 @@ OBJS = $(call BUILD_OBJECT_LIST,$(SRC))
 common_cflags += -I $(COMMON_UTILS_DIR)
 common_cflags += -I $(NVIDIA_CFG_DIR)
 common_cflags += -I $(NVIDIA_NUMA_DIR)
+common_cflags += -I $(NV_IOCTL_INC_DIR)
 common_cflags += -I $(RPC_DIR)
 common_cflags += -I $(OUTPUTDIR)
 common_cflags += -I .
diff --git a/common-utils/gen-manpage-opts-helper.c b/common-utils/gen-manpage-opts-helper.c
index b41e2aa..56ba7b3 100644
--- a/common-utils/gen-manpage-opts-helper.c
+++ b/common-utils/gen-manpage-opts-helper.c
@@ -31,7 +31,8 @@
 
 static void print_option(const NVGetoptOption *o)
 {
-    char scratch[64], *s;
+    char scratch[64];
+    const char *s;
     int j, len;
 
     int italics, bold, omitWhiteSpace, firstchar;
diff --git a/common-utils/nvgetopt.h b/common-utils/nvgetopt.h
index 0262aac..37da80e 100644
--- a/common-utils/nvgetopt.h
+++ b/common-utils/nvgetopt.h
@@ -117,8 +117,8 @@ typedef struct {
     const char *name;
     int val;
     unsigned int flags;
-    char *arg_name;     /* not used by nvgetopt() */
-    char *description;  /* not used by nvgetopt() */
+    const char *arg_name;     /* not used by nvgetopt() */
+    const char *description;  /* not used by nvgetopt() */
 } NVGetoptOption;
 
 
diff --git a/debian/changelog b/debian/changelog
index a4de794..0093d24 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,29 @@
+nvidia-persistenced (470.103.01-1~deb11u1) bullseye; urgency=medium
+
+  * Rebuild for bullseye.
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 09 Feb 2022 17:26:04 +0100
+
+nvidia-persistenced (470.103.01-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Andreas Beckmann <anbe@debian.org>  Tue, 08 Feb 2022 12:25:41 +0100
+
+nvidia-persistenced (470.82.00-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Bump Standards-Version to 4.6.0. No changes needed.
+
+ -- Andreas Beckmann <anbe@debian.org>  Mon, 08 Nov 2021 11:27:53 +0100
+
+nvidia-persistenced (470.57.02-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Add libnvidia-tesla-{470,460}-cfg1 as alternative dependencies.
+
+ -- Andreas Beckmann <anbe@debian.org>  Mon, 02 Aug 2021 13:06:55 +0200
+
 nvidia-persistenced (460.32.03-1) unstable; urgency=medium
 
   * New upstream release.
diff --git a/debian/control b/debian/control
index 058bfe0..234659a 100644
--- a/debian/control
+++ b/debian/control
@@ -10,7 +10,7 @@ Build-Depends:
  libtirpc-dev,
  m4,
 Rules-Requires-Root: no
-Standards-Version: 4.5.1
+Standards-Version: 4.6.0
 Homepage: https://github.com/NVIDIA/nvidia-persistenced
 Vcs-Browser: https://salsa.debian.org/nvidia-team/nvidia-persistenced
 Vcs-Git: https://salsa.debian.org/nvidia-team/nvidia-persistenced.git
@@ -22,8 +22,9 @@ Pre-Depends:
  ${misc:Pre-Depends}
 Depends:
  libnvidia-cfg1 [!i386 !armhf !ppc64el]
+ | libnvidia-tesla-470-cfg1 [amd64 arm64 ppc64el]
+ | libnvidia-tesla-460-cfg1 [amd64 arm64 ppc64el]
  | libnvidia-tesla-450-cfg1 [amd64 arm64 ppc64el]
- | libnvidia-tesla-440-cfg1 [amd64 ppc64el]
  | libnvidia-tesla-418-cfg1 [amd64 ppc64el]
  | libnvidia-legacy-390xx-cfg1 [amd64 i386 armhf]
  | libnvidia-legacy-340xx-cfg1 [amd64 i386 armhf]
diff --git a/debian/copyright b/debian/copyright
index 76b71be..bdd4fbd 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -9,11 +9,11 @@ Disclaimer:
  NVIDIA drivers in non-free.
 
 Files: *
-Copyright: Copyright (C) 2004-2018 NVIDIA Corporation
+Copyright: Copyright (C) 2004-2020 NVIDIA Corporation
 License: Expat
 
 Files: debian/*
-Copyright: © 2014-2021 Andreas Beckmann <anbe@debian.org>
+Copyright: © 2014-2022 Andreas Beckmann <anbe@debian.org>
 License: Expat
 
 License: Expat
diff --git a/nv-ioctl-numa.h b/nv-ioctl-numa.h
new file mode 100644
index 0000000..b051586
--- /dev/null
+++ b/nv-ioctl-numa.h
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifndef NV_IOCTL_NUMA_H
+#define NV_IOCTL_NUMA_H
+
+#if defined(NV_LINUX)
+
+#include <nv-ioctl-numbers.h>
+
+#if defined(NV_KERNEL_INTERFACE_LAYER)
+
+#include <linux/types.h>
+
+#else
+
+#include <stdint.h>
+
+#if !defined(__aligned)
+#define __aligned(n) __attribute__((aligned(n)))
+#endif
+
+#endif
+
+#define NV_ESC_NUMA_INFO         (NV_IOCTL_BASE + 15)
+#define NV_ESC_SET_NUMA_STATUS   (NV_IOCTL_BASE + 16)
+
+#define NV_IOCTL_NUMA_INFO_MAX_OFFLINE_ADDRESSES 64
+typedef struct offline_addresses
+{
+    uint64_t addresses[NV_IOCTL_NUMA_INFO_MAX_OFFLINE_ADDRESSES] __aligned(8);
+    uint32_t numEntries;
+} nv_offline_addresses_t;
+
+
+/* per-device NUMA memory info as assigned by the system */
+typedef struct nv_ioctl_numa_info
+{
+    int32_t  nid;
+    int32_t  status;
+    uint64_t memblock_size __aligned(8);
+    uint64_t numa_mem_addr __aligned(8);
+    uint64_t numa_mem_size __aligned(8);
+    nv_offline_addresses_t offline_addresses __aligned(8);
+} nv_ioctl_numa_info_t;
+
+/* set the status of the device NUMA memory */
+typedef struct nv_ioctl_set_numa_status
+{
+    int32_t status;
+} nv_ioctl_set_numa_status_t;
+
+#define NV_IOCTL_NUMA_STATUS_DISABLED               0
+#define NV_IOCTL_NUMA_STATUS_OFFLINE                1
+#define NV_IOCTL_NUMA_STATUS_ONLINE_IN_PROGRESS     2
+#define NV_IOCTL_NUMA_STATUS_ONLINE                 3
+#define NV_IOCTL_NUMA_STATUS_ONLINE_FAILED          4
+#define NV_IOCTL_NUMA_STATUS_OFFLINE_IN_PROGRESS    5
+#define NV_IOCTL_NUMA_STATUS_OFFLINE_FAILED         6
+
+#endif
+
+#endif
diff --git a/nv-ioctl-numbers.h b/nv-ioctl-numbers.h
new file mode 100644
index 0000000..14821b8
--- /dev/null
+++ b/nv-ioctl-numbers.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifndef NV_IOCTL_NUMBERS_H
+#define NV_IOCTL_NUMBERS_H
+
+/* NOTE: using an ioctl() number > 55 will overflow! */
+#define NV_IOCTL_MAGIC      'F'
+#define NV_IOCTL_BASE       200
+#define NV_ESC_CARD_INFO         (NV_IOCTL_BASE + 0)
+#define NV_ESC_REGISTER_FD       (NV_IOCTL_BASE + 1)
+#define NV_ESC_ALLOC_OS_EVENT    (NV_IOCTL_BASE + 6)
+#define NV_ESC_FREE_OS_EVENT     (NV_IOCTL_BASE + 7)
+#define NV_ESC_STATUS_CODE       (NV_IOCTL_BASE + 9)
+#define NV_ESC_CHECK_VERSION_STR (NV_IOCTL_BASE + 10)
+#define NV_ESC_IOCTL_XFER_CMD    (NV_IOCTL_BASE + 11)
+#define NV_ESC_ATTACH_GPUS_TO_FD (NV_IOCTL_BASE + 12)
+#define NV_ESC_QUERY_DEVICE_INTR (NV_IOCTL_BASE + 13)
+#define NV_ESC_SYS_PARAMS        (NV_IOCTL_BASE + 14)
+
+#endif
diff --git a/nvidia-numa.c b/nvidia-numa.c
index c4098d0..0703806 100644
--- a/nvidia-numa.c
+++ b/nvidia-numa.c
@@ -38,6 +38,7 @@
 #include <errno.h>
 
 #include "common-utils.h"
+#include "nv-ioctl-numa.h"
 #include "nvidia-numa.h"
 
 #define NV_DEVICE_INFO_PATH_FMT \
@@ -57,15 +58,12 @@
 #define STATE_ONLINE                 "online"
 #define VALID_MOVABLE_STATE          "Movable"
 
-#define NV_IOCTL_MAGIC               'F'
-#define NV_IOCTL_BASE                200
-#define NV_ESC_NUMA_INFO             (NV_IOCTL_BASE + 15)
-#define NV_ESC_SET_NUMA_STATUS       (NV_IOCTL_BASE + 16)
-
 #ifndef NV_IS_ALIGNED
 #define NV_IS_ALIGNED(v, gran)       (0 == ((v) & ((gran) - 1)))
 #endif
 
+typedef int mem_state_t;
+
 static inline char* mem_state_to_string(mem_state_t state)
 {
     switch (state)
@@ -488,7 +486,7 @@ int change_numa_node_state(uint32_t node_id, uint64_t region_gpu_size,
 }
 
 static
-int offline_blacklisted_pages(nv_blacklist_addresses_t *blacklist_addresses)
+int offline_blacklisted_pages(nv_offline_addresses_t *blacklist_addresses)
 {
     int index;
     int status = 0;
@@ -886,7 +884,7 @@ NvPdStatus nvNumaOnlineMemory(NvNumaDevice *numa_info)
     }
 
 set_driver_status:
-    status = offline_blacklisted_pages(&numa_info_params.blacklist_addresses);
+    status = offline_blacklisted_pages(&numa_info_params.offline_addresses);
     if (status < 0) {
         syslog_device(device_pci_info,
                       LOG_ERR,
diff --git a/nvidia-numa.h b/nvidia-numa.h
index 7d30fc1..b9e9a32 100644
--- a/nvidia-numa.h
+++ b/nvidia-numa.h
@@ -26,49 +26,6 @@
 #include "nvpd_rpc.h"
 #include "nvidia-syslog-utils.h"
 
-#define NV_IOCTL_NUMA_INFO_MAX_BLACKLIST_ADDRESSES 64
-
-typedef enum
-{
-    NV_IOCTL_NUMA_STATUS_DISABLED             = 0,
-    NV_IOCTL_NUMA_STATUS_OFFLINE              = 1,
-    NV_IOCTL_NUMA_STATUS_ONLINE_IN_PROGRESS   = 2,
-    NV_IOCTL_NUMA_STATUS_ONLINE               = 3,
-    NV_IOCTL_NUMA_STATUS_ONLINE_FAILED        = 4,
-    NV_IOCTL_NUMA_STATUS_OFFLINE_IN_PROGRESS  = 5,
-    NV_IOCTL_NUMA_STATUS_OFFLINE_FAILED       = 6
-} mem_state_t;
-
-/* system parameters that the kernel driver may use for configuration */
-typedef struct nv_ioctl_sys_params
-{
-    uint64_t memblock_size;
-} nv_ioctl_sys_params_t;
-
-/* list of device blacklisted addresses */
-typedef struct blacklist_addresses
-{
-    uint64_t  addresses[NV_IOCTL_NUMA_INFO_MAX_BLACKLIST_ADDRESSES];
-    uint32_t  numEntries;
-} nv_blacklist_addresses_t;
-
-/* per-device NUMA memory info as assigned by the system */
-typedef struct nv_ioctl_numa_info
-{
-    int nid;
-    int status;
-    uint64_t memblock_size;
-    uint64_t numa_mem_addr;
-    uint64_t numa_mem_size;
-    nv_blacklist_addresses_t blacklist_addresses;
-} nv_ioctl_numa_info_t;
-
-/* set the status of the device NUMA memory */
-typedef struct nv_ioctl_set_numa_status
-{
-    int status;
-} nv_ioctl_set_numa_status_t;
-
 /* per-device NUMA context */
 typedef struct
 {
diff --git a/utils.mk b/utils.mk
index af0e3d7..e5ac3a2 100644
--- a/utils.mk
+++ b/utils.mk
@@ -33,10 +33,11 @@
 ##############################################################################
 
 CC                    ?= gcc
+CXX                   ?= g++
 LD                    ?= ld
 AR                    ?= ar
-# only set these warnings and optimizations if CFLAGS is unset
-CFLAGS                ?= -Wall -O2
+# only set these warnings if CFLAGS is unset
+CFLAGS                ?= -Wall
 # always set these -f CFLAGS
 CFLAGS                += -fno-strict-aliasing -fno-omit-frame-pointer -Wformat=2
 CC_ONLY_CFLAGS        ?=
@@ -58,16 +59,27 @@ CFLAGS                += -Wno-unused-parameter
 HOST_CC_ONLY_CFLAGS   += -Wno-format-zero-length
 HOST_CFLAGS           += -Wno-unused-parameter
 
+DEBUG                 ?=
+DEVELOP               ?=
+
 ifeq ($(DEBUG),1)
   STRIP_CMD           ?= true
   DO_STRIP            ?=
   CFLAGS              += -O0 -g
   CFLAGS              += -DDEBUG=1
 else
-  STRIP_CMD           ?= strip
-  DO_STRIP            ?= 1
+  CFLAGS              += -O2
 endif
 
+ifeq ($(DEVELOP),1)
+  STRIP_CMD           ?= true
+  DO_STRIP            ?=
+  CFLAGS              += -DDEVELOP=1
+endif
+
+STRIP_CMD             ?= strip
+DO_STRIP              ?= 1
+
 INSTALL               ?= install
 INSTALL_BIN_ARGS      ?= -m 755
 INSTALL_LIB_ARGS      ?= -m 644
@@ -185,6 +197,21 @@ ifneq ($(_eval_available),T)
 endif
 
 
+##############################################################################
+# Test passing $(1) to $(CC).  If $(CC) succeeds, then echo $(1).
+#
+# Because this uses $(shell), it is best to use this to assign simply expanded
+# variables (e.g., ":=").
+#
+# Example usage:
+#  CONDITIONAL_CFLAGS := $(call TEST_CC_ARG, -ffoo)
+##############################################################################
+
+TEST_CC_ARG = \
+ $(shell $(CC) -c -x c /dev/null $(1) -o /dev/null > /dev/null 2>&1 && \
+   $(ECHO) $(1))
+
+
 ##############################################################################
 # define variables used when installing the open source utilities from
 # the source tarball
@@ -276,7 +303,7 @@ host_target = $(patsubst HOST,HOST_,$(patsubst TARGET,,$(1)))
 
 ifeq ($(NV_AUTO_DEPEND),1)
   AUTO_DEP_SUFFIX = -MMD -MF $$(@:.o=.d.to_be_processed) -MP -MT $$@ && \
-    $$(SED) -e "1,3s@ $$< @ @" < $$(@:.o=.d.to_be_processed) > $$(@:.o=.d)
+    $$(SED) -e "1,3s| $$< | |" < $$(@:.o=.d.to_be_processed) > $$(@:.o=.d)
 else
   AUTO_DEP_SUFFIX =
 endif
@@ -486,8 +513,9 @@ endif
 define GENERATE_NVIDSTRING
   # g_nvid_string.c depends on all objects except g_nvid_string.o, and version.mk
   $(NVIDSTRING): $$(filter-out $$(call BUILD_OBJECT_LIST,$$(NVIDSTRING)), $(3)) $$(VERSION_MK)
-	@$$(ECHO) "const char $(1)[] = \"nvidia id: NVIDIA $$(strip $(2)) for $$(TARGET_ARCH)  $$(NVIDIA_VERSION)  $$(NVIDSTRING_BUILD_TYPE_STRING)  (`$$(WHOAMI)`@`$$(HOSTNAME)`)  `$$(DATE)`\";" > $$@
-	@$$(ECHO) "const char *const p$$(strip $(1)) = $(1) + 11;" >> $$@;
+	$(at_if_quiet)$$(MKDIR) $$(dir $$@)
+	$(at_if_quiet)$$(ECHO) "const char $(1)[] = \"nvidia id: NVIDIA $$(strip $(2)) for $$(TARGET_ARCH)  $$(NVIDIA_VERSION)  $$(NVIDSTRING_BUILD_TYPE_STRING)  (`$$(WHOAMI)`@`$$(HOSTNAME)`)  `$$(DATE)`\";" > $$@
+	$(at_if_quiet)$$(ECHO) "const char *const p$$(strip $(1)) = $(1) + 11;" >> $$@;
 endef
 
 
@@ -510,6 +538,7 @@ endef
 
 define READ_ONLY_OBJECT_FROM_FILE_RULE
   $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1)
+	$(at_if_quiet)$$(MKDIR) $$(OUTPUTDIR)
 	$(at_if_quiet)cd $$(dir $(1)); \
 	$$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
 	    $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
diff --git a/version.mk b/version.mk
index b3f509d..061d452 100644
--- a/version.mk
+++ b/version.mk
@@ -1,4 +1,4 @@
-NVIDIA_VERSION = 460.32.03
+NVIDIA_VERSION = 470.103.01
 
 # This file.
 VERSION_MK_FILE := $(lastword $(MAKEFILE_LIST))

Reply to: