mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
ppc/xive2: Dump the VP-group and crowd tables with 'info pic'
The 'info pic' HMP command dumps the state of the interrupt controller. Add the dump of the NVG and NVC tables to its output to ease debug. Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com> Signed-off-by: Michael Kowal <kowal@linux.ibm.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
This commit is contained in:
parent
cfeafb0d8c
commit
76798e12df
4 changed files with 114 additions and 3 deletions
|
@ -53,6 +53,12 @@ typedef struct Xive2RouterClass {
|
|||
Xive2Nvp *nvp);
|
||||
int (*write_nvp)(Xive2Router *xrtr, uint8_t nvp_blk, uint32_t nvp_idx,
|
||||
Xive2Nvp *nvp, uint8_t word_number);
|
||||
int (*get_nvgc)(Xive2Router *xrtr, bool crowd,
|
||||
uint8_t nvgc_blk, uint32_t nvgc_idx,
|
||||
Xive2Nvgc *nvgc);
|
||||
int (*write_nvgc)(Xive2Router *xrtr, bool crowd,
|
||||
uint8_t nvgc_blk, uint32_t nvgc_idx,
|
||||
Xive2Nvgc *nvgc);
|
||||
uint8_t (*get_block_id)(Xive2Router *xrtr);
|
||||
uint32_t (*get_config)(Xive2Router *xrtr);
|
||||
} Xive2RouterClass;
|
||||
|
@ -67,6 +73,12 @@ int xive2_router_get_nvp(Xive2Router *xrtr, uint8_t nvp_blk, uint32_t nvp_idx,
|
|||
Xive2Nvp *nvp);
|
||||
int xive2_router_write_nvp(Xive2Router *xrtr, uint8_t nvp_blk, uint32_t nvp_idx,
|
||||
Xive2Nvp *nvp, uint8_t word_number);
|
||||
int xive2_router_get_nvgc(Xive2Router *xrtr, bool crowd,
|
||||
uint8_t nvgc_blk, uint32_t nvgc_idx,
|
||||
Xive2Nvgc *nvgc);
|
||||
int xive2_router_write_nvgc(Xive2Router *xrtr, bool crowd,
|
||||
uint8_t nvgc_blk, uint32_t nvgc_idx,
|
||||
Xive2Nvgc *nvgc);
|
||||
uint32_t xive2_router_get_config(Xive2Router *xrtr);
|
||||
|
||||
void xive2_router_notify(XiveNotifier *xn, uint32_t lisn, bool pq_checked);
|
||||
|
|
|
@ -212,6 +212,7 @@ void xive2_nvp_pic_print_info(Xive2Nvp *nvp, uint32_t nvp_idx, GString *buf);
|
|||
typedef struct Xive2Nvgc {
|
||||
uint32_t w0;
|
||||
#define NVGC2_W0_VALID PPC_BIT32(0)
|
||||
#define NVGC2_W0_PGONEXT PPC_BITMASK32(26, 31)
|
||||
uint32_t w1;
|
||||
uint32_t w2;
|
||||
uint32_t w3;
|
||||
|
@ -221,4 +222,9 @@ typedef struct Xive2Nvgc {
|
|||
uint32_t w7;
|
||||
} Xive2Nvgc;
|
||||
|
||||
#define xive2_nvgc_is_valid(nvgc) (be32_to_cpu((nvgc)->w0) & NVGC2_W0_VALID)
|
||||
|
||||
void xive2_nvgc_pic_print_info(Xive2Nvgc *nvgc, uint32_t nvgc_idx,
|
||||
GString *buf);
|
||||
|
||||
#endif /* PPC_XIVE2_REGS_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue