lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87r0l06x74.fsf@BL-laptop>
Date:   Wed, 08 Nov 2023 17:12:31 +0100
From:   Gregory CLEMENT <gregory.clement@...tlin.com>
To:     Jiaxun Yang <jiaxun.yang@...goat.com>, linux-mips@...r.kernel.org
Cc:     linux-kernel@...r.kernel.org, tsbogend@...ha.franken.de,
        vladimir.kondratiev@...el.com,
        Jiaxun Yang <jiaxun.yang@...goat.com>
Subject: Re: [PATCH v2 00/10] MIPS: Fix kernel in XKPHYS

Hello Jiaxun,

> Hi all,
>
> This series fixes support for loading kernel to XKPHYS space.
> It is derived from "MIPS: use virtual addresses from xkphys for MIPS64" [1].
>

Thanks for this new series, I was able to test it this week and I have a
few comments.


> Boot tested on boston and QEMU with loading address set to 0xa800000090000000.
> QEMU patch on the way.
>
> For EyeQ5's memory layout, I think you just need to write devicetree memory
> node as:
>
> memory@0 {
> 	device_type = "memory";
> 	reg = < 0x0 0x08000000 0x0 0x08000000
> 		0x8 0x08000000 0x0 0x78000000>;
> };
>
> And set kernel load addesss to somewhere in RAM, everything should
> work.

With this setup and a workaround that I had to do and I will comment in
for the patch "MIPS: Refactor mips_cps_core_entry implementation", I
managed to boot the kernel and the 8 core of my setup are detected.

>
> It makes me a little bit confused that in EyeQ5 enablement patch, you set
> load address to:
>> +else
>> +load-$(CONFIG_MIPS_GENERIC)	+= 0xa800000080100000
>> +endif
> Where does not have memory aviailable.
>
> I guess you might want to set it to 0xa800000800100000?
> Though I would suggest you to set it to 0xa800000808000000, to avoid
> collisions with low mem and reserved mem.

Indeed I used CONFIG_PHYSICAL_START=0xa800000808000000

Gregory
>
> Gregory and Vladimir, do let me know if I missed anything.
>
> Thanks
> - Jiaxun
>
> [1]: https://lore.kernel.org/lkml/20231004161038.2818327-3-gregory.clement@bootlin.com/
>
> Jiaxun Yang (10):
>   MIPS: Export higher/highest relocation functions in uasm
>   MIPS: spaces: Define a couple of handy macros
>   MIPS: genex: Fix except_vec_vi for kernel in XKPHYS
>   MIPS: Fix set_uncached_handler for ebase in XKPHYS
>   MIPS: Refactor mips_cps_core_entry implementation
>   MIPS: Allow kernel base to be set from Kconfig for all platforms
>   MIPS: traps: Handle CPU with non standard vint offset
>   MIPS: Avoid unnecessary reservation of exception space
>   MIPS: traps: Enhance memblock ebase allocation process
>   MIPS: Get rid of CONFIG_NO_EXCEPT_FILL
>
>  arch/mips/Kconfig                           |  27 ++--
>  arch/mips/include/asm/addrspace.h           |   5 +
>  arch/mips/include/asm/mach-generic/spaces.h |   5 +-
>  arch/mips/include/asm/mips-cm.h             |   1 +
>  arch/mips/include/asm/smp-cps.h             |   4 +-
>  arch/mips/include/asm/traps.h               |   1 -
>  arch/mips/include/asm/uasm.h                |   2 +
>  arch/mips/kernel/cps-vec.S                  | 110 +++++--------
>  arch/mips/kernel/cpu-probe.c                |   5 -
>  arch/mips/kernel/cpu-r3k-probe.c            |   2 -
>  arch/mips/kernel/genex.S                    |  19 ++-
>  arch/mips/kernel/head.S                     |   7 +-
>  arch/mips/kernel/smp-cps.c                  | 167 +++++++++++++++++---
>  arch/mips/kernel/traps.c                    |  85 +++++++---
>  arch/mips/mm/uasm.c                         |   6 +-
>  15 files changed, 293 insertions(+), 153 deletions(-)
>
> -- 
> 2.34.1
>

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ