mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-04-03 12:05:13 +02:00
[ Upstream commit 8e55352059 ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
88 lines
2.8 KiB
Plaintext
88 lines
2.8 KiB
Plaintext
# 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
|