|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1] x86/hvm: Add MSR old value
>>> On 12.10.17 at 11:10, <aisaila@xxxxxxxxxxxxxxx> wrote:
> --- a/xen/arch/x86/hvm/monitor.c
> +++ b/xen/arch/x86/hvm/monitor.c
> @@ -74,16 +74,19 @@ bool hvm_monitor_emul_unimplemented(void)
> monitor_traps(curr, true, &req) == 1;
> }
>
> -void hvm_monitor_msr(unsigned int msr, uint64_t value)
> +void hvm_monitor_msr(unsigned int msr, uint64_t new_value, uint64_t
> old_value)
> {
> struct vcpu *curr = current;
>
> - if ( monitored_msr(curr->domain, msr) )
> + if ( monitored_msr(curr->domain, msr) &&
> + ( !monitored_msr_onchangeonly(curr->domain, msr) ||
> + new_value != old_value ) )
Stray blanks inside the inner parentheses.
> @@ -84,6 +84,11 @@ static int monitor_enable_msr(struct domain *d, u32 msr)
>
> hvm_enable_msr_interception(d, msr);
>
> + if( onchangeonly )
Style.
> + __set_bit(index + sizeof(struct monitor_msr_bitmap), bitmap);
I think you miss "* 8" here - a bit position plus sizeof() doesn't
produce any useful value.
But what's worse - having read till the end of the patch I don't
see you change any allocation, yet you clearly need to double
the space now that you need two bits per MSR.
> --- a/xen/include/asm-x86/monitor.h
> +++ b/xen/include/asm-x86/monitor.h
> @@ -105,4 +105,6 @@ void arch_monitor_cleanup_domain(struct domain *d);
>
> bool monitored_msr(const struct domain *d, u32 msr);
>
> +bool monitored_msr_onchangeonly(const struct domain *d, u32 msr);
> +
Them belonging together, please have them together (without an
intervening blank line).
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |