[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 5/6] spapr: Pass sPAPR machine state to some RTAS events hand
From: |
David Gibson |
Subject: |
Re: [PATCH 5/6] spapr: Pass sPAPR machine state to some RTAS events handling functions |
Date: |
Thu, 10 Dec 2020 14:31:06 +1100 |
On Wed, Dec 09, 2020 at 06:00:51PM +0100, Greg Kurz wrote:
> Some functions in hw/ppc/spapr_events.c get a pointer to the machine
> state using qdev_get_machine(). Convert them to get it from their
> caller when possible.
>
> Signed-off-by: Greg Kurz <groug@kaod.org>
Applied to ppc-for-6.0.
> ---
> hw/ppc/spapr_events.c | 21 ++++++++++-----------
> 1 file changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c
> index 1add53547ec3..3f37b49fd8ad 100644
> --- a/hw/ppc/spapr_events.c
> +++ b/hw/ppc/spapr_events.c
> @@ -480,9 +480,8 @@ static SpaprEventLogEntry
> *rtas_event_log_dequeue(SpaprMachineState *spapr,
> return entry;
> }
>
> -static bool rtas_event_log_contains(uint32_t event_mask)
> +static bool rtas_event_log_contains(SpaprMachineState *spapr, uint32_t
> event_mask)
> {
> - SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine());
> SpaprEventLogEntry *entry = NULL;
>
> QTAILQ_FOREACH(entry, &spapr->pending_events, next) {
> @@ -509,10 +508,10 @@ static void spapr_init_v6hdr(struct rtas_event_log_v6
> *v6hdr)
> v6hdr->company = cpu_to_be32(RTAS_LOG_V6_COMPANY_IBM);
> }
>
> -static void spapr_init_maina(struct rtas_event_log_v6_maina *maina,
> +static void spapr_init_maina(SpaprMachineState *spapr,
> + struct rtas_event_log_v6_maina *maina,
> int section_count)
> {
> - SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine());
> struct tm tm;
> int year;
>
> @@ -560,7 +559,7 @@ static void spapr_powerdown_req(Notifier *n, void *opaque)
> entry->extended_length = sizeof(*new_epow);
>
> spapr_init_v6hdr(v6hdr);
> - spapr_init_maina(maina, 3 /* Main-A, Main-B and EPOW */);
> + spapr_init_maina(spapr, maina, 3 /* Main-A, Main-B and EPOW */);
>
> mainb->hdr.section_id = cpu_to_be16(RTAS_LOG_V6_SECTION_ID_MAINB);
> mainb->hdr.section_length = cpu_to_be16(sizeof(*mainb));
> @@ -613,7 +612,7 @@ static void spapr_hotplug_req_event(uint8_t hp_id,
> uint8_t hp_action,
> entry->extended_length = sizeof(*new_hp);
>
> spapr_init_v6hdr(v6hdr);
> - spapr_init_maina(maina, 3 /* Main-A, Main-B, HP */);
> + spapr_init_maina(spapr, maina, 3 /* Main-A, Main-B, HP */);
>
> mainb->hdr.section_id = cpu_to_be16(RTAS_LOG_V6_SECTION_ID_MAINB);
> mainb->hdr.section_length = cpu_to_be16(sizeof(*mainb));
> @@ -808,9 +807,9 @@ static uint32_t spapr_mce_get_elog_type(PowerPCCPU *cpu,
> bool recovered,
> return summary;
> }
>
> -static void spapr_mce_dispatch_elog(PowerPCCPU *cpu, bool recovered)
> +static void spapr_mce_dispatch_elog(SpaprMachineState *spapr, PowerPCCPU
> *cpu,
> + bool recovered)
> {
> - SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine());
> CPUState *cs = CPU(cpu);
> CPUPPCState *env = &cpu->env;
> uint64_t rtas_addr;
> @@ -927,7 +926,7 @@ void spapr_mce_req_event(PowerPCCPU *cpu, bool recovered)
> warn_report("Received a fwnmi while migration was in progress");
> }
>
> - spapr_mce_dispatch_elog(cpu, recovered);
> + spapr_mce_dispatch_elog(spapr, cpu, recovered);
> }
>
> static void check_exception(PowerPCCPU *cpu, SpaprMachineState *spapr,
> @@ -980,7 +979,7 @@ static void check_exception(PowerPCCPU *cpu,
> SpaprMachineState *spapr,
> * interrupts.
> */
> for (i = 0; i < EVENT_CLASS_MAX; i++) {
> - if (rtas_event_log_contains(EVENT_CLASS_MASK(i))) {
> + if (rtas_event_log_contains(spapr, EVENT_CLASS_MASK(i))) {
> const SpaprEventSource *source =
> spapr_event_sources_get_source(spapr->event_sources, i);
>
> @@ -1007,7 +1006,7 @@ static void event_scan(PowerPCCPU *cpu,
> SpaprMachineState *spapr,
> }
>
> for (i = 0; i < EVENT_CLASS_MAX; i++) {
> - if (rtas_event_log_contains(EVENT_CLASS_MASK(i))) {
> + if (rtas_event_log_contains(spapr, EVENT_CLASS_MASK(i))) {
> const SpaprEventSource *source =
> spapr_event_sources_get_source(spapr->event_sources, i);
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- [PATCH 0/6] spapr: Drop some users of qdev_get_machine(), Greg Kurz, 2020/12/09
- [PATCH 5/6] spapr: Pass sPAPR machine state to some RTAS events handling functions, Greg Kurz, 2020/12/09
- Re: [PATCH 5/6] spapr: Pass sPAPR machine state to some RTAS events handling functions,
David Gibson <=
- [PATCH 4/6] spapr: Don't use qdev_get_machine() in spapr_msi_write(), Greg Kurz, 2020/12/09
- [PATCH 1/6] spapr: Add an "spapr" property to sPAPR CPU core, Greg Kurz, 2020/12/09
- Re: [PATCH 1/6] spapr: Add an "spapr" property to sPAPR CPU core, Philippe Mathieu-Daudé, 2020/12/09
- Re: [PATCH 1/6] spapr: Add an "spapr" property to sPAPR CPU core, Greg Kurz, 2020/12/09
- Re: [PATCH 1/6] spapr: Add an "spapr" property to sPAPR CPU core, Philippe Mathieu-Daudé, 2020/12/09
- Re: [PATCH 1/6] spapr: Add an "spapr" property to sPAPR CPU core, Philippe Mathieu-Daudé, 2020/12/09
- Re: [PATCH 1/6] spapr: Add an "spapr" property to sPAPR CPU core, Eduardo Habkost, 2020/12/09
- Re: [PATCH 1/6] spapr: Add an "spapr" property to sPAPR CPU core, Greg Kurz, 2020/12/09
- Re: [PATCH 1/6] spapr: Add an "spapr" property to sPAPR CPU core, Eduardo Habkost, 2020/12/09