Files
linux-nv-oot/drivers/misc/nvsciipc
Shardar Mohammed 4be2dd36bb nvidia-oot: remove module * from class_create()
Remove the module pointer from the class_create() based
on following change in core kernel

======
driver core: class: remove module * from class_create()

The module pointer in class_create() never actually did anything, and it
shouldn't have been requred to be set as a parameter even if it did
something.  So just remove it and fix up all callers of the function in
the kernel tree at the same time.

Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
=====

Bug 4276500

Change-Id: Ifa0a92a282151ce12dc4a48f4f4b5b9499d3fbd8
Signed-off-by: Shardar Mohammed <smohammed@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2976600
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-09-08 18:09:50 -07:00
..

Build NvSciIpc KMD for DRIVE x86
================================

1) install kernel header package
sudo apt-get install linux-headers-`uname -r`

check version of desktop using "uname -r" command.
kernel version must be 5.4.0+.

2) link common header files (NVIDIA internal dev only)
export NVSCIIPC_INCLUDE=${PWD}/../../../include
ln -s ${NVSCIIPC_INCLUDE}/linux ./
ln -s ${NVSCIIPC_INCLUDE}/uapi ./

3) build
make -C /lib/modules/`uname -r`/build M=${PWD} modules

4) install NvSciIpc KMD
sudo make -C /lib/modules/`uname -r`/build M=${PWD} modules_install
sudo depmod -a

nvsciipc.ko will be installed in /lib/modules/`uname -r`/extra/nvsciipc.ko

[NOTE] If kernel module installation is failed by missing signing key, follow steps below

** create x509.genkey
echo -e "[ req ] \n\
default_bits = 4096 \n\
distinguished_name = req_distinguished_name \n\
prompt = no \n\
x509_extensions = myexts \n\
\n\
[ req_distinguished_name ] \n\
CN = Modules \n\
\n\
[ myexts ] \n\
basicConstraints=critical,CA:FALSE \n\
keyUsage=digitalSignature \n\
subjectKeyIdentifier=hash \n\
authorityKeyIdentifier=keyid" > x509.genkey

** generate signing key
openssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pem

** move signing key to kernel module folder of desktop
sudo mv signing_key.* /lib/modules/`uname -r`/build/certs/

5) clean
make -C /lib/modules/`uname -r`/build M=${PWD} clean

6) load NvSciIpc KMD
You can load NvSciIpc KMD during desktop boot.
sudo vi /etc/modules-load.d/modules.conf
add "nvsciipc" to this file

For manual loading KMD, do "sudo insmod nvsciipc.ko"