All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/19] s390x cleanups and CPU hotplug via device_add
@ 2017-09-04 15:42 David Hildenbrand
  2017-09-04 15:42 ` [Qemu-devel] [PATCH v2 01/19] exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitly David Hildenbrand
                   ` (19 more replies)
  0 siblings, 20 replies; 65+ messages in thread
From: David Hildenbrand @ 2017-09-04 15:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Richard Henderson, thuth, cohuck, david, borntraeger,
	Alexander Graf, Eduardo Habkost

The first patches are a bunch of cleanups. I decided to go the
extra mile and implement CPU hotplug via "device_add", as well as
"query-hotpluggable-cpus". So the last patches in this series differ
to v1. I tried to stick as much as possible to x86.

On s390x, only complete cores can be plugged. Cores have to be plugged in
the right order (core-id 0, 1, 2 ...). CPU hot unplug is not supported
by the architecture.

In addition, we now also print the CPU model list in sorted order and allow
only 1 CPU for TCG.

v1 -> v2:
- "exec,dump,i386,ppc,s390x: don't include exec/cpu-all.h explicitly"
-- added a few instances I missed
- "s390x: get rid of s390-virtio.c"
-- move everything in the first shot and clean the "cpu_states" stuff up
   in later patches, when we have ms->possible_cpus.
- Added "target/s390x: move typedef of S390CPU to its definition"
- Added "s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h"
- Added "s390x: move two function declarations to s390-virtio-ccw.h"
- Added "s390x: move sclp_service_call() to interrupt.c"
- "target/s390x: use program_interrupt() in per_check_exception()"
-- Add a comment describing my concern
- "s390x: allow only 1 CPU with TCG"
-- Add a #define to easily be able to change it (e.g. for development)
- Added "target/s390x: set cpu->id for linux user when realizing"
- "target/s390x: use "core-id" for cpu number/address/id handling"
-- I now use "core-id" as property name, because that will be used by
   device_add
- "target/s390x: rename next_cpu_id to next_core_id"
-- Also change to the term "core_id"
- Added "s390x: print CPU definitions in sorted order"
- Added "s390x: allow cpu hotplug via device_add"
- Added "s390x: CPU hot unplug via device_del cannot work"
- Added "s390x: implement query-hotpluggable-cpu"
- Added "s390x: get rid of cpu_s390x_create()"

David Hildenbrand (19):
  exec,dump,i386,ppc,s390x: don't include exec/cpu-all.h explicitly
  cpu: drop old comments describing members
  s390x: get rid of s390-virtio.c
  s390x: rename s390-virtio.h to s390-virtio-hcall.h
  target/s390x: move typedef of S390CPU to its definition
  s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h
  s390x: move two function declarations to s390-virtio-ccw.h
  s390x: move sclp_service_call() to interrupt.c
  target/s390x: use trigger_pgm_exception() in
    s390_cpu_handle_mmu_fault()
  target/s390x: use program_interrupt() in per_check_exception()
  s390x: allow only 1 CPU with TCG
  target/s390x: set cpu->id for linux user when realizing
  target/s390x: use "core-id" for cpu number/address/id handling
  target/s390x: rename next_cpu_id to next_core_id
  s390x: print CPU definitions in sorted order
  s390x: allow cpu hotplug via device_add
  s390x: CPU hot unplug via device_del cannot work
  s390x: implement query-hotpluggable-cpus
  s390x: get rid of cpu_s390x_create()

 dump.c                             |   1 -
 exec.c                             |   2 -
 hw/s390x/Makefile.objs             |   1 -
 hw/s390x/s390-virtio-ccw.c         | 259 +++++++++++++++++++++++++++++++++++--
 hw/s390x/s390-virtio-hcall.c       |   2 +-
 hw/s390x/s390-virtio-hcall.h       |  21 +++
 hw/s390x/s390-virtio.c             |  37 ------
 hw/s390x/s390-virtio.h             |  35 -----
 hw/s390x/sclp.c                    |  51 +-------
 include/hw/s390x/s390-virtio-ccw.h |   3 +
 include/hw/s390x/sclp.h            |   1 +
 include/qom/cpu.h                  |   6 +-
 qapi-schema.json                   |  16 +++
 target/i386/arch_dump.c            |   1 -
 target/i386/arch_memory_mapping.c  |   1 -
 target/i386/svm_helper.c           |   1 -
 target/ppc/arch_dump.c             |   1 -
 target/s390x/arch_dump.c           |   1 -
 target/s390x/cpu-qom.h             |   4 +-
 target/s390x/cpu.c                 |  86 ++++--------
 target/s390x/cpu.h                 |  19 +--
 target/s390x/cpu_models.c          |  65 ++++++----
 target/s390x/diag.c                |   1 +
 target/s390x/excp_helper.c         |   5 +-
 target/s390x/helper.c              |  47 +------
 target/s390x/internal.h            |   1 -
 target/s390x/interrupt.c           |  52 ++++++++
 target/s390x/kvm.c                 |   3 +-
 target/s390x/misc_helper.c         |  22 ++--
 target/s390x/translate.c           |   5 +-
 30 files changed, 443 insertions(+), 307 deletions(-)
 create mode 100644 hw/s390x/s390-virtio-hcall.h
 delete mode 100644 hw/s390x/s390-virtio.h

-- 
2.13.5

^ permalink raw reply	[flat|nested] 65+ messages in thread

end of thread, other threads:[~2017-09-15  7:38 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-04 15:42 [Qemu-devel] [PATCH v2 00/19] s390x cleanups and CPU hotplug via device_add David Hildenbrand
2017-09-04 15:42 ` [Qemu-devel] [PATCH v2 01/19] exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitly David Hildenbrand
2017-09-05 12:25   ` Cornelia Huck
2017-09-07  5:46   ` Thomas Huth
2017-09-07 12:41     ` David Hildenbrand
2017-09-07 13:11       ` Cornelia Huck
2017-09-04 15:42 ` [Qemu-devel] [PATCH v2 02/19] cpu: drop old comments describing members David Hildenbrand
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 03/19] s390x: get rid of s390-virtio.c David Hildenbrand
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 04/19] s390x: rename s390-virtio.h to s390-virtio-hcall.h David Hildenbrand
2017-09-05  8:54   ` Christian Borntraeger
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 05/19] target/s390x: move typedef of S390CPU to its definition David Hildenbrand
2017-09-05 12:34   ` Cornelia Huck
2017-09-07  5:50   ` Thomas Huth
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 06/19] s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h David Hildenbrand
2017-09-07  5:56   ` Thomas Huth
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 07/19] s390x: move two function declarations to s390-virtio-ccw.h David Hildenbrand
2017-09-07  6:04   ` Thomas Huth
2017-09-07 12:46     ` David Hildenbrand
2017-09-07 13:23       ` Cornelia Huck
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 08/19] s390x: move sclp_service_call() to interrupt.c David Hildenbrand
2017-09-05 12:38   ` Cornelia Huck
2017-09-05 12:42     ` David Hildenbrand
2017-09-05 12:46       ` Christian Borntraeger
2017-09-05 12:52         ` Thomas Huth
2017-09-05 12:55           ` Cornelia Huck
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 09/19] target/s390x: use trigger_pgm_exception() in s390_cpu_handle_mmu_fault() David Hildenbrand
2017-09-07  5:59   ` Thomas Huth
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 10/19] target/s390x: use program_interrupt() in per_check_exception() David Hildenbrand
2017-09-07 13:32   ` Cornelia Huck
2017-09-07 13:52     ` David Hildenbrand
2017-09-07 16:55       ` Cornelia Huck
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 11/19] s390x: allow only 1 CPU with TCG David Hildenbrand
2017-09-06 18:16   ` Matthew Rosato
2017-09-06 21:20     ` Richard Henderson
2017-09-07 12:49       ` David Hildenbrand
2017-09-07 12:51         ` Cornelia Huck
2017-09-14 18:13       ` David Hildenbrand
2017-09-15  7:38         ` Cornelia Huck
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 12/19] target/s390x: set cpu->id for linux user when realizing David Hildenbrand
2017-09-07  1:42   ` Matthew Rosato
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 13/19] target/s390x: use "core-id" for cpu number/address/id handling David Hildenbrand
2017-09-07  3:15   ` Matthew Rosato
2017-09-07 13:02     ` David Hildenbrand
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 14/19] target/s390x: rename next_cpu_id to next_core_id David Hildenbrand
2017-09-07  3:15   ` Matthew Rosato
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 15/19] s390x: print CPU definitions in sorted order David Hildenbrand
2017-09-07 15:22   ` Cornelia Huck
2017-09-07 20:04     ` David Hildenbrand
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 16/19] s390x: allow cpu hotplug via device_add David Hildenbrand
2017-09-07  3:16   ` Matthew Rosato
2017-09-07 13:04     ` David Hildenbrand
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 17/19] s390x: CPU hot unplug via device_del cannot work David Hildenbrand
2017-09-05  9:14   ` Christian Borntraeger
2017-09-05 12:01     ` David Hildenbrand
2017-09-05 12:14       ` Christian Borntraeger
2017-09-05 12:54         ` Cornelia Huck
2017-09-05 13:09           ` Christian Borntraeger
2017-09-06 18:13   ` Matthew Rosato
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 18/19] s390x: implement query-hotpluggable-cpus David Hildenbrand
2017-09-07 17:05   ` Cornelia Huck
2017-09-04 15:43 ` [Qemu-devel] [PATCH v2 19/19] s390x: get rid of cpu_s390x_create() David Hildenbrand
2017-09-07 17:11   ` Cornelia Huck
2017-09-05  7:51 ` [Qemu-devel] [PATCH v2 00/19] s390x cleanups and CPU hotplug via device_add Christian Borntraeger
2017-09-06 16:03   ` David Hildenbrand
2017-09-06 16:21     ` Matthew Rosato

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.