[Maverick] [ti-omap4] SRU: A workaround for highmem issue on OMAP4 platform
Tim Gardner
tim.gardner at canonical.com
Thu Sep 30 18:00:50 UTC 2010
On 09/30/2010 08:19 AM, Bryan Wu wrote:
> SRU Justification:
>
> Impact:
> There is a critical highmem issue on our latest OMAP4 ES2.0 platform. When we
> build kernel package natively on ES2.0 platform with mem=1G and highmem
> enabled, we will meet 'Bus Error' corruption from gcc shortly. And 'Unhandled
> imprecised external abort' kernel oops messages. Then the whole system will be
> very instable.
>
> Fix:
> Generally when using highmem we can reproduce this issue quickly, with 10, 15
> minutes after started the kernel build. Using CONFIG_VMSPLIT_2G=y and Nicolas's
> VMALLOC_END patch, we can put 0 memory in highmem. But without highmem, we met
> another "Bad Mode" issue because of missing enabling errata fixing for L2
> controller PL310. As a result, 2G:2G split and errata fixing of PL310 is a
> workaround of this issue. We can fully use the whole 1G memory.
>
> Testcase: Add kernel boot command line mem=1G, build kernel package on ES2.0
> hardware after booting the kernel. The issue is supposed to be gone with 2G:2G
> split config.
>
> Notes: the VMALLOC_END value is wrong in mach-omap2, Nicolas Pitre posted a fixing
> patch to upstream, which is required in this workaround.
>
> BugLink: http://bugs.launchpad.net/bugs/#633227
>
> The following changes since commit e00f3390942c7a1e04cc5055551d9819b9cd62c2:
> Bryan Wu (1):
> UBUNTU: SAUCE: Fix a buidling error when turn off CONFIG_SMP
>
> are available in the git repository at:
>
> git://kernel.ubuntu.com/roc/ubuntu-maverick lp633227
>
> Bryan Wu (1):
> UBUNTU: [Config] Enable CONFIG_VMSPLIT_2G=y for OMAP4
>
> Nicolas Pitre (1):
> ARM: do not define VMALLOC_END relative to PAGE_OFFSET
>
> Ricardo Salveti de Araujo (1):
> UBUNTU: [Config] OMAP: Enable needed Errata for OMAP4 to work with DMA based device drivers
>
> arch/arm/mach-aaec2000/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-bcmring/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-clps711x/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-ebsa110/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-footbridge/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-h720x/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-integrator/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-msm/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-netx/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-omap1/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-omap2/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-pnx4008/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-rpc/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-shark/include/mach/vmalloc.h | 2 +-
> arch/arm/mach-versatile/include/mach/vmalloc.h | 2 +-
> debian.ti-omap4/config/config.common.ubuntu | 8 ++++----
> 16 files changed, 19 insertions(+), 19 deletions(-)
applied and pushed
--
Tim Gardner tim.gardner at canonical.com
More information about the kernel-team
mailing list