[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 08/11] s390x: allow only 1 CPU with TCG
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-devel] [PATCH v1 08/11] s390x: allow only 1 CPU with TCG |
Date: |
Thu, 31 Aug 2017 18:06:10 +0200 |
On Thu, 31 Aug 2017 17:33:13 +0200
David Hildenbrand <address@hidden> wrote:
> On 31.08.2017 17:07, Cornelia Huck wrote:
> > If we know that this can't work, it makes sense to stop immediately, no?
>
> Hmm, like that than?
>
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 18ed0c57e3..dae848fa5f 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -23,6 +23,7 @@
> #include "hw/s390x/css.h"
> #include "virtio-ccw.h"
> #include "qemu/config-file.h"
> +#include "qemu/error-report.h"
> #include "s390-pci-bus.h"
> #include "hw/s390x/storage-keys.h"
> #include "hw/s390x/storage-attributes.h"
> @@ -56,6 +57,12 @@ static void s390_init_cpus(MachineState *machine)
> if (machine->cpu_model == NULL) {
> machine->cpu_model = s390_default_cpu_model_name();
> }
> + if (tcg_enabled() && max_cpus > S390_TCG_MAX_CPUS) {
> + error_report("Number of SMP CPUs requested (%d) exceeds max CPUs "
> + "supported by TCG (%d) on s390x", max_cpus,
> + S390_TCG_MAX_CPUS);
> + exit(1);
> + }
>
> ms->cpus = g_new0(S390CPU *, max_cpus);
>
> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
> index 7ed9103b33..4e1de2102d 100644
> --- a/target/s390x/cpu.h
> +++ b/target/s390x/cpu.h
> @@ -210,6 +210,8 @@ static inline S390CPU
> *s390_env_get_cpu(CPUS390XState *env)
>
> #define ENV_OFFSET offsetof(S390CPU, env)
>
> +#define S390_TCG_MAX_CPUS 1
> +
> #ifndef CONFIG_USER_ONLY
> extern const struct VMStateDescription vmstate_s390_cpu;
> #endif
>
>
Looks good!
- Re: [Qemu-devel] [PATCH v1 05/11] s390x: rename s390-virtio.h to s390-virtio-hcall.h, (continued)
[Qemu-devel] [PATCH v1 09/11] target/s390x: tcg_s390_program_interrupt() will never return, David Hildenbrand, 2017/08/30
[Qemu-devel] [PATCH v1 10/11] target/s390x: use trigger_pgm_exception() in s390_cpu_handle_mmu_fault(), David Hildenbrand, 2017/08/30
[Qemu-devel] [PATCH v1 11/11] target/s390x: use program_interrupt() in per_check_exception(), David Hildenbrand, 2017/08/30
Re: [Qemu-devel] [PATCH v1 00/11] next round of s390x cleanups, Cornelia Huck, 2017/08/31