Increase the extract32 length from 8 to 12. The Primary part number is
defined as bits[15:4] by the "SSE-310 with M85 and U55 FPGA"
documentation. For example for the mps3-an547, 0x547 is 12 bits but we
only return 8 bits right now.
Change the CFG7 write function to modify the correct variable.
Signed-off-by: Simon Xu <simonxhy0404@gmail.com>
---
hw/misc/mps2-scc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/misc/mps2-scc.c b/hw/misc/mps2-scc.c
index 7877b31479..554b504c72 100644
--- a/hw/misc/mps2-scc.c
+++ b/hw/misc/mps2-scc.c
@@ -57,7 +57,7 @@ REG32(ID, 0xFFC)
static int scc_partno(MPS2SCC *s)
{
/* Return the partno field of the SCC_ID (0x524, 0x511, etc) */
- return extract32(s->id, 4, 8);
+ return extract32(s->id, 4, 12);
}
/* Is CFG_REG2 present? */
@@ -299,7 +299,7 @@ static void mps2_scc_write(void *opaque, hwaddr offset, uint64_t value,
goto bad_offset;
}
/* AN536: Core 1 vector table base address */
- s->cfg6 = value;
+ s->cfg7 = value;
break;
case A_CFGDATA_OUT:
s->cfgdata_out = value;
--
2.34.1