Re: [PATCH] kvm: pass the virtual SEI syndrome to guest OS

2017-03-29 Thread gengdongjiu
Hi Christoffer/Laszlo, On 2017/3/30 1:44, Christoffer Dall wrote: > On Wed, Mar 29, 2017 at 05:37:49PM +0200, Laszlo Ersek wrote: >> On 03/29/17 16:48, Christoffer Dall wrote: >>> On Wed, Mar 29, 2017 at 10:36:51PM +0800, gengdongjiu wrote: >>>> 2017-03-2

Re: [PATCH] kvm: pass the virtual SEI syndrome to guest OS

2017-04-21 Thread gengdongjiu
Hi all/Laszlo, sorry, I have a question to consult with you. On 2017/4/7 2:55, Laszlo Ersek wrote: > On 04/06/17 14:35, gengdongjiu wrote: >> Dear, Laszlo >>Thanks for your detailed explanation. >> >> On 2017/3/29 19:58, Laszlo Ersek wrote: >>> (This ou

Re: [PATCH] kvm: pass the virtual SEI syndrome to guest OS

2017-04-06 Thread gengdongjiu
or.) > > On 03/29/17 12:36, Achin Gupta wrote: >> Hi gengdongjiu, >> >> On Wed, Mar 29, 2017 at 05:36:37PM +0800, gengdongjiu wrote: >>> >>> Hi Laszlo/Biesheuvel/Qemu developer, >>> >>>Now I encounter a issue and want to consu

Re: [PATCH] kvm: pass the virtual SEI syndrome to guest OS

2017-04-06 Thread gengdongjiu
Hi Laszlo, thanks. On 2017/4/7 2:55, Laszlo Ersek wrote: > On 04/06/17 14:35, gengdongjiu wrote: >> Dear, Laszlo >>Thanks for your detailed explanation. >> >> On 2017/3/29 19:58, Laszlo Ersek wrote: >>> (This ought to be one of the longest address lists

Re: [PATCH v4 2/3] arm64: kvm: route synchronous external abort exceptions to el2

2017-06-27 Thread gengdongjiu
correct the commit message: In the firmware-first RAS solution, OS receives an synchronous external abort, then trapped to EL3 by SCR_EL3.EA. Firmware inspects the HCR_EL2.TEA and chooses the target to send APEI's SEA notification. If the SCR_EL3.EA is set, delegates the error exception to the

Re: [PATCH v4 3/3] arm64: kvm: inject SError with user space specified syndrome

2017-07-05 Thread gengdongjiu
Hi James, On 2017/7/4 18:14, James Morse wrote: > Hi gengdongjiu, > > Can you give us a specific example of an error you are trying to handle? For example: guest OS user space accesses device type memory, but happen SError. because the SError is asynchronous faults, it does not take im

Re: [PATCH v5 1/3] arm64/ras: support sea error recovery

2018-02-08 Thread gengdongjiu
On 2018/2/8 3:03, James Morse wrote: > Hi Xie XiuQi, > > On 30/01/18 19:19, James Morse wrote: >> On 26/01/18 12:31, Xie XiuQi wrote: >>> With ARM v8.2 RAS Extension, SEA are usually triggered when memory errors >>> are consumed. According to the existing process, errors occurred in the >>> kern

Re: [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl

2018-02-04 Thread gengdongjiu
James, Thank you for your time to reply me. On 2018/1/31 3:21, James Morse wrote: > Hi gengdongjiu, > > 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 >

Re: [PATCH v9 3/7] acpi: apei: Add SEI notification type support for ARMv8

2018-02-05 Thread gengdongjiu
[...] > > > Yes, I know you are dong that. Your serial's patch will consider all above > things, right? > > Assuming I got it right, yes. It currently makes the race Xie XiuQi spotted > worse, > which I want to fix too. (details on the cover letter) Ok. > > > > If your patch can be consider

Re: [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl

2018-02-12 Thread gengdongjiu
Hi James, Thanks for the mail. On 2018/2/10 1:44, James Morse wrote: [...] > >> 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() pse

Re: [PATCH] arm64: rename the function arm64_is_ras_serror() to avoid confusion

2018-02-26 Thread gengdongjiu
Hi James, Thanks a lot for your review. 2018-02-24 1:58 GMT+08:00 James Morse : > Hi Dongjiu Geng, > > On 22/02/18 18:02, Dongjiu Geng wrote: >> The RAS SError Syndrome can be Implementation-Defined, >> arm64_is_ras_serror() is used to judge whether it is RAS SError, >> but arm64_is_ras_serror(

Re: [PATCH v8 0/7] Support RAS virtualization in KVM

2017-11-15 Thread gengdongjiu
Hi James, Thank you very much for your comments and review. On 2017/11/15 0:00, James Morse wrote: > Hi Dongjiu Geng, > > On 10/11/17 19:54, Dongjiu Geng wrote: >> This series patches mainly do below things: >> >> 1. Trap RAS ERR* registers Accesses to EL2 from Non-secure EL1, >>KVM will w

Re: [PATCH v8 7/7] arm64: kvm: handle SError Interrupt by categorization

2017-11-15 Thread gengdongjiu
Hi James, Thanks a lot for the review. On 2017/11/15 0:00, James Morse wrote: > Hi Dongjiu Geng, > > On 10/11/17 19:54, Dongjiu Geng wrote: >> If it is not RAS SError, directly inject virtual SError, >> which will keep the old way. If it is RAS SError, firstly >> let host ACPI module to handl

Re: [question] handle the page table RAS error

2017-12-06 Thread gengdongjiu
On 2017/12/6 0:57, Andi Kleen wrote: > x86 doesn't handle it. > > There are lots of memory types that are not handled by MCE recovery > because it is just too difficult. In general MCE recovery focuses on > memory types that use up significant percent of total memory. Page tables > are normally

Re: [question] handle the page table RAS error(Avoid kernel panic when killing an application)

2017-12-06 Thread gengdongjiu
change the mail subject and resend the mail On 2017/12/6 16:56, gengdongjiu wrote: > > On 2017/12/6 0:57, Andi Kleen wrote: > x86 doesn't handle it. > > There are lots of memory types that are not handled by MCE recovery > because it is just too difficult. In general

Re: [PATCH v8 7/7] arm64: kvm: handle SError Interrupt by categorization

2017-12-06 Thread gengdongjiu
On 2017/11/15 0:00, James Morse wrote: >> + * error has not been propagated >> + */ >> +run->exit_reason = KVM_EXIT_EXCEPTION; >> +run->ex.exception = ESR_ELx_EC_SERROR; >> +run->ex.error_code = KVM_SEI_SEV_RECOVERABLE; >> +re

[consult the suggestion]: Avoid kernel panic when killing an application if happen RAS page table error

2017-12-14 Thread gengdongjiu
Hi James/All, If the user space application happen page table RAS error,Memory error handler(memory_failure()) will do nothing except making a poisoned page flag, and fault handler in arch/arm64/mm/fault.c will deliver a signal to kill this application. when this application exits, it will ca

[Question ]: Avoid kernel panic when killing an application if happen RAS page table error

2017-12-14 Thread gengdongjiu
change the mail title and resend. Hi James/All, If the user space application happen page table RAS error,Memory error handler(memory_failure()) will do nothing except making a poisoned page flag, and fault handler in arch/arm64/mm/fault.c will deliver a signal to kill this application. when t

Re: [PATCH v8 7/7] arm64: kvm: handle SError Interrupt by categorization

2017-12-14 Thread gengdongjiu
Hi James, On 2017/12/7 14:37, gengdongjiu wrote: >> We need to tackle (1) and (3) separately. For (3) we need some API that lets >> Qemu _trigger_ an SError in the guest, with a specified ESR. But, we don't >> have >> a way of migrating pending SError yet... wh

Re: [PATCH v8 7/7] arm64: kvm: handle SError Interrupt by categorization

2017-12-15 Thread gengdongjiu
Hi James, On 2017/12/16 2:52, James Morse wrote: >> signal, it will record the CPER and trigger a IRQ to notify guest, as shown >> below: >> >> SIGBUS_MCEERR_AR trigger Synchronous External Abort. >> SIGBUS_MCEERR_AO trigger GPIO IRQ. >> >> For the SIGBUS_MCEERR_AO and SIGBUS_MCEERR_AR, we have a

Re: [PATCH v8 7/7] arm64: kvm: handle SError Interrupt by categorization

2017-12-15 Thread gengdongjiu
[...] > >> + case ESR_ELx_AET_UER: /* The error has not been propagated */ >> + /* >> + * Userspace only handle the guest SError Interrupt(SEI) if the >> + * error has not been propagated >> + */ >> + run->exit_reason = KVM_EXIT_E

Re: [Question ]: Avoid kernel panic when killing an application if happen RAS page table error

2017-12-15 Thread gengdongjiu
On 2017/12/16 3:35, Matthew Wilcox wrote: >> It's going to be complicated to do, I don't think its worth the effort. > We can find a bit in struct page that we guarantee will only be set if > this is allocated as a pagetable. Bit 1 of the third union is currently > available (compound_head is a po

Re: [RESEND PATCH] arm64: v8.4: Support for new floating point multiplication variant

2017-12-11 Thread gengdongjiu
On 2017/12/11 21:29, Dave Martin wrote: >> Thanks for the point out. >> In fact, this feature only adds two instructions: >> FP16 * FP16 + FP32 >> FP16 * FP16 - FP32 >> >> The spec call this bit to ID_AA64ISAR0_EL1.FHM, I do not know why it >> will call "FHM", I think call it "FMLXL" may be bette

Re: [RESEND PATCH] arm64: v8.4: Support for new floating point multiplication variant

2017-12-11 Thread gengdongjiu
On 2017/12/12 2:58, Suzuki K Poulose wrote: > Hi gengdongjiu > > Sorry for the late response. I have a similar patch to add the support for > "FHM", which I was about to post it this week. Suzuki, you are welcome. May be you can not post again to avoid the duplicate revie

Re: [RESEND PATCH V2] arm64: fault: avoid send SIGBUS two times

2017-12-11 Thread gengdongjiu
On 2017/12/12 11:31, Xie XiuQi wrote: >> +return 0; > It looks good to me. do_sea() has done all necessary action for SEA, so it > should always return 0, > no matter ghes_notify_sea() return true or false. yes, it is. > > Reviewed-by: Xie XiuQi Thanks XiuQi's review and comments. > >>

Re: [PATCH v2] arm64: v8.4: Support for new floating point multiplication instructions

2017-12-12 Thread gengdongjiu
On 2017/12/12 22:53, Dave Martin wrote: >> +HWCAP_FHM > This needs to match the name of the #define in hwcap.h. Thanks for the comments, have changed it. > > With that change, Reviewed-by: Dave Martin Dave, appreciate for the review > > Cheers > ---Dave > >

Re: [RESEND PATCH V2] arm64: fault: avoid send SIGBUS two times

2017-12-12 Thread gengdongjiu
> Reviewed-by: James Morse > > > Nit: Your 'RESEND V2' and 'V2' are not the same patch. > 'RESEND' is to indicate you're reposting exactly the same patch, usually with > a > fixed CC list. Anyone who receives both can ignore one as you've said they are > the same. James, Thanks for the remin

Re: [PATCH v3] arm64: v8.4: Support for new floating point multiplication instructions

2017-12-13 Thread gengdongjiu
On 2017/12/13 18:09, Suzuki K Poulose wrote: >> Reviewed-by: Dave Martin > > Looks good to me. > > Reviewed-by: Suzuki K Poulose Thanks a lot to Suzuki's review.

Re: [PATCH] acpi: apei: fix the wrongly parse generic error status block

2017-08-10 Thread gengdongjiu
Hello, sorry, I do not see that. Just know I have reviewed your modification, may be my change can be simpleness and reserve the macro of apei_estatus_for_each_section can be used by other place to avoid duplicated code, such as prints the estatus blocks. On 2017/8/11 1:48, Baicar, Tyler wr

Re: [PATCH] acpi: apei: fix the wrongly parse generic error status block

2017-08-10 Thread gengdongjiu
may be directly remove the macro apei_estatus_for_each_section is not better, if other place code also needs to iterate through the GHES estatus blocks, it will be repeated written again. On 2017/8/11 5:31, gengdongjiu wrote: > Hello, > >sorry, I do not see that. Just know I have

Re: [PATCH] acpi: apei: fix GHES estatus iteration

2017-08-10 Thread gengdongjiu
On 2017/8/9 8:52, Rafael J. Wysocki wrote: > On Tuesday, August 8, 2017 6:32:20 PM CEST Will Deacon wrote: >> On Thu, Aug 03, 2017 at 03:32:25PM -0600, Tyler Baicar wrote: >>> Currently iterating through the GHES estatus blocks does not >>> take into account the new generic data v3 structure size

Re: [PATCH] arm64: KVM: Skip PSTATE.PAN reest at EL2 in non-VHE

2017-09-12 Thread gengdongjiu
> On Mon, Sep 11 2017 at 7:16:52 pm BST, Dongjiu Geng > wrote: > > PSTATE.PAN disables reading and/or writing to a userspace virtual > > address from EL1 in non-VHE or from EL2 in VHE. In non-VHE, there is > > no any userspace mapping at EL2, so no need to reest the PSTATE.PAN. > > > > Signed

Re: [PATCH] arm64: KVM: Skip PSTATE.PAN reest at EL2 in non-VHE

2017-09-12 Thread gengdongjiu
> [...] > > >> Nit: > >> In general it is not polite to keep posting patches in a middle of > >> the merge window - people are busy with more important stuff... > > I do not know when you are busy and in merge window > > But maybe it is about time you find out how we work if you intend to be a >

Re: [PATCH v6 6/7] KVM: arm64: allow get exception information from userspace

2017-09-13 Thread gengdongjiu
Hi James, On 2017/9/8 0:30, James Morse wrote: > Hi Dongjiu Geng, > > On 28/08/17 11:38, Dongjiu Geng wrote: >> when userspace gets SIGBUS signal, it does not know whether >> this is a synchronous external abort or SError, > > Why would Qemu/kvmtool need to know if the original notification (if

Re: [PATCH v11 6/6] target-arm: kvm64: Handle SError interrupt for the guest OS

2017-09-13 Thread gengdongjiu
On 2017/9/12 0:39, Peter Maydell wrote: +return kvm_vcpu_ioctl(CPU(cpu), KVM_ARM_SEI, &syndrome); >>> This looks odd. If we don't have the RAS extension why do we need to do >>> anything at all here ? >> This is because Qemu may need to support non-RAS extension as discussed with >> A

Re: [PATCH v6 5/7] arm64: kvm: route synchronous external abort exceptions to el2

2017-09-13 Thread gengdongjiu
On 2017/9/8 0:31, James Morse wrote: > Hi Dongjiu Geng, > > On 28/08/17 11:38, Dongjiu Geng wrote: >> ARMv8.2 adds a new bit HCR_EL2.TEA which controls to >> route synchronous external aborts to EL2, and adds a >> trap control bit HCR_EL2.TERR which controls to >> trap all Non-secure EL1&0 error

Re: [PATCH v11 6/6] target-arm: kvm64: Handle SError interrupt for the guest OS

2017-09-13 Thread gengdongjiu
On 2017/9/13 18:52, Peter Maydell wrote: > This question seems to be not really related to the review > comment that it is responding to. > > (1) If the host does not support notifying us about > errors, then there is clearly nothing to do in this > code, because we will never get a notification

Re: [PATCH v6 5/7] arm64: kvm: route synchronous external abort exceptions to el2

2017-09-14 Thread gengdongjiu
James, On 2017/9/8 0:31, James Morse wrote: > KVM already handles external aborts from lower exception levels, no more work > needs doing for TEA. If it is firmware first solution, that is SCR_EL3.EA=1, all SError interrupt and synchronous External Abort exceptions are taken to EL3, so EL3 firmwa

Re: [PATCH v6 3/7] acpi: apei: remove the unused code

2017-09-14 Thread gengdongjiu
On 2017/9/14 20:35, James Morse wrote: >> James, whether it is possible you can review the previous v5 patch which >> adds the support for > Spreading 'current discussion' over two versions is a problem for anyone > trying > to follow this series. > > If you post a newer version its normal for

Re: [PATCH v4] acpi: apei: fix the wrong iteration of generic error status block

2017-08-28 Thread gengdongjiu
On 2017/8/29 4:57, Rafael J. Wysocki wrote: > Well, I think I did that. :-) > > Anyway, applied. Thanks very much to Rafael and Borislav

Re: [Qemu-devel] [PATCH v11 2/6] ACPI: Add APEI GHES Table Generation support

2017-08-29 Thread gengdongjiu
Igor, Thank you very much for your review and comments, I will check your comments in detail and reply to you. On 2017/8/29 18:20, Igor Mammedov wrote: > On Fri, 18 Aug 2017 22:23:43 +0800 > Dongjiu Geng wrote: > >> This implements APEI GHES Table by passing the error CPER info >> to the gue

Re: [PATCH v5 0/7] Add RAS virtualization support to SEA/SEI notification type

2017-08-22 Thread gengdongjiu
Jonathan, Thanks for the review, will correct the typo issue in the next patch version. On 2017/8/22 15:54, Jonathan Cameron wrote: > On Fri, 18 Aug 2017 22:11:50 +0800 > Dongjiu Geng wrote: > >> In the firmware-first RAS solution, corrupt data is detected in a >> memory location when guest

Re: [PATCH v11 1/6] ACPI: add APEI/HEST/CPER structures and macros

2017-08-25 Thread gengdongjiu
Shannon, Thanks for the review. please see my reply. On 2017/8/24 20:33, Shannon Zhao wrote: > > > On 2017/8/18 22:23, Dongjiu Geng wrote: >> (1) Add related APEI/HEST table structures and macros, these >> definition refer to ACPI 6.1 and UEFI 2.6 spec. >> (2) Add generic error status bl

Re: [PATCH v11 3/6] ACPI: build and enable APEI GHES in the Makefile and configuration

2017-08-25 Thread gengdongjiu
On 2017/8/24 21:04, Shannon Zhao wrote: > > > On 2017/8/18 22:23, Dongjiu Geng wrote: >> Add CONFIG_ACPI_APEI configuration in the Makefile and >> enable it in the arm-softmmu.mak >> >> Signed-off-by: Dongjiu Geng >> --- >> default-configs/arm-softmmu.mak | 1 + >> hw/acpi/Makefile.objs

Re: [PATCH v11 2/6] ACPI: Add APEI GHES Table Generation support

2017-08-25 Thread gengdongjiu
Hi Shannon, On 2017/8/24 21:03, Shannon Zhao wrote: > > > On 2017/8/18 22:23, Dongjiu Geng wrote: >> This implements APEI GHES Table by passing the error CPER info >> to the guest via a fw_cfg_blob. After a CPER info is recorded, an >> SEA(Synchronous External Abort)/SEI(SError Interrupt) except

Re: [PATCH v11 1/6] ACPI: add APEI/HEST/CPER structures and macros

2017-08-25 Thread gengdongjiu
On 2017/8/26 9:00, Shannon Zhao wrote: > > > On 2017/8/25 18:37, gengdongjiu wrote: >>>> + >>>>>> +/* From the ACPI 6.1 spec, "18.3.2.9 Hardware Error Notification" */ >>>>>> + >>>> It's better to refer to t

Re: [PATCH v11 2/6] ACPI: Add APEI GHES Table Generation support

2017-08-25 Thread gengdongjiu
Hi Shannon, On 2017/8/26 9:08, Shannon Zhao wrote: > > > On 2017/8/25 19:20, gengdongjiu wrote: >>>> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c >>>>>> index 3d78ff6..def1ec1 100644 >>>>>> --- a/hw/arm/virt-acpi-buil

Re: [PATCH v6 6/7] KVM: arm64: allow get exception information from userspace

2017-09-18 Thread gengdongjiu
James, Thanks for your comments, hope we can make the solution better. On 2017/9/14 21:00, James Morse wrote: > Hi gengdongjiu, > > (re-ordered hunks) > > On 13/09/17 08:32, gengdongjiu wrote: >> On 2017/9/8 0:30, James Morse wrote: >>> On 28/08/17 11:3

Re: [PATCH] arm64: KVM: VHE: reset PSTATE.UAO when switch to host

2017-09-08 Thread gengdongjiu
On 2017/9/7 23:23, Marc Zyngier wrote: > On 07/09/17 16:03, gengdongjiu wrote: >>> On 07/09/17 12:49, gengdongjiu wrote: >>>> [...] > > I really cannot think of a good reason why we'd want to do that. Playing > with set_fs() is almost universally wrong,

Re: [PATCH] arm64: KVM: VHE: reset PSTATE.UAO when switch to host

2017-09-08 Thread gengdongjiu
Marc, Thanks for reply. On 2017/9/8 16:21, Marc Zyngier wrote: >> Marc, >> >> sorry I have another question for the PAN. >> >> In the non-VHE mode, The host kernel is running in the EL1. Before >> host kernel enter guest, host OS will call 'HVC' instruction to do >> the world-switch, and the ps

Re: [PATCH] arm64: KVM: VHE: reset PSTATE.UAO when switch to host

2017-09-08 Thread gengdongjiu
Hi Marc, > > On 08/09/17 10:05, gengdongjiu wrote: > > Marc, > >Thanks for reply. > > > > On 2017/9/8 16:21, Marc Zyngier wrote: > >>> Marc, > >>> > >>> sorry I have another question for the PAN. [...] > There cannot be

Re: [PATCH v11 4/6] target-arm: kvm64: detect guest RAS EXTENSION feature

2017-09-08 Thread gengdongjiu
Hi Peter, Sorry for my late response. > > On 18 August 2017 at 15:23, Dongjiu Geng wrote: > > check if kvm supports guest RAS EXTENSION. if so, set corresponding > > feature bit for vcpu. > > > > Signed-off-by: Dongjiu Geng > > --- > > linux-headers/linux/kvm.h | 1 + > > target/arm/cpu.h

Re: [PATCH v11 5/6] target-arm: kvm64: handle SIGBUS signal for synchronous External Abort

2017-09-08 Thread gengdongjiu
Hi peter, Sorry for the late response. > > On 18 August 2017 at 15:23, Dongjiu Geng wrote: > > Add SIGBUS signal handler. In this handler, it checks the exception > > type, translates the host VA which is delivered by host or KVM to > > guest PA, then fills this PA to CPER, finally injects a E

答复: [PATCH v11 5/6] target-arm: kvm64: handle SIGBUS signal for synchronous External Abort

2017-09-08 Thread gengdongjiu
[...] > > > > /* > > * xx > > */ > > void kvm_hwpoison_page_add(ram_addr_t ram_addr); > > It should be in the doc-comment format, which begins "/**" and has some > stylization of how you list parameters and so on. Lots of > examples in the existing headers. unde

Re: [PATCH] arm64: KVM: Skip PSTATE.PAN reest at EL2 in non-VHE

2017-09-11 Thread gengdongjiu
Hi Vladimir, On 2017/9/11 19:20, Vladimir Murzin wrote: > On 11/09/17 12:16, Dongjiu Geng wrote: >> PSTATE.PAN disables reading and/or writing to a userspace virtual >> address from EL1 in non-VHE or from EL2 in VHE. In non-VHE, there is >> no any userspace mapping at EL2, so no need to reest the

Re: [PATCH v6 3/7] acpi: apei: remove the unused code

2017-09-11 Thread gengdongjiu
James, Thanks for the review. On 2017/9/9 2:17, James Morse wrote: > Hi gengdongjiu, > > On 04/09/17 12:43, gengdongjiu wrote: >> On 2017/9/1 1:50, James Morse wrote: >>> On 28/08/17 11:38, Dongjiu Geng wrote: >>>> In current code logic,

Re: [PATCH v11 6/6] target-arm: kvm64: Handle SError interrupt for the guest OS

2017-09-11 Thread gengdongjiu
Hi peter, > > On 18 August 2017 at 15:23, Dongjiu Geng wrote: > > When guest OS happens SError interrupt(SEI), it will trap to host. > > Host firstly calls memory failure to deal with this error and decide > > whether it needs to deliver SIGBUS signal to userspace. The advantage > > that using s

Re: [Qemu-devel] [PATCH v11 2/6] ACPI: Add APEI GHES Table Generation support

2017-09-01 Thread gengdongjiu
Hi Igor, On 2017/8/29 18:20, Igor Mammedov wrote: > On Fri, 18 Aug 2017 22:23:43 +0800 > Dongjiu Geng wrote: > >> This implements APEI GHES Table by passing the error CPER info >> to the guest via a fw_cfg_blob. After a CPER info is recorded, an >> SEA(Synchronous External Abort)/SEI(SError Inte

Re: [PATCH v6 0/7] Add RAS virtualization support for SEA/SEI notification type in KVM

2017-09-04 Thread gengdongjiu
Hi James On 2017/9/1 1:43, James Morse wrote: > Hi Dongjiu Geng, > > On 28/08/17 11:38, Dongjiu Geng wrote: >> In the firmware-first RAS solution, corrupt data is detected in a >> memory location when guest OS application software executing at EL0 >> or guest OS kernel El1 software are reading fr

Re: [PATCH v6 1/7] arm64: cpufeature: Detect CPU RAS Extentions

2017-09-04 Thread gengdongjiu
James, On 2017/9/1 1:44, James Morse wrote: > Hi Dongjiu Geng, > > On 28/08/17 11:38, Dongjiu Geng wrote: >> From: Xie XiuQi >> >> ARM's v8.2 Extentions add support for Reliability, Availability and >> Serviceability (RAS). On CPUs with these extensions system software >> can use additional barr

Re: [PATCH v6 3/7] acpi: apei: remove the unused code

2017-09-04 Thread gengdongjiu
Hi James, On 2017/9/1 1:50, James Morse wrote: > Hi Dongjiu Geng, > > On 28/08/17 11:38, Dongjiu Geng wrote: >> In current code logic, the two functions ghes_sea_add() and >> ghes_sea_remove() are only called when CONFIG_ACPI_APEI_SEA >> is defined. If not, it will return errors in the ghes_probe

Re: [PATCH v6 4/7] arm64: kvm: support user space to query RAS extension feature

2017-09-05 Thread gengdongjiu
James, On 2017/9/1 2:04, James Morse wrote: > Hi Dongjiu Geng, > > On 28/08/17 11:38, Dongjiu Geng wrote: >> In ARMV8.2 RAS extension, a virtual SError exception syndrome >> register(VSESR_EL2) is added. This value may be specified from >> userspace. > > I agree that the CPU support for injecti

[PATCH] arm64: KVM: VHE: save and restore some PSTATE bits

2017-09-05 Thread gengdongjiu
when exit from guest, some host PSTATE bits may be lost, such as PSTATE.PAN or PSTATE.UAO. It is because host and hypervisor all run in the EL2, host PSTATE value cannot be saved and restored via SPSR_EL2. So if guest has changed the PSTATE, host continues with a wrong value guest has set. Signed-

Re: [PATCH] arm64: KVM: VHE: save and restore some PSTATE bits

2017-09-05 Thread gengdongjiu
CC Catalin On 2017/9/6 2:58, gengdongjiu wrote: > when exit from guest, some host PSTATE bits may be lost, such as > PSTATE.PAN or PSTATE.UAO. It is because host and hypervisor all run > in the EL2, host PSTATE value cannot be saved and restored via > SPSR_EL2. So if guest has change

Re: [PATCH v11 4/6] target-arm: kvm64: detect guest RAS EXTENSION feature

2017-09-06 Thread gengdongjiu
Hi Peter, Thanks very much for your review, I will check your comments in detail and reply. On 2017/9/6 1:26, Peter Maydell wrote: > On 18 August 2017 at 15:23, Dongjiu Geng wrote: >> check if kvm supports guest RAS EXTENSION. if so, set >> corresponding feature bit for vcpu. >> >> Signed-off

Re: [PATCH] arm64: KVM: VHE: save and restore some PSTATE bits

2017-09-06 Thread gengdongjiu
Hi Marc, On 2017/9/6 16:17, Marc Zyngier wrote: > On 05/09/17 19:58, gengdongjiu wrote: >> when exit from guest, some host PSTATE bits may be lost, such as >> PSTATE.PAN or PSTATE.UAO. It is because host and hypervisor all run >> in the EL2, host PSTATE value cannot be s

Re: [PATCH] arm64: KVM: VHE: save and restore some PSTATE bits

2017-09-06 Thread gengdongjiu
ate, __sysreg_restore_state_vhe, ARM64_HAS_VIRT_HOST_EXTN); void __hyp_text __sysreg_restore_host_state(struct kvm_cpu_context *ctxt) On 2017/9/6 17:32, gengdongjiu wrote: > Hi Marc, > > On 2017/9/6 16:17, Marc Zyngier wrote: >> On 05/09/17 19:58,

Re: [PATCH] arm64: KVM: VHE: save and restore some PSTATE bits

2017-09-06 Thread gengdongjiu
Vladimir, On 2017/9/6 17:41, Vladimir Murzin wrote: > Can you please elaborate on cases where PAN is not enabled? I mean the informal private usage, For example, he disabled the PAN dynamically to let kernel space to access the user space. After he dynamic disabled the PAN, then switched to gues

Re: [PATCH v6 0/7] Add RAS virtualization support for SEA/SEI notification type in KVM

2017-09-06 Thread gengdongjiu
Hi Peter, On 2017/9/6 19:19, Peter Maydell wrote: > On 28 August 2017 at 11:38, Dongjiu Geng wrote: >> In the firmware-first RAS solution, corrupt data is detected in a >> memory location when guest OS application software executing at EL0 >> or guest OS kernel El1 software are reading from the m

Re: [PATCH] arm64: KVM: VHE: save and restore some PSTATE bits

2017-09-06 Thread gengdongjiu
On 2017/9/6 20:00, Vladimir Murzin wrote: > On 06/09/17 11:35, gengdongjiu wrote: >> Vladimir, >> >> On 2017/9/6 17:41, Vladimir Murzin wrote: >>> Can you please elaborate on cases where PAN is not enabled? >> >> I mean the informal private usage, For ex

Re: [PATCH] arm64: KVM: VHE: save and restore some PSTATE bits

2017-09-06 Thread gengdongjiu
On 2017/9/6 20:00, Vladimir Murzin wrote: > On 06/09/17 11:35, gengdongjiu wrote: >> Vladimir, >> >> On 2017/9/6 17:41, Vladimir Murzin wrote: >>> Can you please elaborate on cases where PAN is not enabled? >> >> I mean the informal private usage, For ex

Re: [PATCH] arm64: KVM: VHE: save and restore some PSTATE bits

2017-09-06 Thread gengdongjiu
On 2017/9/6 20:30, Vladimir Murzin wrote: > On 06/09/17 13:14, gengdongjiu wrote: >> >> >> On 2017/9/6 20:00, Vladimir Murzin wrote: >>> On 06/09/17 11:35, gengdongjiu wrote: >>>> Vladimir, >>>> >>>> On 2017/9/6 17:41, Vladimir

Re: [PATCH] arm64: KVM: VHE: save and restore some PSTATE bits

2017-09-06 Thread gengdongjiu
Hi, Vladimir > >> Do you see effect of "PAN is unexpectedly enabled"? > > In fact I did not encounter this case, but I think it can exist. > > I think if host OS dynamically disable PAN, it wants the host kernel access > > the user space address space not through copy_to/from_user > API. > > Now

Re: [PATCH] arm64: KVM: VHE: reset PSTATE.UAO when switch to host

2017-09-07 Thread gengdongjiu
Hi James, On 2017/9/7 17:20, James Morse wrote: > Hi Dongjiu Geng, > > On 07/09/17 06:54, Dongjiu Geng wrote: >> In VHE mode, host kernel runs in the EL2 and can enable >> 'User Access Override' when fs==KERNEL_DS so that it can >> access kernel memory. However, PSTATE.UAO is set to 0 on >> an ex

Re: [PATCH] arm64: KVM: VHE: reset PSTATE.UAO when switch to host

2017-09-07 Thread gengdongjiu
On 2017/9/7 18:13, Marc Zyngier wrote: > On 07/09/17 11:05, gengdongjiu wrote: >> Hi James, >> >> On 2017/9/7 17:20, James Morse wrote: >>> Hi Dongjiu Geng, >>> >>> On 07/09/17 06:54, Dongjiu Geng wrote: >>>> In VHE mode, host kern

Re: [PATCH] arm64: KVM: VHE: reset PSTATE.UAO when switch to host

2017-09-07 Thread gengdongjiu
> On 07/09/17 12:49, gengdongjiu wrote: > > > > > > On 2017/9/7 18:13, Marc Zyngier wrote: > >> On 07/09/17 11:05, gengdongjiu wrote: > >>> Hi James, > >>> > >>> On 2017/9/7 17:20, James Morse wrote: > >>>> Hi Dongj

Re: [PATCH v5 4/7] support user space to query RAS extension feature

2017-08-21 Thread gengdongjiu
Christoffer, Thanks for the review. On 2017/8/22 5:08, Christoffer Dall wrote: > On Fri, Aug 18, 2017 at 10:11:54PM +0800, Dongjiu Geng wrote: > > You should put KVM and arm64 in the subject here. I will update it in the next version. > >> In armv8.2 RAS extension, it adds virtual SError ex

Re: [PATCH v3 3/3] arm/arm64: signal SIBGUS and inject SEA Error

2017-05-10 Thread gengdongjiu
Hi James, thanks a lot for your answer. On 2017/5/9 1:28, James Morse wrote: > Hi gengdongjiu, > > On 04/05/17 17:52, gengdongjiu wrote: >> 2017-05-04 23:42 GMT+08:00 gengdongjiu : >>> On 30/04/17 06:37, Dongjiu Geng wrote: >>>> diff --git a/arch/arm/kvm/m

Re: [PATCH v3 1/3] arm64: kvm: support kvmtool to detect RAS extension feature

2017-05-10 Thread gengdongjiu
Dear, James On 2017/5/9 1:31, James Morse wrote: > Hi gengdongjiu, > > On 04/05/17 18:20, gengdongjiu wrote: >>> On 30/04/17 06:37, Dongjiu Geng wrote: >>>> Handle kvmtool's detection for RAS extension, because sometimes >>>> the APP needs to kno

Re: [PATCH v3 3/3] arm/arm64: signal SIBGUS and inject SEA Error

2017-05-10 Thread gengdongjiu
Thanks James's explanation. Hi Christoffer, On 2017/5/9 22:28, James Morse wrote: > Hi Christoffer, > > On 08/05/17 18:54, Christoffer Dall wrote: >> On Mon, May 08, 2017 at 06:28:02PM +0100, James Morse wrote: >> I must admit I am losing track of exactly what this proposed API was >> supposed t

Re: [PATCH v3 3/3] arm/arm64: signal SIBGUS and inject SEA Error

2017-05-10 Thread gengdongjiu
Hi Christoffer, On 2017/5/10 20:20, Christoffer Dall wrote: > On Wed, May 10, 2017 at 05:15:04PM +0800, gengdongjiu wrote: >> Thanks James's explanation. >> >> Hi Christoffer, >> >> On 2017/5/9 22:28, James Morse wrote: >>> Hi Christoffer, &g

Re: [Qemu-devel] [PATCH v3 1/4] ACPI: Add APEI GHES Table Generation support

2017-05-30 Thread gengdongjiu
lo Ersek wrote: > Hi, > > did you remove me from the To: / Cc: list intentionally, or was that an > oversight? I caught your message in my list folders only by luck. > > Some followup below: > > On 05/29/17 17:27, gengdongjiu wrote: > >>> (46) What is "physic

Re: [PATCH v3 3/3] arm/arm64: signal SIBGUS and inject SEA Error

2017-05-21 Thread gengdongjiu
Hi James, sorry for the late response due to recently verify and debug the RAS solution. 2017-05-13 1:24 GMT+08:00, James Morse : > Hi gengdongjiu, > > On 05/05/17 13:31, gengdongjiu wrote: >> when guest OS happen an SEA, My current solution is shown below: >> >> (1

Re: [PATCH v3 3/3] arm/arm64: signal SIBGUS and inject SEA Error

2017-05-21 Thread gengdongjiu
2017-05-13 1:25 GMT+08:00, James Morse : > Hi gengdongjiu, > > On 10/05/17 09:44, gengdongjiu wrote: >> On 2017/5/9 1:28, James Morse wrote: >>>>> (hwpoison for KVM is a corner case as Qemu's memory effectively has two >>>>> users, >>>>

Re: [PATCH v3 3/3] arm/arm64: signal SIBGUS and inject SEA Error

2017-05-04 Thread gengdongjiu
Dear James, Thanks a lot for your review and comments. I am very sorry for the late response. 2017-05-04 23:42 GMT+08:00 gengdongjiu : > Hi Dongjiu Geng, > > On 30/04/17 06:37, Dongjiu Geng wrote: >> when happen SEA, deliver signal bus and handle the ioctl that >> inje

Re: [PATCH v3 1/3] arm64: kvm: support kvmtool to detect RAS extension feature

2017-05-04 Thread gengdongjiu
Dear James, > > Hi Dongjiu Geng, > > On 30/04/17 06:37, Dongjiu Geng wrote: >> Handle kvmtool's detection for RAS extension, because sometimes >> the APP needs to know the CPU's capacity > >> diff --git a/arch/arm64/kvm/reset.c b/arch/arm64/kvm/reset.c >> index d9e9697..1004039 100644 >> --- a/ar

Re: [PATCH v3 3/3] arm/arm64: signal SIBGUS and inject SEA Error

2017-05-05 Thread gengdongjiu
HI James, 2017-05-05 0:52 GMT+08:00 gengdongjiu : > Dear James, >Thanks a lot for your review and comments. I am very sorry for the > late response. > > > 2017-05-04 23:42 GMT+08:00 gengdongjiu : >> Hi Dongjiu Geng, >> >> On 30/04/17 06:37, Dongjiu Geng

Re: [PATCH v3 2/3] arm64: kvm: inject SError with virtual syndrome

2017-05-02 Thread gengdongjiu
Hello Christoffer. On 2017/5/2 16:03, Christoffer Dall wrote: > On Sun, Apr 30, 2017 at 01:37:56PM +0800, Dongjiu Geng wrote: >> when SError happen, kvm notifies kvmtool to generate GHES table >> to record the error, then kvmtools inject the SError with specified > > again, is this really specif

Re: [PATCH v3 1/3] arm64: kvm: support kvmtool to detect RAS extension feature

2017-05-02 Thread gengdongjiu
Hi Christoffer, thanks for your review and comments. On 2017/5/2 15:56, Christoffer Dall wrote: > Hi Dongjiu, > > Please send a cover letter for patch series with more than a single > patch. OK, got it. > > The subject and description of these patches are also misleading. > Hopefully this i

Re: [PATCH v2] acpi: apei: Add SEI notification type support for ARMv8

2017-09-26 Thread gengdongjiu
Hi Tyler, Thank you very much for your test and comments. On 2017/9/27 3:23, Tyler Baicar wrote: >> should identify the address to a invalid value. >> >> Signed-off-by: Dongjiu Geng > Tested-by: Tyler Baicar > > Tested this functionality using SEA support. Thanks for your test. > > ++Ste

Re: [PATCH v6 6/7] KVM: arm64: allow get exception information from userspace

2017-09-27 Thread gengdongjiu
Hi James, Sorry for my late response, thank you very much for comments. On 2017/9/23 0:51, James Morse wrote: [.] >> >> CC Achin >> >> I have some personal opinion, if you think it is not right, hope you can >> point out. >> >> Synchronous External Abort and SError Interrupt are hardware

Re: [PATCH v2] acpi: apei: Add SEI notification type support for ARMv8

2017-09-27 Thread gengdongjiu
Tyler, Stephen On 2017/9/27 3:23, Tyler Baicar wrote: >> Signed-off-by: Dongjiu Geng > Tested-by: Tyler Baicar > > Tested this functionality using SEA support. > > ++Stephen, > > Something to be aware of, this patch will conflict with > https://lkml.org/lkml/2017/9/14/663 > It may make sense

Re: [PATCH v6 6/7] KVM: arm64: allow get exception information from userspace

2017-09-27 Thread gengdongjiu
>> What you may be seeing is some awkwardness with the change in the SError ESR >> with v8.2. Previously the VSE mechanism injected an impdef SError, (but they >> were all impdef so it didn't matter). >> With VSESR_EL2 KVM has to specify one, and all-zeros is a bad choice as this >> means 'classifi

Re: [PATCH v2] acpi: apei: Add SEI notification type support for ARMv8

2017-09-28 Thread gengdongjiu
Hi Stephen, Tyler On 2017/9/27 23:52, Stephen Boyd wrote: Something to be aware of, this patch will conflict with https://lkml.org/lkml/2017/9/14/663 It may make sense to just remove the conditions for the NMI configs as part of this patch or in a series with this patch to av

Re: [PATCH v6 6/7] KVM: arm64: allow get exception information from userspace

2017-09-21 Thread gengdongjiu
Hi James On 2017/9/14 21:00, James Morse wrote: > Hi gengdongjiu, > user-space can choose whether to use SEA or SEI, it doesn't have to choose the > same notification type that firmware used, which in turn doesn't have to be > the > same as that used by the CPU to

Re: [PATCH v3 1/2] acpi: apei: remove the unused dead-code for SEA notification type

2017-10-12 Thread gengdongjiu
Hi James/Rafael/Borislav, what is your comments about these two patches? Seems they are pending long time, I will appreciate that if you can give some review comments. Thanks very much, Tyler has tested the second patch. [PATCH v3 1/2] acpi: apei: remove the unused dead-code for SEA notification

Re: [PATCH] arm64: KVM: set right LR register value for 32 bit guest when inject abort

2017-10-13 Thread gengdongjiu
Hi Marc, Thank you very much for your time to review it. > On 12/10/17 17:44, Dongjiu Geng wrote: > > When a exception is trapped to EL2, hardware uses ELR_ELx to hold the > > current fault instruction address. If KVM wants to inject a abort to > > 32 bit guest, it needs to set the LR registe

Re: [PATCH] acpi: ghes: fix the OSPM acknowledges error flow

2017-08-04 Thread gengdongjiu
Hi, please ignore this fix, original logic is right. the Read ACK register directly contain the ACK value, not the ACK address. On 2017/8/3 23:42, Dongjiu Geng wrote: > In GHESv2, The read_ack_register is used to specify the > location of the read ack register, it is only the physical > addre

Re: [PATCH] KVM: arm64: add esr_el2 and far_el2 to sysreg

2017-08-07 Thread gengdongjiu
Hi Marc, As James's suggestion, I move injection SEA Error logic to the user space(Qemu), Qemu sets the related guest OS esr/elr/pstate/spsr through IOCTL KVM_SET_ONE_REG. For the SEA, when Qemu sets the esr_el1.IL bit, it needs to refer to esr_el2.IL, else Qemu does not know the trapped instru

Re: [PATCH] KVM: arm64: add esr_el2 and far_el2 to sysreg

2017-08-07 Thread gengdongjiu
ames Morse wrote: > Hi gengdongjiu, > > On 07/08/17 17:23, gengdongjiu wrote: >> As James's suggestion, I move injection SEA Error logic to the user >> space(Qemu), Qemu sets the related guest OS esr/elr/pstate/spsr > > (because for firmware-first its the CPER record

<    1   2   3   >