On 06/03/2015 02:53 PM, Timur Tabi wrote:
On 06/03/2015 01:25 PM, Guenter Roeck wrote:
In general the idea here would be to use a crashdump kernel, which, when loaded, would reset the watchdog before it fires. This kernel would then write a core dump to a specified location.
What is the mechanism for resetting the watchdog? The only code that knows about the hardware registers is this driver. Does the crashdump kernel call the watchdog stop function?
If arm64 doesn't support a crashdump kernel, it might still be possible to log the backtrace somewhere (eg in nvram using pstore if that is supported via acpi or efi).
Just to go back and explicitly answer this, arm64 does have support for crashdump, using the standard kexec/kdump approach, exactly as on x86. There's still some more work to be done to get the ACPI case fully upstream (e.g. on X-Gene platforms such as the HP ProLiant Moonshot m400 we need non-PSCI CPU parking protocol offlining when booting in UEFI/ACPI mode), but it's what we are doing in RHEL(SA) and the goal is to help clean up the remaining pieces upstream there.
Jon.