From: hauke@hauke-m.de (Hauke Mehrtens)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 4/4] ARM: BCM5301X: workaround suppress fault
Date: Sun, 05 Jan 2014 23:29:32 +0100 [thread overview]
Message-ID: <52C9DCCC.9030801@hauke-m.de> (raw)
In-Reply-To: <201401052125.40130.arnd@arndb.de>
On 01/05/2014 09:25 PM, Arnd Bergmann wrote:
> On Sunday 05 January 2014, Hauke Mehrtens wrote:
>> Without this patch I am getting a unhandled fault exception like this
>> one after "Freeing unused kernel memory":
>>
>> Freeing unused kernel memory: 1260K (c02c1000 - c03fc000)
>> Unhandled fault: imprecise external abort (0x1c06) at 0xb6f89005
>> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007
>>
>> The address which is here 0xb6f89005 changes from boot to boot, with a
>> new build the changes are bigger. With kernel 3.10 I have also seen
>> this fault at different places in the boot process, but starting with
>> 3.11 they are always occurring after the "Freeing unused kernel memory"
>> message. I never was able to completely boot to userspace without this
>> handler. The abort code is constant 0x1c06. This fault just happens
>> once in the boot process I have never seen it happing twice or more.
>
> How about narrowing down the abort handler to only ignore a single
> fault after boot, and only with the abort code 0x1c06? That way you
> don't risk silent data corruption in case something else goes wrong
> after booting.
Ok I extended the bcm5301x_abort_handler() to only ignore the fault when
the code is 0x1c06 and it is the first fault.
>> This workaround was copied from the vendor code including most of the
>> comments. It says it they think this is caused by the CFE boot loader
>> used on this device. I do not have any access to any datasheet or
>> errata document to check this.
>
> Does the SoC by chance have a PCI host controller? The only other
> platforms with this kind of handler have it to catch things going wrong
> with PCI. Maybe another thing to try is to turn off the PCI core
> at early boot.
Yes it has two PCIe host controller. I haven't tried to initialized the
PCIe core. It could be that the boot loader did something with the PCIe
controller, but I do not think so.
Hauke
next prev parent reply other threads:[~2014-01-05 22:29 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-05 17:58 [PATCH v4 0/4] ARM: BCM5301X: initial support for the BCM5301X/BCM470X SoCs with ARM CPU Hauke Mehrtens
2014-01-05 17:58 ` [PATCH v4 1/4] " Hauke Mehrtens
2014-01-05 19:30 ` Arnd Bergmann
2014-01-05 23:30 ` Hauke Mehrtens
2014-01-05 20:37 ` Alexander Shiyan
2014-01-05 17:58 ` [PATCH v4 2/4] ARM: BCM5301X: add early debugging support Hauke Mehrtens
2014-01-05 17:58 ` [PATCH v4 3/4] ARM: BCM5301X: add dts files for BCM4708 SoC Hauke Mehrtens
2014-01-05 17:58 ` [PATCH v4 4/4] ARM: BCM5301X: workaround suppress fault Hauke Mehrtens
2014-01-05 20:25 ` Arnd Bergmann
2014-01-05 22:29 ` Hauke Mehrtens [this message]
2014-01-05 19:52 ` [PATCH v4 0/4] ARM: BCM5301X: initial support for the BCM5301X/BCM470X SoCs with ARM CPU Arnd Bergmann
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=52C9DCCC.9030801@hauke-m.de \
--to=hauke@hauke-m.de \
--cc=linux-arm-kernel@lists.infradead.org \
/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.