All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dongjiu Geng <gengdongjiu@huawei.com>
To: <pbonzini@redhat.com>, <gengdongjiu@huawei.com>, <mst@redhat.com>,
	<imammedo@redhat.com>, <shannon.zhaosl@gmail.com>,
	<peter.maydell@linaro.org>, <fam@euphon.net>, <rth@twiddle.net>,
	<ehabkost@redhat.com>, <mtosatti@redhat.com>, <xuwei5@huawei.com>,
	<jonathan.cameron@huawei.com>, <james.morse@arm.com>,
	<qemu-devel@nongnu.org>, <kvm@vger.kernel.org>,
	<qemu-arm@nongnu.org>
Cc: <zhengxiang9@huawei.com>, <linuxarm@huawei.com>
Subject: [PATCH v22 1/9] hw/arm/virt: Introduce a RAS machine option
Date: Wed, 8 Jan 2020 19:32:15 +0800	[thread overview]
Message-ID: <1578483143-14905-2-git-send-email-gengdongjiu@huawei.com> (raw)
In-Reply-To: <1578483143-14905-1-git-send-email-gengdongjiu@huawei.com>

RAS Virtualization feature is not supported now, so add a RAS machine
option and disable it by default.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com>
Signed-off-by: Xiang Zheng <zhengxiang9@huawei.com>
Acked-by: Xiang Zheng <zhengxiang9@huawei.com>
---
 hw/arm/virt.c         | 23 +++++++++++++++++++++++
 include/hw/arm/virt.h |  1 +
 2 files changed, 24 insertions(+)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 39ab5f4..fe2571f 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1818,6 +1818,20 @@ static void virt_set_its(Object *obj, bool value, Error **errp)
     vms->its = value;
 }
 
+static bool virt_get_ras(Object *obj, Error **errp)
+{
+    VirtMachineState *vms = VIRT_MACHINE(obj);
+
+    return vms->ras;
+}
+
+static void virt_set_ras(Object *obj, bool value, Error **errp)
+{
+    VirtMachineState *vms = VIRT_MACHINE(obj);
+
+    vms->ras = value;
+}
+
 static char *virt_get_gic_version(Object *obj, Error **errp)
 {
     VirtMachineState *vms = VIRT_MACHINE(obj);
@@ -2121,6 +2135,15 @@ static void virt_instance_init(Object *obj)
                                     "Valid values are none and smmuv3",
                                     NULL);
 
+    /* Default disallows RAS instantiation */
+    vms->ras = false;
+    object_property_add_bool(obj, "ras", virt_get_ras,
+                             virt_set_ras, NULL);
+    object_property_set_description(obj, "ras",
+                                    "Set on/off to enable/disable reporting host memory errors "
+                                    "to a KVM guest using ACPI and guest external abort exceptions",
+                                    NULL);
+
     vms->irqmap = a15irqmap;
 
     virt_flash_create(vms);
diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 38f0c33..15057f7 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -122,6 +122,7 @@ typedef struct {
     bool highmem_ecam;
     bool its;
     bool virt;
+    bool ras;
     int32_t gic_version;
     VirtIOMMUType iommu;
     struct arm_boot_info bootinfo;
-- 
1.8.3.1


WARNING: multiple messages have this Message-ID (diff)
From: Dongjiu Geng <gengdongjiu@huawei.com>
To: <pbonzini@redhat.com>, <gengdongjiu@huawei.com>, <mst@redhat.com>,
	<imammedo@redhat.com>, <shannon.zhaosl@gmail.com>,
	<peter.maydell@linaro.org>, <fam@euphon.net>, <rth@twiddle.net>,
	<ehabkost@redhat.com>, <mtosatti@redhat.com>, <xuwei5@huawei.com>,
	<jonathan.cameron@huawei.com>, <james.morse@arm.com>,
	<qemu-devel@nongnu.org>, <kvm@vger.kernel.org>,
	<qemu-arm@nongnu.org>
Cc: zhengxiang9@huawei.com, linuxarm@huawei.com
Subject: [PATCH v22 1/9] hw/arm/virt: Introduce a RAS machine option
Date: Wed, 8 Jan 2020 19:32:15 +0800	[thread overview]
Message-ID: <1578483143-14905-2-git-send-email-gengdongjiu@huawei.com> (raw)
In-Reply-To: <1578483143-14905-1-git-send-email-gengdongjiu@huawei.com>

RAS Virtualization feature is not supported now, so add a RAS machine
option and disable it by default.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com>
Signed-off-by: Xiang Zheng <zhengxiang9@huawei.com>
Acked-by: Xiang Zheng <zhengxiang9@huawei.com>
---
 hw/arm/virt.c         | 23 +++++++++++++++++++++++
 include/hw/arm/virt.h |  1 +
 2 files changed, 24 insertions(+)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 39ab5f4..fe2571f 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1818,6 +1818,20 @@ static void virt_set_its(Object *obj, bool value, Error **errp)
     vms->its = value;
 }
 
+static bool virt_get_ras(Object *obj, Error **errp)
+{
+    VirtMachineState *vms = VIRT_MACHINE(obj);
+
+    return vms->ras;
+}
+
+static void virt_set_ras(Object *obj, bool value, Error **errp)
+{
+    VirtMachineState *vms = VIRT_MACHINE(obj);
+
+    vms->ras = value;
+}
+
 static char *virt_get_gic_version(Object *obj, Error **errp)
 {
     VirtMachineState *vms = VIRT_MACHINE(obj);
@@ -2121,6 +2135,15 @@ static void virt_instance_init(Object *obj)
                                     "Valid values are none and smmuv3",
                                     NULL);
 
+    /* Default disallows RAS instantiation */
+    vms->ras = false;
+    object_property_add_bool(obj, "ras", virt_get_ras,
+                             virt_set_ras, NULL);
+    object_property_set_description(obj, "ras",
+                                    "Set on/off to enable/disable reporting host memory errors "
+                                    "to a KVM guest using ACPI and guest external abort exceptions",
+                                    NULL);
+
     vms->irqmap = a15irqmap;
 
     virt_flash_create(vms);
diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 38f0c33..15057f7 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -122,6 +122,7 @@ typedef struct {
     bool highmem_ecam;
     bool its;
     bool virt;
+    bool ras;
     int32_t gic_version;
     VirtIOMMUType iommu;
     struct arm_boot_info bootinfo;
-- 
1.8.3.1



  reply	other threads:[~2020-01-08 11:32 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-08 11:32 [PATCH v22 0/9] Add ARMv8 RAS virtualization support in QEMU Dongjiu Geng
2020-01-08 11:32 ` Dongjiu Geng
2020-01-08 11:32 ` Dongjiu Geng [this message]
2020-01-08 11:32   ` [PATCH v22 1/9] hw/arm/virt: Introduce a RAS machine option Dongjiu Geng
2020-01-08 11:32 ` [PATCH v22 2/9] docs: APEI GHES generation and CPER record description Dongjiu Geng
2020-01-08 11:32   ` Dongjiu Geng
2020-01-15 15:11   ` Igor Mammedov
2020-01-15 15:11     ` Igor Mammedov
2020-01-08 11:32 ` [PATCH v22 3/9] ACPI: Build related register address fields via hardware error fw_cfg blob Dongjiu Geng
2020-01-08 11:32   ` Dongjiu Geng
2020-01-23 15:14   ` Igor Mammedov
2020-01-23 15:14     ` Igor Mammedov
2020-02-02 14:01     ` gengdongjiu
2020-02-02 14:01       ` gengdongjiu
2020-01-08 11:32 ` [PATCH v22 4/9] ACPI: Build Hardware Error Source Table Dongjiu Geng
2020-01-08 11:32   ` Dongjiu Geng
2020-01-23 15:48   ` Igor Mammedov
2020-01-23 15:48     ` Igor Mammedov
2020-02-02 14:21     ` gengdongjiu
2020-02-02 14:21       ` gengdongjiu
2020-02-05 16:43   ` Jonathan Cameron
2020-02-05 16:43     ` Jonathan Cameron
2020-02-10 11:18     ` gengdongjiu
2020-02-10 11:18       ` gengdongjiu
2020-01-08 11:32 ` [PATCH v22 5/9] ACPI: Record the Generic Error Status Block address Dongjiu Geng
2020-01-08 11:32   ` Dongjiu Geng
2020-01-16 16:44   ` Peter Maydell
2020-01-16 16:44     ` Peter Maydell
2020-01-17 10:36     ` gengdongjiu
2020-01-17 10:36       ` gengdongjiu
2020-02-13 15:28     ` gengdongjiu
2020-02-13 15:28       ` gengdongjiu
2020-01-17  7:39   ` Philippe Mathieu-Daudé
2020-01-17 10:47     ` gengdongjiu
2020-01-17 10:47       ` gengdongjiu
2020-01-17 11:20       ` Philippe Mathieu-Daudé
2020-01-28 14:41   ` Igor Mammedov
2020-01-28 14:41     ` Igor Mammedov
2020-01-28 16:19     ` Igor Mammedov
2020-01-28 16:19       ` Igor Mammedov
2020-02-02 12:44     ` gengdongjiu
2020-02-02 12:44       ` gengdongjiu
2020-02-03  7:51       ` Igor Mammedov
2020-02-03  7:51         ` Igor Mammedov
2020-01-08 11:32 ` [PATCH v22 6/9] KVM: Move hwpoison page related functions into kvm-all.c Dongjiu Geng
2020-01-08 11:32   ` Dongjiu Geng
2020-01-08 11:32 ` [PATCH v22 7/9] ACPI: Record Generic Error Status Block(GESB) table Dongjiu Geng
2020-01-08 11:32   ` Dongjiu Geng
2020-01-28 15:29   ` Igor Mammedov
2020-01-28 15:29     ` Igor Mammedov
2020-02-02 13:42     ` gengdongjiu
2020-02-02 13:42       ` gengdongjiu
2020-02-03  7:55       ` Igor Mammedov
2020-02-03  7:55         ` Igor Mammedov
2020-01-08 11:32 ` [PATCH v22 8/9] target-arm: kvm64: handle SIGBUS signal from kernel or KVM Dongjiu Geng
2020-01-08 11:32   ` Dongjiu Geng
2020-01-16 16:28   ` Peter Maydell
2020-01-16 16:28     ` Peter Maydell
2020-01-16 16:40     ` Peter Maydell
2020-01-16 16:40       ` Peter Maydell
2020-01-17 10:04     ` gengdongjiu
2020-01-17 10:04       ` gengdongjiu
2020-01-20 12:15       ` Peter Maydell
2020-01-20 12:15         ` Peter Maydell
2020-01-22 15:30         ` gengdongjiu
2020-01-22 15:30           ` gengdongjiu
2020-01-08 11:32 ` [PATCH v22 9/9] MAINTAINERS: Add ACPI/HEST/GHES entries Dongjiu Geng
2020-01-08 11:32   ` Dongjiu Geng
2020-01-16 16:46   ` Peter Maydell
2020-01-16 16:46     ` Peter Maydell
2020-01-17  7:22     ` Philippe Mathieu-Daudé
2020-01-17  7:22       ` Philippe Mathieu-Daudé
2020-01-17 10:16       ` gengdongjiu
2020-01-17 10:16         ` gengdongjiu
2020-01-17 11:09       ` Peter Maydell
2020-01-17 11:09         ` Peter Maydell
2020-01-17 11:22         ` Philippe Mathieu-Daudé
2020-01-17 11:22           ` Philippe Mathieu-Daudé
2020-01-19  8:19           ` gengdongjiu
2020-01-19  8:19             ` gengdongjiu
2020-01-17 12:19         ` Michael S. Tsirkin
2020-01-17 12:19           ` Michael S. Tsirkin
2020-01-09  3:38 ` [PATCH v22 0/9] Add ARMv8 RAS virtualization support in QEMU gengdongjiu
2020-01-09  3:38   ` gengdongjiu
2020-01-15 13:05 ` gengdongjiu

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=1578483143-14905-2-git-send-email-gengdongjiu@huawei.com \
    --to=gengdongjiu@huawei.com \
    --cc=ehabkost@redhat.com \
    --cc=fam@euphon.net \
    --cc=imammedo@redhat.com \
    --cc=james.morse@arm.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=kvm@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=shannon.zhaosl@gmail.com \
    --cc=xuwei5@huawei.com \
    --cc=zhengxiang9@huawei.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.