qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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)
> 

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).