On Mon, 2017-07-24 at 14:10:15 UTC, Michael Ellerman wrote:
> For debugging very early boot problems we have CONFIG_PPC_EARLY_DEBUG,
> which allows configuring the kernel such that it unconditionally writes
> to a particular type of console, regardless of whether that console
> exists or not. This is useful sometimes when the kernel crashes before
> it can even determine what platform it's on, and therefore what consoles
> However if you boot a kernel built this way on a different platform, it
> will generally crash because it writes to a console that doesn't exist.
> A particularly nasty instance of this is if you enable the hypervisor
> console early debug, and then boot that kernel on bare metal. The result
> is that the kernel calls "the hypervisor" very early in boot, but the
> kernel *is* the hypervisor, so we jump to the system call handler and
> start executing all sorts of code that isn't ready to be run. This may
> lead to a machine check or check stop depending on how lucky you are.
> Luckily there is an easy way to avoid this particular case. We simply
> read the MSR before installing the hooks, and if we see MSR_HV is set
> then we are the hypervisor and we definitely should not use the
> hypervisor console.
> Signed-off-by: Michael Ellerman <m...@ellerman.id.au>
Applied to powerpc next.