From: Eduardo Habkost <ehabkost@redhat.com>
To: Like Xu <like.xu@linux.intel.com>
Cc: qemu-trivial@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
qemu-devel@nongnu.org,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
Alistair Francis <alistair23@gmail.com>,
Igor Mammedov <imammedo@redhat.com>,
Cornelia Huck <cohuck@redhat.com>,
Halil Pasic <pasic@linux.ibm.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Richard Henderson <rth@twiddle.net>,
David Hildenbrand <david@redhat.com>,
qemu-s390x@nongnu.org
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH v3 06/10] hw/s390x: Replace global smp variables with machine smp properties
Date: Wed, 5 Jun 2019 23:56:35 -0300 [thread overview]
Message-ID: <20190606025635.GO22416@habkost.net> (raw)
In-Reply-To: <20190518205428.90532-7-like.xu@linux.intel.com>
On Sun, May 19, 2019 at 04:54:24AM +0800, Like Xu wrote:
> The global smp variables in s390x are replaced with smp machine properties.
>
> A local variable of the same name would be introduced in the declaration
> phase if it's used widely in the context OR replace it on the spot if it's
> only used once. No semantic changes.
>
> Signed-off-by: Like Xu <like.xu@linux.intel.com>
CCing s390 maintainers.
Any objections to merging this through the Machine Core tree?
> ---
> hw/s390x/s390-virtio-ccw.c | 3 ++-
> hw/s390x/sclp.c | 2 +-
> target/s390x/cpu.c | 3 +++
> target/s390x/excp_helper.c | 5 +++++
> 4 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index ed1fe7a93e..692ad6e372 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -83,7 +83,7 @@ static void s390_init_cpus(MachineState *machine)
> /* initialize possible_cpus */
> mc->possible_cpu_arch_ids(machine);
>
> - for (i = 0; i < smp_cpus; i++) {
> + for (i = 0; i < machine->smp.cpus; i++) {
> s390x_new_cpu(machine->cpu_type, i, &error_fatal);
> }
> }
> @@ -410,6 +410,7 @@ static CpuInstanceProperties s390_cpu_index_to_props(MachineState *ms,
> static const CPUArchIdList *s390_possible_cpu_arch_ids(MachineState *ms)
> {
> int i;
> + unsigned int max_cpus = ms->smp.max_cpus;
>
> if (ms->possible_cpus) {
> g_assert(ms->possible_cpus && ms->possible_cpus->len == max_cpus);
> diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
> index 4510a800cb..fac7c3bb6c 100644
> --- a/hw/s390x/sclp.c
> +++ b/hw/s390x/sclp.c
> @@ -64,7 +64,7 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
> prepare_cpu_entries(sclp, read_info->entries, &cpu_count);
> read_info->entries_cpu = cpu_to_be16(cpu_count);
> read_info->offset_cpu = cpu_to_be16(offsetof(ReadInfo, entries));
> - read_info->highest_cpu = cpu_to_be16(max_cpus - 1);
> + read_info->highest_cpu = cpu_to_be16(machine->smp.max_cpus - 1);
>
> read_info->ibc_val = cpu_to_be32(s390_get_ibc_val());
>
> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
> index b1df63d82c..f1e5c0d9c3 100644
> --- a/target/s390x/cpu.c
> +++ b/target/s390x/cpu.c
> @@ -37,6 +37,7 @@
> #include "hw/qdev-properties.h"
> #ifndef CONFIG_USER_ONLY
> #include "hw/hw.h"
> +#include "hw/boards.h"
> #include "sysemu/arch_init.h"
> #include "sysemu/sysemu.h"
> #endif
> @@ -193,6 +194,8 @@ static void s390_cpu_realizefn(DeviceState *dev, Error **errp)
> }
>
> #if !defined(CONFIG_USER_ONLY)
> + MachineState *ms = MACHINE(qdev_get_machine());
> + unsigned int max_cpus = ms->smp.max_cpus;
> if (cpu->env.core_id >= max_cpus) {
> error_setg(&err, "Unable to add CPU with core-id: %" PRIu32
> ", maximum core-id: %d", cpu->env.core_id,
> diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c
> index 3a467b72c5..1c6938effc 100644
> --- a/target/s390x/excp_helper.c
> +++ b/target/s390x/excp_helper.c
> @@ -31,6 +31,7 @@
> #ifndef CONFIG_USER_ONLY
> #include "sysemu/sysemu.h"
> #include "hw/s390x/s390_flic.h"
> +#include "hw/boards.h"
> #endif
>
> void QEMU_NORETURN tcg_s390_program_interrupt(CPUS390XState *env, uint32_t code,
> @@ -300,6 +301,10 @@ static void do_ext_interrupt(CPUS390XState *env)
> g_assert(cpu_addr < S390_MAX_CPUS);
> lowcore->cpu_addr = cpu_to_be16(cpu_addr);
> clear_bit(cpu_addr, env->emergency_signals);
> +#ifndef CONFIG_USER_ONLY
> + MachineState *ms = MACHINE(qdev_get_machine());
> + unsigned int max_cpus = ms->smp.max_cpus;
> +#endif
> if (bitmap_empty(env->emergency_signals, max_cpus)) {
> env->pending_int &= ~INTERRUPT_EMERGENCY_SIGNAL;
> }
> --
> 2.21.0
>
>
--
Eduardo
WARNING: multiple messages have this Message-ID (diff)
From: Eduardo Habkost <ehabkost@redhat.com>
To: Like Xu <like.xu@linux.intel.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
David Hildenbrand <david@redhat.com>,
qemu-trivial@nongnu.org, Cornelia Huck <cohuck@redhat.com>,
qemu-devel@nongnu.org,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
Halil Pasic <pasic@linux.ibm.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
qemu-s390x@nongnu.org, Alistair Francis <alistair23@gmail.com>,
Igor Mammedov <imammedo@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH v3 06/10] hw/s390x: Replace global smp variables with machine smp properties
Date: Wed, 5 Jun 2019 23:56:35 -0300 [thread overview]
Message-ID: <20190606025635.GO22416@habkost.net> (raw)
In-Reply-To: <20190518205428.90532-7-like.xu@linux.intel.com>
On Sun, May 19, 2019 at 04:54:24AM +0800, Like Xu wrote:
> The global smp variables in s390x are replaced with smp machine properties.
>
> A local variable of the same name would be introduced in the declaration
> phase if it's used widely in the context OR replace it on the spot if it's
> only used once. No semantic changes.
>
> Signed-off-by: Like Xu <like.xu@linux.intel.com>
CCing s390 maintainers.
Any objections to merging this through the Machine Core tree?
> ---
> hw/s390x/s390-virtio-ccw.c | 3 ++-
> hw/s390x/sclp.c | 2 +-
> target/s390x/cpu.c | 3 +++
> target/s390x/excp_helper.c | 5 +++++
> 4 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index ed1fe7a93e..692ad6e372 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -83,7 +83,7 @@ static void s390_init_cpus(MachineState *machine)
> /* initialize possible_cpus */
> mc->possible_cpu_arch_ids(machine);
>
> - for (i = 0; i < smp_cpus; i++) {
> + for (i = 0; i < machine->smp.cpus; i++) {
> s390x_new_cpu(machine->cpu_type, i, &error_fatal);
> }
> }
> @@ -410,6 +410,7 @@ static CpuInstanceProperties s390_cpu_index_to_props(MachineState *ms,
> static const CPUArchIdList *s390_possible_cpu_arch_ids(MachineState *ms)
> {
> int i;
> + unsigned int max_cpus = ms->smp.max_cpus;
>
> if (ms->possible_cpus) {
> g_assert(ms->possible_cpus && ms->possible_cpus->len == max_cpus);
> diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
> index 4510a800cb..fac7c3bb6c 100644
> --- a/hw/s390x/sclp.c
> +++ b/hw/s390x/sclp.c
> @@ -64,7 +64,7 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
> prepare_cpu_entries(sclp, read_info->entries, &cpu_count);
> read_info->entries_cpu = cpu_to_be16(cpu_count);
> read_info->offset_cpu = cpu_to_be16(offsetof(ReadInfo, entries));
> - read_info->highest_cpu = cpu_to_be16(max_cpus - 1);
> + read_info->highest_cpu = cpu_to_be16(machine->smp.max_cpus - 1);
>
> read_info->ibc_val = cpu_to_be32(s390_get_ibc_val());
>
> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
> index b1df63d82c..f1e5c0d9c3 100644
> --- a/target/s390x/cpu.c
> +++ b/target/s390x/cpu.c
> @@ -37,6 +37,7 @@
> #include "hw/qdev-properties.h"
> #ifndef CONFIG_USER_ONLY
> #include "hw/hw.h"
> +#include "hw/boards.h"
> #include "sysemu/arch_init.h"
> #include "sysemu/sysemu.h"
> #endif
> @@ -193,6 +194,8 @@ static void s390_cpu_realizefn(DeviceState *dev, Error **errp)
> }
>
> #if !defined(CONFIG_USER_ONLY)
> + MachineState *ms = MACHINE(qdev_get_machine());
> + unsigned int max_cpus = ms->smp.max_cpus;
> if (cpu->env.core_id >= max_cpus) {
> error_setg(&err, "Unable to add CPU with core-id: %" PRIu32
> ", maximum core-id: %d", cpu->env.core_id,
> diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c
> index 3a467b72c5..1c6938effc 100644
> --- a/target/s390x/excp_helper.c
> +++ b/target/s390x/excp_helper.c
> @@ -31,6 +31,7 @@
> #ifndef CONFIG_USER_ONLY
> #include "sysemu/sysemu.h"
> #include "hw/s390x/s390_flic.h"
> +#include "hw/boards.h"
> #endif
>
> void QEMU_NORETURN tcg_s390_program_interrupt(CPUS390XState *env, uint32_t code,
> @@ -300,6 +301,10 @@ static void do_ext_interrupt(CPUS390XState *env)
> g_assert(cpu_addr < S390_MAX_CPUS);
> lowcore->cpu_addr = cpu_to_be16(cpu_addr);
> clear_bit(cpu_addr, env->emergency_signals);
> +#ifndef CONFIG_USER_ONLY
> + MachineState *ms = MACHINE(qdev_get_machine());
> + unsigned int max_cpus = ms->smp.max_cpus;
> +#endif
> if (bitmap_empty(env->emergency_signals, max_cpus)) {
> env->pending_int &= ~INTERRUPT_EMERGENCY_SIGNAL;
> }
> --
> 2.21.0
>
>
--
Eduardo
next prev parent reply other threads:[~2019-06-06 2:56 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-18 20:54 [Qemu-trivial] [Qemu-devel] [PATCH v3 00/10] Refactor cpu topo into machine properties Like Xu
2019-05-18 20:54 ` Like Xu
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 01/10] hw/boards: Add struct CpuTopology to MachineState Like Xu
2019-05-18 20:54 ` Like Xu
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 02/10] machine: Refactor smp-related call chains to pass MachineState Like Xu
2019-05-18 20:54 ` Like Xu
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 03/10] general: Replace global smp variables with smp machine properties Like Xu
2019-05-18 20:54 ` Like Xu
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 04/10] hw/ppc: Replace global smp variables with machine smp properties Like Xu
2019-05-18 20:54 ` Like Xu
2019-06-06 2:52 ` [Qemu-trivial] " Eduardo Habkost
2019-06-06 2:52 ` Eduardo Habkost
2019-06-06 2:54 ` [Qemu-trivial] " Eduardo Habkost
2019-06-06 2:54 ` Eduardo Habkost
2019-06-06 3:07 ` [Qemu-trivial] " David Gibson
2019-06-06 3:07 ` David Gibson
2019-06-06 8:20 ` [Qemu-trivial] [Qemu-ppc] " Greg Kurz
2019-06-06 8:20 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2019-06-06 8:37 ` [Qemu-trivial] " Like Xu
2019-06-06 8:37 ` Like Xu
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 05/10] hw/riscv: " Like Xu
2019-05-18 20:54 ` Like Xu
2019-05-20 21:45 ` [Qemu-trivial] " Alistair Francis
2019-05-20 21:45 ` Alistair Francis
2019-06-20 14:52 ` [Qemu-trivial] " Eduardo Habkost
2019-06-20 14:52 ` Eduardo Habkost
2019-06-21 0:53 ` [Qemu-trivial] " Like Xu
2019-06-21 0:53 ` Like Xu
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 06/10] hw/s390x: " Like Xu
2019-05-18 20:54 ` Like Xu
2019-06-06 2:56 ` Eduardo Habkost [this message]
2019-06-06 2:56 ` Eduardo Habkost
2019-06-06 7:07 ` [Qemu-trivial] [qemu-s390x] " Christian Borntraeger
2019-06-06 7:07 ` [Qemu-devel] [qemu-s390x] " Christian Borntraeger
2019-06-06 7:56 ` [Qemu-trivial] [Qemu-devel] " Cornelia Huck
2019-06-06 7:56 ` Cornelia Huck
2019-06-28 18:33 ` [Qemu-trivial] [PATCH] fixup! " Eduardo Habkost
2019-06-28 18:33 ` [Qemu-devel] " Eduardo Habkost
2019-06-28 23:04 ` [Qemu-trivial] " no-reply
2019-06-28 23:04 ` no-reply
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 07/10] hw/i386: " Like Xu
2019-05-18 20:54 ` Like Xu
2019-06-06 2:57 ` [Qemu-trivial] " Eduardo Habkost
2019-06-06 2:57 ` Eduardo Habkost
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 08/10] hw/arm: " Like Xu
2019-05-18 20:54 ` Like Xu
2019-06-06 2:58 ` [Qemu-trivial] " Eduardo Habkost
2019-06-06 2:58 ` Eduardo Habkost
2019-06-06 2:58 ` [Qemu-arm] " Eduardo Habkost
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 09/10] hw: Replace global smp variables with MachineState for all remaining archs Like Xu
2019-05-18 20:54 ` Like Xu
2019-06-06 3:00 ` Eduardo Habkost
2019-05-18 20:54 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 10/10] vl.c: Replace smp global variables with smp machine properties Like Xu
2019-05-18 20:54 ` Like Xu
2019-06-06 3:00 ` [Qemu-trivial] " Eduardo Habkost
2019-06-06 3:00 ` Eduardo Habkost
2019-05-26 13:51 ` [Qemu-trivial] [Qemu-devel] [PATCH v3 00/10] Refactor cpu topo into " Like Xu
2019-05-26 13:51 ` Like Xu
2019-05-29 0:37 ` Like Xu
2019-06-06 3:02 ` [Qemu-trivial] " Eduardo Habkost
2019-06-06 3:02 ` Eduardo Habkost
2019-06-07 21:25 ` [Qemu-trivial] " Eduardo Habkost
2019-06-07 21:25 ` Eduardo Habkost
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190606025635.GO22416@habkost.net \
--to=ehabkost@redhat.com \
--cc=alistair23@gmail.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=dgilbert@redhat.com \
--cc=imammedo@redhat.com \
--cc=like.xu@linux.intel.com \
--cc=pasic@linux.ibm.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.