Commit graph

609 commits

Author SHA1 Message Date
Ksawlii
15da988624 Revert "configs: disable DEBUG_FS and PAGE_OWNER/PINNER"
This reverts commit a11f1b3dd0.
2025-01-23 23:02:12 +01:00
Nahuel Gómez
c54e723d54 configs: disable DEVFREQ_THERMAL
Not actually necessary as far as I know.

Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-23 19:51:07 +01:00
Nahuel Gómez
3fc5af75a5 configs: disable a lot of debug settings
* Referenced from: d1870483e4

Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-23 19:50:50 +01:00
Nahuel Gómez
4035025e18 configs: disable profiling
We have the basic profiler implementation so we can do this.

Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-23 19:49:55 +01:00
Nahuel Gómez
a11f1b3dd0 configs: disable DEBUG_FS and PAGE_OWNER/PINNER
CONFIG_PAGE_OWNER and CONFIG_PAGE_PINNER select DEBUG_FS, so I will disable them.

Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-23 19:49:14 +01:00
Ksawlii
1bb919f2d1 Reapply "configs: Nuke CONFIG_EXYNOS_ACPM_PLGDBG"
This reverts commit 8c6ac67a37.
2025-01-22 21:04:47 +01:00
Ksawlii
8c6ac67a37 Revert "configs: Nuke CONFIG_EXYNOS_ACPM_PLGDBG"
This reverts commit 73f0f98fb6.
2025-01-22 19:41:23 +01:00
Ksawlii
73f0f98fb6 configs: Nuke CONFIG_EXYNOS_ACPM_PLGDBG 2025-01-22 10:59:09 +01:00
Ksawlii
612d1468a3 configs: Nuke CONFIG_CMUCAL_DEBUG 2025-01-22 10:49:17 +01:00
Ksawlii
ba2a228c25 defconfigs: Regenerate with regen.sh 2025-01-21 21:38:42 +01:00
Nahuel Gómez
8ad48c3eca cpufreq,configs: remove energystep references
This driver isn't even compatible with our kernel version, though it is present in the ems folder.

Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-21 21:34:17 +01:00
Nahuel Gómez
c51d003719 configs: enable NTFS read-write support
Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-21 21:32:35 +01:00
Nahuel Gómez
838ee567b9 Revert "ARM64: dts/s5e8825: GPU undervolt to 790mV"
This never actually worked, as undervolting is handled in a different way.

This reverts commit 1464058ebd26ae4fa3f3b1fbbfaf84e8c5d74fee.
2025-01-21 21:28:55 +01:00
Nahuel Gómez
f32e4cfc40 configs: disable ssg and set kyber as the default I/O scheduler
Performs well on our UFS storage.

Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-21 21:26:41 +01:00
Nahuel Gómez
b6bbd6efd2 configs: enable 'schedhorizon' gov and set as default
Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-21 21:24:10 +01:00
Nahuel Gómez
010342f95f configs: disable Debug Snapshot API
The driver itself will stay enabled, but we can disable the API.

Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-21 21:20:34 +01:00
Ksawlii
0ddcd18c3a configs,modules.load: Nuke SEC_PM_DEBUG 2025-01-20 12:13:11 +01:00
Ksawlii
ff935ccefe Revert "dts: Nuke abox-dbg and abox-debug stuff"
This reverts commit 6e318661f7.
2025-01-19 21:30:50 +01:00
Ksawlii
1fe9347f4c defconfigs: Regenerate with regen.sh 2025-01-19 20:25:11 +01:00
Nahuel Gómez
d588a7afa7 ARM64: configs: set PELT half-life to 12ms
Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-19 20:20:02 +01:00
Jake Weinstein
e35a1fbdcf Kconfig: Disable KALLSYMS_ALL
We do not need to load all symbols into the kernel image.
This takes a significant amount of compile time.

Signed-off-by: TogoFire <togofire@mailfence.com>
Change-Id: I0250ae96c752f244d0a48e127516513e6d711930
2025-01-19 19:50:55 +01:00
Ksawlii
1210b31ce5 configs: Nuke CONFIG_BLK_SEC_STATS 2025-01-19 19:49:07 +01:00
Ksawlii
ff5088010f configs: Nuke CONFIG_DEBUG_KINFO 2025-01-19 17:15:52 +01:00
Danny Lin
3c4fb71b04 kbuild: Add support for LLVM's Polly optimizer
This adds support for compiling the kernel with optimizations offered
by LLVM's polyhedral loop optimizer known as Polly, which can improve
performance by improving cache locality in loops. Note that LLVM is not
compiled with Polly by default -- it must be enabled explicitly.

[ghostrider-reborn]
- Removed polly DCE as it's no longer supported

Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
2025-01-19 17:09:53 +01:00
Ksawlii
6e318661f7 dts: Nuke abox-dbg and abox-debug stuff 2025-01-19 16:55:51 +01:00
Yu-Ting Tseng
8e9a3808d7 BACKPORT: FROMGIT: binder: frozen notification
Frozen processes present a significant challenge in binder transactions.
When a process is frozen, it cannot, by design, accept and/or respond to
binder transactions. As a result, the sender needs to adjust its
behavior, such as postponing transactions until the peer process
unfreezes. However, there is currently no way to subscribe to these
state change events, making it impossible to implement frozen-aware
behaviors efficiently.

Introduce a binder API for subscribing to frozen state change events.
This allows programs to react to changes in peer process state,
mitigating issues related to binder transactions sent to frozen
processes.

Implementation details:
For a given binder_ref, the state of frozen notification can be one of
the followings:
1. Userspace doesn't want a notification. binder_ref->freeze is null.
2. Userspace wants a notification but none is in flight.
   list_empty(&binder_ref->freeze->work.entry) = true
3. A notification is in flight and waiting to be read by userspace.
   binder_ref_freeze.sent is false.
4. A notification was read by userspace and kernel is waiting for an ack.
   binder_ref_freeze.sent is true.

When a notification is in flight, new state change events are coalesced into
the existing binder_ref_freeze struct. If userspace hasn't picked up the
notification yet, the driver simply rewrites the state. Otherwise, the
notification is flagged as requiring a resend, which will be performed
once userspace acks the original notification that's inflight.

See https://r.android.com/3070045 for how userspace is going to use this
feature.

Signed-off-by: Yu-Ting Tseng <yutingtseng@google.com>
Acked-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240709070047.4055369-4-yutingtseng@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 363013421
(cherry picked from commit d579b04a52a183db47dfcb7a44304d7747d551e1
 git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
 char-misc-next)
Change-Id: I5dd32abba932ca7d03ae58660143e075ed778b81
[cmllamas: fix merge conflicts due to missing 0567461a7a6e]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2025-01-19 14:57:12 +01:00
zhujingpeng
ec5d36aa56 ANDROID: GKI: export sys_exit tracepoint
This patch export a sys_exit tracepoint for
task state-tracking and performance tuning.

Bug: 339912146

Change-Id: I951ac6034e80691f092c0ba41b6af1fdaf8be49c
Signed-off-by: zhujingpeng <zhujingpeng@vivo.com>
(cherry picked from commit 53c7feb8b4829376b678b7cb8d501f48b2b47286)
(cherry picked from commit 17e523360e373b219c3a24ffed52bf773e0009df)
2025-01-19 14:56:08 +01:00
Johannes Berg
31f4bc6482 um: line: always fill *error_out in setup_one_line()
[ Upstream commit 824ac4a5edd3f7494ab1996826c4f47f8ef0f63d ]

The pointer isn't initialized by callers, but I have
encountered cases where it's still printed; initialize
it in all possible cases in setup_one_line().

Link: https://patch.msgid.link/20240703172235.ad863568b55f.Iaa1eba4db8265d7715ba71d5f6bb8c7ff63d27e9@changeid
Acked-By: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-19 00:10:00 +01:00
Heiko Carstens
0f91c2ddf8 s390/vmlinux.lds.S: Move ro_after_init section behind rodata section
[ Upstream commit 75c10d5377d8821efafed32e4d72068d9c1f8ec0 ]

The .data.rel.ro and .got section were added between the rodata and
ro_after_init data section, which adds an RW mapping in between all RO
mapping of the kernel image:

---[ Kernel Image Start ]---
0x000003ffe0000000-0x000003ffe0e00000        14M PMD RO X
0x000003ffe0e00000-0x000003ffe0ec7000       796K PTE RO X
0x000003ffe0ec7000-0x000003ffe0f00000       228K PTE RO NX
0x000003ffe0f00000-0x000003ffe1300000         4M PMD RO NX
0x000003ffe1300000-0x000003ffe1331000       196K PTE RO NX
0x000003ffe1331000-0x000003ffe13b3000       520K PTE RW NX <---
0x000003ffe13b3000-0x000003ffe13d5000       136K PTE RO NX
0x000003ffe13d5000-0x000003ffe1400000       172K PTE RW NX
0x000003ffe1400000-0x000003ffe1500000         1M PMD RW NX
0x000003ffe1500000-0x000003ffe1700000         2M PTE RW NX
0x000003ffe1700000-0x000003ffe1800000         1M PMD RW NX
0x000003ffe1800000-0x000003ffe187e000       504K PTE RW NX
---[ Kernel Image End ]---

Move the ro_after_init data section again right behind the rodata
section to prevent interleaving RO and RW mappings:

---[ Kernel Image Start ]---
0x000003ffe0000000-0x000003ffe0e00000        14M PMD RO X
0x000003ffe0e00000-0x000003ffe0ec7000       796K PTE RO X
0x000003ffe0ec7000-0x000003ffe0f00000       228K PTE RO NX
0x000003ffe0f00000-0x000003ffe1300000         4M PMD RO NX
0x000003ffe1300000-0x000003ffe1353000       332K PTE RO NX
0x000003ffe1353000-0x000003ffe1400000       692K PTE RW NX
0x000003ffe1400000-0x000003ffe1500000         1M PMD RW NX
0x000003ffe1500000-0x000003ffe1700000         2M PTE RW NX
0x000003ffe1700000-0x000003ffe1800000         1M PMD RW NX
0x000003ffe1800000-0x000003ffe187e000       504K PTE RW NX
---[ Kernel Image End ]---

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-19 00:09:59 +01:00
Jiaxun Yang
7f45178d31 MIPS: cevt-r4k: Don't call get_c0_compare_int if timer irq is installed
[ Upstream commit 50f2b98dc83de7809a5c5bf0ccf9af2e75c37c13 ]

This avoids warning:

[    0.118053] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:283

Caused by get_c0_compare_int on secondary CPU.

We also skipped saving IRQ number to struct clock_event_device *cd as
it's never used by clockevent core, as per comments it's only meant
for "non CPU local devices".

Reported-by: Serge Semin <fancer.lancer@gmail.com>
Closes: https://lore.kernel.org/linux-mips/6szkkqxpsw26zajwysdrwplpjvhl5abpnmxgu2xuj3dkzjnvsf@4daqrz4mf44k/
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-19 00:09:59 +01:00
Jonathan Cameron
8ccfca2782 arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry
[ Upstream commit 2488444274c70038eb6b686cba5f1ce48ebb9cdd ]

In a review discussion of the changes to support vCPU hotplug where
a check was added on the GICC being enabled if was online, it was
noted that there is need to map back to the cpu and use that to index
into a cpumask. As such, a valid ID is needed.

If an MPIDR check fails in acpi_map_gic_cpu_interface() it is possible
for the entry in cpu_madt_gicc[cpu] == NULL.  This function would
then cause a NULL pointer dereference.   Whilst a path to trigger
this has not been established, harden this caller against the
possibility.

Reviewed-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240529133446.28446-13-Jonathan.Cameron@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-19 00:09:58 +01:00
James Morse
a88e7cba28 arm64: acpi: Move get_cpu_for_acpi_id() to a header
[ Upstream commit 8d34b6f17b9ac93faa2791eb037dcb08bdf755de ]

ACPI identifies CPUs by UID. get_cpu_for_acpi_id() maps the ACPI UID
to the Linux CPU number.

The helper to retrieve this mapping is only available in arm64's NUMA
code.

Move it to live next to get_acpi_id_for_cpu().

Signed-off-by: James Morse <james.morse@arm.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Tested-by: Miguel Luis <miguel.luis@oracle.com>
Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
Tested-by: Jianyong Wu <jianyong.wu@arm.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Acked-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Link: https://lore.kernel.org/r/20240529133446.28446-12-Jonathan.Cameron@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-19 00:09:58 +01:00
Greg Kroah-Hartman
967f18878a ANDROID: fix up change to pti_clone_pgtable()
Due to changes in dad75cf2c313 ("x86/mm: Fix PTI for i386 some more"),
the out-of-tree Android call to pti_clone_pgtable() needs to be fixed up
to work/build properly, so do so.

Fixes: dad75cf2c313 ("x86/mm: Fix PTI for i386 some more")
Change-Id: I64c97f6a24366cd912c7552ddaf04b888702eb26
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-01-19 00:09:58 +01:00
Ksawlii
33a4759f21 defconfigs: Regenerate with regen.sh 2025-01-18 22:53:46 +01:00
Ksawlii
46ef9e7f51 defconfigs: Regenerate with regen.sh 2025-01-17 00:03:07 +01:00
Ksawlii
046f1b47c2 defconfigs: Regenerate with regen.sh 2025-01-16 23:53:44 +01:00
Tim Zimmermann
50596b1299 configs: s5e8825: Rename AP interface from swlan0 to wlan1
* Needed to get STA/AP concurrency working
* See https://source.android.com/devices/tech/connect/wifi-sta-ap-concurrency?hl=en

Change-Id: I9c3331d14e12325e12ac5af41590ad83ee37ec95
Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-16 23:08:04 +01:00
Ksawlii
bea7ef974b defconfigs: Increase log buffer to 1MB 2025-01-16 21:56:54 +01:00
Ksawlii
09fb15e899 defconfig: Disable CONFIG_KSU on vanilla builds 2025-01-15 16:49:21 +01:00
Ksawlii
552619876d defconfigs: Regenerate with regenerate.sh
regenerate.sh: Best work frfr
2025-01-15 16:47:28 +01:00
Nahuel Gómez
1c7179186b configs: turn down undervolt to a safe value
We need to investigate reports of random reboots.

Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-15 16:40:13 +01:00
Nahuel Gómez
f4634f8802 fvmap: move undervolting settings to Kconfig
Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-15 16:40:04 +01:00
Nahuel Gómez
e89716836f configs: disable EFI support
We don't use it.

Signed-off-by: Nahuel Gómez <nahuelgomez329@gmail.com>
2025-01-15 16:39:25 +01:00
Ksawlii
98564339fe defconfigs: enable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 2025-01-15 16:39:12 +01:00
Leon Romanovsky
4331cbd62a ARC: build: Try to guess GCC variant of cross compiler
[ Upstream commit 824927e88456331c7a999fdf5d9d27923b619590 ]

ARC GCC compiler is packaged starting from Fedora 39i and the GCC
variant of cross compile tools has arc-linux-gnu- prefix and not
arc-linux-. This is causing that CROSS_COMPILE variable is left unset.

This change allows builds without need to supply CROSS_COMPILE argument
if distro package is used.

Before this change:
$ make -j 128 ARCH=arc W=1 drivers/infiniband/hw/mlx4/
  gcc: warning: ‘-mcpu=’ is deprecated; use ‘-mtune=’ or ‘-march=’ instead
  gcc: error: unrecognized command-line option ‘-mmedium-calls’
  gcc: error: unrecognized command-line option ‘-mlock’
  gcc: error: unrecognized command-line option ‘-munaligned-access’

[1] https://packages.fedoraproject.org/pkgs/cross-gcc/gcc-arc-linux-gnu/index.html
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Vineet Gupta <vgupta@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-15 16:29:56 +01:00
Naman Jain
a5135d9c45 x86/hyperv: Fix hv tsc page based sched_clock for hibernation
commit bcc80dec91ee745b3d66f3e48f0ec2efdea97149 upstream.

read_hv_sched_clock_tsc() assumes that the Hyper-V clock counter is
bigger than the variable hv_sched_clock_offset, which is cached during
early boot, but depending on the timing this assumption may be false
when a hibernated VM starts again (the clock counter starts from 0
again) and is resuming back (Note: hv_init_tsc_clocksource() is not
called during hibernation/resume); consequently,
read_hv_sched_clock_tsc() may return a negative integer (which is
interpreted as a huge positive integer since the return type is u64)
and new kernel messages are prefixed with huge timestamps before
read_hv_sched_clock_tsc() grows big enough (which typically takes
several seconds).

Fix the issue by saving the Hyper-V clock counter just before the
suspend, and using it to correct the hv_sched_clock_offset in
resume. This makes hv tsc page based sched_clock continuous and ensures
that post resume, it starts from where it left off during suspend.
Override x86_platform.save_sched_clock_state and
x86_platform.restore_sched_clock_state routines to correct this as soon
as possible.

Note: if Invariant TSC is available, the issue doesn't happen because
1) we don't register read_hv_sched_clock_tsc() for sched clock:
See commit e5313f1c5404 ("clocksource/drivers/hyper-v: Rework
clocksource and sched clock setup");
2) the common x86 code adjusts TSC similarly: see
__restore_processor_state() ->  tsc_verify_tsc_adjust(true) and
x86_platform.restore_sched_clock_state().

Cc: stable@vger.kernel.org
Fixes: 1349401ff1aa ("clocksource/drivers/hyper-v: Suspend/resume Hyper-V clocksource for hibernation")
Co-developed-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Naman Jain <namjain@linux.microsoft.com>
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Link: https://lore.kernel.org/r/20240917053917.76787-1-namjain@linux.microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Message-ID: <20240917053917.76787-1-namjain@linux.microsoft.com>
Signed-off-by: Naman Jain <namjain@linux.microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-01-15 16:29:52 +01:00
Catalin Marinas
e720f4eea6 arm64: Ensure bits ASID[15:8] are masked out when the kernel uses 8-bit ASIDs
[ Upstream commit c0900d15d31c2597dd9f634c8be2b71762199890 ]

Linux currently sets the TCR_EL1.AS bit unconditionally during CPU
bring-up. On an 8-bit ASID CPU, this is RES0 and ignored, otherwise
16-bit ASIDs are enabled. However, if running in a VM and the hypervisor
reports 8-bit ASIDs (ID_AA64MMFR0_EL1.ASIDBits == 0) on a 16-bit ASIDs
CPU, Linux uses bits 8 to 63 as a generation number for tracking old
process ASIDs. The bottom 8 bits of this generation end up being written
to TTBR1_EL1 and also used for the ASID-based TLBI operations as the
upper 8 bits of the ASID. Following an ASID roll-over event we can have
threads of the same application with the same 8-bit ASID but different
generation numbers running on separate CPUs. Both TLB caching and the
TLBI operations will end up using different actual 16-bit ASIDs for the
same process.

A similar scenario can happen in a big.LITTLE configuration if the boot
CPU only uses 8-bit ASIDs while secondary CPUs have 16-bit ASIDs.

Ensure that the ASID generation is only tracked by bits 16 and up,
leaving bits 15:8 as 0 if the kernel uses 8-bit ASIDs. Note that
clearing TCR_EL1.AS is not sufficient since the architecture requires
that the top 8 bits of the ASID passed to TLBI instructions are 0 rather
than ignored in such configuration.

Cc: stable@vger.kernel.org
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: James Morse <james.morse@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20241203151941.353796-1-catalin.marinas@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-15 16:29:51 +01:00
Yunfeng Ye
91be5d2232 arm64: mm: Rename asid2idx() to ctxid2asid()
[ Upstream commit a3a5b763410c7bceacf41a52071134d9dc26202a ]

The commit 0c8ea531b774 ("arm64: mm: Allocate ASIDs in pairs") introduce
the asid2idx and idx2asid macro, but these macros are not really useful
after the commit f88f42f853a8 ("arm64: context: Free up kernel ASIDs if
KPTI is not in use").

The code "(asid & ~ASID_MASK)" can be instead by a macro, which is the
same code with asid2idx(). So rename it to ctxid2asid() for a better
understanding.

Also we add asid2ctxid() macro, the contextid can be generated based on
the asid and generation through this macro.

Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com>
Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Link: https://lore.kernel.org/r/c31516eb-6d15-94e0-421c-305fc010ea79@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Stable-dep-of: c0900d15d31c ("arm64: Ensure bits ASID[15:8] are masked out when the kernel uses 8-bit ASIDs")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-15 16:29:51 +01:00
Jiaxun Yang
61e1810272 MIPS: Probe toolchain support of -msym32
[ Upstream commit 18ca63a2e23c5e170d2d7552b64b1f5ad019cd9b ]

msym32 is not supported by LLVM toolchain.
Workaround by probe toolchain support of msym32 for KBUILD_SYM32
feature.

Link: https://github.com/ClangBuiltLinux/linux/issues/1544
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: WangYuli <wangyuli@uniontech.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-15 16:29:50 +01:00
Jiaxun Yang
8965bf921f MIPS: Loongson64: DTS: Fix msi node for ls7a
[ Upstream commit 98a9e2ac3755a353eefea8c52e23d5b0c50f3899 ]

Add it to silent warning:
arch/mips/boot/dts/loongson/ls7a-pch.dtsi:68.16-416.5: Warning (interrupt_provider): /bus@10000000/pci@1a000000: '#interrupt-cells' found, but node is not an interrupt provider
arch/mips/boot/dts/loongson/loongson64g_4core_ls7a.dts:32.31-40.4: Warning (interrupt_provider): /bus@10000000/msi-controller@2ff00000: Missing '#interrupt-cells' in interrupt provider
arch/mips/boot/dts/loongson/loongson64g_4core_ls7a.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider'

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-15 16:29:40 +01:00