From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Cornelia Huck <cornelia.huck@de.ibm.com>, qemu-devel@nongnu.org
Cc: jfrei@linux.vnet.ibm.com,
Pierre Morel <pmorel@linux.vnet.ibm.com>,
agraf@suse.de
Subject: Re: [Qemu-devel] [PATCH v2 2/9] s390x: remove s390-virtio machine
Date: Fri, 8 Jan 2016 13:22:59 +0100 [thread overview]
Message-ID: <568FAA23.6030700@de.ibm.com> (raw)
In-Reply-To: <1452173818-13661-3-git-send-email-cornelia.huck@de.ibm.com>
On 01/07/2016 02:36 PM, Cornelia Huck wrote:
> From: Pierre Morel <pmorel@linux.vnet.ibm.com>
>
> Remove machine code for the s390-virtio machine, but keep functions
> useful for the ccw machine.
>
> Signed-off-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> ---
> hw/s390x/s390-virtio.c | 162 -------------------------------------------------
> 1 file changed, 162 deletions(-)
>
> diff --git a/hw/s390x/s390-virtio.c b/hw/s390x/s390-virtio.c
> index ae55760..e4ecf0d 100644
> --- a/hw/s390x/s390-virtio.c
> +++ b/hw/s390x/s390-virtio.c
> @@ -61,7 +61,6 @@
> #define S390_TOD_CLOCK_VALUE_MISSING 0x00
> #define S390_TOD_CLOCK_VALUE_PRESENT 0x01
>
> -static VirtIOS390Bus *s390_bus;
> static S390CPU **ipi_states;
>
> S390CPU *s390_cpu_addr2state(uint16_t cpu_addr)
> @@ -73,78 +72,6 @@ S390CPU *s390_cpu_addr2state(uint16_t cpu_addr)
> return ipi_states[cpu_addr];
> }
>
> -static int s390_virtio_hcall_notify(const uint64_t *args)
> -{
> - uint64_t mem = args[0];
> - int r = 0, i;
> -
> - if (mem > ram_size) {
> - VirtIOS390Device *dev = s390_virtio_bus_find_vring(s390_bus, mem, &i);
> - if (dev) {
> - /*
> - * Older kernels will use the virtqueue before setting DRIVER_OK.
> - * In this case the feature bits are not yet up to date, meaning
> - * that several funny things can happen, e.g. the guest thinks
> - * EVENT_IDX is on and QEMU thinks it is off. Let's force a feature
> - * and status sync.
> - */
> - if (!(dev->vdev->status & VIRTIO_CONFIG_S_DRIVER_OK)) {
> - s390_virtio_device_update_status(dev);
> - }
> - virtio_queue_notify(dev->vdev, i);
> - } else {
> - r = -EINVAL;
> - }
> - } else {
> - /* Early printk */
> - }
> - return r;
> -}
> -
> -static int s390_virtio_hcall_reset(const uint64_t *args)
> -{
> - uint64_t mem = args[0];
> - VirtIOS390Device *dev;
> -
> - dev = s390_virtio_bus_find_mem(s390_bus, mem);
> - if (dev == NULL) {
> - return -EINVAL;
> - }
> - virtio_reset(dev->vdev);
> - address_space_stb(&address_space_memory,
> - dev->dev_offs + VIRTIO_DEV_OFFS_STATUS, 0,
> - MEMTXATTRS_UNSPECIFIED, NULL);
> - s390_virtio_device_sync(dev);
> - s390_virtio_reset_idx(dev);
> -
> - return 0;
> -}
> -
> -static int s390_virtio_hcall_set_status(const uint64_t *args)
> -{
> - uint64_t mem = args[0];
> - int r = 0;
> - VirtIOS390Device *dev;
> -
> - dev = s390_virtio_bus_find_mem(s390_bus, mem);
> - if (dev) {
> - s390_virtio_device_update_status(dev);
> - } else {
> - r = -EINVAL;
> - }
> - return r;
> -}
> -
> -static void s390_virtio_register_hcalls(void)
> -{
> - s390_register_virtio_hypercall(KVM_S390_VIRTIO_NOTIFY,
> - s390_virtio_hcall_notify);
> - s390_register_virtio_hypercall(KVM_S390_VIRTIO_RESET,
> - s390_virtio_hcall_reset);
> - s390_register_virtio_hypercall(KVM_S390_VIRTIO_SET_STATUS,
> - s390_virtio_hcall_set_status);
> -}
> -
> void s390_init_ipl_dev(const char *kernel_filename,
> const char *kernel_cmdline,
> const char *initrd_filename,
> @@ -261,58 +188,6 @@ int gtod_load(QEMUFile *f, void *opaque, int version_id)
> return 0;
> }
>
> -/* PC hardware initialisation */
> -static void s390_init(MachineState *machine)
> -{
> - ram_addr_t my_ram_size;
> - void *virtio_region;
> - hwaddr virtio_region_len;
> - hwaddr virtio_region_start;
> -
> - if (!qtest_enabled()) {
> - error_printf("WARNING\n"
> - "The s390-virtio machine (non-ccw) is deprecated.\n"
> - "It will be removed in 2.6. Please use s390-ccw-virtio\n");
> - }
> -
> - if (machine->ram_slots) {
> - error_report("Memory hotplug not supported by the selected machine.");
> - exit(EXIT_FAILURE);
> - }
> - s390_sclp_init();
> - my_ram_size = machine->ram_size;
> -
> - /* get a BUS */
> - s390_bus = s390_virtio_bus_init(&my_ram_size);
> - s390_init_ipl_dev(machine->kernel_filename, machine->kernel_cmdline,
> - machine->initrd_filename, ZIPL_FILENAME, false);
> - s390_flic_init();
> -
> - /* register hypercalls */
> - s390_virtio_register_hcalls();
> -
> - /* allocate RAM */
> - s390_memory_init(my_ram_size);
> -
> - /* clear virtio region */
> - virtio_region_len = my_ram_size - ram_size;
> - virtio_region_start = ram_size;
> - virtio_region = cpu_physical_memory_map(virtio_region_start,
> - &virtio_region_len, true);
> - memset(virtio_region, 0, virtio_region_len);
> - cpu_physical_memory_unmap(virtio_region, virtio_region_len, 1,
> - virtio_region_len);
> -
> - /* init CPUs */
> - s390_init_cpus(machine->cpu_model);
> -
> - /* Create VirtIO network adapters */
> - s390_create_virtio_net((BusState *)s390_bus, "virtio-net-s390");
> -
> - /* Register savevm handler for guest TOD clock */
> - register_savevm(NULL, "todclock", 0, 1, gtod_save, gtod_load, NULL);
> -}
> -
> void s390_nmi(NMIState *n, int cpu_index, Error **errp)
> {
> CPUState *cs = qemu_get_cpu(cpu_index);
> @@ -334,40 +209,3 @@ void s390_machine_reset(void)
> s390_ipl_prepare_cpu(ipl_cpu);
> s390_cpu_set_state(CPU_STATE_OPERATING, ipl_cpu);
> }
> -
> -static void s390_machine_class_init(ObjectClass *oc, void *data)
> -{
> - MachineClass *mc = MACHINE_CLASS(oc);
> - NMIClass *nc = NMI_CLASS(oc);
> -
> - mc->alias = "s390";
> - mc->desc = "VirtIO based S390 machine (deprecated)";
> - mc->init = s390_init;
> - mc->reset = s390_machine_reset;
> - mc->block_default_type = IF_VIRTIO;
> - mc->max_cpus = 255;
> - mc->no_serial = 1;
> - mc->no_parallel = 1;
> - mc->use_virtcon = 1;
> - mc->no_floppy = 1;
> - mc->no_cdrom = 1;
> - mc->no_sdcard = 1;
> - nc->nmi_monitor_handler = s390_nmi;
> -}
> -
> -static const TypeInfo s390_machine_info = {
> - .name = TYPE_S390_MACHINE,
> - .parent = TYPE_MACHINE,
> - .class_init = s390_machine_class_init,
> - .interfaces = (InterfaceInfo[]) {
> - { TYPE_NMI },
> - { }
> - },
> -};
> -
> -static void s390_machine_register_types(void)
> -{
> - type_register_static(&s390_machine_info);
> -}
> -
> -type_init(s390_machine_register_types)
>
next prev parent reply other threads:[~2016-01-08 12:23 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-07 13:36 [Qemu-devel] [PATCH v2 0/9] First set of s390x patches for 2.6 Cornelia Huck
2016-01-07 13:36 ` [Qemu-devel] [PATCH v2 1/9] s390x: add 2.6 compat machine Cornelia Huck
2016-01-08 12:22 ` Christian Borntraeger
2016-01-07 13:36 ` [Qemu-devel] [PATCH v2 2/9] s390x: remove s390-virtio machine Cornelia Huck
2016-01-08 12:22 ` Christian Borntraeger [this message]
2016-01-07 13:36 ` [Qemu-devel] [PATCH v2 3/9] s390x: remove s390-virtio devices Cornelia Huck
2016-01-08 12:23 ` Christian Borntraeger
2016-01-11 17:12 ` Thomas Huth
2016-01-11 18:45 ` Cornelia Huck
2016-01-12 13:26 ` Pierre Morel
2016-01-07 13:36 ` [Qemu-devel] [PATCH v2 4/9] s390x/pci: reject some operations to disabled PCI function Cornelia Huck
2016-01-07 13:36 ` [Qemu-devel] [PATCH v2 5/9] s390x/pci: code cleanup Cornelia Huck
2016-01-07 13:36 ` [Qemu-devel] [PATCH v2 6/9] s390x/virtio: use qemu_check_nic_model() Cornelia Huck
2016-01-07 13:36 ` [Qemu-devel] [PATCH v2 7/9] s390: Introduce CCW_COMPAT_2_5 Cornelia Huck
2016-01-08 12:24 ` Christian Borntraeger
2016-01-07 13:36 ` [Qemu-devel] [PATCH v2 8/9] virtio-ccw: fix sanity check for vector Cornelia Huck
2016-01-07 13:36 ` [Qemu-devel] [PATCH v2 9/9] s390x/pci: return real state during listing PCI Cornelia Huck
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=568FAA23.6030700@de.ibm.com \
--to=borntraeger@de.ibm.com \
--cc=agraf@suse.de \
--cc=cornelia.huck@de.ibm.com \
--cc=jfrei@linux.vnet.ibm.com \
--cc=pmorel@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/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.