2021-01-19 06:27:32

by Alistair Francis

[permalink] [raw]
Subject: [PATCH v2 3/3] arch/arm/configs: Enable VMSPLIT_2G in imx_v6_v7_defconfig

The reMarkable2 requires VMSPLIT_2G, so lets set this in the
imx_v6_v7_defconfig.

Signed-off-by: Alistair Francis <[email protected]>
---
arch/arm/configs/imx_v6_v7_defconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index 55674cb1ffce..fa9229616106 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -29,6 +29,7 @@ CONFIG_SOC_IMX7D=y
CONFIG_SOC_IMX7ULP=y
CONFIG_SOC_VF610=y
CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
CONFIG_ARM_PSCI=y
CONFIG_HIGHMEM=y
CONFIG_FORCE_MAX_ZONEORDER=14
--
2.29.2


2021-01-29 07:16:06

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] arch/arm/configs: Enable VMSPLIT_2G in imx_v6_v7_defconfig

On Sun, Jan 17, 2021 at 10:03:01AM -0800, Alistair Francis wrote:
> The reMarkable2 requires VMSPLIT_2G, so lets set this in the
> imx_v6_v7_defconfig.

Hmm, why is VMSPLIT_2G required by reMarkable2?

Shawn

>
> Signed-off-by: Alistair Francis <[email protected]>
> ---
> arch/arm/configs/imx_v6_v7_defconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
> index 55674cb1ffce..fa9229616106 100644
> --- a/arch/arm/configs/imx_v6_v7_defconfig
> +++ b/arch/arm/configs/imx_v6_v7_defconfig
> @@ -29,6 +29,7 @@ CONFIG_SOC_IMX7D=y
> CONFIG_SOC_IMX7ULP=y
> CONFIG_SOC_VF610=y
> CONFIG_SMP=y
> +CONFIG_VMSPLIT_2G=y
> CONFIG_ARM_PSCI=y
> CONFIG_HIGHMEM=y
> CONFIG_FORCE_MAX_ZONEORDER=14
> --
> 2.29.2
>

2021-02-03 02:41:13

by Alistair Francis

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] arch/arm/configs: Enable VMSPLIT_2G in imx_v6_v7_defconfig

On Thu, Jan 28, 2021 at 11:13 PM Shawn Guo <[email protected]> wrote:
>
> On Sun, Jan 17, 2021 at 10:03:01AM -0800, Alistair Francis wrote:
> > The reMarkable2 requires VMSPLIT_2G, so lets set this in the
> > imx_v6_v7_defconfig.
>
> Hmm, why is VMSPLIT_2G required by reMarkable2?

I'm not too sure. It's difficult to debug problems as I only have a
UART but without this I don't see any kernel prints so it seems like
the kernel doesn't get very far. I haven't had any luck with earlycon
on the device so I don't know how I can get more information.

Alistair

>
> Shawn
>
> >
> > Signed-off-by: Alistair Francis <[email protected]>
> > ---
> > arch/arm/configs/imx_v6_v7_defconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
> > index 55674cb1ffce..fa9229616106 100644
> > --- a/arch/arm/configs/imx_v6_v7_defconfig
> > +++ b/arch/arm/configs/imx_v6_v7_defconfig
> > @@ -29,6 +29,7 @@ CONFIG_SOC_IMX7D=y
> > CONFIG_SOC_IMX7ULP=y
> > CONFIG_SOC_VF610=y
> > CONFIG_SMP=y
> > +CONFIG_VMSPLIT_2G=y
> > CONFIG_ARM_PSCI=y
> > CONFIG_HIGHMEM=y
> > CONFIG_FORCE_MAX_ZONEORDER=14
> > --
> > 2.29.2
> >

2021-02-03 07:55:02

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] arch/arm/configs: Enable VMSPLIT_2G in imx_v6_v7_defconfig

On Wed, Feb 3, 2021 at 3:37 AM Alistair Francis <[email protected]> wrote:
>
> On Thu, Jan 28, 2021 at 11:13 PM Shawn Guo <[email protected]> wrote:
> >
> > On Sun, Jan 17, 2021 at 10:03:01AM -0800, Alistair Francis wrote:
> > > The reMarkable2 requires VMSPLIT_2G, so lets set this in the
> > > imx_v6_v7_defconfig.
> >
> > Hmm, why is VMSPLIT_2G required by reMarkable2?
>
> I'm not too sure. It's difficult to debug problems as I only have a
> UART but without this I don't see any kernel prints so it seems like
> the kernel doesn't get very far. I haven't had any luck with earlycon
> on the device so I don't know how I can get more information.

In the dts file, I can see that the machine has 1GB of RAM at
contiguous addresses. My first guess would be a problem with
highmem, as this configuration means that with VMSPLIT_3G
there are 768MB of lowmem and 256MB of highmem.

Can you try these two things to narrow the problem down
further?

a) disable CONFIG_HIGHMEM when using VMSPLIT_3G
b) use VMSPLIT_3G_OPT

If both of them solve the problem, then highmem is likely
the root cause. One possible issue might be that the boot
loader loads the initramfs or the dtb into a location outside
of the first 768 MB of lowmem where it is unreachable
in the VMSPLIT_3G configuration.

Arnd

2021-02-04 06:59:48

by Alistair Francis

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] arch/arm/configs: Enable VMSPLIT_2G in imx_v6_v7_defconfig

On Tue, Feb 2, 2021 at 11:50 PM Arnd Bergmann <[email protected]> wrote:
>
> On Wed, Feb 3, 2021 at 3:37 AM Alistair Francis <[email protected]> wrote:
> >
> > On Thu, Jan 28, 2021 at 11:13 PM Shawn Guo <[email protected]> wrote:
> > >
> > > On Sun, Jan 17, 2021 at 10:03:01AM -0800, Alistair Francis wrote:
> > > > The reMarkable2 requires VMSPLIT_2G, so lets set this in the
> > > > imx_v6_v7_defconfig.
> > >
> > > Hmm, why is VMSPLIT_2G required by reMarkable2?
> >
> > I'm not too sure. It's difficult to debug problems as I only have a
> > UART but without this I don't see any kernel prints so it seems like
> > the kernel doesn't get very far. I haven't had any luck with earlycon
> > on the device so I don't know how I can get more information.
>
> In the dts file, I can see that the machine has 1GB of RAM at
> contiguous addresses. My first guess would be a problem with
> highmem, as this configuration means that with VMSPLIT_3G
> there are 768MB of lowmem and 256MB of highmem.
>
> Can you try these two things to narrow the problem down
> further?
>
> a) disable CONFIG_HIGHMEM when using VMSPLIT_3G
> b) use VMSPLIT_3G_OPT

Thanks Arnd,

I was working on testing the config changes you mentioned, but it
seems like all of them work now.

VMSPLIT_2G: Boots to userspace

VMSPLIT_3G && HIGHMEM: Boots to userspace

VMSPLIT_3G && !HIGHMEM: Boots to userspace

VMSPLIT_3G_OPT && HIGHMEM:Boots to userspace

>
> If both of them solve the problem, then highmem is likely
> the root cause. One possible issue might be that the boot
> loader loads the initramfs or the dtb into a location outside
> of the first 768 MB of lowmem where it is unreachable
> in the VMSPLIT_3G configuration.

It boots with u-boot, which I am building so I can change these addresses.

I'm guessing that I have changed the addresses at some point and now
it works. I'm going to drop this patch.

Alistair

>
> Arnd