From: Gregory CLEMENT <gregory.clement@bootlin.com>
To: Paul Burton <paulburton@kernel.org>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
linux-mips@vger.kernel.org, Jiaxun Yang <jiaxun.yang@flygoat.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: "Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
"Tawfik Bayouk" <tawfik.bayouk@mobileye.com>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>
Subject: [PATCH v4 11/22] MIPS: traps: Enhance memblock ebase allocation process
Date: Fri, 8 Dec 2023 17:12:27 +0100 [thread overview]
Message-ID: <20231208161249.1827174-12-gregory.clement@bootlin.com> (raw)
In-Reply-To: <20231208161249.1827174-1-gregory.clement@bootlin.com>
From: Jiaxun Yang <jiaxun.yang@flygoat.com>
We try to allocate from KSEG0 accessible space first, and
then if we really can't allocate any memory from KSEG0 and
we are sure that we support ebase in higher segment, give
it another go without restriction.
This can maximize the possibility of having ebase in KSEG0.
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
arch/mips/kernel/traps.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index b6e94654f6211..68f1dd54cde1c 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -2399,7 +2399,12 @@ void __init trap_init(void)
memblock_reserve(ebase_pa, vec_size);
} else {
vec_size = max(vec_size, PAGE_SIZE);
- ebase_pa = memblock_phys_alloc(vec_size, 1 << fls(vec_size));
+ ebase_pa = memblock_phys_alloc_range(vec_size, 1 << fls(vec_size),
+ 0x0, KSEGX_SIZE - 1);
+
+ if (!ebase_pa && (IS_ENABLED(CONFIG_EVA) || cpu_has_ebase_wg))
+ ebase_pa = memblock_phys_alloc(vec_size, 1 << fls(vec_size));
+
if (!ebase_pa)
panic("%s: Failed to allocate %lu bytes align=0x%x\n",
__func__, vec_size, 1 << fls(vec_size));
--
2.42.0
next prev parent reply other threads:[~2023-12-08 16:13 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-08 16:12 [PATCH v4 00/22] Add support for the Mobileye EyeQ5 SoC Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 01/22] MIPS: compressed: Use correct instruction for 64 bit code Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 02/22] MIPS: Export higher/highest relocation functions in uasm Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 03/22] MIPS: spaces: Define a couple of handy macros Gregory CLEMENT
2023-12-08 17:24 ` Sergey Shtylyov
2023-12-08 16:12 ` [PATCH v4 04/22] MIPS: genex: Fix except_vec_vi for kernel in XKPHYS Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 05/22] MIPS: Fix set_uncached_handler for ebase " Gregory CLEMENT
2023-12-08 17:22 ` Sergey Shtylyov
2023-12-08 17:22 ` Sergey Shtylyov
2023-12-08 16:12 ` [PATCH v4 06/22] MIPS: Refactor mips_cps_core_entry implementation Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 07/22] MIPS: Fix cache issue with mips_cps_core_entry Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 08/22] MIPS: Allow kernel base to be set from Kconfig for all platforms Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 09/22] MIPS: traps: Handle CPU with non standard vint offset Gregory CLEMENT
2023-12-08 17:19 ` Sergey Shtylyov
2023-12-08 16:12 ` [PATCH v4 10/22] MIPS: Avoid unnecessary reservation of exception space Gregory CLEMENT
2023-12-08 16:12 ` Gregory CLEMENT [this message]
2023-12-08 16:12 ` [PATCH v4 12/22] MIPS: Get rid of CONFIG_NO_EXCEPT_FILL Gregory CLEMENT
2023-12-08 17:02 ` Sergey Shtylyov
2023-12-08 16:12 ` [PATCH v4 13/22] MIPS: traps: Give more explanations if ebase doesn't belong to KSEG0 Gregory CLEMENT
2023-12-08 16:45 ` Sergey Shtylyov
2023-12-08 16:12 ` [PATCH v4 14/22] dt-bindings: Add vendor prefix for Mobileye Vision Technologies Ltd Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 15/22] dt-bindings: mips: cpus: Sort the entries Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 16/22] dt-bindings: mips: cpu: Add I-Class I6500 Multiprocessor Core Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 17/22] dt-bindings: mips: Add bindings for Mobileye SoCs Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 18/22] dt-bindings: mfd: syscon: Document EyeQ5 OLB Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 19/22] MIPS: mobileye: Add EyeQ5 dtsi Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 20/22] MIPS: mobileye: Add EPM5 device tree Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 21/22] MIPS: generic: Add support for Mobileye EyeQ5 Gregory CLEMENT
2023-12-08 16:12 ` [PATCH v4 22/22] MAINTAINERS: Add entry for Mobileye MIPS SoCs Gregory CLEMENT
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231208161249.1827174-12-gregory.clement@bootlin.com \
--to=gregory.clement@bootlin.com \
--cc=alexandre.belloni@bootlin.com \
--cc=devicetree@vger.kernel.org \
--cc=jiaxun.yang@flygoat.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=paulburton@kernel.org \
--cc=robh+dt@kernel.org \
--cc=tawfik.bayouk@mobileye.com \
--cc=theo.lebrun@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=tsbogend@alpha.franken.de \
--cc=vladimir.kondratiev@mobileye.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox