summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
49a683f)
Currently during a panic, panic_stop will print the current cell
on the CPU where the panic occurred. However, if the hypervisor
panics sufficiently early during initialization, we may end up in
a situation where the root cell has not been initialized. This can
easily cause a trap loop, making the panic output less useful.
Signed-off-by: Antonios Motakis <antonios.motakis@huawei.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
*/
void __attribute__((noreturn)) panic_stop(void)
{
*/
void __attribute__((noreturn)) panic_stop(void)
{
+ struct cell *cell = this_cell();
+
panic_printk("Stopping CPU %d (Cell: \"%s\")\n", this_cpu_id(),
panic_printk("Stopping CPU %d (Cell: \"%s\")\n", this_cpu_id(),
- this_cell()->config->name);
+ cell && cell->config ? cell->config->name : "<UNSET>");
if (phys_processor_id() == panic_cpu)
panic_in_progress = 0;
if (phys_processor_id() == panic_cpu)
panic_in_progress = 0;