From: Tony Lindgren <tony@atomide.com>
To: Heiko Schocher <hs@denx.de>
Cc: linux-kernel@vger.kernel.org,
Ayoub Zaki <Ayoub.Zaki@bosch-si.com>,
Russell King <linux@arm.linux.org.uk>,
linux-omap@vger.kernel.org, Georg.Soffel@bosch-si.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arm, omap2, sram: On HS/EMU devices, only 64K internal SRAM is available.
Date: Wed, 14 Oct 2015 10:49:20 -0700 [thread overview]
Message-ID: <20151014174920.GE10113@atomide.com> (raw)
In-Reply-To: <1444715655-30077-1-git-send-email-hs@denx.de>
* Heiko Schocher <hs@denx.de> [151012 22:58]:
> Of this, secure content (including PPA) uses initial
> portion of the SRAM. This chunk is not (and shouldn't
> be) accessible from the public code.
>
> The minimum size of this chunk (0x350) is used in this
> patch. Available size is rounded off to 63K.
>
> Both values would require a change if size of secure
> content grows beyond 0x350.
Makes sense to me. And something similar is needed at least for
dm814x to get rid of the imprecise abort during boot with
commit bbeb92095159 ("ARM: 8422/1: enable imprecise aborts during
early kernel startup") applied.
Is this needed as a fix to the -rc cycle, or can this wait for
v4.4?
Regards,
Tony
> Signed-off-by: Heiko Schocher <hs@denx.de>
> Signed-off-by: Ayoub Zaki <Ayoub.Zaki@bosch-si.com>
> ---
>
> arch/arm/mach-omap2/sram.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/arch/arm/mach-omap2/sram.c b/arch/arm/mach-omap2/sram.c
> index cd488b8..2e7c00f 100644
> --- a/arch/arm/mach-omap2/sram.c
> +++ b/arch/arm/mach-omap2/sram.c
> @@ -47,6 +47,28 @@
>
> #define GP_DEVICE 0x300
>
> +/**
> + * Size of chunk used by secure content in the HS/EMU devices.
> + *
> + * This size is not fixed. It depends upon the implementation of PPA.
> + * May need to be modified if the size grows.
> + */
> +#define AM33XX_HS_HEADER_SIZE 0x0350
> +
> +/**
> + * Start of public SRAM on HS/EMU devices.
> + */
> +#define AM33XX_SRAM_PA 0x40300000
> +#define AM33XX_SRAM_PUB_PA (AM33XX_SRAM_PA + AM33XX_HS_HEADER_SIZE)
> +
> +/**
> + * Size of public SRAM available on HS/EMU devices.
> + *
> + * This size also depends upon AM33XX_HS_HEADER_SIZE.
> + * Current value is derived from nearest round-off.
> + */
> +#define AM33XX_SRAM_PUB_SIZE 0xfc00 /* 63K */
> +
> #define ROUND_DOWN(value,boundary) ((value) & (~((boundary)-1)))
>
> static unsigned long omap_sram_start;
> @@ -99,6 +121,9 @@ static void __init omap_detect_sram(void)
> } else {
> omap_sram_size = 0x8000; /* 32K */
> }
> + } else if (soc_is_am33xx()) {
> + omap_sram_start = AM33XX_SRAM_PUB_PA;
> + omap_sram_size = AM33XX_SRAM_PUB_SIZE;
> } else {
> omap_sram_start = OMAP2_SRAM_PUB_PA;
> omap_sram_size = 0x800; /* 2K */
> --
> 2.1.0
>
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm, omap2, sram: On HS/EMU devices, only 64K internal SRAM is available.
Date: Wed, 14 Oct 2015 10:49:20 -0700 [thread overview]
Message-ID: <20151014174920.GE10113@atomide.com> (raw)
In-Reply-To: <1444715655-30077-1-git-send-email-hs@denx.de>
* Heiko Schocher <hs@denx.de> [151012 22:58]:
> Of this, secure content (including PPA) uses initial
> portion of the SRAM. This chunk is not (and shouldn't
> be) accessible from the public code.
>
> The minimum size of this chunk (0x350) is used in this
> patch. Available size is rounded off to 63K.
>
> Both values would require a change if size of secure
> content grows beyond 0x350.
Makes sense to me. And something similar is needed at least for
dm814x to get rid of the imprecise abort during boot with
commit bbeb92095159 ("ARM: 8422/1: enable imprecise aborts during
early kernel startup") applied.
Is this needed as a fix to the -rc cycle, or can this wait for
v4.4?
Regards,
Tony
> Signed-off-by: Heiko Schocher <hs@denx.de>
> Signed-off-by: Ayoub Zaki <Ayoub.Zaki@bosch-si.com>
> ---
>
> arch/arm/mach-omap2/sram.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/arch/arm/mach-omap2/sram.c b/arch/arm/mach-omap2/sram.c
> index cd488b8..2e7c00f 100644
> --- a/arch/arm/mach-omap2/sram.c
> +++ b/arch/arm/mach-omap2/sram.c
> @@ -47,6 +47,28 @@
>
> #define GP_DEVICE 0x300
>
> +/**
> + * Size of chunk used by secure content in the HS/EMU devices.
> + *
> + * This size is not fixed. It depends upon the implementation of PPA.
> + * May need to be modified if the size grows.
> + */
> +#define AM33XX_HS_HEADER_SIZE 0x0350
> +
> +/**
> + * Start of public SRAM on HS/EMU devices.
> + */
> +#define AM33XX_SRAM_PA 0x40300000
> +#define AM33XX_SRAM_PUB_PA (AM33XX_SRAM_PA + AM33XX_HS_HEADER_SIZE)
> +
> +/**
> + * Size of public SRAM available on HS/EMU devices.
> + *
> + * This size also depends upon AM33XX_HS_HEADER_SIZE.
> + * Current value is derived from nearest round-off.
> + */
> +#define AM33XX_SRAM_PUB_SIZE 0xfc00 /* 63K */
> +
> #define ROUND_DOWN(value,boundary) ((value) & (~((boundary)-1)))
>
> static unsigned long omap_sram_start;
> @@ -99,6 +121,9 @@ static void __init omap_detect_sram(void)
> } else {
> omap_sram_size = 0x8000; /* 32K */
> }
> + } else if (soc_is_am33xx()) {
> + omap_sram_start = AM33XX_SRAM_PUB_PA;
> + omap_sram_size = AM33XX_SRAM_PUB_SIZE;
> } else {
> omap_sram_start = OMAP2_SRAM_PUB_PA;
> omap_sram_size = 0x800; /* 2K */
> --
> 2.1.0
>
next prev parent reply other threads:[~2015-10-14 17:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-13 5:54 [PATCH] arm, omap2, sram: On HS/EMU devices, only 64K internal SRAM is available Heiko Schocher
2015-10-13 5:54 ` Heiko Schocher
2015-10-14 17:49 ` Tony Lindgren [this message]
2015-10-14 17:49 ` Tony Lindgren
2015-10-14 22:20 ` Tony Lindgren
2015-10-14 22:20 ` Tony Lindgren
2015-10-14 23:54 ` Tony Lindgren
2015-10-14 23:54 ` Tony Lindgren
2015-10-15 4:26 ` Heiko Schocher
2015-10-15 4:26 ` Heiko Schocher
2015-10-15 3:57 ` Heiko Schocher
2015-10-15 3:57 ` Heiko Schocher
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=20151014174920.GE10113@atomide.com \
--to=tony@atomide.com \
--cc=Ayoub.Zaki@bosch-si.com \
--cc=Georg.Soffel@bosch-si.com \
--cc=hs@denx.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.