Re: [Xen-devel] [PATCH v3 4/8] x86/vm_event/monitor/cr: check for vm-event subscriber on domctl

2016-07-07 Thread Corneliu ZUZU
On 7/6/2016 6:52 PM, Corneliu ZUZU wrote: Enforce presence of a monitor vm-event subscriber when the toolstack user calls xc_monitor_write_ctrlreg (XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG domctl). Without this change, ASSERT(v->arch.vm_event) @ hvm_set_cr0 and such would fail if the toolst

Re: [Xen-devel] [PATCH v3 4/8] x86/vm_event/monitor/cr: check for vm-event subscriber on domctl

2016-07-07 Thread Corneliu ZUZU
On 7/7/2016 10:30 AM, Jan Beulich wrote: On 06.07.16 at 18:15, wrote: On 7/6/2016 7:01 PM, Jan Beulich wrote: On 06.07.16 at 17:52, wrote: Also adjust returned error code for similar check from -EINVAL to more descriptive -ENOSYS

Re: [Xen-devel] [PATCH v3 4/8] x86/vm_event/monitor/cr: check for vm-event subscriber on domctl

2016-07-06 Thread Corneliu ZUZU
On 7/6/2016 7:15 PM, Corneliu ZUZU wrote: On 7/6/2016 7:01 PM, Jan Beulich wrote: On 06.07.16 at 17:52, <cz...@bitdefender.com> wrote: Also adjust returned error code for similar check from -EINVAL to more descriptive -ENOSYS (XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP). I'm not sure that'

Re: [Xen-devel] [PATCH v3 4/8] x86/vm_event/monitor/cr: check for vm-event subscriber on domctl

2016-07-06 Thread Corneliu ZUZU
On 7/6/2016 7:01 PM, Jan Beulich wrote: On 06.07.16 at 17:52, wrote: Also adjust returned error code for similar check from -EINVAL to more descriptive -ENOSYS (XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP). I'm not sure that's more descriptive, and we really try to not use

[Xen-devel] [PATCH v3 8/8] minor #include change

2016-07-06 Thread Corneliu ZUZU
Move xen/paging.h #include from hvm/monitor.h to hvm/monitor.c (include strictly where needed) and also change to asm/paging.h (include strictly what's needed). Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> Acked-by: Tamas K Lengyel <ta...@tklengyel.com> Acked-by: Razvan Cojo

[Xen-devel] [PATCH v3 7/8] minor fixes (formatting, comments, unused includes etc.)

2016-07-06 Thread Corneliu ZUZU
Minor fixes: - remove some empty lines - remove some unused includes - multi-line comment fixes - 80-columns formatting fixes Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> Acked-by: Razvan Cojocaru <rcojoc...@bitdefender.com> Acked-by: Julien Grall <julien.gr...@arm.c

[Xen-devel] [PATCH v3 6/8] x86/vm-event: minor ASSERT fix, add 'unlikely'

2016-07-06 Thread Corneliu ZUZU
Minor fixes: * vm_event_register_write_resume: ASSERT on non-NULL v->arch.vm_event instead of >arch.vm_event->write_data. * add 'unlikely' in if Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- Changed since v2: --- xen/arch/x86/hvm/hvm.c | 2 +- xen/arch/x86

[Xen-devel] [PATCH v3 5/8] x86/vm_event_resume: surround VM_EVENT_REASON_MOV_TO_MSR w/ CONFIG_X86

2016-07-06 Thread Corneliu ZUZU
VM_EVENT_REASON_MOV_TO_MSR is X86-specific, surround w/ #ifdef accordingly. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> Acked-by: Razvan Cojocaru <rcojoc...@bitdefender.com> --- Changed since v2: --- xen/common/vm_event.c | 2 ++ 1 file changed, 2 insertions(+) diff --git

[Xen-devel] [PATCH v3 4/8] x86/vm_event/monitor/cr: check for vm-event subscriber on domctl

2016-07-06 Thread Corneliu ZUZU
) w/ enable = true, without first calling xc_monitor_enable(). Also adjust returned error code for similar check from -EINVAL to more descriptive -ENOSYS (XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP). Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/monitor.c| 7 +++

[Xen-devel] [PATCH v3 3/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-06 Thread Corneliu ZUZU
ent and arch_vm_event.emul_read_data are non-NULL. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- Changed since v2: * introduce vm_event_{vcpu,domain}_initialised inline functions for clarity * xfree arch_vm_event in vm_event_cleanup_domain as before if there are no uncommitt

[Xen-devel] [PATCH v3 2/8] x86/vm-event/monitor: relocate code-motion more appropriately

2016-07-06 Thread Corneliu ZUZU
) into newly added function vmx_vm_event_update_cr3_traps(d); also, for a better interface, create generic functions write_ctrlreg_adjust_traps and write_ctrlreg_disable_traps (in x86/monitor.c) which deal with setting/unsetting any traps for cr-write monitor vm-events. Signed-off-by: Corneliu ZUZU

[Xen-devel] [PATCH v3 1/8] x86/vmx_update_guest_cr: minor optimization

2016-07-06 Thread Corneliu ZUZU
Minor optimization @ vmx_update_guest_cr: checks if v->arch.hvm_vmx.exec_control was modified before actually calling vmx_update_cpu_exec_control(v). Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- Changed since v2: --- xen/arch/x86/hvm/vmx/vmx.c | 5 - 1 file changed, 4 i

[Xen-devel] [PATCH v3 0/8] x86/vm-event: Adjustments & fixes

2016-07-06 Thread Corneliu ZUZU
This patch-series makes some adjustments and fixes to the X86 vm-events code. Summary: Corneliu ZUZU (8): 1. x86/vmx_update_guest_cr: minor optimization 2. x86/vm-event/monitor: relocate code-motion more appropriately 3. x86/vm-event/monitor: don't compromise monitor_write_data on domain

Re: [Xen-devel] [PATCH v2 3/7] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-06 Thread Corneliu ZUZU
On 7/5/2016 8:16 PM, Razvan Cojocaru wrote: On 07/05/16 17:28, Corneliu ZUZU wrote: The arch_vm_event structure is dynamically allocated and freed @ vm_event_cleanup_domain. This cleanup is triggered e.g. when the toolstack user disables domain monitoring (xc_monitor_disable), which in turn

[Xen-devel] [PATCH v2 7/7] minor #include change

2016-07-05 Thread Corneliu ZUZU
Move xen/paging.h #include from hvm/monitor.h to hvm/monitor.c (include strictly where needed) and also change to asm/paging.h (include strictly what's needed). Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- Changed since v1: * preserve alphabetical ordering --- xen/arch/x

[Xen-devel] [PATCH v2 6/7] minor fixes (formatting, comments, unused includes etc.)

2016-07-05 Thread Corneliu ZUZU
Minor fixes: - remove some empty lines - remove some unused includes - multi-line comment fixes - 80-columns formatting fixes Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- Changed since v1: --- xen/arch/arm/domain.c | 1 - xen/arch/arm/traps.c

[Xen-devel] [PATCH v2 5/7] x86/vm-event: minor ASSERT fix, add 'unlikely'

2016-07-05 Thread Corneliu ZUZU
Minor fixes: * vm_event_register_write_resume: ASSERT on non-NULL v->arch.vm_event instead of >arch.vm_event->write_data. * add 'unlikely' in if Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/hvm/hvm.c | 2 +- xen/arch/x86/vm_event.c | 6 -- 2 f

[Xen-devel] [PATCH v2 4/7] x86/vm_event_resume: surround VM_EVENT_REASON_MOV_TO_MSR w/ CONFIG_X86

2016-07-05 Thread Corneliu ZUZU
VM_EVENT_REASON_MOV_TO_MSR is X86-specific, surround w/ #ifdef accordingly. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> Acked-by: Razvan Cojocaru <rcojoc...@bitdefender.com> --- Changed since v1: --- xen/common/vm_event.c | 2 ++ 1 file changed, 2 insertions(+) diff --git

[Xen-devel] [PATCH v2 3/7] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-05 Thread Corneliu ZUZU
fix the issue, this patch makes arch_vm_event.emul_read_data dynamically allocated and only frees that in vm_event_cleanup_domain, instead of the whole arch_vcpu.vm_event structure, which with this patch will only be freed on vcpu/domain destroyal. Signed-off-by: Corneliu ZUZU <cz...@bitdefend

[Xen-devel] [PATCH v2 2/7] x86/vm-event/monitor: relocate code-motion more appropriately

2016-07-05 Thread Corneliu ZUZU
) into newly added function vmx_vm_event_update_cr3_traps(d); also, for a better interface, create generic function write_ctrlreg_adjust_traps (in x86/monitor.c) which deals with setting up any traps for cr-write monitor vm-events. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com>

[Xen-devel] [PATCH v2 1/7] x86/vmx_update_guest_cr: minor optimization

2016-07-05 Thread Corneliu ZUZU
Minor optimization @ vmx_update_guest_cr: checks if v->arch.hvm_vmx.exec_control was modified before actually calling vmx_update_cpu_exec_control(v). Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- Changed since v1: --- xen/arch/x86/hvm/vmx/vmx.c | 5 - 1 file changed, 4 i

[Xen-devel] [PATCH v2 0/7] x86/vm-event: Adjustments & fixes

2016-07-05 Thread Corneliu ZUZU
1 series (restored monitor_write_data.do_write) 2/7: separated vmx-specific code motion in vmx_vm_event_update_cr3_traps 3/7: arch_vcpu.vm_event made pointer again to avoid eating memory from arch_vcpu structure Corneliu ZUZU (7): x86/vmx_update_guest_cr: minor optimization x86/vm-event

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 7:16 PM, Jan Beulich wrote: On 04.07.16 at 18:09, wrote: Now that I think about it, that's feasible too. So then, make arch_vm_event be dynamically allocated as it was, but slightly change its definition to: struct arch_vm_event { uint32_t

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 6:57 PM, Jan Beulich wrote: On 04.07.16 at 17:21, wrote: On 7/4/2016 6:07 PM, Jan Beulich wrote: On 04.07.16 at 16:21, wrote: On 07/04/16 17:17, Jan Beulich wrote: On 04.07.16 at 15:50, wrote: On

Re: [Xen-devel] [PATCH 3/8] x86/vm-event/monitor: relocate code-motion more appropriately

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 5:58 PM, Jan Beulich wrote: On 04.07.16 at 13:02, wrote: On 7/4/2016 1:22 PM, Jan Beulich wrote: On 30.06.16 at 20:43, wrote: @@ -119,6 +156,55 @@ bool_t monitored_msr(const struct domain *d, u32 msr) return test_bit(msr,

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 6:09 PM, Jan Beulich wrote: On 04.07.16 at 16:31, wrote: Hmm, I meant "<= 80" the first time too, I was under the impression that that's what CODING_STYLE asks for too, but, quoting: 'Lines should be less than 80 characters in length.' Why not <= 80?

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 6:07 PM, Jan Beulich wrote: On 04.07.16 at 16:21, wrote: On 07/04/16 17:17, Jan Beulich wrote: On 04.07.16 at 15:50, wrote: On 07/04/16 16:11, Jan Beulich wrote: On 04.07.16 at 15:03, wrote: On

Re: [Xen-devel] [PATCH 4/8] x86/vm-event/monitor: turn monitor_write_data.do_write into enum

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 6:03 PM, Jan Beulich wrote: On 04.07.16 at 16:24, wrote: On 7/4/2016 5:08 PM, Jan Beulich wrote: On 04.07.16 at 15:21, wrote: On 7/4/2016 4:07 PM, Jan Beulich wrote: On 04.07.16 at 14:47, wrote: On 7/4/2016

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 5:17 PM, Jan Beulich wrote: On 04.07.16 at 15:50, wrote: On 07/04/16 16:11, Jan Beulich wrote: On 04.07.16 at 15:03, wrote: On 7/4/2016 3:47 PM, Jan Beulich wrote: On 30.06.16 at 20:45, wrote: The

Re: [Xen-devel] [PATCH 3/8] x86/vm-event/monitor: relocate code-motion more appropriately

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 5:16 PM, Razvan Cojocaru wrote: On 07/04/16 17:05, Jan Beulich wrote: On 04.07.16 at 15:22, wrote: On 07/04/16 13:22, Jan Beulich wrote: On 30.06.16 at 20:43, wrote: @@ -119,6 +156,55 @@ bool_t monitored_msr(const struct domain

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 5:13 PM, Jan Beulich wrote: On 04.07.16 at 15:28, wrote: On 7/4/2016 4:11 PM, Jan Beulich wrote: On 04.07.16 at 15:03, wrote: On 7/4/2016 3:47 PM, Jan Beulich wrote: On 30.06.16 at 20:45, wrote: The

Re: [Xen-devel] [PATCH 4/8] x86/vm-event/monitor: turn monitor_write_data.do_write into enum

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 5:08 PM, Jan Beulich wrote: On 04.07.16 at 15:21, wrote: On 7/4/2016 4:07 PM, Jan Beulich wrote: On 04.07.16 at 14:47, wrote: On 7/4/2016 3:37 PM, Jan Beulich wrote: On 30.06.16 at 20:44, wrote: After

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 4:50 PM, Razvan Cojocaru wrote: On 07/04/16 16:11, Jan Beulich wrote: On 04.07.16 at 15:03, wrote: On 7/4/2016 3:47 PM, Jan Beulich wrote: On 30.06.16 at 20:45, wrote: The arch_vm_event structure is dynamically allocated and freed @

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 4:11 PM, Jan Beulich wrote: On 04.07.16 at 15:03, wrote: On 7/4/2016 3:47 PM, Jan Beulich wrote: On 30.06.16 at 20:45, wrote: The arch_vm_event structure is dynamically allocated and freed @ vm_event_cleanup_domain. This cleanup is

Re: [Xen-devel] [PATCH 4/8] x86/vm-event/monitor: turn monitor_write_data.do_write into enum

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 4:07 PM, Jan Beulich wrote: On 04.07.16 at 14:47, wrote: On 7/4/2016 3:37 PM, Jan Beulich wrote: On 30.06.16 at 20:44, wrote: After trapping a control-register write vm-event and -until- deciding if that write is to be permitted or

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 3:47 PM, Jan Beulich wrote: On 30.06.16 at 20:45, wrote: The arch_vm_event structure is dynamically allocated and freed @ vm_event_cleanup_domain. This cleanup is triggered e.g. when the toolstack user disables domain monitoring (xc_monitor_disable), which in

Re: [Xen-devel] [PATCH 4/8] x86/vm-event/monitor: turn monitor_write_data.do_write into enum

2016-07-04 Thread Corneliu ZUZU
On 7/4/2016 3:37 PM, Jan Beulich wrote: On 30.06.16 at 20:44, wrote: After trapping a control-register write vm-event and -until- deciding if that write is to be permitted or not (VM_EVENT_FLAG_DENY) and doing the actual write, there cannot and should not be another

Re: [Xen-devel] [PATCH 3/8] x86/vm-event/monitor: relocate code-motion more appropriately

2016-07-04 Thread Corneliu ZUZU
Hi Jan, On 7/4/2016 1:22 PM, Jan Beulich wrote: On 30.06.16 at 20:43, wrote: --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -475,8 +475,6 @@ void hvm_do_resume(struct vcpu *v) if ( unlikely(v->arch.vm_event) ) { -struct

[Xen-devel] [PATCH v2] vm-event: MAINTAINERS fix

2016-07-01 Thread Corneliu ZUZU
/monitor.c & asm-x86/hvm/monitor.h w/o MAINTAINERS update c/s ec89da2: "MAINTAINERS: update monitor/vm_event covered code": - (mistakenly?) removed both x86/monitor.c & x86/vm_event.c Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- Changed since v1: * sort entries al

Re: [Xen-devel] [PATCH] vm-event: MAINTAINERS fix

2016-07-01 Thread Corneliu ZUZU
On 7/1/2016 11:02 AM, Jan Beulich wrote: On 01.07.16 at 09:40, wrote: On 7/1/2016 10:27 AM, Jan Beulich wrote: On 01.07.16 at 09:15, wrote: Fix vm-event section of MAINTAINERS file. Would be nice to mention here which commit(s) caused these to

Re: [Xen-devel] [PATCH 8/8] minor #include change

2016-07-01 Thread Corneliu ZUZU
On 7/1/2016 10:31 AM, Jan Beulich wrote: On 01.07.16 at 09:02, <cz...@bitdefender.com> wrote: On 7/1/2016 9:56 AM, Razvan Cojocaru wrote: On 06/30/16 21:47, Corneliu ZUZU wrote: --- a/xen/arch/x86/hvm/monitor.c +++ b/xen/arch/x86/hvm/monitor.c @@ -26,6 +26,7 @@ #include #i

Re: [Xen-devel] [PATCH] vm-event: MAINTAINERS fix

2016-07-01 Thread Corneliu ZUZU
On 7/1/2016 10:27 AM, Jan Beulich wrote: On 01.07.16 at 09:15, wrote: Fix vm-event section of MAINTAINERS file. Would be nice to mention here which commit(s) caused these to go out of sync with the actual code. Why? --- a/MAINTAINERS +++ b/MAINTAINERS @@ -402,10

Re: [Xen-devel] [PATCH] vm-event: MAINTAINERS fix

2016-07-01 Thread Corneliu ZUZU
On 7/1/2016 10:15 AM, Corneliu ZUZU wrote: Fix vm-event section of MAINTAINERS file. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- MAINTAINERS | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index e91140f..7bff878

[Xen-devel] [PATCH] vm-event: MAINTAINERS fix

2016-07-01 Thread Corneliu ZUZU
Fix vm-event section of MAINTAINERS file. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- MAINTAINERS | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index e91140f..7bff878 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -

Re: [Xen-devel] [PATCH 8/8] minor #include change

2016-07-01 Thread Corneliu ZUZU
On 7/1/2016 9:56 AM, Razvan Cojocaru wrote: On 06/30/16 21:47, Corneliu ZUZU wrote: Move xen/paging.h #include from hvm/monitor.h to hvm/monitor.c (include strictly where needed) and also change to asm/paging.h (include strictly what's needed). Signed-off-by: Corneliu ZUZU <

Re: [Xen-devel] [PATCH 4/8] x86/vm-event/monitor: turn monitor_write_data.do_write into enum

2016-07-01 Thread Corneliu ZUZU
On 7/1/2016 9:53 AM, Razvan Cojocaru wrote: On 06/30/16 21:44, Corneliu ZUZU wrote: After trapping a control-register write vm-event and -until- deciding if that write is to be permitted or not (VM_EVENT_FLAG_DENY) and doing the actual write, there cannot and should not be another trapped

Re: [Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-07-01 Thread Corneliu ZUZU
On 7/1/2016 9:47 AM, Razvan Cojocaru wrote: On 06/30/16 21:45, Corneliu ZUZU wrote: The arch_vm_event structure is dynamically allocated and freed @ vm_event_cleanup_domain. This cleanup is triggered e.g. when the toolstack user disables domain monitoring (xc_monitor_disable), which in turn

[Xen-devel] [PATCH 8/8] minor #include change

2016-06-30 Thread Corneliu ZUZU
Move xen/paging.h #include from hvm/monitor.h to hvm/monitor.c (include strictly where needed) and also change to asm/paging.h (include strictly what's needed). Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/hvm/monitor.c| 1 + xen/include/asm-x86/hvm/monitor

[Xen-devel] [PATCH 7/8] minor fixes (formatting, comments, unused includes etc.)

2016-06-30 Thread Corneliu ZUZU
Minor fixes: - remove some empty lines - remove some unused includes - multi-line comment fixes - 80-columns formatting fixes Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/arm/domain.c | 1 - xen/arch/arm/traps.c | 1 - xen/arch/x86/hvm

[Xen-devel] [PATCH 6/8] x86/vm_event_resume: surround VM_EVENT_REASON_MOV_TO_MSR w/ CONFIG_X86

2016-06-30 Thread Corneliu ZUZU
VM_EVENT_REASON_MOV_TO_MSR is X86-specific, surround w/ #ifdef accordingly. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/common/vm_event.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/common/vm_event.c b/xen/common/vm_event.c index 17d2716..89a25d1 100644 ---

[Xen-devel] [PATCH 5/8] x86/vm-event/monitor: don't compromise monitor_write_data on domain cleanup

2016-06-30 Thread Corneliu ZUZU
ain. Small note: arch_vm_event structure definition needed to be moved from asm-x86/vm_event.h to asm-x86/domain.h in the process. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/domain.c | 5 ++-- xen/arch/x86/hvm/emulate.c | 8 +++--- xen/arch/x86/

[Xen-devel] [PATCH 4/8] x86/vm-event/monitor: turn monitor_write_data.do_write into enum

2016-06-30 Thread Corneliu ZUZU
of monitor_write_data.do_write can be true at any given moment and therefore it would be more appropriate to replace those fields with an enum value. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/hvm/hvm.c | 18 +++--- xen/arch/x86/monitor.c

[Xen-devel] [PATCH 3/8] x86/vm-event/monitor: relocate code-motion more appropriately

2016-06-30 Thread Corneliu ZUZU
for CR3 monitor vm-events there (previously done through CR0 node @ vmx_update_guest_cr(v, 0)). Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/hvm/hvm.c| 48 +- xen/arch/x86/hvm/vmx/vmx.c| 5 --- xen/arch/x86/monitor.c

[Xen-devel] [PATCH 2/8] x86/vmx_update_guest_cr: minor optimization

2016-06-30 Thread Corneliu ZUZU
Minor optimization @ vmx_update_guest_cr: checks if v->arch.hvm_vmx.exec_control was modified before actually calling vmx_update_cpu_exec_control(v). Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/hvm/vmx/vmx.c | 5 - 1 file changed, 4 insertions(+), 1

[Xen-devel] [PATCH 1/8] x86/vm-event: proper vCPU-paused checks at resume

2016-06-30 Thread Corneliu ZUZU
. * Ignores VM_EVENT_FLAG_DENY @ vm_event_register_write_resume if the target vCPU is not paused. Also adjusts comment in public/vm_event.h to reflect that. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/vm_event.c | 10 +- xen/common/vm_event.c

[Xen-devel] [PATCH 0/8] x86/vm-event: Adjustments & fixes

2016-06-30 Thread Corneliu ZUZU
monitor_write_data behavior on domain cleanup 6. surround VM_EVENT_REASON_MOV_TO_MSR w/ #ifdef CONFIG_X86 7+8. minor fixes (cleanup stuff) Corneliu ZUZU (8): x86/vm-event: proper vCPU-paused checks at resume x86/vmx_update_guest_cr: minor optimization x86/vm-event/monitor: relocate code-motion more

Re: [Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-24 Thread Corneliu ZUZU
On 6/23/2016 2:11 PM, Julien Grall wrote: Hello, On 23/06/16 06:49, Corneliu ZUZU wrote: On 6/23/2016 8:31 AM, Corneliu ZUZU wrote: On 6/22/2016 10:41 PM, Julien Grall wrote: On 22/06/2016 20:37, Corneliu ZUZU wrote: I've also realized that it's a bit complicated to avoid writing HCR from

Re: [Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-22 Thread Corneliu ZUZU
On 6/23/2016 8:31 AM, Corneliu ZUZU wrote: On 6/22/2016 10:41 PM, Julien Grall wrote: On 22/06/2016 20:37, Corneliu ZUZU wrote: I've also realized that it's a bit complicated to avoid writing HCR from 2 places. That's because: - p2m_restore_state is part of the process of switching

Re: [Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-22 Thread Corneliu ZUZU
On 6/22/2016 10:41 PM, Julien Grall wrote: On 22/06/2016 20:37, Corneliu ZUZU wrote: I've also realized that it's a bit complicated to avoid writing HCR from 2 places. That's because: - p2m_restore_state is part of the process of switching to another vCPU and the HCR write _must be committed_

Re: [Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-22 Thread Corneliu ZUZU
On 6/22/2016 9:39 PM, Corneliu ZUZU wrote: On 6/22/2016 8:17 PM, Julien Grall wrote: On 22/06/16 17:35, Corneliu ZUZU wrote: Julien, Hello Corneliu, I was trying to implement having HCR stored in arch_domain or arch_vcpu as suggested above and I'm a bit confused about the code

Re: [Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-22 Thread Corneliu ZUZU
On 6/22/2016 8:17 PM, Julien Grall wrote: On 22/06/16 17:35, Corneliu ZUZU wrote: Julien, Hello Corneliu, I was trying to implement having HCR stored in arch_domain or arch_vcpu as suggested above and I'm a bit confused about the code in p2m_restore_state. I'm hoping you can provide some

Re: [Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-22 Thread Corneliu ZUZU
On 6/17/2016 1:36 PM, Corneliu ZUZU wrote: On 6/16/2016 7:49 PM, Julien Grall wrote: Hello Corneliu, On 16/06/16 15:13, Corneliu ZUZU wrote: +case MWS_TTBCR: +MWS_EMUL(TTBCR); +break; +default: +break; +} + +w->status = MWS_NOWRITE; +} + +static inl

Re: [Xen-devel] [PATCH 2/7] vm-event: VM_EVENT_FLAG_DENY requires VM_EVENT_FLAG_VCPU_PAUSED

2016-06-22 Thread Corneliu ZUZU
On 6/21/2016 6:09 PM, Tamas K Lengyel wrote: On Jun 21, 2016 05:26, "Corneliu ZUZU" <cz...@bitdefender.com <mailto:cz...@bitdefender.com>> wrote: > > On 6/16/2016 7:11 PM, Tamas K Lengyel wrote: >> >> On Thu, Jun 16, 2016 at 8:07 AM, Corneliu

Re: [Xen-devel] [PATCH 2/7] vm-event: VM_EVENT_FLAG_DENY requires VM_EVENT_FLAG_VCPU_PAUSED

2016-06-21 Thread Corneliu ZUZU
On 6/16/2016 7:11 PM, Tamas K Lengyel wrote: On Thu, Jun 16, 2016 at 8:07 AM, Corneliu ZUZU <cz...@bitdefender.com> wrote: For VM_EVENT_FLAG_DENY to work, the vcpu must be paused (sync = 1) until the vm-event is handled. A vm-event response having VM_EVENT_FLAG_DENY flag set should al

Re: [Xen-devel] [PATCH 6/7] vm-event/arm: move hvm_event_cr->common vm_event_monitor_cr

2016-06-21 Thread Corneliu ZUZU
On 6/17/2016 11:25 AM, Corneliu ZUZU wrote: On 6/16/2016 6:16 PM, Jan Beulich wrote: On 16.06.16 at 16:12, <cz...@bitdefender.com> wrote: Prepare for ARM implementation of control-register write vm-events by moving X86-specific hvm_event_cr to the common-side. Signed-off-by: Corneli

Re: [Xen-devel] [PATCH 3/7] vm-event: introduce vm_event_vcpu_enter

2016-06-17 Thread Corneliu ZUZU
On 6/17/2016 2:27 PM, Jan Beulich wrote: On 17.06.16 at 13:13, wrote: On 6/17/2016 10:17 AM, Jan Beulich wrote: (And to be clear, I much appreciate any form of reduction of the sometimes extremely long lists of #include-s, just not [apparently or really] randomly mixed

Re: [Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-17 Thread Corneliu ZUZU
On 6/17/2016 12:28 AM, Julien Grall wrote: On 16/06/2016 20:24, Corneliu ZUZU wrote: On 6/16/2016 5:26 PM, Julien Grall wrote: Hi Julien. Yes, I agree that it's complex, I would have preferred to split it up too and I actually tried, but the changes are tightly coupled and they don't seem

Re: [Xen-devel] [PATCH 3/7] vm-event: introduce vm_event_vcpu_enter

2016-06-17 Thread Corneliu ZUZU
On 6/17/2016 11:55 AM, Julien Grall wrote: Hello, On 16/06/16 15:08, Corneliu ZUZU wrote: diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c index d31f821..ba248c8 100644 --- a/xen/arch/arm/domain.c +++ b/xen/arch/arm/domain.c @@ -19,6 +19,7 @@ #include #include #include

Re: [Xen-devel] [PATCH 6/7] vm-event/arm: move hvm_event_cr->common vm_event_monitor_cr

2016-06-17 Thread Corneliu ZUZU
On 6/17/2016 11:38 AM, Jan Beulich wrote: On 17.06.16 at 10:25, wrote: On 6/16/2016 6:16 PM, Jan Beulich wrote: And looking at all the uses of this variable I get the impression that you really want a shorthand for >arch.monitor (if any such helper variable is

Re: [Xen-devel] [PATCH 4/7] vm-event/x86: use vm_event_vcpu_enter properly

2016-06-17 Thread Corneliu ZUZU
On 6/17/2016 10:20 AM, Jan Beulich wrote: On 16.06.16 at 22:20, wrote: On 6/16/2016 6:00 PM, Jan Beulich wrote: On 16.06.16 at 16:09, wrote: @@ -1432,18 +1430,16 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr) if

Re: [Xen-devel] [PATCH 3/7] vm-event: introduce vm_event_vcpu_enter

2016-06-17 Thread Corneliu ZUZU
On 6/17/2016 10:17 AM, Jan Beulich wrote: On 16.06.16 at 22:10, wrote: On 6/16/2016 5:51 PM, Jan Beulich wrote: On 16.06.16 at 16:08, wrote: @@ -509,6 +508,8 @@ void hvm_do_resume(struct vcpu *v) } } +

Re: [Xen-devel] [PATCH 1/7] minor (formatting) fixes

2016-06-17 Thread Corneliu ZUZU
On 6/17/2016 10:06 AM, Jan Beulich wrote: On 16.06.16 at 21:19, wrote: On 6/16/2016 5:24 PM, Jan Beulich wrote: On 16.06.16 at 16:06, wrote: --- a/xen/arch/x86/hvm/event.c +++ b/xen/arch/x86/hvm/event.c @@ -23,6 +23,7 @@ #include

Re: [Xen-devel] [PATCH 3/7] vm-event: introduce vm_event_vcpu_enter

2016-06-17 Thread Corneliu ZUZU
On 6/16/2016 11:33 PM, Razvan Cojocaru wrote: On 06/16/16 23:10, Corneliu ZUZU wrote: On 6/16/2016 5:51 PM, Jan Beulich wrote: On 16.06.16 at 16:08, <cz...@bitdefender.com> wrote: @@ -509,6 +508,8 @@ void hvm_do_resume(struct vcpu *v) } } +vm_event_vcpu_enter(v)

Re: [Xen-devel] [PATCH 6/7] vm-event/arm: move hvm_event_cr->common vm_event_monitor_cr

2016-06-17 Thread Corneliu ZUZU
On 6/16/2016 7:55 PM, Tamas K Lengyel wrote: On Thu, Jun 16, 2016 at 8:12 AM, Corneliu ZUZU <cz...@bitdefender.com> wrote: Prepare for ARM implementation of control-register write vm-events by moving X86-specific hvm_event_cr to the common-side. Signed-off-by: Corneliu ZU

Re: [Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-17 Thread Corneliu ZUZU
On 6/16/2016 7:49 PM, Julien Grall wrote: Hello Corneliu, On 16/06/16 15:13, Corneliu ZUZU wrote: diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index 8c50685..af61ac3 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -43,6 +43,7 @@ #include #include #include

Re: [Xen-devel] [PATCH 4/7] vm-event/x86: use vm_event_vcpu_enter properly

2016-06-17 Thread Corneliu ZUZU
On 6/16/2016 7:27 PM, Tamas K Lengyel wrote: diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c index 1fec412..1e5445f 100644 --- a/xen/arch/x86/monitor.c +++ b/xen/arch/x86/monitor.c @@ -20,7 +20,6 @@ */ #include -#include int arch_monitor_domctl_event(struct domain *d,

Re: [Xen-devel] [PATCH 3/7] vm-event: introduce vm_event_vcpu_enter

2016-06-17 Thread Corneliu ZUZU
On 6/16/2016 7:17 PM, Tamas K Lengyel wrote: On Thu, Jun 16, 2016 at 8:08 AM, Corneliu ZUZU <cz...@bitdefender.com> wrote: In an effort to improve on the vm-event interface, we introduce a new function called vm_event_vcpu_enter. Its significance is that of a "final touch" vCP

Re: [Xen-devel] [PATCH 2/7] vm-event: VM_EVENT_FLAG_DENY requires VM_EVENT_FLAG_VCPU_PAUSED

2016-06-17 Thread Corneliu ZUZU
On 6/16/2016 7:11 PM, Tamas K Lengyel wrote: On Thu, Jun 16, 2016 at 8:07 AM, Corneliu ZUZU <cz...@bitdefender.com> wrote: For VM_EVENT_FLAG_DENY to work, the vcpu must be paused (sync = 1) until the vm-event is handled. A vm-event response having VM_EVENT_FLAG_DENY flag set should al

Re: [Xen-devel] [PATCH 1/7] minor (formatting) fixes

2016-06-17 Thread Corneliu ZUZU
On 6/16/2016 7:02 PM, Tamas K Lengyel wrote: diff --git a/xen/include/asm-arm/vm_event.h b/xen/include/asm-arm/vm_event.h index 014d9ba..05c3027 100644 --- a/xen/include/asm-arm/vm_event.h +++ b/xen/include/asm-arm/vm_event.h @@ -23,21 +23,18 @@ #include #include -static inline -int

Re: [Xen-devel] [PATCH 6/7] vm-event/arm: move hvm_event_cr->common vm_event_monitor_cr

2016-06-17 Thread Corneliu ZUZU
On 6/16/2016 6:16 PM, Jan Beulich wrote: On 16.06.16 at 16:12, <cz...@bitdefender.com> wrote: Prepare for ARM implementation of control-register write vm-events by moving X86-specific hvm_event_cr to the common-side. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/

Re: [Xen-devel] [PATCH 3/7] vm-event: introduce vm_event_vcpu_enter

2016-06-16 Thread Corneliu ZUZU
On 6/16/2016 5:51 PM, Jan Beulich wrote: On 16.06.16 at 16:08, wrote: @@ -509,6 +508,8 @@ void hvm_do_resume(struct vcpu *v) } } +vm_event_vcpu_enter(v); Why here? Why indeed. It made sense because monitor_write_data handling was originally there

Re: [Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-16 Thread Corneliu ZUZU
On 6/16/2016 5:26 PM, Julien Grall wrote: Hello Corneliu, On 16/06/16 15:13, Corneliu ZUZU wrote: Add ARM support for control-register write monitoring through the vm-events subsystem. Chosen ARM system control-registers that can be monitored are: - VM_EVENT_ARM_SCTLR: AArch32

Re: [Xen-devel] [PATCH 1/7] minor (formatting) fixes

2016-06-16 Thread Corneliu ZUZU
On 6/16/2016 5:24 PM, Jan Beulich wrote: On 16.06.16 at 16:06, wrote: --- a/xen/arch/x86/hvm/event.c +++ b/xen/arch/x86/hvm/event.c @@ -23,6 +23,7 @@ #include #include +#include #include #include #include diff --git a/xen/common/monitor.c

[Xen-devel] [PATCH 5/7] x86: replace monitor_write_data.do_write with enum

2016-06-16 Thread Corneliu ZUZU
of monitor_write_data.do_write can be true at any given moment and therefore it would be more appropriate to replace those fields with an enum value. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/hvm/hvm.c | 18 - xen/arch/x86/vm_event.c

[Xen-devel] [PATCH 2/7] vm-event: VM_EVENT_FLAG_DENY requires VM_EVENT_FLAG_VCPU_PAUSED

2016-06-16 Thread Corneliu ZUZU
For VM_EVENT_FLAG_DENY to work, the vcpu must be paused (sync = 1) until the vm-event is handled. A vm-event response having VM_EVENT_FLAG_DENY flag set should also set the VM_EVENT_FLAG_VCPU_PAUSED flag. Enforce that in vm_event_register_write_resume(). Signed-off-by: Corneliu ZUZU <

[Xen-devel] [PATCH 7/7] vm-event/arm: implement support for control-register write vm-events

2016-06-16 Thread Corneliu ZUZU
- VM_EVENT_ARM_TTBCR: AArch32 TTBCR, AArch64 TCR_EL1 Trapping of write operations of these registers was attained by setting the HCR_EL2.TVM / HCR.TVM bit. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- MAINTAINERS| 1 + xen/arch/arm/Makefile | 1

[Xen-devel] [PATCH 6/7] vm-event/arm: move hvm_event_cr->common vm_event_monitor_cr

2016-06-16 Thread Corneliu ZUZU
Prepare for ARM implementation of control-register write vm-events by moving X86-specific hvm_event_cr to the common-side. Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x86/hvm/event.c| 30 -- xen/arch/x86/hvm/hvm.c | 2 +

[Xen-devel] [PATCH 4/7] vm-event/x86: use vm_event_vcpu_enter properly

2016-06-16 Thread Corneliu ZUZU
After introducing vm_event_vcpu_enter, it makes sense to move the following code there: - handling of monitor_write_data from hvm_do_resume - enabling/disabling CPU_BASED_CR3_LOAD_EXITING from vmx_update_guest_cr(v, 0) Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/x

[Xen-devel] [PATCH 3/7] vm-event: introduce vm_event_vcpu_enter

2016-06-16 Thread Corneliu ZUZU
is called on the scheduling tail (hvm_do_resume) and just before reentering the guest world after a hypervisor trap (vmx_vmenter_helper). Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/arm/domain.c | 5 - xen/arch/arm/traps.c | 2 ++ xen/arch/x86/hvm/em

[Xen-devel] [PATCH 1/7] minor (formatting) fixes

2016-06-16 Thread Corneliu ZUZU
Minor fixes: - fix 80-columns formatting in some places - remove some empty lines - remove some unused includes - add 2 comments Signed-off-by: Corneliu ZUZU <cz...@bitdefender.com> --- xen/arch/arm/domain.c | 1 - xen/arch/arm/traps.c| 1 - xen/ar

[Xen-devel] [PATCH 0/7] vm-event: Implement ARM support for control-register writes

2016-06-16 Thread Corneliu ZUZU
(re)entered and move some x86 code there 5. [minor] conceptual change of x86 monitor_write_data structure 6. [major] move hvm_event_cr->common vm_event_monitor_cr 7. [major] actual implementation, use HCR.TVM bit to monitor SCTLR, TTBR0, TTBR1 and TTBCR writes C

Re: [Xen-devel] [PATCH] vm_event: Implement ARM SMC events

2016-04-13 Thread Corneliu ZUZU
On 4/13/2016 1:52 PM, Julien Grall wrote: Hello Corneliu, On 13/04/16 09:55, Corneliu ZUZU wrote: On 4/12/2016 8:24 PM, Tamas K Lengyel wrote: Another issue came to my mind: "HVC #imm", if handled through the hvm-ops code, currently requires setting other registers to predefined val

Re: [Xen-devel] [PATCH] vm_event: Implement ARM SMC events

2016-04-13 Thread Corneliu ZUZU
On 4/13/2016 1:17 PM, Andrew Cooper wrote: On 13/04/16 09:55, Corneliu ZUZU wrote: I would have to double check but AFAIK those instructions can't be configured to trap to the hypervisor directly. So while SMC was not intended

Re: [Xen-devel] [PATCH] vm_event: Implement ARM SMC events

2016-04-13 Thread Corneliu ZUZU
On 4/12/2016 8:24 PM, Tamas K Lengyel wrote: On Tue, Apr 12, 2016 at 11:05 AM, Corneliu ZUZU <cz...@bitdefender.com <mailto:cz...@bitdefender.com>> wrote: On 4/12/2016 7:24 PM, Julien Grall wrote: Hello, On 12/04/2016 16:01, Tamas K Lengyel wrote:

Re: [Xen-devel] [PATCH] vm_event: Implement ARM SMC events

2016-04-12 Thread Corneliu ZUZU
On 4/12/2016 7:24 PM, Julien Grall wrote: Hello, On 12/04/2016 16:01, Tamas K Lengyel wrote: On Apr 12, 2016 01:51, "Corneliu ZUZU" <cz...@bitdefender.com <mailto:cz...@bitdefender.com>> wrote: > > On 4/11/2016 10:47 PM, Tamas K Lengyel wrote: >>

Re: [Xen-devel] [PATCH] vm_event: Implement ARM SMC events

2016-04-12 Thread Corneliu ZUZU
On 4/11/2016 10:47 PM, Tamas K Lengyel wrote: From: Tamas K Lengyel The ARM SMC instructions are already configured to trap to Xen by default. In this patch we allow a user-space process in a privileged domain to receive notification of when such event happens through

[Xen-devel] Scheduler/hypervisor traps, vm_event_vcpu_pause - some details on how they work?

2016-03-14 Thread Corneliu ZUZU
Hey all, I'm trying to add a vm-event function that would execute just before a vCPU resumes execution. To do this, I need to know precisely how and when this happens. I've been browsing the codebase to try and gain some insight on the matter, but I still need some clarifications as parts of

Re: [Xen-devel] [PATCH 0/1] ARM: Implement support for write-ctrlreg vm-events

2016-03-07 Thread Corneliu ZUZU
On 3/7/2016 2:38 PM, Andrew Cooper wrote: On 07/03/16 09:12, Tamas K Lengyel wrote: On Mon, Mar 7, 2016 at 9:22 AM, Corneliu ZUZU <cz...@bitdefender.com <mailto:cz...@bitdefender.com>> wrote: On 3/3/2016 4:10 PM, Corneliu ZUZU wrote: Then, QUESTIONS (F

Re: [Xen-devel] [PATCH 0/1] ARM: Implement support for write-ctrlreg vm-events

2016-03-07 Thread Corneliu ZUZU
On 3/7/2016 2:07 PM, Corneliu ZUZU wrote: On 3/7/2016 11:45 AM, Tamas K Lengyel wrote: On Mon, Mar 7, 2016 at 10:31 AM, Corneliu ZUZU <cz...@bitdefender.com <mailto:cz...@bitdefender.com>> wrote: On 3/7/2016 11:12 AM, Tamas K Lengyel wrote: EPT is not really requ

Re: [Xen-devel] [PATCH 0/1] ARM: Implement support for write-ctrlreg vm-events

2016-03-07 Thread Corneliu ZUZU
On 3/7/2016 11:45 AM, Tamas K Lengyel wrote: On Mon, Mar 7, 2016 at 10:31 AM, Corneliu ZUZU <cz...@bitdefender.com <mailto:cz...@bitdefender.com>> wrote: On 3/7/2016 11:12 AM, Tamas K Lengyel wrote: EPT is not really required for CR3 monitoring, it just has been

<    1   2   3   4   >