pnv/xive: Add property on xive sources to define PQ state on reset
The PQ state of a xive interrupt is always initialized to Q=1, which means the interrupt is disabled. Since a xive source can be embedded in many objects, this patch adds a property to allow that behavior to be refined if needed. Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20230703081215.55252-2-fbarrat@linux.ibm.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
694d3cb2ef
commit
a8da2e1424
@ -1232,8 +1232,7 @@ static void xive_source_reset(void *dev)
|
||||
|
||||
/* Do not clear the LSI bitmap */
|
||||
|
||||
/* PQs are initialized to 0b01 (Q=1) which corresponds to "ints off" */
|
||||
memset(xsrc->status, XIVE_ESB_OFF, xsrc->nr_irqs);
|
||||
memset(xsrc->status, xsrc->reset_pq, xsrc->nr_irqs);
|
||||
}
|
||||
|
||||
static void xive_source_realize(DeviceState *dev, Error **errp)
|
||||
@ -1287,6 +1286,11 @@ static Property xive_source_properties[] = {
|
||||
DEFINE_PROP_UINT64("flags", XiveSource, esb_flags, 0),
|
||||
DEFINE_PROP_UINT32("nr-irqs", XiveSource, nr_irqs, 0),
|
||||
DEFINE_PROP_UINT32("shift", XiveSource, esb_shift, XIVE_ESB_64K_2PAGE),
|
||||
/*
|
||||
* By default, PQs are initialized to 0b01 (Q=1) which corresponds
|
||||
* to "ints off"
|
||||
*/
|
||||
DEFINE_PROP_UINT8("reset-pq", XiveSource, reset_pq, XIVE_ESB_OFF),
|
||||
DEFINE_PROP_LINK("xive", XiveSource, xive, TYPE_XIVE_NOTIFIER,
|
||||
XiveNotifier *),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
|
@ -187,6 +187,7 @@ struct XiveSource {
|
||||
|
||||
/* PQ bits and LSI assertion bit */
|
||||
uint8_t *status;
|
||||
uint8_t reset_pq; /* PQ state on reset */
|
||||
|
||||
/* ESB memory region */
|
||||
uint64_t esb_flags;
|
||||
|
Loading…
Reference in New Issue
Block a user