Hi Michal,
On 21/11/2023 17:18, Michal Orzel wrote:
On 21/11/2023 18:04, Julien Grall wrote:
On 21/11/2023 17:00, Michal Orzel wrote:
Hi Julien,
Hi,
On 21/11/2023 17:09, Julien Grall wrote:
Hi Michal,
On 21/11/2023 09:45, Michal Orzel wrote:
At the moment, the 'hex' string is placed right after the 'putn'
function in the .text section. This is because of the limited range
(+/- 1MB) of PC relative 'adr' instruction 'putn' uses. Modify it to use
'adr_l' instead (range extended to +/- 4GB) and move the string to
.rodata.str. This way all the earlyprintk messages will be part of .rodata
and the behavior will be consistent with what we already do on arm32.
This will be correct today, but I am actually thinking to move 'hex' to
.rodata.idmap so it can be used while we are on the 1:1 mapping and/or
temporary mapping.
So you are planning on extending your series to also cover arm64?
It is not in my soonish plan. But you are arguing that this patch is for
consistency with arm32. This will not be after my series.
Hmm, consistency was not the only reason for sending this patch. It's a
beneficial side effect
given that putn implementations are very similar on arm32/arm64.
Are you saying that
moving a string that is const from .text to .rodata is not a good change?
.rodata is better but I would rather prefer if this is moved to
.rodata.idmap directly.
And I would not change arm64 just for consistency because I don't view
it as necessary. The boot code is already not the same.
I don't recall trying to make the entire boot code consistent. But if there are
parts that
are almost identical, I think symmetry is welcomed. It helps reading the code,
at least for me.
If you want symmetry, then I am happy to switch to .rodata.idmap. But I
would rather not first move to .rodata and then in a month time switch
to .rodata.idmap.
Cheers,
--
Julien Grall