From: James Morse <james.morse at arm.com>
To: devel@acpica.org
Subject: Re: [Devel] [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl
Date: Fri, 09 Feb 2018 17:44:14 +0000 [thread overview]
Message-ID: <5A7DDDEE.9050306@arm.com> (raw)
In-Reply-To: d1b17dae-9d9c-970a-d164-a41c618d449b@huawei.com
[-- Attachment #1: Type: text/plain, Size: 4699 bytes --]
Hi gengdongjiu,
On 05/02/18 06:19, gengdongjiu wrote:
> On 2018/1/31 3:21, James Morse wrote:
>> On 24/01/18 20:06, gengdongjiu wrote:
>>>> On 06/01/18 16:02, Dongjiu Geng wrote:
>>>>> The ARM64 RAS SError Interrupt(SEI) syndrome value is specific to the
>>>>> guest and user space needs a way to tell KVM this value. So we add a
>>>>> new ioctl. Before user space specifies the Exception Syndrome Register
>>>>> ESR(ESR), it firstly checks that whether KVM has the capability to set
>>>>> the guest ESR, If has, will set it. Otherwise, nothing to do.
>>>>>
>>>>> For this ESR specifying, Only support for AArch64, not support AArch32.
>>>>
>>>> After this patch user-space can trigger an SError in the guest. If it wants to migrate the guest, how does the pending SError get migrated?
>>>>
>>>> I think we need to fix migration first. Andrew Jones suggested using
>>>> KVM_GET/SET_VCPU_EVENTS:
>>>> https://www.spinics.net/lists/arm-kernel/msg616846.html
>>>>
>>>> Given KVM uses kvm_inject_vabt() on v8.0 hardware too, we should cover systems without the v8.2 RAS Extensions with the same API. I
>>>> think this means a bit to read/write whether SError is pending, and another to indicate the ESR should be set/read.
>>>> CPUs without the v8.2 RAS Extensions can reject pending-SError that had an ESR.
>>>
>>> For the CPUs without the v8.2 RAS Extensions, its ESR is always 0,
>>> we only can inject a SError with ESR 0 to guest, cannot set its ESR.
>>
>> 0? It's always implementation-defined. On Juno it seems to be always-0, but
>> other systems may behave differently. (Juno may generate another ESR value when
>> I'm not watching it...)
> For the armv8.0 cpu without RAS Extensions, it does not have vsesr_el2, so when
> guest take a virtual SError,
> its ESR is 0, can not control the virtual SError's syndrom value, it does not have
> such registers to control that.
My point was its more nuanced than this: the ARM-ARM's
TakeVirtualSErrorException() pseudo-code lets virtual-SError have an
implementation defined syndrome. I've never seen Juno generate anything other
than '0', but it might do something different on a thursday.
The point? We can't know what a CPU without the RAS extensions puts in there.
Why Does this matter? When migrating a pending SError we have to know the
difference between 'use this 64bit value', and 'the CPU will generate it'.
If I make an SError pending with ESR=0 on a CPU with VSESR, I can't migrated to
a system that generates an impdef SError-ESR, because I can't know it will be 0.
> Does Juno not have RAS Extension?
It's two types of v8.0 CPU, no RAS extensions.
> if yes, I think we can only inject an SError, but can not change its ESR value,
> because it does not have vsesr_el2.
I agree, this means we need to be able to tell the difference between 'pending'
and 'pending with this ESR'.
>> Just because we can't control the ESR doesn't mean injecting an SError isn't
>> something user-space may want to do.
> yes, we may need to support user-space injects an SError even through CPU does not have RAS Extension.
>
>> If we tackle migration of pending-SError first, I think that will give us the
>> API to create a new pending SError with/without an ESR as appropriate.
>
> sure, we should. Last week, I checked the KVM_GET/SET_VCPU_EVENTS IOCTL, it should meet our
> migration requirements
Great!
Thanks,
James
>>> The IOCTL KVM_GET/SET_VCPU_EVENTS has been used by X86.
>>
>> We would be re-using the struct to have values with slightly different meanings.
>> But for migration the upshot is the same, call KVM_GET_VCPU_EVENTS on one
>> system, and pass the struct to KVM_SET_VCPU_EVENTS on the new system. If we're
>> lucky Qemu may be able to do this in shared x86/arm64 code.
>>
> Thanks for the reminder, I know your meaning.
> In the x86, the kvm_vcpu_events includes exception/interrupt/nmi/smi. For the RAS, we
> only involves the exception, so Qemu handling logic is different. Anyway, I will try to
> share code for the two platform in Qemu.
>
>
> /* for KVM_GET/SET_VCPU_EVENTS */
> struct kvm_vcpu_events {
> struct {
> __u8 injected;
> __u8 nr;
> __u8 has_error_code;
> __u8 pad;
> __u32 error_code;
> } exception;
> struct {
> __u8 injected;
> __u8 nr;
> __u8 soft;
> __u8 shadow;
> } interrupt;
> struct {
> __u8 injected;
> __u8 pending;
> __u8 masked;
> __u8 pad;
> } nmi;
> __u32 sipi_vector;
> __u32 flags;
> struct {
> __u8 smm;
> __u8 pending;
> __u8 smm_inside_nmi;
> __u8 latched_init;
> } smi;
> __u32 reserved[9];
> };
>
WARNING: multiple messages have this Message-ID (diff)
From: James Morse <james.morse@arm.com>
To: gengdongjiu <gengdongjiu@huawei.com>
Cc: "christoffer.dall@linaro.org" <christoffer.dall@linaro.org>,
"marc.zyngier@arm.com" <marc.zyngier@arm.com>,
"linux@armlinux.org.uk" <linux@armlinux.org.uk>,
"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
"bp@alien8.de" <bp@alien8.de>,
"robert.moore@intel.com" <robert.moore@intel.com>,
"lv.zheng@intel.com" <lv.zheng@intel.com>,
"corbet@lwn.net" <corbet@lwn.net>,
"will.deacon@arm.com" <will.deacon@arm.com>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>
Subject: Re: [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl
Date: Fri, 09 Feb 2018 17:44:14 +0000 [thread overview]
Message-ID: <5A7DDDEE.9050306@arm.com> (raw)
In-Reply-To: <d1b17dae-9d9c-970a-d164-a41c618d449b@huawei.com>
Hi gengdongjiu,
On 05/02/18 06:19, gengdongjiu wrote:
> On 2018/1/31 3:21, James Morse wrote:
>> On 24/01/18 20:06, gengdongjiu wrote:
>>>> On 06/01/18 16:02, Dongjiu Geng wrote:
>>>>> The ARM64 RAS SError Interrupt(SEI) syndrome value is specific to the
>>>>> guest and user space needs a way to tell KVM this value. So we add a
>>>>> new ioctl. Before user space specifies the Exception Syndrome Register
>>>>> ESR(ESR), it firstly checks that whether KVM has the capability to set
>>>>> the guest ESR, If has, will set it. Otherwise, nothing to do.
>>>>>
>>>>> For this ESR specifying, Only support for AArch64, not support AArch32.
>>>>
>>>> After this patch user-space can trigger an SError in the guest. If it wants to migrate the guest, how does the pending SError get migrated?
>>>>
>>>> I think we need to fix migration first. Andrew Jones suggested using
>>>> KVM_GET/SET_VCPU_EVENTS:
>>>> https://www.spinics.net/lists/arm-kernel/msg616846.html
>>>>
>>>> Given KVM uses kvm_inject_vabt() on v8.0 hardware too, we should cover systems without the v8.2 RAS Extensions with the same API. I
>>>> think this means a bit to read/write whether SError is pending, and another to indicate the ESR should be set/read.
>>>> CPUs without the v8.2 RAS Extensions can reject pending-SError that had an ESR.
>>>
>>> For the CPUs without the v8.2 RAS Extensions, its ESR is always 0,
>>> we only can inject a SError with ESR 0 to guest, cannot set its ESR.
>>
>> 0? It's always implementation-defined. On Juno it seems to be always-0, but
>> other systems may behave differently. (Juno may generate another ESR value when
>> I'm not watching it...)
> For the armv8.0 cpu without RAS Extensions, it does not have vsesr_el2, so when
> guest take a virtual SError,
> its ESR is 0, can not control the virtual SError's syndrom value, it does not have
> such registers to control that.
My point was its more nuanced than this: the ARM-ARM's
TakeVirtualSErrorException() pseudo-code lets virtual-SError have an
implementation defined syndrome. I've never seen Juno generate anything other
than '0', but it might do something different on a thursday.
The point? We can't know what a CPU without the RAS extensions puts in there.
Why Does this matter? When migrating a pending SError we have to know the
difference between 'use this 64bit value', and 'the CPU will generate it'.
If I make an SError pending with ESR=0 on a CPU with VSESR, I can't migrated to
a system that generates an impdef SError-ESR, because I can't know it will be 0.
> Does Juno not have RAS Extension?
It's two types of v8.0 CPU, no RAS extensions.
> if yes, I think we can only inject an SError, but can not change its ESR value,
> because it does not have vsesr_el2.
I agree, this means we need to be able to tell the difference between 'pending'
and 'pending with this ESR'.
>> Just because we can't control the ESR doesn't mean injecting an SError isn't
>> something user-space may want to do.
> yes, we may need to support user-space injects an SError even through CPU does not have RAS Extension.
>
>> If we tackle migration of pending-SError first, I think that will give us the
>> API to create a new pending SError with/without an ESR as appropriate.
>
> sure, we should. Last week, I checked the KVM_GET/SET_VCPU_EVENTS IOCTL, it should meet our
> migration requirements
Great!
Thanks,
James
>>> The IOCTL KVM_GET/SET_VCPU_EVENTS has been used by X86.
>>
>> We would be re-using the struct to have values with slightly different meanings.
>> But for migration the upshot is the same, call KVM_GET_VCPU_EVENTS on one
>> system, and pass the struct to KVM_SET_VCPU_EVENTS on the new system. If we're
>> lucky Qemu may be able to do this in shared x86/arm64 code.
>>
> Thanks for the reminder, I know your meaning.
> In the x86, the kvm_vcpu_events includes exception/interrupt/nmi/smi. For the RAS, we
> only involves the exception, so Qemu handling logic is different. Anyway, I will try to
> share code for the two platform in Qemu.
>
>
> /* for KVM_GET/SET_VCPU_EVENTS */
> struct kvm_vcpu_events {
> struct {
> __u8 injected;
> __u8 nr;
> __u8 has_error_code;
> __u8 pad;
> __u32 error_code;
> } exception;
> struct {
> __u8 injected;
> __u8 nr;
> __u8 soft;
> __u8 shadow;
> } interrupt;
> struct {
> __u8 injected;
> __u8 pending;
> __u8 masked;
> __u8 pad;
> } nmi;
> __u32 sipi_vector;
> __u32 flags;
> struct {
> __u8 smm;
> __u8 pending;
> __u8 smm_inside_nmi;
> __u8 latched_init;
> } smi;
> __u32 reserved[9];
> };
>
WARNING: multiple messages have this Message-ID (diff)
From: james.morse@arm.com (James Morse)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl
Date: Fri, 09 Feb 2018 17:44:14 +0000 [thread overview]
Message-ID: <5A7DDDEE.9050306@arm.com> (raw)
In-Reply-To: <d1b17dae-9d9c-970a-d164-a41c618d449b@huawei.com>
Hi gengdongjiu,
On 05/02/18 06:19, gengdongjiu wrote:
> On 2018/1/31 3:21, James Morse wrote:
>> On 24/01/18 20:06, gengdongjiu wrote:
>>>> On 06/01/18 16:02, Dongjiu Geng wrote:
>>>>> The ARM64 RAS SError Interrupt(SEI) syndrome value is specific to the
>>>>> guest and user space needs a way to tell KVM this value. So we add a
>>>>> new ioctl. Before user space specifies the Exception Syndrome Register
>>>>> ESR(ESR), it firstly checks that whether KVM has the capability to set
>>>>> the guest ESR, If has, will set it. Otherwise, nothing to do.
>>>>>
>>>>> For this ESR specifying, Only support for AArch64, not support AArch32.
>>>>
>>>> After this patch user-space can trigger an SError in the guest. If it wants to migrate the guest, how does the pending SError get migrated?
>>>>
>>>> I think we need to fix migration first. Andrew Jones suggested using
>>>> KVM_GET/SET_VCPU_EVENTS:
>>>> https://www.spinics.net/lists/arm-kernel/msg616846.html
>>>>
>>>> Given KVM uses kvm_inject_vabt() on v8.0 hardware too, we should cover systems without the v8.2 RAS Extensions with the same API. I
>>>> think this means a bit to read/write whether SError is pending, and another to indicate the ESR should be set/read.
>>>> CPUs without the v8.2 RAS Extensions can reject pending-SError that had an ESR.
>>>
>>> For the CPUs without the v8.2 RAS Extensions, its ESR is always 0,
>>> we only can inject a SError with ESR 0 to guest, cannot set its ESR.
>>
>> 0? It's always implementation-defined. On Juno it seems to be always-0, but
>> other systems may behave differently. (Juno may generate another ESR value when
>> I'm not watching it...)
> For the armv8.0 cpu without RAS Extensions, it does not have vsesr_el2, so when
> guest take a virtual SError,
> its ESR is 0, can not control the virtual SError's syndrom value, it does not have
> such registers to control that.
My point was its more nuanced than this: the ARM-ARM's
TakeVirtualSErrorException() pseudo-code lets virtual-SError have an
implementation defined syndrome. I've never seen Juno generate anything other
than '0', but it might do something different on a thursday.
The point? We can't know what a CPU without the RAS extensions puts in there.
Why Does this matter? When migrating a pending SError we have to know the
difference between 'use this 64bit value', and 'the CPU will generate it'.
If I make an SError pending with ESR=0 on a CPU with VSESR, I can't migrated to
a system that generates an impdef SError-ESR, because I can't know it will be 0.
> Does Juno not have RAS Extension?
It's two types of v8.0 CPU, no RAS extensions.
> if yes, I think we can only inject an SError, but can not change its ESR value,
> because it does not have vsesr_el2.
I agree, this means we need to be able to tell the difference between 'pending'
and 'pending with this ESR'.
>> Just because we can't control the ESR doesn't mean injecting an SError isn't
>> something user-space may want to do.
> yes, we may need to support user-space injects an SError even through CPU does not have RAS Extension.
>
>> If we tackle migration of pending-SError first, I think that will give us the
>> API to create a new pending SError with/without an ESR as appropriate.
>
> sure, we should. Last week, I checked the KVM_GET/SET_VCPU_EVENTS IOCTL, it should meet our
> migration requirements
Great!
Thanks,
James
>>> The IOCTL KVM_GET/SET_VCPU_EVENTS has been used by X86.
>>
>> We would be re-using the struct to have values with slightly different meanings.
>> But for migration the upshot is the same, call KVM_GET_VCPU_EVENTS on one
>> system, and pass the struct to KVM_SET_VCPU_EVENTS on the new system. If we're
>> lucky Qemu may be able to do this in shared x86/arm64 code.
>>
> Thanks for the reminder, I know your meaning.
> In the x86, the kvm_vcpu_events includes exception/interrupt/nmi/smi. For the RAS, we
> only involves the exception, so Qemu handling logic is different. Anyway, I will try to
> share code for the two platform in Qemu.
>
>
> /* for KVM_GET/SET_VCPU_EVENTS */
> struct kvm_vcpu_events {
> struct {
> __u8 injected;
> __u8 nr;
> __u8 has_error_code;
> __u8 pad;
> __u32 error_code;
> } exception;
> struct {
> __u8 injected;
> __u8 nr;
> __u8 soft;
> __u8 shadow;
> } interrupt;
> struct {
> __u8 injected;
> __u8 pending;
> __u8 masked;
> __u8 pad;
> } nmi;
> __u32 sipi_vector;
> __u32 flags;
> struct {
> __u8 smm;
> __u8 pending;
> __u8 smm_inside_nmi;
> __u8 latched_init;
> } smi;
> __u32 reserved[9];
> };
>
WARNING: multiple messages have this Message-ID (diff)
From: James Morse <james.morse@arm.com>
To: gengdongjiu <gengdongjiu@huawei.com>
Cc: "christoffer.dall@linaro.org" <christoffer.dall@linaro.org>,
"marc.zyngier@arm.com" <marc.zyngier@arm.com>,
"linux@armlinux.org.uk" <linux@armlinux.org.uk>,
"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
"bp@alien8.de" <bp@alien8.de>,
"robert.moore@intel.com" <robert.moore@intel.com>,
"lv.zheng@intel.com" <lv.zheng@intel.com>,
"corbet@lwn.net" <corbet@lwn.net>,
"will.deacon@arm.com" <will.deacon@arm.com>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"devel@acpica.org" <devel@acpica.org>,
Huangshaoyu <huangshaoyu@huawei.com>
Subject: Re: [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl
Date: Fri, 09 Feb 2018 17:44:14 +0000 [thread overview]
Message-ID: <5A7DDDEE.9050306@arm.com> (raw)
In-Reply-To: <d1b17dae-9d9c-970a-d164-a41c618d449b@huawei.com>
Hi gengdongjiu,
On 05/02/18 06:19, gengdongjiu wrote:
> On 2018/1/31 3:21, James Morse wrote:
>> On 24/01/18 20:06, gengdongjiu wrote:
>>>> On 06/01/18 16:02, Dongjiu Geng wrote:
>>>>> The ARM64 RAS SError Interrupt(SEI) syndrome value is specific to the
>>>>> guest and user space needs a way to tell KVM this value. So we add a
>>>>> new ioctl. Before user space specifies the Exception Syndrome Register
>>>>> ESR(ESR), it firstly checks that whether KVM has the capability to set
>>>>> the guest ESR, If has, will set it. Otherwise, nothing to do.
>>>>>
>>>>> For this ESR specifying, Only support for AArch64, not support AArch32.
>>>>
>>>> After this patch user-space can trigger an SError in the guest. If it wants to migrate the guest, how does the pending SError get migrated?
>>>>
>>>> I think we need to fix migration first. Andrew Jones suggested using
>>>> KVM_GET/SET_VCPU_EVENTS:
>>>> https://www.spinics.net/lists/arm-kernel/msg616846.html
>>>>
>>>> Given KVM uses kvm_inject_vabt() on v8.0 hardware too, we should cover systems without the v8.2 RAS Extensions with the same API. I
>>>> think this means a bit to read/write whether SError is pending, and another to indicate the ESR should be set/read.
>>>> CPUs without the v8.2 RAS Extensions can reject pending-SError that had an ESR.
>>>
>>> For the CPUs without the v8.2 RAS Extensions, its ESR is always 0,
>>> we only can inject a SError with ESR 0 to guest, cannot set its ESR.
>>
>> 0? It's always implementation-defined. On Juno it seems to be always-0, but
>> other systems may behave differently. (Juno may generate another ESR value when
>> I'm not watching it...)
> For the armv8.0 cpu without RAS Extensions, it does not have vsesr_el2, so when
> guest take a virtual SError,
> its ESR is 0, can not control the virtual SError's syndrom value, it does not have
> such registers to control that.
My point was its more nuanced than this: the ARM-ARM's
TakeVirtualSErrorException() pseudo-code lets virtual-SError have an
implementation defined syndrome. I've never seen Juno generate anything other
than '0', but it might do something different on a thursday.
The point? We can't know what a CPU without the RAS extensions puts in there.
Why Does this matter? When migrating a pending SError we have to know the
difference between 'use this 64bit value', and 'the CPU will generate it'.
If I make an SError pending with ESR=0 on a CPU with VSESR, I can't migrated to
a system that generates an impdef SError-ESR, because I can't know it will be 0.
> Does Juno not have RAS Extension?
It's two types of v8.0 CPU, no RAS extensions.
> if yes, I think we can only inject an SError, but can not change its ESR value,
> because it does not have vsesr_el2.
I agree, this means we need to be able to tell the difference between 'pending'
and 'pending with this ESR'.
>> Just because we can't control the ESR doesn't mean injecting an SError isn't
>> something user-space may want to do.
> yes, we may need to support user-space injects an SError even through CPU does not have RAS Extension.
>
>> If we tackle migration of pending-SError first, I think that will give us the
>> API to create a new pending SError with/without an ESR as appropriate.
>
> sure, we should. Last week, I checked the KVM_GET/SET_VCPU_EVENTS IOCTL, it should meet our
> migration requirements
Great!
Thanks,
James
>>> The IOCTL KVM_GET/SET_VCPU_EVENTS has been used by X86.
>>
>> We would be re-using the struct to have values with slightly different meanings.
>> But for migration the upshot is the same, call KVM_GET_VCPU_EVENTS on one
>> system, and pass the struct to KVM_SET_VCPU_EVENTS on the new system. If we're
>> lucky Qemu may be able to do this in shared x86/arm64 code.
>>
> Thanks for the reminder, I know your meaning.
> In the x86, the kvm_vcpu_events includes exception/interrupt/nmi/smi. For the RAS, we
> only involves the exception, so Qemu handling logic is different. Anyway, I will try to
> share code for the two platform in Qemu.
>
>
> /* for KVM_GET/SET_VCPU_EVENTS */
> struct kvm_vcpu_events {
> struct {
> __u8 injected;
> __u8 nr;
> __u8 has_error_code;
> __u8 pad;
> __u32 error_code;
> } exception;
> struct {
> __u8 injected;
> __u8 nr;
> __u8 soft;
> __u8 shadow;
> } interrupt;
> struct {
> __u8 injected;
> __u8 pending;
> __u8 masked;
> __u8 pad;
> } nmi;
> __u32 sipi_vector;
> __u32 flags;
> struct {
> __u8 smm;
> __u8 pending;
> __u8 smm_inside_nmi;
> __u8 latched_init;
> } smi;
> __u32 reserved[9];
> };
>
next prev reply other threads:[~2018-02-09 17:44 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-24 20:06 [Devel] [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl gengdongjiu
2018-01-24 20:06 ` gengdongjiu
2018-01-24 20:06 ` gengdongjiu
2018-01-30 19:21 ` [Devel] " James Morse
2018-01-30 19:21 ` James Morse
2018-01-30 19:21 ` James Morse
2018-01-30 19:21 ` James Morse
2018-02-05 6:19 ` [Devel] " gengdongjiu
2018-02-05 6:19 ` gengdongjiu
2018-02-05 6:19 ` gengdongjiu
2018-02-05 6:19 ` gengdongjiu
2018-02-09 17:44 ` James Morse [this message]
2018-02-09 17:44 ` James Morse
2018-02-09 17:44 ` James Morse
2018-02-09 17:44 ` James Morse
2018-02-12 10:19 ` [Devel] " gengdongjiu
2018-02-12 10:19 ` gengdongjiu
2018-02-12 10:19 ` gengdongjiu
2018-02-12 10:19 ` gengdongjiu
2018-02-15 17:55 ` [Devel] " James Morse
2018-02-15 17:55 ` James Morse
2018-02-15 17:55 ` James Morse
2018-02-15 17:55 ` James Morse
2018-03-08 6:18 ` gengdongjiu
2018-03-08 6:18 ` gengdongjiu
2018-03-08 6:18 ` gengdongjiu
2018-03-08 6:18 ` gengdongjiu
-- strict thread matches above, loose matches on Subject: below --
2018-03-15 20:46 [Devel] " James Morse
2018-03-15 20:46 ` James Morse
2018-03-15 20:46 ` James Morse
2018-03-15 20:46 ` James Morse
2018-03-15 20:46 ` James Morse
2018-01-23 19:06 [Devel] " James Morse
2018-01-06 16:02 Dongjiu Geng
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=5A7DDDEE.9050306@arm.com \
--to=devel@acpica.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.