aboutsummaryrefslogtreecommitdiff
path: root/hw/lm32_sys.c
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2012-12-21 16:15:43 +0000
committerAlexander Graf <agraf@suse.de>2013-01-07 17:37:10 +0100
commit5e22c276de982dd26ebc4424c8d4592cce1baab9 (patch)
treeeedf1b9769bc9425118a657339f1d5a6952d0100 /hw/lm32_sys.c
parentbe7c236fa2e59090d7cd0193ca3f225c331d5f81 (diff)
downloadqemu-5e22c276de982dd26ebc4424c8d4592cce1baab9.zip
qemu-5e22c276de982dd26ebc4424c8d4592cce1baab9.tar.gz
qemu-5e22c276de982dd26ebc4424c8d4592cce1baab9.tar.bz2
openpic: rework critical interrupt support
Critical interrupts on FSL MPIC are not supposed to pay attention to priority, IACK, EOI, etc. On the currently modeled version it's not supposed to pay attention to the mask bit either. Also reorganize to make it easier to implement newer FSL MPIC models, which encode interrupt level information differently and support mcheck as well as crit, and to reduce problems for later patches in this set. Still missing is the ability to lower the CINT signal to the core, as IACK/EOI is not used. This will come with general IRQ-source-driven lowering in the next patch. New state is added which is not serialized, but instead is recomputed in openpic_load() by calling the appropriate write_IRQreg function. This should have the side effect of causing the IRQ outputs to be raised appropriately on load, which was missing. The serialization format is altered by swapping ivpr and idr (we'd like IDR to be restored before we run the IVPR logic), and moving interrupts to the end (so that other state has been restored by the time we run the IDR/IVPR logic. Serialization for this driver is not yet in a state where backwards compatibility is reasonable (assuming it works at all), and the current serialization format was not built for extensibility. Signed-off-by: Scott Wood <scottwood@freescale.com> [agraf: fix for current code state] Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw/lm32_sys.c')
0 files changed, 0 insertions, 0 deletions