From: Igor Mammedov <imammedo@redhat.com>
To: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Cc: peter.maydell@linaro.org, sameo@linux.intel.com,
shannon.zhaosl@gmail.com, qemu-devel@nongnu.org,
xuwei5@hisilicon.com, linuxarm@huawei.com, eric.auger@redhat.com,
qemu-arm@nongnu.org, sebastien.boeuf@intel.com
Subject: Re: [Qemu-arm] [PATCH v2 04/11] hw/arm/virt: Add virtual ACPI device
Date: Tue, 12 Mar 2019 16:48:29 +0100 [thread overview]
Message-ID: <20190312164829.7f2c7c0f@redhat.com> (raw)
In-Reply-To: <20190308114218.26692-5-shameerali.kolothum.thodi@huawei.com>
On Fri, 8 Mar 2019 11:42:11 +0000
Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> wrote:
> From: Samuel Ortiz <sameo@linux.intel.com>
>
> This is to provide an acpi device interface for Arm/virt.
> This will be used by Arm/Virt to add hotplug support via
> ACPI GED device.
>
> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
> Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
> ---
> hw/arm/Makefile.objs | 2 +-
> hw/arm/virt-acpi.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++
does it have to be ARM specific?
could it be shared with future x86/virt? (if it could then it would be better to put into hw/acpi/)
also considering it implements vitual 'GED' device
why not s/virt-acpi/generic-event-device/ ?
> include/hw/arm/virt.h | 1 +
> 3 files changed, 113 insertions(+), 1 deletion(-)
> create mode 100644 hw/arm/virt-acpi.c
>
> diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
> index fa57c7c..e0db3cd 100644
> --- a/hw/arm/Makefile.objs
> +++ b/hw/arm/Makefile.objs
> @@ -1,6 +1,6 @@
> obj-y += boot.o sysbus-fdt.o
> obj-$(CONFIG_ARM_VIRT) += virt.o
> -obj-$(CONFIG_ACPI) += virt-acpi-build.o
> +obj-$(CONFIG_ACPI) += virt-acpi-build.o virt-acpi.o
> obj-$(CONFIG_DIGIC) += digic_boards.o
> obj-$(CONFIG_EXYNOS4) += exynos4_boards.o
> obj-$(CONFIG_HIGHBANK) += highbank.o
> diff --git a/hw/arm/virt-acpi.c b/hw/arm/virt-acpi.c
> new file mode 100644
> index 0000000..df8a02b
> --- /dev/null
> +++ b/hw/arm/virt-acpi.c
> @@ -0,0 +1,111 @@
> +/*
> + *
> + * Copyright (c) 2018 Intel Corporation
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms and conditions of the GNU General Public License,
> + * version 2 or later, as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope it will be useful, but WITHOUT
> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
> + * more details.
> + *
> + * You should have received a copy of the GNU General Public License along with
> + * this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include "qemu/osdep.h"
> +#include "qemu/range.h"
> +#include "qapi/error.h"
> +#include "exec/address-spaces.h"
> +
> +#include "hw/hw.h"
> +#include "hw/hotplug.h"
> +#include "hw/sysbus.h"
> +#include "hw/arm/virt.h"
> +
> +#include "hw/acpi/acpi.h"
> +
> +typedef struct VirtAcpiState {
> + SysBusDevice parent_obj;
> +} VirtAcpiState;
> +
> +#define TYPE_VIRT_ACPI "virt-acpi"
> +#define VIRT_ACPI(obj) \
> + OBJECT_CHECK(VirtAcpiState, (obj), TYPE_VIRT_ACPI)
> +
> +static const VMStateDescription vmstate_acpi = {
> + .name = "virt_acpi",
> + .version_id = 1,
> + .minimum_version_id = 1,
> +};
> +
> +static void virt_device_plug_cb(HotplugHandler *hotplug_dev,
> + DeviceState *dev, Error **errp)
> +{
> +}
> +
> +static void virt_device_unplug_request_cb(HotplugHandler *hotplug_dev,
> + DeviceState *dev, Error **errp)
> +{
> +}
> +
> +static void virt_device_unplug_cb(HotplugHandler *hotplug_dev,
> + DeviceState *dev, Error **errp)
> +{
> +}
> +
> +static void virt_send_ged(AcpiDeviceIf *adev, AcpiEventStatusBits ev)
> +{
> +}
> +
> +static void virt_device_realize(DeviceState *dev, Error **errp)
> +{
> +}
> +
> +DeviceState *virt_acpi_init(void)
> +{
> + return sysbus_create_simple(TYPE_VIRT_ACPI, -1, NULL);
> +}
> +
> +static Property virt_acpi_properties[] = {
> + DEFINE_PROP_END_OF_LIST(),
> +};
> +
> +static void virt_acpi_class_init(ObjectClass *class, void *data)
> +{
> + DeviceClass *dc = DEVICE_CLASS(class);
> + HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(class);
> + AcpiDeviceIfClass *adevc = ACPI_DEVICE_IF_CLASS(class);
> +
> + dc->desc = "ACPI";
> + dc->vmsd = &vmstate_acpi;
> + dc->props = virt_acpi_properties;
> + dc->realize = virt_device_realize;
> +
> + hc->plug = virt_device_plug_cb;
> + hc->unplug_request = virt_device_unplug_request_cb;
> + hc->unplug = virt_device_unplug_cb;
> +
> + adevc->send_event = virt_send_ged;
> +}
> +
> +static const TypeInfo virt_acpi_info = {
> + .name = TYPE_VIRT_ACPI,
> + .parent = TYPE_SYS_BUS_DEVICE,
> + .instance_size = sizeof(VirtAcpiState),
> + .class_init = virt_acpi_class_init,
> + .interfaces = (InterfaceInfo[]) {
> + { TYPE_HOTPLUG_HANDLER },
> + { TYPE_ACPI_DEVICE_IF },
> + { }
> + }
> +};
> +
> +static void virt_acpi_register_types(void)
> +{
> + type_register_static(&virt_acpi_info);
> +}
> +
> +type_init(virt_acpi_register_types)
> diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
> index 507517c..6076167 100644
> --- a/include/hw/arm/virt.h
> +++ b/include/hw/arm/virt.h
> @@ -145,6 +145,7 @@ typedef struct {
> OBJECT_CLASS_CHECK(VirtMachineClass, klass, TYPE_VIRT_MACHINE)
>
> void virt_acpi_setup(VirtMachineState *vms);
> +DeviceState *virt_acpi_init(void);
>
> /* Return the number of used redistributor regions */
> static inline int virt_gicv3_redist_region_count(VirtMachineState *vms)
next prev parent reply other threads:[~2019-03-12 15:49 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-08 11:42 [Qemu-arm] [PATCH v2 00/11] ARM virt: ACPI memory hotplug support Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 01/11] hw/acpi: Move constant definitions to header files Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-08 16:09 ` [Qemu-arm] " Auger Eric
2019-03-08 16:09 ` [Qemu-devel] " Auger Eric
2019-03-08 17:16 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-08 17:16 ` [Qemu-devel] " Shameerali Kolothum Thodi
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 02/11] hw/acpi: Make ACPI IO address space configurable Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-08 16:13 ` [Qemu-arm] " Auger Eric
2019-03-08 16:13 ` [Qemu-devel] " Auger Eric
2019-03-08 11:42 ` [Qemu-devel] [PATCH v2 03/11] hw/acpi: Do not create memory hotplug method when handler is not defined Shameer Kolothum
2019-03-08 11:42 ` Shameer Kolothum
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 04/11] hw/arm/virt: Add virtual ACPI device Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 13:24 ` Auger Eric
2019-03-11 17:36 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-11 17:36 ` [Qemu-devel] " Shameerali Kolothum Thodi
2019-03-12 15:48 ` Igor Mammedov [this message]
2019-03-14 16:55 ` Shameerali Kolothum Thodi
2019-03-15 8:41 ` [Qemu-arm] " Igor Mammedov
2019-03-15 12:08 ` [Qemu-devel] " Shameerali Kolothum Thodi
2019-03-08 11:42 ` [Qemu-devel] [PATCH v2 05/11] hw/arm/virt: Add memory hotplug framework Shameer Kolothum
2019-03-08 11:42 ` Shameer Kolothum
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 06/11] hw/arm/virt: Add ACPI support for device memory cold-plug Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 13:32 ` Auger Eric
2019-03-11 17:37 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-11 17:37 ` [Qemu-devel] " Shameerali Kolothum Thodi
2019-03-11 17:58 ` [Qemu-arm] " Auger Eric
2019-03-11 17:58 ` [Qemu-devel] " Auger Eric
2019-03-12 14:34 ` [Qemu-arm] " Igor Mammedov
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 07/11] hw/arm/virt-acpi-build: Add PC-DIMM in SRAT Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 14:55 ` [Qemu-arm] " Igor Mammedov
2019-03-11 14:55 ` [Qemu-devel] " Igor Mammedov
2019-03-12 9:57 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-12 12:50 ` Igor Mammedov
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 08/11] hw/arm/boot: Expose the PC-DIMM nodes in the DT Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 14:58 ` [Qemu-arm] " Igor Mammedov
2019-03-11 14:58 ` [Qemu-devel] " Igor Mammedov
2019-03-12 15:13 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-12 15:38 ` [Qemu-arm] [Qemu-devel] " Auger Eric
2019-03-12 16:39 ` Shameerali Kolothum Thodi
2019-03-12 16:47 ` Auger Eric
2019-03-12 16:56 ` Shameerali Kolothum Thodi
2019-03-13 11:12 ` Auger Eric
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 09/11] hw/acpi: Add ACPI Generic Event Device Support Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 20:23 ` Auger Eric
2019-03-14 11:33 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-18 12:26 ` [Qemu-devel] " Igor Mammedov
2019-03-18 15:04 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-18 17:00 ` Igor Mammedov
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 10/11] hw/arm/virt: Add GED device configuration and build aml Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 21:11 ` [Qemu-arm] " Auger Eric
2019-03-11 21:11 ` [Qemu-devel] " Auger Eric
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 11/11] hw/arm/virt: Add GED irq routing and Enable memory hotplug Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-08 15:54 ` [Qemu-devel] [PATCH v2 00/11] ARM virt: ACPI memory hotplug support Auger Eric
2019-03-08 16:00 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-08 16:00 ` [Qemu-devel] " Shameerali Kolothum Thodi
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=20190312164829.7f2c7c0f@redhat.com \
--to=imammedo@redhat.com \
--cc=eric.auger@redhat.com \
--cc=linuxarm@huawei.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=sameo@linux.intel.com \
--cc=sebastien.boeuf@intel.com \
--cc=shameerali.kolothum.thodi@huawei.com \
--cc=shannon.zhaosl@gmail.com \
--cc=xuwei5@hisilicon.com \
/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.