Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
0ae855c
Ubuntu: [Packaging] Initialize noble:linux-nvidia-6.17
Sep 24, 2025
a5e47a6
UBUNTU: [Packaging] debian.nvidia-6.17/dkms-versions -- update from k…
Sep 26, 2025
6841910
UBUNTU: [Config] nvidia-6.14: import misc configs from noble:linux-nv…
jacobmartin0 Apr 8, 2025
c83a865
UBUNTU: [Packaging] dkms-versions standalone provides support
nvidia-bfigg Jan 5, 2024
8bdf548
UBUNTU: [Packaging] add versioning to dkms standalone rprovides
ianmay81 Mar 21, 2024
e5c7f55
NVIDIA: [Config]: Disable the NOUVEAU driver which is not used with -…
nvidia-bfigg Apr 4, 2024
8f1139a
NVIDIA: [Config]: Adding CORESIGHT and ARM64_ERRATUM configs to annot…
nvidia-bfigg Apr 5, 2024
3ed90e3
UBUNTU: [Config] Disable Ubuntu ODM drivers for NVIDIA kernels
jacobmartin0 Oct 17, 2024
53116a8
NVIDIA: [Config] arm64: ARM64_CONTPTE=y
Mar 27, 2024
7b3ebe2
UBUNTU: [Packaging] blacklist coresight_etm4x
ianmay81 Apr 25, 2024
d9430a9
NVIDIA: [Config] EFI: set CAPSULE_LOADER=y for arm64
nvidia-bfigg Aug 7, 2024
0c281b6
UBUNTU: [Config] nvidia-6.11: Enable MANA configs on x86 and arm64
jacobmartin0 Oct 16, 2024
57d5d90
NVIDIA: SAUCE: WAR: Expose PCI PASID capability to userspace
ankita-nv Nov 15, 2023
10b6cb6
NVIDIA: SAUCE: WAR: iommufd/pages: Bypass PFNMAP
ankita-nv Nov 15, 2023
a139f11
NVIDIA: SAUCE: [Config] nvidia-6.14: Update annotations for Grace I/O…
nvmochs Jul 16, 2024
6196e69
NVIDIA: [Config] set CONFIG_CPUFREQ_ARCH_CUR_FREQ=y for x86
jamieNguyenNVIDIA Feb 25, 2025
991310b
NVIDIA: SAUCE: serial: 8250_mtk: Add ACPI support
yenchia-chen Feb 11, 2025
b9f9151
NVIDIA: SAUCE: Adds MT7925 BT devices
nvidia-bfigg Feb 11, 2025
9f253f9
NVIDIA: SAUCE: Fixes the kernel boot issues due to xhci mem errors
nvidia-bfigg Feb 11, 2025
e30fc94
NVIDIA: SAUCE: MEDIATEK: usb: host: xhci-plat: support usb3 bulks str…
Apr 12, 2025
d213c63
NVIDIA: SAUCE: MEDIATEK: PCI: disable SBR on Gen5 ports
Apr 11, 2025
731cf36
UBUNTU: [Packaging] update variants
Oct 2, 2025
0c8b7f0
NVIDIA: [Packaging] Take out the sbsa_gwdt from the blacklist
clsotog Apr 29, 2025
9a12d1e
UBUNTU: [Config] nvidia-6.17: do not build lib-rust package
Oct 6, 2025
4011fae
NVIDIA: SAUCE: r8127: Add Realtek r8127 ethernet driver
abhsahu Apr 28, 2025
b5259da
NVIDIA: SAUCE: r8127: Remove Realtek r8127 non required files
abhsahu Apr 28, 2025
f60dd94
NVIDIA: SAUCE: r8127: Moved files from r8127/src to r8127 folder
abhsahu Apr 28, 2025
a10ea26
NVIDIA: SAUCE: Add r8127 in kernel build
terjebergstrom Apr 22, 2025
d1f8baa
UBUNTU: [Config] nvidia-6.11: Update annotations to enable realtek R8…
abhsahu Apr 24, 2025
90f6f9e
UBUNTU: [Config] nvidia-6.14: Drop CONFIG_TEGRA241_CMDQV from annotat…
jamieNguyenNVIDIA May 5, 2025
f6ddcb2
NVIDIA: SAUCE: [Config] nvidia-6.14 CONFIG_SND_HDA_ACPI=m on arm64
dadap Apr 22, 2025
c130f66
UBUNTU: [Config] nvidia-6.14: Update annotations to enable TPM over FFA
abhsahu May 22, 2025
99eb889
NVIDIA: SAUCE: MEDIATEK: wifi: mt76: mt7925: add reg hint support
May 2, 2025
6e9f778
NVIDIA: SAUCE: MEDIATEK: wifi: mt76: mt7925: update the regd by count…
May 26, 2025
c8f1c5b
NVIDIA: SAUCE: Add support for custom ARM FFH offset handler
abhsahu May 7, 2025
14446d2
NVIDIA: SAUCE: Add nvidia ffa driver for EC communication
abhsahu May 7, 2025
f155795
NVIDIA: SAUCE: Add ffa driver for each secure EC service
abhsahu May 7, 2025
b38842b
NVIDIA: SAUCE: Add support for EC secure service communication
abhsahu May 7, 2025
b1cf402
NVIDIA: SAUCE: Rescan acpi devices that uses secure EC communication
abhsahu May 7, 2025
ae52a39
NVIDIA: SAUCE: irqchip/gic-v3: Allow unused SGIs for drivers/modules
shankerd04 Aug 13, 2024
198b6d0
NVIDIA: SAUCE: Add support for notifications from secure EC services
abhsahu May 8, 2025
b4545ee
UBUNTU: [Config] nvidia-6.14: Update annotations to enable NVIDIA FFA…
abhsahu Jun 13, 2025
639a5d0
NVIDIA: SAUCE: MEDIATEK: pcie: disable SBR on Gen4 Ports
Jun 9, 2025
3251cde
NVIDIA: SAUCE: MEDIATEK: pinctrl: mediatek: Add gpio-range record in …
Apr 21, 2025
34c3c02
NVIDIA: SAUCE: MEDIATEK: pinctrl: mediatek: Add acpi support
Apr 22, 2025
bffab36
NVIDIA: SAUCE: MEDIATEK: pinctrl: mt8901: Add pinctrl driver
Apr 22, 2025
6d895fb
UBUNTU: [Config] nvidia-6.14: Update annotations to enable CONFIG_PIN…
abhsahu Jul 22, 2025
c0e80a1
NVIDIA: SAUCE: Fix FFH data response length
abhsahu Jul 22, 2025
edb9b76
NVIDIA: SAUCE: arm64: cputype: Add NVIDIA Olympus definitions
shankerd04 May 3, 2025
5224f97
UBUNTU: [Config] nvidia-6.14: Enable BRBE
nvmochs Jul 23, 2025
2a7f179
NVIDIA: SAUCE: mm: handle poisoning of pfn without struct pages
ankita-nv Jul 14, 2025
640c84c
NVIDIA: SAUCE: mm: correctly identify pfn without struct pages
nvmochs Sep 22, 2025
26487bd
NVIDIA: SAUCE: mm: Add poison error check in fixup_user_fault() for m…
ankita-nv Dec 6, 2023
a83ec30
NVIDIA: SAUCE: mm: Change ghes code to allow poison of non-struct pfn
ankita-nv Dec 6, 2023
f087f14
NVIDIA: SAUCE: vfio/nvgrace-gpu: register device memory for poison ha…
ankita-nv Feb 25, 2024
33fcbbd
NVIDIA: SAUCE: arm64: configs: Build NVGRACE_GPU_VFIO_PCI as LKM
nicolinc Dec 4, 2023
702b416
NVIDIA: SAUCE: arm64: configs: Enable IOMMUFD and VFIO_DEVICE_CDEV
nicolinc Nov 7, 2023
9f35578
NVIDIA: SAUCE: arm64: configs: Replace VFIO_CONTAINER with IOMMUFD_VF…
nicolinc Jan 22, 2024
5c2e2b9
NVIDIA: SAUCE: KVM: arm64: Allow exec fault on memory mapped cacheabl…
ankita-nv Aug 29, 2024
ce690f5
NVIDIA: SAUCE: vfio/nvgrace-egm: Introduce module to manage EGM
ankita-nv Aug 29, 2024
9db5bd4
NVIDIA: SAUCE: vfio/nvgrace-egm: Handle pages with ECC errors on the EGM
ankita-nv Aug 29, 2024
c6302b8
NVIDIA: SAUCE: vfio/nvgrace-egm: Register EGM for runtime ECC poison …
ankita-nv Aug 29, 2024
97a6f5c
NVIDIA: SAUCE: arm64: configs: Build CONFIG_NVGRACE_EGM as LKM
nvmochs Aug 30, 2024
b32383e
NVIDIA: SAUCE: vfio/nvgrace-egm: Move the egm header file to include
ankita-nv Oct 13, 2024
b198dcc
NVIDIA: SAUCE: vfio/nvgrace-egm: Free region memory during unregistra…
nvmochs Nov 7, 2024
3ea69b4
NVIDIA: SAUCE: vfio/nvgrace-egm: Move region hash initialization
nvmochs Nov 7, 2024
d31f199
NVIDIA: SAUCE: vfio/nvgrace-egm: Handle and convey EGM registration e…
nvmochs Nov 7, 2024
2791f58
NVIDIA: SAUCE: vfio/nvgrace-gpu: Handle EGM registration failure
nvmochs Nov 7, 2024
4258d17
NVIDIA: SAUCE: vfio/nvgrace-gpu: Address checkpatch warnings
nvmochs Nov 7, 2024
ac14beb
NVIDIA: SAUCE: vfio/nvgrace-egm: Address sparse errors
nvmochs Nov 8, 2024
51d200e
NVIDIA: SAUCE: vfio/nvgrace-egm: Address smatch errors
nvmochs Nov 8, 2024
35d7269
NVIDIA: SAUCE: vfio/nvgrace-gpu: Address smatch errors
nvmochs Nov 8, 2024
3007a7e
NVIDIA: SAUCE: vfio/nvgrace-egm: Ensure ACPI value reads are successful
nvmochs Nov 22, 2024
0fddc01
NVIDIA: SAUCE: vfio/nvgrace-egm: Avoid invalid retired pages base
nvmochs Nov 14, 2024
477df51
NVIDIA: SAUCE: vfio/nvgrace-egm: Update EGM unregistration API
nvmochs Jan 23, 2025
b74c928
NVIDIA: SAUCE: vfio/nvgrace-egm: track GPUs associated with the EGM r…
ankita-nv May 6, 2025
3595583
NVIDIA: SAUCE: vfio/nvgrace-egm: list gpus through sysfs
ankita-nv May 6, 2025
2bc3581
NVIDIA: SAUCE: vfio/nvgrace-egm: expose the egm size through sysfs
ankita-nv May 6, 2025
7b79684
NVIDIA: SAUCE: vfio/nvgrace-egm: Add null pointer checks after memory…
KobaKoNvidia May 26, 2025
6be124d
NVIDIA: SAUCE: arm64: configs: enable NVGRACE_EGM as module
nirmoy Jul 14, 2025
3686020
NVIDIA: SAUCE: vfio/nvgrace-gpu: Avoid resmem pfn unregistration
nvmochs Jun 30, 2025
11e62f8
NVIDIA: [Config] Fix CONFIG_IRQ_MSI_IOMMU annotation for amd64
nvmochs Jul 25, 2025
c37719e
NVIDIA: SAUCE: wifi: mt76: mt7925: add MBSSID support
Jul 29, 2025
68329a9
UBUNTU: [Config] nvidia-6.14: Update annotations to set CONFIG_IOMMU_…
nirmoy Aug 6, 2025
87a98db
UBUNTU: [Config] nvidia-6.14: Use performance CPU frequency governor …
jacobmartin0 Aug 26, 2025
5217e9d
PCI/ACPI: Fix pci_acpi_preserve_config() memory leak
nirmoy Aug 25, 2025
c606956
NVIDIA: SAUCE: vfio/nvgrace-gpu: Add GB300 SKU to the devid table
tdavenvidia Aug 25, 2025
b4ac2ef
NVIDIA: SAUCE: Fix FFA notification count initialization
abhsahu Sep 15, 2025
7adf329
NVIDIA: SAUCE: MEDIATEK: usb: host: xhci-hub: fix MT89xx SoCs return …
May 26, 2025
a00b7a8
UBUNTU: [Config] nvidia-6.17: update configs
Oct 6, 2025
d61b192
UBUNTU: [Packaging] update update.conf
jacobmartin0 Oct 9, 2025
06c2d79
UBUNTU: Start new release
jacobmartin0 Oct 9, 2025
7952b76
UBUNTU: link-to-tracker: update tracking bug
jacobmartin0 Oct 9, 2025
969c07e
UBUNTU: [Packaging] nvidia-6.17: Drop use of do_extras_package = false
jacobmartin0 Oct 9, 2025
cc0c5fe
UBUNTU: [Packaging] nvidia-6.17: Update build dependencies for Noble …
jacobmartin0 Oct 10, 2025
4bf663b
UBUNTU: Ubuntu-nvidia-6.17-6.17.0-1002.2
jacobmartin0 Oct 10, 2025
fc83c59
NVIDIA: SAUCE: MEDIATEK: pinctrl: mediatek: Add EINT Driver for CX7 h…
schythanyaku Oct 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions Ubuntu.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Name: linux
Version: 6.11.0
Series: 24.10 (oracular)
Name: linux-nvidia-6.17
Version: 6.17.0
Series: 24.04 (noble)
Description:
This is the source code for the Ubuntu linux kernel for the 24.10 series. This
source tree is used to produce the flavours: generic, generic-64k, generic-lpae.
This kernel is configured to support the widest range of desktop, laptop and
server configurations.
This is the source code for the Ubuntu linux-nvidia-6.17 kernel for the
Noble series. This source tree is used to produce the flavours: nvidia,
nvidia-64k. This kernel is configured to support the NVIDIA x86 and arm64
platforms.
9 changes: 9 additions & 0 deletions arch/arm64/configs/defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1810,3 +1810,12 @@ CONFIG_CORESIGHT_STM=m
CONFIG_CORESIGHT_CPU_DEBUG=m
CONFIG_CORESIGHT_CTI=m
CONFIG_MEMTEST=y
CONFIG_NVGRACE_GPU_VFIO_PCI=m
CONFIG_NVGRACE_EGM=m
CONFIG_VFIO_DEVICE_CDEV=y
# CONFIG_VFIO_CONTAINER is not set
CONFIG_FAULT_INJECTION=y
CONFIG_IOMMUFD_DRIVER=y
CONFIG_IOMMUFD=y
CONFIG_IOMMUFD_TEST=y
CONFIG_IOMMUFD_VFIO_CONTAINER=y
2 changes: 2 additions & 0 deletions arch/arm64/include/asm/cputype.h
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@

#define NVIDIA_CPU_PART_DENVER 0x003
#define NVIDIA_CPU_PART_CARMEL 0x004
#define NVIDIA_CPU_PART_OLYMPUS 0x010

#define FUJITSU_CPU_PART_A64FX 0x001

Expand Down Expand Up @@ -220,6 +221,7 @@

#define MIDR_NVIDIA_DENVER MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_DENVER)
#define MIDR_NVIDIA_CARMEL MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_CARMEL)
#define MIDR_NVIDIA_OLYMPUS MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_OLYMPUS)
#define MIDR_FUJITSU_A64FX MIDR_CPU_MODEL(ARM_CPU_IMP_FUJITSU, FUJITSU_CPU_PART_A64FX)
#define MIDR_HISI_TSV110 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV110)
#define MIDR_HISI_HIP09 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_HIP09)
Expand Down
5 changes: 4 additions & 1 deletion arch/arm64/kvm/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -1493,6 +1493,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,
bool s2_force_noncacheable = false, vfio_allow_any_uc = false;
unsigned long mmu_seq;
phys_addr_t ipa = fault_ipa;
unsigned long mt;
struct kvm *kvm = vcpu->kvm;
struct vm_area_struct *vma;
short vma_shift;
Expand Down Expand Up @@ -1612,6 +1613,8 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,
vma_pagesize = min(vma_pagesize, (long)max_map_size);
}

mt = FIELD_GET(PTE_ATTRINDX_MASK, pgprot_val(vma->vm_page_prot));

/*
* Both the canonical IPA and fault IPA must be hugepage-aligned to
* ensure we find the right PFN and lay down the mapping in the right
Expand Down Expand Up @@ -1695,7 +1698,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,
writable = false;
}

if (exec_fault && s2_force_noncacheable)
if (exec_fault && s2_force_noncacheable && mt != MT_NORMAL)
return -ENOEXEC;

/*
Expand Down
28,231 changes: 28,231 additions & 0 deletions debian.nvidia-6.17/changelog

Large diffs are not rendered by default.

185 changes: 185 additions & 0 deletions debian.nvidia-6.17/config/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
==================
Config Annotations
==================

:Author: Andrea Righi

Overview
========

Each Ubuntu kernel needs to maintain its own .config for each supported
architecture and each flavour.

Every time a new patch is applied or a kernel is rebased on top of a new
one, we need to update the .config's accordingly (config options can be
added, removed and also renamed).

So, we need to make sure that some critical config options are always
matching the desired value in order to have a functional kernel.

State of the art
================

At the moment configs are maintained as a set of Kconfig chunks (inside
`debian.<kernel>/config/`): a global one, plus per-arch / per-flavour
chunks.

In addition to that, we need to maintain also a file called
'annotations'; the purpose of this file is to make sure that some
critical config options are not silently removed or changed when the
real .config is re-generated (for example after a rebase or after
applying a new set of patches).

The main problem with this approach is that, often, we have duplicate
information that is stored both in the Kconfig chunks *and* in the
annotations files and, at the same time, the whole .config's information
is distributed between Kconfig chunks and annotations, making it hard to
maintain, review and manage in general.

Proposed solution
=================

The proposed solution is to store all the config information into the
"annotations" format and get rid of the config chunks (basically the
real .config's can be produced "compiling" annotations).

Implementation
==============

To help the management of the annotations an helper script is provided
(`debian/scripts/misc/annotations`):

```
usage: annotations [-h] [--version] [--file FILE] [--arch ARCH] [--flavour FLAVOUR] [--config CONFIG]
(--query | --export | --import FILE | --update FILE | --check FILE)

Manage Ubuntu kernel .config and annotations

options:
-h, --help show this help message and exit
--version, -v show program's version number and exit
--file FILE, -f FILE Pass annotations or .config file to be parsed
--arch ARCH, -a ARCH Select architecture
--flavour FLAVOUR, -l FLAVOUR
Select flavour (default is "generic")
--config CONFIG, -c CONFIG
Select a specific config option

Action:
--query, -q Query annotations
--export, -e Convert annotations to .config format
--import FILE, -i FILE
Import a full .config for a specific arch and flavour into annotations
--update FILE, -u FILE
Import a partial .config into annotations (only resync configs specified in FILE)
--check FILE, -k FILE
Validate kernel .config with annotations
```

This script allows to query config settings (per arch/flavour/config),
export them into the Kconfig format (generating the real .config files)
and check if the final .config matches the rules defined in the
annotations.

Examples (annotations is defined as an alias to `debian/scripts/annotations`):

- Show settings for `CONFIG_DEBUG_INFO_BTF` for master kernel across all the
supported architectures and flavours:

```
$ annotations --query --config CONFIG_DEBUG_INFO_BTF
{
"policy": {
"amd64": "y",
"arm64": "y",
"armhf": "n",
"ppc64el": "y",
"riscv64": "y",
"s390x": "y"
},
"note": "'Needs newer pahole for armhf'"
}
```

- Dump kernel .config for arm64 and flavour generic-64k:

```
$ annotations --arch arm64 --flavour generic-64k --export
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_KERNEL=y
CONFIG_COMPAT=y
...
```

- Update annotations file with a new kernel .config for amd64 flavour
generic:

```
$ annotations --arch amd64 --flavour generic --import build/.config
```

Moreover, an additional kernelconfig commands are provided
(via debian/rules targets):
- `migrateconfigs`: automatically merge all the previous configs into
annotations (local changes still need to be committed)

Annotations headers
===================

The main annotations file should contain a header to define the architectures
and flavours that are supported.

Here is the format of the header for the generic kernel:
```
# Menu: HEADER
# FORMAT: 4
# ARCH: amd64 arm64 armhf ppc64el riscv64 s390x
# FLAVOUR: amd64-generic arm64-generic arm64-generic-64k armhf-generic armhf-generic-lpae ppc64el-generic riscv64-generic s390x-generic

```

Example header of a derivative (linux-aws):
```
# Menu: HEADER
# FORMAT: 4
# ARCH: amd64 arm64
# FLAVOUR: amd64-aws arm64-aws
# FLAVOUR_DEP: {'amd64-aws': 'amd64-generic', 'arm64-aws': 'arm64-generic'}

include "../../debian.master/config/annotations"

# Below you can define only the specific linux-aws configs that differ from linux generic

```

Pros and Cons
=============

Pros:
- avoid duplicate information in .config's and annotations
- allow to easily define groups of config settings (for a specific
environment or feature, such as annotations.clouds, annotations.ubuntu,
annotations.snapd, etc.)
- config options are more accessible, easy to change and review
- we can easily document how config options are managed (and external
contributors won't be discouraged anymore when they need to to change a
config option)

Cons:
- potential regressions: the new tool/scripts can have potential bugs,
so we could experience regressions due to some missed config changes
- kernel team need to understand the new process (even if everything
is transparent, kernel cranking process is the same, there might be
corner cases that need to be addressed and resolved manually)

TODO
====

- Migrate all flavour and arch definitions into annotations (rather
than having this information defined in multiple places inside
debian/scripts); right now this information is "partially" migrated,
meaning that we need to define arches and flavours in the headers
section of annotations (so that the annotations tool can figure out
the list of supported arches and flavours), but arches and flavours
are still defined elsewhere, ideally we would like to have arches and
flavours defined only in one place: annotations.
Loading