--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: bullseye-pu: package nvidia-persistenced/470.103.01-1~deb11u1
- From: Andreas Beckmann <anbe@debian.org>
- Date: Wed, 09 Feb 2022 19:55:49 +0100
- Message-id: <164443294968.17223.17725263198408631849.reportbug@zam504.zam.kfa-juelich.de>
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))
--- End Message ---