mirror of https://github.com/proxmox/mirror_qemu
pnv/xive2: Add definition for TCTXT Config register
Add basic read/write support for the TCTXT Config register on P10. qemu doesn't do anything with it yet, but it avoids logging a guest error when skiboot configures the fused-core state: qemu-system-ppc64 -machine powernv10 ... -d guest_errors ... [ 0.131670000,5] XIVE: [ IC 00 ] Initializing XIVE block ID 0... XIVE[0] - TCTXT: invalid read @140 XIVE[0] - TCTXT: invalid write @140 Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20230601121331.487207-2-fbarrat@linux.ibm.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>master
parent
3673ad3896
commit
cce84fc919
|
@ -1265,6 +1265,9 @@ static uint64_t pnv_xive2_ic_tctxt_read(void *opaque, hwaddr offset,
|
||||||
case TCTXT_EN1_RESET:
|
case TCTXT_EN1_RESET:
|
||||||
val = xive->tctxt_regs[TCTXT_EN1 >> 3];
|
val = xive->tctxt_regs[TCTXT_EN1 >> 3];
|
||||||
break;
|
break;
|
||||||
|
case TCTXT_CFG:
|
||||||
|
val = xive->tctxt_regs[reg];
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
xive2_error(xive, "TCTXT: invalid read @%"HWADDR_PRIx, offset);
|
xive2_error(xive, "TCTXT: invalid read @%"HWADDR_PRIx, offset);
|
||||||
}
|
}
|
||||||
|
@ -1276,6 +1279,7 @@ static void pnv_xive2_ic_tctxt_write(void *opaque, hwaddr offset,
|
||||||
uint64_t val, unsigned size)
|
uint64_t val, unsigned size)
|
||||||
{
|
{
|
||||||
PnvXive2 *xive = PNV_XIVE2(opaque);
|
PnvXive2 *xive = PNV_XIVE2(opaque);
|
||||||
|
uint32_t reg = offset >> 3;
|
||||||
|
|
||||||
switch (offset) {
|
switch (offset) {
|
||||||
/*
|
/*
|
||||||
|
@ -1297,7 +1301,9 @@ static void pnv_xive2_ic_tctxt_write(void *opaque, hwaddr offset,
|
||||||
case TCTXT_EN1_RESET:
|
case TCTXT_EN1_RESET:
|
||||||
xive->tctxt_regs[TCTXT_EN1 >> 3] &= ~val;
|
xive->tctxt_regs[TCTXT_EN1 >> 3] &= ~val;
|
||||||
break;
|
break;
|
||||||
|
case TCTXT_CFG:
|
||||||
|
xive->tctxt_regs[reg] = val;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
xive2_error(xive, "TCTXT: invalid write @%"HWADDR_PRIx, offset);
|
xive2_error(xive, "TCTXT: invalid write @%"HWADDR_PRIx, offset);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -405,6 +405,10 @@
|
||||||
#define X_TCTXT_EN1_RESET 0x307
|
#define X_TCTXT_EN1_RESET 0x307
|
||||||
#define TCTXT_EN1_RESET 0x038
|
#define TCTXT_EN1_RESET 0x038
|
||||||
|
|
||||||
|
/* TCTXT Config register */
|
||||||
|
#define X_TCTXT_CFG 0x328
|
||||||
|
#define TCTXT_CFG 0x140
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* VSD Tables
|
* VSD Tables
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue