|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 2/3] x86/HVM: fix ID handling of x2APIC emulation
>>> On 12.09.14 at 14:53, <JBeulich@xxxxxxxx> wrote:
> - properly change ID when switching into x2APIC mode (instead of
> mimicking necessary behavior in hvm_x2apic_msr_read())
> - correctly (meaningfully) set LDR (so far it ended up being 1 on all
> vCPU-s)
> - even if we don't support more than 128 vCPU-s in a HVM guest for now,
> we should properly handle IDs as 32-bit values (i.e. not ignore the
> top 24 bits)
> - with that, properly do cluster ID and bit mask check in
> vlapic_match_logical_addr()
> - slightly adjust other parameter types of vlapic_match_dest() and
> vlapic_lowest_prio() (and related local variable ones)
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> ---
> v2: Some changes broken out to separate patch. Correct ID and
> LDR after domain restore (if necessary); as stated previously the
> only compatibility problem this creates is when migrating a VM _to_
> an unfixed (i.e. old) hypervisor, a scenario which supposedly isn't
> supported. This post-migration fixup involves introducing
> arch_domain_unpause(), needed here to fix up state after all
> intended state setting was done (any suggestion as to how else to
> accomplish this is very welcome).
Oops - just realized the quoted portion below needs a wider Cc list.
Jan
> --- a/xen/include/asm-arm/domain.h
> +++ b/xen/include/asm-arm/domain.h
> @@ -241,6 +241,8 @@ struct arch_vcpu
> void vcpu_show_execution_state(struct vcpu *);
> void vcpu_show_registers(const struct vcpu *);
>
> +#define arch_domain_unpause(d) ((void)(d))
> +
> #endif /* __ASM_DOMAIN_H__ */
>
> /*
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -949,8 +949,11 @@ void domain_unpause(struct domain *d)
> struct vcpu *v;
>
> if ( atomic_dec_and_test(&d->pause_count) )
> + {
> + arch_domain_unpause(d);
> for_each_vcpu( d, v )
> vcpu_wake(v);
> + }
> }
>
> int __domain_pause_by_systemcontroller(struct domain *d,
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |