summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2018-01-04 09:47:07 -0800
committerAaron Plattner <aplattner@nvidia.com>2018-01-04 09:47:07 -0800
commitdd2cd0d13a84aa4dd073da1c3ecef5d16d0bef07 (patch)
tree7d102eac9bf97ce689b1f4e5c48faf0b91e7ee4b
parent4f958b45ef96222645abe4e55693734ed339c137 (diff)
390.12390.12
-rw-r--r--files.c12
-rw-r--r--install-from-cwd.c29
-rw-r--r--kernel.c18
-rw-r--r--manifest.c1
-rw-r--r--misc.c10
-rw-r--r--misc.h6
-rw-r--r--nvidia-installer.c28
-rw-r--r--nvidia-installer.h2
-rw-r--r--option_table.h5
-rw-r--r--version.mk2
10 files changed, 16 insertions, 97 deletions
diff --git a/files.c b/files.c
index 0eb1d0f..e3f7d79 100644
--- a/files.c
+++ b/files.c
@@ -856,7 +856,6 @@ int set_destinations(Options *op, Package *p)
*/
prefix = "/etc/vulkan/icd.d/";
dir = path = "";
- path = "";
break;
case FILE_TYPE_GLVND_EGL_ICD_JSON:
@@ -869,8 +868,15 @@ int set_destinations(Options *op, Package *p)
case FILE_TYPE_EGL_EXTERNAL_PLATFORM_JSON:
prefix = op->external_platform_json_path;
- dir = "";
- path = "";
+ dir = path = "";
+ break;
+
+ case FILE_TYPE_ALLOCATOR_JSON:
+ /*
+ * Defined in the prototype allocator driver loader module code.
+ */
+ prefix = "/etc/allocator/";
+ dir = path = "";
break;
default:
diff --git a/install-from-cwd.c b/install-from-cwd.c
index 659d053..43266a1 100644
--- a/install-from-cwd.c
+++ b/install-from-cwd.c
@@ -793,35 +793,6 @@ static Package *parse_manifest (Options *op)
line++;
tmpstr = get_next_line(ptr, &ptr, manifest, len);
-
- /*
- * On Multi-RM builds, build nvidia-frontend and nvidiaX modules.
- * On Single-RM builds, build all the modules as specified in
- * the '.manifest' file on line 4.
- */
- if (is_multi_rm_install(op)) {
- char *multi_rm_modules = NULL;
- char *tmp_buffer = NULL;
- int i;
-
- multi_rm_modules = nvstrcat("nvidia-frontend ", NULL);
-
- for (i = 0; i < op->num_rm_instances; i++) {
- char *module_name;
-
- module_name = nvasprintf("nvidia%d ", i);
-
- tmp_buffer = nvstrcat(multi_rm_modules, module_name, NULL);
- nvfree(multi_rm_modules);
- nvfree(module_name);
-
- multi_rm_modules = tmp_buffer;
- }
-
- nvfree(tmpstr);
- tmpstr = multi_rm_modules;
- }
-
if (parse_kernel_modules_list(p, tmpstr) == 0) {
goto invalid_manifest_file;
}
diff --git a/kernel.c b/kernel.c
index 64c7397..4cc2bad 100644
--- a/kernel.c
+++ b/kernel.c
@@ -884,6 +884,7 @@ int build_kernel_interfaces(Options *op, Package *p,
{ "Dom0", "dom0_sanity_check" },
{ "Xen", "xen_sanity_check" },
{ "PREEMPT_RT", "preempt_rt_sanity_check" },
+ { "vgpu_kvm", "vgpu_kvm_sanity_check" },
};
/* do not build if there is a kernel configuration conflict (and don't
@@ -1332,22 +1333,7 @@ int test_kernel_modules(Options *op, Package *p)
NULL);
const char *module_opts = "";
- /*
- * For Multi-RM, only test load the modules nvidia-frontend.ko and
- * nvidia0.ko because the moment you load nvidia0.ko (without the
- * NVreg_AssignGpus registry key) it gets attached to all the GPUs in
- * the system. Later, when we attempt to load nvidia1.ko, it can't find
- * any GPU's left to which it could attach. Hence nvidia_init_module()
- * fails to load other nvidiaX modules.
- */
- if (is_multi_rm_install(op) &&
- ((strcmp(p->kernel_modules[i].module_name, "nvidia-frontend") != 0) &&
- (strcmp(p->kernel_modules[i].module_name, "nvidia0") != 0))) {
- continue;
- }
-
- if ((strcmp(p->kernel_modules[i].module_name, "nvidia") == 0) ||
- (strcmp(p->kernel_modules[i].module_name, "nvidia0") == 0)) {
+ if (strcmp(p->kernel_modules[i].module_name, "nvidia") == 0) {
module_opts = "NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=0 "
"NVreg_DeviceFileMode=0 NVreg_ModifyDeviceFiles=0";
}
diff --git a/manifest.c b/manifest.c
index 4a8bd2c..8af720c 100644
--- a/manifest.c
+++ b/manifest.c
@@ -134,6 +134,7 @@ static const struct {
{ ENTRY(EGL_EXTERNAL_PLATFORM_JSON, F, F, T, F, F, F, T, F, T, F, F) },
{ ENTRY(FLEXERA_LIB, F, F, T, T, F, T, F, F, F, F, F) },
{ ENTRY(FLEXERA_LIB_SYMLINK, F, F, F, T, T, F, F, F, F, F, F) },
+ { ENTRY(ALLOCATOR_JSON, F, F, T, F, F, F, F, F, T, F, F) },
};
/*
diff --git a/misc.c b/misc.c
index 9704809..15b7d0f 100644
--- a/misc.c
+++ b/misc.c
@@ -108,15 +108,7 @@ int check_euid(Options *op)
} /* check_euid() */
-/*
- * Determine if the installation is Single RM or a multi-RM installation.
- * Return TRUE, if it is a multi-RM install, else return FALSE.
- */
-int is_multi_rm_install(const Options *op)
-{
- return ((op->num_rm_instances > NV_MODULE_INSTANCE_ZERO) &&
- (op->num_rm_instances <= NV_MAX_MODULE_INSTANCES));
-}
+
/*
* adjust_cwd() - this function scans through program_name (ie
diff --git a/misc.h b/misc.h
index 8dca0fe..93f8d49 100644
--- a/misc.h
+++ b/misc.h
@@ -31,11 +31,6 @@
#include "command-list.h"
#include "user-interface.h"
-/* Definitions for Multi-RM build */
-#define NV_MODULE_INSTANCE_NONE -1
-#define NV_MODULE_INSTANCE_ZERO 0
-#define NV_MAX_MODULE_INSTANCES 8
-
/*
* Enumeration to identify whether the execution of a distro hook script has
* succeeded, failed or the script has not actually been executed
@@ -58,7 +53,6 @@ typedef enum {
char *read_next_word (char *buf, char **e);
int check_euid(Options *op);
-int is_multi_rm_install(const Options *op);
int adjust_cwd(Options *op, const char *program_name);
char *get_next_line(char *buf, char **e, char *start, int length);
int run_command(Options *op, const char *cmd, char **data,
diff --git a/nvidia-installer.c b/nvidia-installer.c
index 16d7f64..1e6d6f6 100644
--- a/nvidia-installer.c
+++ b/nvidia-installer.c
@@ -133,7 +133,7 @@ static Options *load_default_options(void)
op->nvidia_modprobe = TRUE;
op->run_nvidia_xconfig = FALSE;
op->selinux_option = SELINUX_DEFAULT;
- op->num_rm_instances = NV_MODULE_INSTANCE_NONE;
+
op->sigwinch_workaround = TRUE;
op->run_distro_scripts = TRUE;
op->no_kernel_module_source = FALSE;
@@ -460,32 +460,6 @@ static void parse_commandline(int argc, char *argv[], Options *op)
case EGL_EXTERNAL_PLATFORM_CONFIG_FILE_PATH_OPTION:
op->external_platform_json_path = strval;
break;
- case MULTIPLE_KERNEL_MODULES_OPTION:
- op->num_rm_instances = intval;
-
- /*
- * Determine if we need to install a multi-RM driver. If the
- * argument for '--multiple-kernel-modules' is between 1 and 8,
- * then set the environment variable NV_BUILD_MODULE_INSTANCES
- * for the RM makefiles and install a multi-RM driver. Otherwise,
- * for invalid values of '--multiple-kernel-modules', quit the
- * installer.
- */
- if (is_multi_rm_install(op)) {
- char *num;
-
- num = nvasprintf("%d", op->num_rm_instances);
- setenv("NV_BUILD_MODULE_INSTANCES", num, 1);
- nvfree(num);
- } else {
- nv_error_msg("The '--multiple-kernel-modules' option only "
- "accepts values greater than %d and less than or "
- "equal to %d.", NV_MODULE_INSTANCE_ZERO,
- NV_MAX_MODULE_INSTANCES);
-
- goto fail;
- }
- break;
default:
goto fail;
}
diff --git a/nvidia-installer.h b/nvidia-installer.h
index 250dc2d..acca351 100644
--- a/nvidia-installer.h
+++ b/nvidia-installer.h
@@ -130,7 +130,6 @@ typedef struct __options {
int no_backup;
int kernel_module_only;
int no_kernel_module;
- int num_rm_instances;
int no_abi_note;
int no_rpms;
int no_recursion;
@@ -292,6 +291,7 @@ typedef enum {
FILE_TYPE_EGL_EXTERNAL_PLATFORM_JSON,
FILE_TYPE_FLEXERA_LIB,
FILE_TYPE_FLEXERA_LIB_SYMLINK,
+ FILE_TYPE_ALLOCATOR_JSON,
FILE_TYPE_MAX
} PackageEntryFileType;
diff --git a/option_table.h b/option_table.h
index 9c0873e..c98b99a 100644
--- a/option_table.h
+++ b/option_table.h
@@ -105,7 +105,6 @@ enum {
GLVND_EGL_CONFIG_FILE_PATH_OPTION,
GLVND_EGL_CLIENT_OPTION,
EGL_EXTERNAL_PLATFORM_CONFIG_FILE_PATH_OPTION,
- MULTIPLE_KERNEL_MODULES_OPTION,
};
static const NVGetoptOption __options[] = {
@@ -672,10 +671,6 @@ static const NVGetoptOption __options[] = {
"Defaults to " DEFAULT_EGL_EXTERNAL_PLATFORM_JSON_PATH "."
},
- /* Undocumented options with no help text */
- { "multiple-kernel-modules", MULTIPLE_KERNEL_MODULES_OPTION,
- NVGETOPT_INTEGER_ARGUMENT, NULL, NULL},
-
/* Orphaned options: These options were in the long_options table in
* nvidia-installer.c but not in the help. */
{ "debug", 'd', 0, NULL,NULL },
diff --git a/version.mk b/version.mk
index 788d9bc..e86b0e6 100644
--- a/version.mk
+++ b/version.mk
@@ -1 +1 @@
-NVIDIA_VERSION = 387.34
+NVIDIA_VERSION = 390.12