* [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes
@ 2019-05-20 16:28 Peter Maydell
2019-05-20 16:28 ` [Qemu-devel] [PATCH 1/4] hw/intc/arm_gicv3: Fix decoding of ID register range Peter Maydell
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: Peter Maydell @ 2019-05-20 16:28 UTC (permalink / raw)
To: qemu-arm, qemu-devel
This patchset fixes four bugs in our implementation of the GICv3.
They're all fairly small fixes, largely typo/cut-n-paste errors...
thanks
-- PMM
Peter Maydell (4):
hw/intc/arm_gicv3: Fix decoding of ID register range
hw/intc/arm_gicv3: GICD_TYPER.SecurityExtn is RAZ if GICD_CTLR.DS == 1
hw/intc/arm_gicv3: Fix write of ICH_VMCR_EL2.{VBPR0,VBPR1}
hw/intc/arm_gicv3: Fix writes to ICC_CTLR_EL3
hw/intc/arm_gicv3_cpuif.c | 6 +++---
hw/intc/arm_gicv3_dist.c | 10 ++++++++--
hw/intc/arm_gicv3_redist.c | 2 +-
3 files changed, 12 insertions(+), 6 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 1/4] hw/intc/arm_gicv3: Fix decoding of ID register range
2019-05-20 16:28 [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes Peter Maydell
@ 2019-05-20 16:28 ` Peter Maydell
2019-05-20 17:24 ` Philippe Mathieu-Daudé
2019-05-21 14:25 ` Peter Maydell
2019-05-20 16:28 ` [Qemu-devel] [PATCH 2/4] hw/intc/arm_gicv3: GICD_TYPER.SecurityExtn is RAZ if GICD_CTLR.DS == 1 Peter Maydell
` (3 subsequent siblings)
4 siblings, 2 replies; 10+ messages in thread
From: Peter Maydell @ 2019-05-20 16:28 UTC (permalink / raw)
To: qemu-arm, qemu-devel
The GIC ID registers cover an area 0x30 bytes in size
(12 registers, 4 bytes each). We were incorrectly decoding
only the first 0x20 bytes.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/intc/arm_gicv3_dist.c | 2 +-
hw/intc/arm_gicv3_redist.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c
index 53c55c57291..335386ff3ac 100644
--- a/hw/intc/arm_gicv3_dist.c
+++ b/hw/intc/arm_gicv3_dist.c
@@ -533,7 +533,7 @@ static MemTxResult gicd_readl(GICv3State *s, hwaddr offset,
}
return MEMTX_OK;
}
- case GICD_IDREGS ... GICD_IDREGS + 0x1f:
+ case GICD_IDREGS ... GICD_IDREGS + 0x2f:
/* ID registers */
*data = gicv3_idreg(offset - GICD_IDREGS);
return MEMTX_OK;
diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c
index 3b0ba6de1ab..9bb11423382 100644
--- a/hw/intc/arm_gicv3_redist.c
+++ b/hw/intc/arm_gicv3_redist.c
@@ -233,7 +233,7 @@ static MemTxResult gicr_readl(GICv3CPUState *cs, hwaddr offset,
}
*data = cs->gicr_nsacr;
return MEMTX_OK;
- case GICR_IDREGS ... GICR_IDREGS + 0x1f:
+ case GICR_IDREGS ... GICR_IDREGS + 0x2f:
*data = gicv3_idreg(offset - GICR_IDREGS);
return MEMTX_OK;
default:
--
2.20.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 2/4] hw/intc/arm_gicv3: GICD_TYPER.SecurityExtn is RAZ if GICD_CTLR.DS == 1
2019-05-20 16:28 [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes Peter Maydell
2019-05-20 16:28 ` [Qemu-devel] [PATCH 1/4] hw/intc/arm_gicv3: Fix decoding of ID register range Peter Maydell
@ 2019-05-20 16:28 ` Peter Maydell
2019-05-20 16:28 ` [Qemu-devel] [PATCH 3/4] hw/intc/arm_gicv3: Fix write of ICH_VMCR_EL2.{VBPR0, VBPR1} Peter Maydell
` (2 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2019-05-20 16:28 UTC (permalink / raw)
To: qemu-arm, qemu-devel
The GICv3 specification says that the GICD_TYPER.SecurityExtn bit
is RAZ if GICD_CTLR.DS is 1. We were incorrectly making it RAZ
if the security extension is unsupported. "Security extension
unsupported" always implies GICD_CTLR.DS == 1, but the guest can
also set DS on a GIC which does support the security extension.
Fix the condition to correctly check the GICD_CTLR.DS bit.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/intc/arm_gicv3_dist.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c
index 335386ff3ac..d6ae576110d 100644
--- a/hw/intc/arm_gicv3_dist.c
+++ b/hw/intc/arm_gicv3_dist.c
@@ -378,8 +378,14 @@ static MemTxResult gicd_readl(GICv3State *s, hwaddr offset,
* ITLinesNumber == (num external irqs / 32) - 1
*/
int itlinesnumber = ((s->num_irq - GIC_INTERNAL) / 32) - 1;
+ /*
+ * SecurityExtn must be RAZ if GICD_CTLR.DS == 1, and
+ * "security extensions not supported" always implies DS == 1,
+ * so we only need to check the DS bit.
+ */
+ bool sec_extn = !(s->gicd_ctlr & GICD_CTLR_DS);
- *data = (1 << 25) | (1 << 24) | (s->security_extn << 10) |
+ *data = (1 << 25) | (1 << 24) | (sec_extn << 10) |
(0xf << 19) | itlinesnumber;
return MEMTX_OK;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 3/4] hw/intc/arm_gicv3: Fix write of ICH_VMCR_EL2.{VBPR0, VBPR1}
2019-05-20 16:28 [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes Peter Maydell
2019-05-20 16:28 ` [Qemu-devel] [PATCH 1/4] hw/intc/arm_gicv3: Fix decoding of ID register range Peter Maydell
2019-05-20 16:28 ` [Qemu-devel] [PATCH 2/4] hw/intc/arm_gicv3: GICD_TYPER.SecurityExtn is RAZ if GICD_CTLR.DS == 1 Peter Maydell
@ 2019-05-20 16:28 ` Peter Maydell
2019-05-20 17:25 ` Philippe Mathieu-Daudé
2019-05-20 16:28 ` [Qemu-devel] [PATCH 4/4] hw/intc/arm_gicv3: Fix writes to ICC_CTLR_EL3 Peter Maydell
2019-05-23 14:27 ` [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes Peter Maydell
4 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2019-05-20 16:28 UTC (permalink / raw)
To: qemu-arm, qemu-devel
In ich_vmcr_write() we enforce "writes of BPR fields to less than
their minimum sets them to the minimum" by doing a "read vbpr and
write it back" operation. A typo here meant that we weren't handling
writes to these fields correctly, because we were reading from VBPR0
but writing to VBPR1.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/intc/arm_gicv3_cpuif.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/intc/arm_gicv3_cpuif.c b/hw/intc/arm_gicv3_cpuif.c
index cbad6037f19..000bdbd6247 100644
--- a/hw/intc/arm_gicv3_cpuif.c
+++ b/hw/intc/arm_gicv3_cpuif.c
@@ -2366,7 +2366,7 @@ static void ich_vmcr_write(CPUARMState *env, const ARMCPRegInfo *ri,
/* Enforce "writing BPRs to less than minimum sets them to the minimum"
* by reading and writing back the fields.
*/
- write_vbpr(cs, GICV3_G1, read_vbpr(cs, GICV3_G0));
+ write_vbpr(cs, GICV3_G0, read_vbpr(cs, GICV3_G0));
write_vbpr(cs, GICV3_G1, read_vbpr(cs, GICV3_G1));
gicv3_cpuif_virt_update(cs);
--
2.20.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 4/4] hw/intc/arm_gicv3: Fix writes to ICC_CTLR_EL3
2019-05-20 16:28 [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes Peter Maydell
` (2 preceding siblings ...)
2019-05-20 16:28 ` [Qemu-devel] [PATCH 3/4] hw/intc/arm_gicv3: Fix write of ICH_VMCR_EL2.{VBPR0, VBPR1} Peter Maydell
@ 2019-05-20 16:28 ` Peter Maydell
2019-05-20 17:20 ` Philippe Mathieu-Daudé
2019-05-23 14:27 ` [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes Peter Maydell
4 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2019-05-20 16:28 UTC (permalink / raw)
To: qemu-arm, qemu-devel
The ICC_CTLR_EL3 register includes some bits which are aliases
of bits in the ICC_CTLR_EL1(S) and (NS) registers. QEMU chooses
to keep those bits in the cs->icc_ctlr_el1[] struct fields.
Unfortunately a missing '~' in the code to update the bits
in those fields meant that writing to ICC_CTLR_EL3 would corrupt
the ICC_CLTR_EL1 register values.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/intc/arm_gicv3_cpuif.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/intc/arm_gicv3_cpuif.c b/hw/intc/arm_gicv3_cpuif.c
index 000bdbd6247..3b212d91c8f 100644
--- a/hw/intc/arm_gicv3_cpuif.c
+++ b/hw/intc/arm_gicv3_cpuif.c
@@ -1856,7 +1856,7 @@ static void icc_ctlr_el3_write(CPUARMState *env, const ARMCPRegInfo *ri,
trace_gicv3_icc_ctlr_el3_write(gicv3_redist_affid(cs), value);
/* *_EL1NS and *_EL1S bits are aliases into the ICC_CTLR_EL1 bits. */
- cs->icc_ctlr_el1[GICV3_NS] &= (ICC_CTLR_EL1_CBPR | ICC_CTLR_EL1_EOIMODE);
+ cs->icc_ctlr_el1[GICV3_NS] &= ~(ICC_CTLR_EL1_CBPR | ICC_CTLR_EL1_EOIMODE);
if (value & ICC_CTLR_EL3_EOIMODE_EL1NS) {
cs->icc_ctlr_el1[GICV3_NS] |= ICC_CTLR_EL1_EOIMODE;
}
@@ -1864,7 +1864,7 @@ static void icc_ctlr_el3_write(CPUARMState *env, const ARMCPRegInfo *ri,
cs->icc_ctlr_el1[GICV3_NS] |= ICC_CTLR_EL1_CBPR;
}
- cs->icc_ctlr_el1[GICV3_S] &= (ICC_CTLR_EL1_CBPR | ICC_CTLR_EL1_EOIMODE);
+ cs->icc_ctlr_el1[GICV3_S] &= ~(ICC_CTLR_EL1_CBPR | ICC_CTLR_EL1_EOIMODE);
if (value & ICC_CTLR_EL3_EOIMODE_EL1S) {
cs->icc_ctlr_el1[GICV3_S] |= ICC_CTLR_EL1_EOIMODE;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH 4/4] hw/intc/arm_gicv3: Fix writes to ICC_CTLR_EL3
2019-05-20 16:28 ` [Qemu-devel] [PATCH 4/4] hw/intc/arm_gicv3: Fix writes to ICC_CTLR_EL3 Peter Maydell
@ 2019-05-20 17:20 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-05-20 17:20 UTC (permalink / raw)
To: Peter Maydell, qemu-arm, qemu-devel
Hi Peter,
On 5/20/19 6:28 PM, Peter Maydell wrote:
> The ICC_CTLR_EL3 register includes some bits which are aliases
> of bits in the ICC_CTLR_EL1(S) and (NS) registers. QEMU chooses
> to keep those bits in the cs->icc_ctlr_el1[] struct fields.
> Unfortunately a missing '~' in the code to update the bits
> in those fields meant that writing to ICC_CTLR_EL3 would corrupt
> the ICC_CLTR_EL1 register values.
How did you notice? Simply reviewing?
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> hw/intc/arm_gicv3_cpuif.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/intc/arm_gicv3_cpuif.c b/hw/intc/arm_gicv3_cpuif.c
> index 000bdbd6247..3b212d91c8f 100644
> --- a/hw/intc/arm_gicv3_cpuif.c
> +++ b/hw/intc/arm_gicv3_cpuif.c
> @@ -1856,7 +1856,7 @@ static void icc_ctlr_el3_write(CPUARMState *env, const ARMCPRegInfo *ri,
> trace_gicv3_icc_ctlr_el3_write(gicv3_redist_affid(cs), value);
>
> /* *_EL1NS and *_EL1S bits are aliases into the ICC_CTLR_EL1 bits. */
> - cs->icc_ctlr_el1[GICV3_NS] &= (ICC_CTLR_EL1_CBPR | ICC_CTLR_EL1_EOIMODE);
> + cs->icc_ctlr_el1[GICV3_NS] &= ~(ICC_CTLR_EL1_CBPR | ICC_CTLR_EL1_EOIMODE);
> if (value & ICC_CTLR_EL3_EOIMODE_EL1NS) {
> cs->icc_ctlr_el1[GICV3_NS] |= ICC_CTLR_EL1_EOIMODE;
> }
> @@ -1864,7 +1864,7 @@ static void icc_ctlr_el3_write(CPUARMState *env, const ARMCPRegInfo *ri,
> cs->icc_ctlr_el1[GICV3_NS] |= ICC_CTLR_EL1_CBPR;
> }
>
> - cs->icc_ctlr_el1[GICV3_S] &= (ICC_CTLR_EL1_CBPR | ICC_CTLR_EL1_EOIMODE);
> + cs->icc_ctlr_el1[GICV3_S] &= ~(ICC_CTLR_EL1_CBPR | ICC_CTLR_EL1_EOIMODE);
> if (value & ICC_CTLR_EL3_EOIMODE_EL1S) {
> cs->icc_ctlr_el1[GICV3_S] |= ICC_CTLR_EL1_EOIMODE;
> }
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] hw/intc/arm_gicv3: Fix decoding of ID register range
2019-05-20 16:28 ` [Qemu-devel] [PATCH 1/4] hw/intc/arm_gicv3: Fix decoding of ID register range Peter Maydell
@ 2019-05-20 17:24 ` Philippe Mathieu-Daudé
2019-05-21 14:25 ` Peter Maydell
1 sibling, 0 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-05-20 17:24 UTC (permalink / raw)
To: Peter Maydell, qemu-arm, qemu-devel
On 5/20/19 6:28 PM, Peter Maydell wrote:
> The GIC ID registers cover an area 0x30 bytes in size
> (12 registers, 4 bytes each). We were incorrectly decoding
> only the first 0x20 bytes.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
"8.1.13 Identification registers" OK.
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> hw/intc/arm_gicv3_dist.c | 2 +-
> hw/intc/arm_gicv3_redist.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c
> index 53c55c57291..335386ff3ac 100644
> --- a/hw/intc/arm_gicv3_dist.c
> +++ b/hw/intc/arm_gicv3_dist.c
> @@ -533,7 +533,7 @@ static MemTxResult gicd_readl(GICv3State *s, hwaddr offset,
> }
> return MEMTX_OK;
> }
> - case GICD_IDREGS ... GICD_IDREGS + 0x1f:
> + case GICD_IDREGS ... GICD_IDREGS + 0x2f:
> /* ID registers */
> *data = gicv3_idreg(offset - GICD_IDREGS);
> return MEMTX_OK;
> diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c
> index 3b0ba6de1ab..9bb11423382 100644
> --- a/hw/intc/arm_gicv3_redist.c
> +++ b/hw/intc/arm_gicv3_redist.c
> @@ -233,7 +233,7 @@ static MemTxResult gicr_readl(GICv3CPUState *cs, hwaddr offset,
> }
> *data = cs->gicr_nsacr;
> return MEMTX_OK;
> - case GICR_IDREGS ... GICR_IDREGS + 0x1f:
> + case GICR_IDREGS ... GICR_IDREGS + 0x2f:
> *data = gicv3_idreg(offset - GICR_IDREGS);
> return MEMTX_OK;
> default:
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH 3/4] hw/intc/arm_gicv3: Fix write of ICH_VMCR_EL2.{VBPR0, VBPR1}
2019-05-20 16:28 ` [Qemu-devel] [PATCH 3/4] hw/intc/arm_gicv3: Fix write of ICH_VMCR_EL2.{VBPR0, VBPR1} Peter Maydell
@ 2019-05-20 17:25 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-05-20 17:25 UTC (permalink / raw)
To: Peter Maydell, qemu-arm, qemu-devel
On 5/20/19 6:28 PM, Peter Maydell wrote:
> In ich_vmcr_write() we enforce "writes of BPR fields to less than
> their minimum sets them to the minimum" by doing a "read vbpr and
> write it back" operation. A typo here meant that we weren't handling
> writes to these fields correctly, because we were reading from VBPR0
> but writing to VBPR1.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> hw/intc/arm_gicv3_cpuif.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/intc/arm_gicv3_cpuif.c b/hw/intc/arm_gicv3_cpuif.c
> index cbad6037f19..000bdbd6247 100644
> --- a/hw/intc/arm_gicv3_cpuif.c
> +++ b/hw/intc/arm_gicv3_cpuif.c
> @@ -2366,7 +2366,7 @@ static void ich_vmcr_write(CPUARMState *env, const ARMCPRegInfo *ri,
> /* Enforce "writing BPRs to less than minimum sets them to the minimum"
> * by reading and writing back the fields.
> */
> - write_vbpr(cs, GICV3_G1, read_vbpr(cs, GICV3_G0));
> + write_vbpr(cs, GICV3_G0, read_vbpr(cs, GICV3_G0));
> write_vbpr(cs, GICV3_G1, read_vbpr(cs, GICV3_G1));
>
> gicv3_cpuif_virt_update(cs);
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] hw/intc/arm_gicv3: Fix decoding of ID register range
2019-05-20 16:28 ` [Qemu-devel] [PATCH 1/4] hw/intc/arm_gicv3: Fix decoding of ID register range Peter Maydell
2019-05-20 17:24 ` Philippe Mathieu-Daudé
@ 2019-05-21 14:25 ` Peter Maydell
1 sibling, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2019-05-21 14:25 UTC (permalink / raw)
To: qemu-arm, QEMU Developers
On Mon, 20 May 2019 at 17:28, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> The GIC ID registers cover an area 0x30 bytes in size
> (12 registers, 4 bytes each). We were incorrectly decoding
> only the first 0x20 bytes.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> hw/intc/arm_gicv3_dist.c | 2 +-
> hw/intc/arm_gicv3_redist.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c
> index 53c55c57291..335386ff3ac 100644
> --- a/hw/intc/arm_gicv3_dist.c
> +++ b/hw/intc/arm_gicv3_dist.c
> @@ -533,7 +533,7 @@ static MemTxResult gicd_readl(GICv3State *s, hwaddr offset,
> }
> return MEMTX_OK;
> }
> - case GICD_IDREGS ... GICD_IDREGS + 0x1f:
> + case GICD_IDREGS ... GICD_IDREGS + 0x2f:
> /* ID registers */
> *data = gicv3_idreg(offset - GICD_IDREGS);
> return MEMTX_OK;
> diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c
> index 3b0ba6de1ab..9bb11423382 100644
> --- a/hw/intc/arm_gicv3_redist.c
> +++ b/hw/intc/arm_gicv3_redist.c
> @@ -233,7 +233,7 @@ static MemTxResult gicr_readl(GICv3CPUState *cs, hwaddr offset,
> }
> *data = cs->gicr_nsacr;
> return MEMTX_OK;
> - case GICR_IDREGS ... GICR_IDREGS + 0x1f:
> + case GICR_IDREGS ... GICR_IDREGS + 0x2f:
> *data = gicv3_idreg(offset - GICR_IDREGS);
> return MEMTX_OK;
> default:
Just noticed that I forgot to also update the case statements
in the *writel functions :-(
thanks
-- PMM
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes
2019-05-20 16:28 [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes Peter Maydell
` (3 preceding siblings ...)
2019-05-20 16:28 ` [Qemu-devel] [PATCH 4/4] hw/intc/arm_gicv3: Fix writes to ICC_CTLR_EL3 Peter Maydell
@ 2019-05-23 14:27 ` Peter Maydell
4 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2019-05-23 14:27 UTC (permalink / raw)
To: qemu-arm, QEMU Developers
On Mon, 20 May 2019 at 17:28, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> This patchset fixes four bugs in our implementation of the GICv3.
> They're all fairly small fixes, largely typo/cut-n-paste errors...
>
> thanks
> -- PMM
>
> Peter Maydell (4):
> hw/intc/arm_gicv3: Fix decoding of ID register range
> hw/intc/arm_gicv3: GICD_TYPER.SecurityExtn is RAZ if GICD_CTLR.DS == 1
> hw/intc/arm_gicv3: Fix write of ICH_VMCR_EL2.{VBPR0,VBPR1}
> hw/intc/arm_gicv3: Fix writes to ICC_CTLR_EL3
I put patches 3 and 4 into the arm pullreq; will respin
with a fixed patch 1 plus this patch 2.
thanks
-- PMM
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2019-05-23 14:31 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-20 16:28 [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes Peter Maydell
2019-05-20 16:28 ` [Qemu-devel] [PATCH 1/4] hw/intc/arm_gicv3: Fix decoding of ID register range Peter Maydell
2019-05-20 17:24 ` Philippe Mathieu-Daudé
2019-05-21 14:25 ` Peter Maydell
2019-05-20 16:28 ` [Qemu-devel] [PATCH 2/4] hw/intc/arm_gicv3: GICD_TYPER.SecurityExtn is RAZ if GICD_CTLR.DS == 1 Peter Maydell
2019-05-20 16:28 ` [Qemu-devel] [PATCH 3/4] hw/intc/arm_gicv3: Fix write of ICH_VMCR_EL2.{VBPR0, VBPR1} Peter Maydell
2019-05-20 17:25 ` Philippe Mathieu-Daudé
2019-05-20 16:28 ` [Qemu-devel] [PATCH 4/4] hw/intc/arm_gicv3: Fix writes to ICC_CTLR_EL3 Peter Maydell
2019-05-20 17:20 ` Philippe Mathieu-Daudé
2019-05-23 14:27 ` [Qemu-devel] [PATCH 0/4] hw/intc/arm_gicv3: Four simple bugfixes Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).