[Skiboot] [PATCH] mbox: Sanitize interrupts registers
Michael Neuling
mikey at neuling.org
Fri Apr 21 11:59:57 AEST 2017
This is upstream as of 50e1921f98.
On Fri, 2017-04-21 at 08:59 +1000, Benjamin Herrenschmidt wrote:
> If some status interrupts are left unmasked by a previous
> firmware run (either HostBoot or some other version of skiboot),
> we fail to clear them and end up with a runaway SerIRQ.
>
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> ---
>
> Let's merge that now. It will be obsoleted by the v2 protocol
> implementation but we want a fix out ASAP.
>
> hw/lpc-mbox.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/hw/lpc-mbox.c b/hw/lpc-mbox.c
> index fd107fb..21e6eee 100644
> --- a/hw/lpc-mbox.c
> +++ b/hw/lpc-mbox.c
> @@ -200,11 +200,18 @@ static struct lpc_client mbox_lpc_client = {
>
> static bool mbox_init_hw(void)
> {
> - /*
> - * Turns out there isn't anything to do.
> - * It might be a good idea to santise the registers though.
> - * TODO
> + /* Disable all status interrupts except attentions */
> + bmc_mbox_outb(0x00, MBOX_HOST_INT_EN_0);
> + bmc_mbox_outb(MBOX_STATUS_ATTN, MBOX_HOST_INT_EN_1);
> +
> + /* Cleanup host interrupt and status */
> + bmc_mbox_outb(MBOX_CTRL_INT_STATUS, MBOX_HOST_CTRL);
> +
> + /* Disable host control interrupt for now (will be
> + * re-enabled when needed). Clear BMC interrupts
> */
> + bmc_mbox_outb(MBOX_CTRL_INT_MASK, MBOX_BMC_CTRL);
> +
> return true;
> }
>
>
> _______________________________________________
> Skiboot mailing list
> Skiboot at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot
More information about the Skiboot
mailing list