From: Gregory CLEMENT <gregory.clement@bootlin.com>
To: Jiaxun Yang <jiaxun.yang@flygoat.com>,
"paulburton@kernel.org" <paulburton@kernel.org>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
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@intel.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: Re: [PATCH 03/11] MIPS: support RAM beyond 32-bit
Date: Wed, 11 Oct 2023 16:46:26 +0200 [thread overview]
Message-ID: <878r89b4jh.fsf@BL-laptop> (raw)
In-Reply-To: <e5b8c68e-8a1d-45e7-92bf-db0c2fa812ad@app.fastmail.com>
Hello Jiaxun,
> 在2023年10月9日十月 下午4:59,Gregory CLEMENT写道:
>> Hello Jiaxun,
>>
>>> 在2023年10月4日十月 下午5:10,Gregory CLEMENT写道:
>>>> From: Vladimir Kondratiev <vladimir.kondratiev@intel.com>
>>>>
>>>> Support platforms where RAM is mapped beyond 32-bit.
>>>>
>>>> The kernel parameter ddr32_alias allows to setup the alias to point
>>>> outside the first 4 GB of memory.
>>>
>>> Are you trying to fix the problem that if kernel text is loaded in
>>> XKPHYS there is no way to to set EBASE to that region?
>>
>> Yes that exactly we try to fix.
>>
>>>
>>> The common practice for other 64bit MIPS system is to load kernel
>>> in KSEG0 and add low 4G mirror with rest of the high memory to buddy
>>> system. By doing this Kernel still have access to all memory beyond
>>> 32 bit, the only draw back is Kernel's text and data can't be relocted
>>> beyond 32-bit.
>>>
>>> Loading kernel into KSEG0 (i.e. with KBUILD_SYM32) have significant benefit
>>> on performance, so I think you shouldn't try to load kernel into XKPHYS
>>> without a good reason, but it might be helpful to add a BUG_ON at
>>> CPS driver to handle such situation.
>>
>> I guess that being in KSEG0 allows to use shorter pointer. But in our
>> case the RAM is physically connected beyond 32bits, so it is not
>> accessible in KSEG0.
>
> For most system there should be a mirror of part of DDR which is accessible
> at KSEG0 and kernel runs from here. As per my interpretion of your code EyeQ5
> is also doing this? If not could you please briefly describe the memory map?
>
> For Kernel in KSEG0 the pointer is still 64bit but we can use fewer inst
> to load ABS pointer into register, see [1].
>
There is a kind of mirror but its physical address start at 0x8000000
so beyond the first 512MBytes that are used for KSEG0.
In short the 32bits mapping is the following:
- the controllers registers of the SoC are located until 0x8000000,
- then from 0x8000000 to 0x10000000 there is the alias to low addresses
of the DDR
- then the SPIflash is mapped to from 0x10000000 to 0x20000000
- after the PCIe Memory 32-bit addr space is from 0x20000000 to
0x40000000
Gregory
> [1]: https://elinux.org/images/1/1f/New-tricks-mips-linux.pdf
--
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com
next prev parent reply other threads:[~2023-10-11 14:46 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-04 16:10 [PATCH 00/11] Add support for the Mobileye EyeQ5 SoC Gregory CLEMENT
2023-10-04 16:10 ` [PATCH 01/11] MIPS: compressed: Use correct instruction for 64 bit code Gregory CLEMENT
2023-10-05 6:40 ` Philippe Mathieu-Daudé
2023-10-24 1:49 ` Florian Fainelli
2023-10-04 16:10 ` [PATCH 02/11] MIPS: use virtual addresses from xkphys for MIPS64 Gregory CLEMENT
2023-10-12 15:34 ` Thomas Bogendoerfer
2023-10-22 11:52 ` Jiaxun Yang
2023-10-22 11:39 ` Jiaxun Yang
2023-10-23 15:45 ` Gregory CLEMENT
2023-10-22 16:42 ` Jiaxun Yang
2023-10-24 16:08 ` Gregory CLEMENT
2023-10-04 16:10 ` [PATCH 03/11] MIPS: support RAM beyond 32-bit Gregory CLEMENT
2023-10-06 11:21 ` Arnd Bergmann
2023-10-07 20:14 ` Jiaxun Yang
2023-10-09 15:59 ` Gregory CLEMENT
2023-10-10 8:55 ` Jiaxun Yang
2023-10-11 14:46 ` Gregory CLEMENT [this message]
2023-10-12 20:40 ` Jiaxun Yang
2023-10-24 9:05 ` Maciej W. Rozycki
2023-10-04 16:10 ` [PATCH 04/11] dt-bindings: Add vendor prefix for Mobileye Vision Technologies Ltd Gregory CLEMENT
2023-10-05 6:34 ` Philippe Mathieu-Daudé
2023-10-06 16:32 ` Rob Herring
2023-10-04 16:10 ` [PATCH 05/11] dt-bindings: mips: cpu: Add I-Class I6500 Multiprocessor Core Gregory CLEMENT
2023-10-05 6:31 ` Philippe Mathieu-Daudé
2023-10-05 14:39 ` Serge Semin
2023-10-05 14:51 ` Gregory CLEMENT
2023-10-05 15:23 ` Serge Semin
2023-10-06 10:48 ` Arnd Bergmann
2023-10-06 16:40 ` Rob Herring
2023-10-09 15:32 ` Gregory CLEMENT
2023-10-09 18:48 ` Arnd Bergmann
2023-10-10 10:13 ` Serge Semin
2023-10-05 14:47 ` Sergio Paracuellos
2023-10-04 16:10 ` [PATCH 06/11] dt-bindings: mips: Add bindings for Mobileye SoCs Gregory CLEMENT
2023-10-04 16:47 ` Rob Herring
2023-10-05 14:55 ` Gregory CLEMENT
2023-10-06 16:50 ` Rob Herring
2023-10-04 16:10 ` [PATCH 07/11] dt-bindings: mfd: syscon: Document EyeQ5 OLB Gregory CLEMENT
2023-10-06 16:54 ` Rob Herring
2023-10-09 15:49 ` Gregory CLEMENT
2023-10-04 16:10 ` [PATCH 08/11] MIPS: mobileye: Add EyeQ5 dtsi Gregory CLEMENT
2023-10-04 16:41 ` Rob Herring
2023-10-05 15:17 ` Gregory CLEMENT
2023-10-04 16:10 ` [PATCH 09/11] MIPS: mobileye: Add EPM5 device tree Gregory CLEMENT
2023-10-06 11:18 ` Arnd Bergmann
2023-10-09 14:51 ` Gregory CLEMENT
2023-10-04 16:10 ` [PATCH 10/11] MIPS: generic: Add support for Mobileye EyeQ5 Gregory CLEMENT
2023-10-05 0:08 ` kernel test robot
2023-10-06 14:47 ` Arnd Bergmann
2023-10-09 14:58 ` Gregory CLEMENT
2023-10-04 16:10 ` [PATCH 11/11] MAINTAINERS: Add entry for Mobileye MIPS SoCs Gregory CLEMENT
2023-10-06 11:11 ` Arnd Bergmann
2023-10-09 15:06 ` 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=878r89b4jh.fsf@BL-laptop \
--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@intel.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