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
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
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'
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
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
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
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
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
) 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 +++
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
) 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
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
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
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
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
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
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
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
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
) 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>
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
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
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
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
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,
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?
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
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
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
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
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
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
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 @
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
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
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
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
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
/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
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
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
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
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
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
@@ -
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 <
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
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
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
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
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
---
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/
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
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
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
.
* 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
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
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
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
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_
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
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
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
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
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
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
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
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
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
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
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
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)
}
}
+
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
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)
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
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
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,
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
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
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
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/
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
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
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
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
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 <
- 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
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 +
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
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
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
(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
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
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
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:
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:
>>
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
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
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
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
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
101 - 200 of 314 matches
Mail list logo