Platform Software Patches and Configurations Addendum: Vera#
This section provides additional information about software patches and configuration settings for the Vera platform that are not yet upstream or are hardware workarounds.
Important
This addendum supplements the main Vera platform documentation. Review the main guide first for upstream patches and configurations.
Note
The patches and configurations listed in this addendum are subject to change as they progress through the upstreaming process or are resolved through hardware revisions.
Vera Linux Kernel Patches (Non-Upstream/Hardware Workarounds)#
This section provides information about Linux Kernel patches for the Vera platform that are not yet upstream or are hardware workarounds.
Non-Upstream Bare Metal Linux Kernel#
The tables in this section provide a list of Linux kernel patches that are not yet upstream but are necessary for the optimal operation of the Vera platform.
Note
These patches might have dependencies on other patches. Ensure all required dependencies are applied when using these patches.
The following table contains patches that enable functions and are required for bare metal support on the Vera platform:
LKML Discussion |
Git Commit |
Git Description |
Status |
|---|---|---|---|
NVIDIA: VR: SAUCE: soc/tegra: pmc: Add PMC support for Tegra410 |
linux-nvidia-6.18 |
||
NVIDIA: VR: SAUCE: firmware: smccc: Add support for Live Firmware Activation (LFA) |
|||
NVIDIA: VR: SAUCE: firmware: smccc: lfa: Move image rescanning |
|||
NVIDIA: VR: SAUCE: firmware: smccc: lfa: Add timeout and trigger watchdog |
|||
NVIDIA: VR: SAUCE: firmware: smccc: lfa: Register ACPI notification |
|||
NVIDIA: VR: SAUCE: firmware: smccc: lfa: Add auto_activate sysfs file |
|||
NVIDIA: VR: SAUCE: firmware: smccc: lfa: Register DT interrupt |
|||
NVIDIA: VR: SAUCE: firmware: smccc: lfa: introduce SMC access lock |
|||
NVIDIA: VR: SAUCE: firmware: smccc: lfa: handle LFA_BUSY in PRIME and ACTIVATE |
|||
n/a |
NVIDIA: VR: SAUCE: firmware: smccc: lfa: Emit a uevent on inventory updates |
||
n/a |
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Expose KVM_CAP_ARM_RMI via module parameter |
||
NVIDIA: VR: CCA: SAUCE: arm64: RME: Add bounds check |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RME: Add MECID support |
|||
NVIDIA: VR: CCA: SAUCE: arm64: rsi: Move RSI init to fix Realm guest boot on BBML2 |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Allow activating realms |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Expose KVM_ARM_VCPU_REC to user space |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Expose support for private memory |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Provide accurate register list |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Provide register list for unfinalized RMI RECs |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Configure max SVE vector length for a Realm |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Propagate max SVE vector length from RMM |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Initialize PMCR.N with number counter supported by RMM |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Set breakpoint parameters through SET_ONE_REG |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Propagate number of breakpoints and watchpoints to userspace |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Enable PMU support with a realm guest |
|||
NVIDIA: VR: CCA: SAUCE: arm_pmu: Provide a mechanism for disabling the physical IRQ |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Prevent Device mappings for Realms |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Always use 4k pages for realms |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Allow checking SVE on VM instance |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: support RSI_HOST_CALL |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: allow userspace to inject aborts |
|||
NVIDIA: VR: CCA: SAUCE: arm64: Don’t expose stolen time for realm guests |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: WARN on injected undef exceptions |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Handle Realm PSCI requests |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Validate register access for a Realm VM |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Handle realm VCPU load |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Runtime faulting of memory |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Allow populating initial contents |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Handle realm MMIO emulation |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Handle RMI_EXIT_RIPAS_CHANGE |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Handle realm enter/exit |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Allow VMM to set RIPAS |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Support timers in realm RECs |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Support for the VGIC in realms |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: vgic: Provide helper for number of list registers |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Allocate/free RECs to match vCPUs |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: RTT tear down |
|||
NVIDIA: VR: CCA: SAUCE: KVM: arm64: Allow passing machine type in KVM creation |
|||
NVIDIA: VR: CCA: SAUCE: kvm: arm64: Don’t expose unsupported capabilities for realm guests |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: ioctls to create and configure realms |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Define the user ABI |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Check for RMI support at KVM init |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Add wrappers for RMI calls |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RMI: Add SMC definitions for calling the RMM |
|||
NVIDIA: VR: CCA: SAUCE: arm64: RME: Handle Granule Protection Faults (GPFs) |
|||
NVIDIA: VR: CCA: SAUCE: kvm: arm64: Include kvm_emulate.h in kvm/arm_psci.h |
The following table contains non-upstream patches that support MPAM on Vera platforms.
LKML Discussion |
Git Commit |
Git Description |
Status |
|---|---|---|---|
NVIDIA: SAUCE: arm_mpam: let low level MSC accessors return an error |
linux-nvidia-6.18 |
||
NVIDIA: SAUCE: arm_mpam: propagate MSC access errors for hw_probe functions |
|||
NVIDIA: SAUCE: arm_mpam: propagate MSC access errors for MBWU counters |
|||
NVIDIA: SAUCE: arm_mpam: propagate MSC access errors for msmon helpers |
|||
NVIDIA: SAUCE: arm_mpam: propagate MSC access errors for __ris_msmon_read() |
|||
NVIDIA: SAUCE: arm_mpam: propagate MSC access errors for state saving function |
|||
NVIDIA: SAUCE: arm_mpam: propagate MSC access errors for mpam_reprogram_ris_partid() |
|||
NVIDIA: SAUCE: arm_mpam: prepare mon_sel locking for MPAM-Fb |
|||
NVIDIA: SAUCE: arm_mpam: add MPAM-Fb MSC firmware access support |
|||
NVIDIA: SAUCE: arm_mpam: change MPAM-Fb error IRQ to use a threaded IRQ handler |
|||
NVIDIA: SAUCE: arm_mpam: detect and enable MPAM-Fb PCC support |
|||
NVIDIA: SAUCE: arm_mpam: Fix PCC channel lifetime during MSC removal |
|||
NVIDIA: VR: SAUCE: resctrl/mpam: probe MPAMF_MBW_IDR MAX_LIM and hardlim_rw |
|||
NVIDIA: VR: SAUCE: arm_mpam: Allow cmax/cmin to be configured |
|||
NVIDIA: VR: SAUCE: arm_mpam: Rename mbw conversion to ‘fract16’ for code re-use |
|||
NVIDIA: VR: SAUCE: resctrl/mpam: track MBW max hard-limit in config |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Add this_is_not_abi mount option |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Group all the MBA specific properties in a separate struct |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Abstract duplicate domain test to a helper |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Rename resctrl_get_default_ctrl() to include resource |
|||
NVIDIA: VR: SAUCE: x86/resctrl: Move over to specifying MBA control formats |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Add additional files for percentage and bitmap controls |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Add L2 and L3 ‘MAX’ resource schema |
|||
NVIDIA: VR: SAUCE: Documentation: resctrl: document max_lim and MB_HLIM for MPAM MBA |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Move MBA supported check to parse_line() instead of parse_bw() |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Add a schema format to the schema, allowing it to be different |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Use schema format to check the resource is a bitmap |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Add specific schema types for ‘range’ |
|||
NVIDIA: VR: SAUCE: arm_mpam: resctrl: Convert MB resource to use percentage |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Remove ‘range’ schema format |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Add fflags_from_schema() for files based on schema format |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Expose the schema format to user-space |
|||
NVIDIA: VR: SAUCE: arm_mpam: resctrl: Add the glue code to convert to/from cmax |
|||
NVIDIA: VR: SAUCE: resctrl: add MB_HLIM resource ID and schema type |
|||
NVIDIA: VR: SAUCE: resctrl: wire MB_HLIM schemata parsing and group setup |
|||
NVIDIA: VR: SAUCE: resctrl/mpam: bind MB_HLIM resource to MBA MPAM class |
|||
NVIDIA: VR: SAUCE: resctrl: add membw.mb_max_lim and arch_has_mb_max_lim |
|||
NVIDIA: VR: SAUCE: resctrl/mpam: populate MBA mb_max_lim from MPAM probe |
|||
NVIDIA: VR: SAUCE: resctrl: add MBA max_lim sysfs and visibility from init |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Uniform data type of component_id/domid/id/cache_id |
|||
NVIDIA: VR: SAUCE: resctrl/mpam: reset RIS by applying explicit default config |
|||
NVIDIA: VR: SAUCE: arm_mpam: Avoid MSC teardown for the SW programming errors |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Avoid a race with dom_data_exit() and closid_num_dirty_rmid[] |
|||
NVIDIA: VR: SAUCE: fs/resctrl: Avoid a race with dom_data_exit() and rmid_ptrs[] |
|||
NVIDIA: VR: SAUCE: debugfs: Add helpers for creating cpumask entries in debugfs |
|||
NVIDIA: VR: SAUCE: x86/resctrl: Add stub to allow other architecture to disable monitor overflow |
|||
NVIDIA: VR: SAUCE: arm_mpam: Add debugfs entries to show the MSC/RIS the driver discovered |
|||
NVIDIA: VR: SAUCE: arm_mpam: Add force-disable debugfs trigger |
|||
NVIDIA: VR: SAUCE: arm_mpam: Expose the number of NRDY retries in debugfs |
|||
NVIDIA: VR: SAUCE: arm_mpam: resctrl: Determine if any exposed counter can overflow |
|||
NVIDIA: VR: SAUCE: fs/restrl: Allow the overflow handler to be disabled |
|||
NVIDIA: SAUCE: Fix mbm_L3_assign and mon_local_bytes |
|||
NVIDIA: SAUCE: arm_mpam: Fix monitor capability and MBM assign for MB events |
|||
NVIDIA: VR: SAUCE: arm_mpam: resctrl: Add kunit test for ABMC/CDP interactions |
|||
NVIDIA: VR: SAUCE: arm_mpam: Add resctrl_arch_round_bw() |
|||
NVIDIA: VR: SAUCE: fs/resctrl,x86/resctrl: Factor mba rounding to be per-arch |
|||
NVIDIA: VR: SAUCE: arm_mpam: Allow the maximum partid to be overridden from the command line |
|||
NVIDIA: VR: SAUCE: arm_mpam: Include all MSC components during domain setup |
|||
NVIDIA: VR: SAUCE: arm_mpam: Handle CPU-less numa nodes |
|||
NVIDIA: VR: SAUCE: arm_mpam: Allow MSC to be forced to have an unknown location |
|||
NVIDIA: VR: SAUCE: iommu: Add helpers to retrieve iommu_groups by id or kobject |
|||
NVIDIA: VR: SAUCE: kobject: Add kset_get_next_obj() to allow a kset to be walked |
|||
NVIDIA: VR: SAUCE: iommu: Add helper to retrieve iommu kset |
|||
NVIDIA: VR: SAUCE: iommu/arm-smmu-v3: Register SMMU capabilities with MPAM |
|||
NVIDIA: VR: SAUCE: iommu/arm-smmu-v3: Add mpam helpers to query and set state |
|||
NVIDIA: SAUCE: iommu: Add helpers to get and set the QoS state |
|||
NVIDIA: SAUCE: arm_mpam: resctrl: Add iommu helpers to get/set the partid and pmg |
|||
NVIDIA: SAUCE: fs/resctrl: Add support for assigning iommu_groups to resctrl groups |
|||
NVIDIA: VR: SAUCE: iommu/arm-smmu-v3: Fix MPAM for indentity-mappings |
|||
NVIDIA: SAUCE: iommu/arm-smmu-v3: Block kdump MPAM updates |
|||
NVIDIA: SAUCE: fs/resctrl: Fix incorrect PID parsing after IOMMU group token |
|||
NVIDIA: SAUCE: fs/resctrl: Remove unused ‘of’ parameter from rdtgroup_move_iommu() |
|||
NVIDIA: SAUCE: fs/resctrl: Migrate IOMMU groups when removing resource groups |
|||
NVIDIA: SAUCE: fs/resctrl: Fix redefinition of iommu helpers with CONFIG_RESCTRL_IOMMU=n |
|||
NVIDIA: SAUCE: fs/resctrl: Fix iommu_group reference leaks when iterating groups |
|||
NVIDIA: SAUCE: arm_mpam: Initialize mbwu_state values to 0 |
|||
NVIDIA: SAUCE: arm_mpam: Skip NRDY values when saving MBWU state |
|||
NVIDIA: SAUCE: arm_mpam: Scale saved MBWU state for T241-MPAM-6 |
The following table contains patches that resolve faults in enablement patches and other issues discovered during testing:
LKML Discussion |
Git Commit |
Git Description |
Status |
|---|---|---|---|
n/a |
NVIDIA: VR: SAUCE: firmware: smccc: lfa: fix image names and init cleanup |
linux-nvidia-6.18 |
The following table contains optional patches that improve performance on Vera platforms:
LKML Discussion |
Git Commit |
Git Description |
Status |
|---|---|---|---|
n/a |
n/a |
n/a |
n/a |
The following table contains optional patches that enable functions, or resolve faults, with performance tooling on Vera platforms:
LKML Discussion |
Git Commit |
Git Description |
Status |
|---|---|---|---|
NVIDIA: VR: SAUCE: arm64: defconfig: Enable NVIDIA TEGRA410 PMU |
linux-nvidia-6.18
ETA v7.2
|
Hardware Workaround Patches#
The following table contains patches that work around hardware errata or limitations:
Note
Unless mentioned otherwise, the following patches are mandatory for Vera.
LKML Discussion |
Git Commit |
Git Description |
Status |
|---|---|---|---|
n/a |
NVIDIA: VR: SAUCE: arm64: Add workaround to convert MT_NORMAL_NC to Device-nGnRE |
linux-nvidia-6.18 |
Linux Kernel Configs (Non-Upstream/Hardware Workarounds)#
This section provides information about Linux Kernel config settings for the Vera platform that are not yet upstream or related to hardware workarounds.
The following table contains config settings that enable functions and are required for bare metal support on the Vera platform:
Kernel Config |
Description |
|---|---|
CONFIG_ARM64_WORKAROUND_NC_TO_NGNRE=y |
Enable workaround to convert MT_NORMAL_NC to Device-nGnRE |
CONFIG_ARM_LFA=y |
Enable Arm Live Firmware activation support |
CONFIG_EFI_SECRET=y |
Enable EFI secret area securityfs support |
CONFIG_KVM=y |
Enable Kernel-based Virtual Machine (KVM) support (needed for CCA) |
The following table contains optional config settings that enable performance tooling functions on Vera platforms:
Kernel Config |
Description |
|---|---|
n/a |
n/a |