aboutsummaryrefslogtreecommitdiff
path: root/Makefile.main
diff options
context:
space:
mode:
authorOliver O'Halloran <oohall@gmail.com>2020-01-21 18:28:38 +1100
committerOliver O'Halloran <oohall@gmail.com>2020-06-03 17:15:50 +1000
commit9b6433c29fddac70eb7b18136b8b130a01c5dc47 (patch)
treea326b570183511a5458b0dadba6883164d6a05cb /Makefile.main
parentc42df50e1b19797a69d3a4aeaa496ec7d327b33f (diff)
downloadskiboot-9b6433c29fddac70eb7b18136b8b130a01c5dc47.zip
skiboot-9b6433c29fddac70eb7b18136b8b130a01c5dc47.tar.gz
skiboot-9b6433c29fddac70eb7b18136b8b130a01c5dc47.tar.bz2
hw/phb4: Enable error interrupts
In PHB4 the PHB's error and informational interrupts were changed to behave more like actual LSIs. On PHB3 these interrupts would be only be raised on a 0 -> 1 transition of an error status bits (i.e. they were rising edge triggered). On PHB4 the error interrupts are "true" LSIs and will be re-raised as long the underlying error status bit is set. This causes a headache for us because OPAL's PHB error handling model requires Skiboot to preserve the state of the PHB (including errors) until the kernel is ready to handle the error. As a result we can't do anything in Skiboot to handle the interrupt condition and we need to mask the error internally. We can do this by clearing the relevant bits in the IRQ_ENABLE registers of the PHB. It's worth pointing out that we don't want to mask the interrupt by setting the Q bit in the XIVE ESBs. The ESBs are owned by the OS which may be masking and unmasking the interrupt for its own reasons (e.g. migrating IRQs). Skiboot modifying the ESB state could potentially cause problems and should be avoided. Cc: Cédric Le Goater <clg@kaod.org> Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Diffstat (limited to 'Makefile.main')
0 files changed, 0 insertions, 0 deletions