mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

The struct page->mapping, index fields are deprecated and soon to be only available as part of a folio. It is likely the intel_th code which sets page->mapping, index is was implemented out of concern that some aspect of the page fault logic may encounter unexpected problems should they not. However, the appropriate interface for inserting kernel-allocated memory is vm_insert_page() in a VM_MIXEDMAP. By using the helper function vmf_insert_mixed() we can do this with minimal churn in the existing fault handler. By doing so, we bypass the remainder of the faulting logic. The pages are still pinned so there is no possibility of anything unexpected being done with the pages once established. It would also be reasonable to pre-map everything on fault, however to minimise churn we retain the fault handler. We also eliminate all code which clears page->mapping on teardown as this has now become unnecessary. The MSU code relies on faulting to function correctly, so is by definition dependent on CONFIG_MMU. We avoid spurious reports about compilation failure for unsupported platforms by making this requirement explicit in Kconfig as part of this change too. Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Link: https://lore.kernel.org/r/20250331125608.60300-1-lorenzo.stoakes@oracle.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
87 lines
2.8 KiB
Text
87 lines
2.8 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
config INTEL_TH
|
|
tristate "Intel(R) Trace Hub controller"
|
|
depends on HAS_DMA && HAS_IOMEM
|
|
help
|
|
Intel(R) Trace Hub (TH) is a set of hardware blocks (subdevices) that
|
|
produce, switch and output trace data from multiple hardware and
|
|
software sources over several types of trace output ports encoded
|
|
in System Trace Protocol (MIPI STPv2) and is intended to perform
|
|
full system debugging.
|
|
|
|
This option enables intel_th bus and common code used by TH
|
|
subdevices to interact with each other and hardware and for
|
|
platform glue layers to drive Intel TH devices.
|
|
|
|
Say Y here to enable Intel(R) Trace Hub controller support.
|
|
|
|
if INTEL_TH
|
|
|
|
config INTEL_TH_PCI
|
|
tristate "Intel(R) Trace Hub PCI controller"
|
|
depends on PCI
|
|
help
|
|
Intel(R) Trace Hub may exist as a PCI device. This option enables
|
|
support glue layer for PCI-based Intel TH.
|
|
|
|
Say Y here to enable PCI Intel TH support.
|
|
|
|
config INTEL_TH_ACPI
|
|
tristate "Intel(R) Trace Hub ACPI controller"
|
|
depends on ACPI
|
|
help
|
|
Intel(R) Trace Hub may exist as an ACPI device. This option enables
|
|
support glue layer for ACPI-based Intel TH. This typically implies
|
|
'host debugger' mode, that is, the trace configuration and capture
|
|
is handled by an external debug host and corresponding controls will
|
|
not be available on the target.
|
|
|
|
Say Y here to enable ACPI Intel TH support.
|
|
|
|
config INTEL_TH_GTH
|
|
tristate "Intel(R) Trace Hub Global Trace Hub"
|
|
help
|
|
Global Trace Hub (GTH) is the central component of the
|
|
Intel TH infrastructure and acts as a switch for source
|
|
and output devices. This driver is required for other
|
|
Intel TH subdevices to initialize.
|
|
|
|
Say Y here to enable GTH subdevice of Intel(R) Trace Hub.
|
|
|
|
config INTEL_TH_STH
|
|
tristate "Intel(R) Trace Hub Software Trace Hub support"
|
|
depends on STM
|
|
help
|
|
Software Trace Hub (STH) enables trace data from software
|
|
trace sources to be sent out via Intel(R) Trace Hub. It
|
|
uses stm class device to interface with its sources.
|
|
|
|
Say Y here to enable STH subdevice of Intel(R) Trace Hub.
|
|
|
|
config INTEL_TH_MSU
|
|
tristate "Intel(R) Trace Hub Memory Storage Unit"
|
|
depends on MMU
|
|
help
|
|
Memory Storage Unit (MSU) trace output device enables
|
|
storing STP traces to system memory. It supports single
|
|
and multiblock modes of operation and provides read()
|
|
and mmap() access to the collected data.
|
|
|
|
Say Y here to enable MSU output device for Intel TH.
|
|
|
|
config INTEL_TH_PTI
|
|
tristate "Intel(R) Trace Hub PTI output"
|
|
help
|
|
Parallel Trace Interface unit (PTI) is a trace output device
|
|
of Intel TH architecture that facilitates STP trace output via
|
|
a PTI port.
|
|
|
|
Say Y to enable PTI output of Intel TH data.
|
|
|
|
config INTEL_TH_DEBUG
|
|
bool "Intel(R) Trace Hub debugging"
|
|
depends on DEBUG_FS
|
|
help
|
|
Say Y here to enable debugging.
|
|
|
|
endif
|