mirror of https://github.com/xemu-project/xemu.git
hw/intc: cannot clear GICv3 ITS CTLR[Enabled] bit
When Enabled bit is cleared in GITS_CTLR,ITS feature continues to be enabled.This patch fixes the issue. Signed-off-by: Shashi Mallela <shashi.mallela@linaro.org> Tested-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20211124182246.67691-1-shashi.mallela@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
bede01170e
commit
2f459cd1a8
|
@ -896,13 +896,14 @@ static bool its_writel(GICv3ITSState *s, hwaddr offset,
|
|||
|
||||
switch (offset) {
|
||||
case GITS_CTLR:
|
||||
s->ctlr |= (value & ~(s->ctlr));
|
||||
|
||||
if (s->ctlr & ITS_CTLR_ENABLED) {
|
||||
if (value & R_GITS_CTLR_ENABLED_MASK) {
|
||||
s->ctlr |= ITS_CTLR_ENABLED;
|
||||
extract_table_params(s);
|
||||
extract_cmdq_params(s);
|
||||
s->creadr = 0;
|
||||
process_cmdq(s);
|
||||
} else {
|
||||
s->ctlr &= ~ITS_CTLR_ENABLED;
|
||||
}
|
||||
break;
|
||||
case GITS_CBASER:
|
||||
|
|
Loading…
Reference in New Issue