|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] arm: fix build after c/s 25477:e12e0b038219
On 28/06/2012 14:12, "Jan Beulich" <JBeulich@xxxxxxxx> wrote:
>>>> On 28.06.12 at 15:03, Keir Fraser <keir@xxxxxxx> wrote:
>> On 25/06/2012 11:54, "Jan Beulich" <JBeulich@xxxxxxxx> wrote:
>>
>>> Only x86 currently has a struct vcpu field arch.gdbsx_vcpu_event. But
>>> as the whole function domain_pause_for_debugger() is pointless to be
>>> compiled when there's no arch support, simply introduce another HAS_*
>>> macro, enabled only on x86.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>>
>> How did arch/arm build at all then, previously, with this function present
>> for a long time in common code?
>
> Prior to said c/s adding a reference to ->arch.gdbsx_vcpu_event,
> the function wasn't arch-specific at all.
Ah yes, of course. :)
>> Would a better fix be just to move the
>> function to arch/x86/domain.c, since it is only called by arch/x86?
>
> I'd say no - the function really ought to be generic. Any arch
> wanting gdbsx support would have to add a respective field to
> its arch_vcpu. Or alternatively the field itself should get moved
> into struct vcpu, perhaps dependent upon some CONFIG_*.
> (This is also why I didn't want to put in e.g. a CONFIG_X86
> conditional, which would have been a smaller change.)
Well, fine then.
Acked-by: Keir Fraser <keir@xxxxxxx>
> Jan
>
>>> --- a/xen/Rules.mk
>>> +++ b/xen/Rules.mk
>>> @@ -51,6 +51,7 @@ CFLAGS-$(perfc) += -DPERF_COUNTE
>>> CFLAGS-$(perfc_arrays) += -DPERF_ARRAYS
>>> CFLAGS-$(lock_profile) += -DLOCK_PROFILE
>>> CFLAGS-$(HAS_ACPI) += -DHAS_ACPI
>>> +CFLAGS-$(HAS_GDBSX) += -DHAS_GDBSX
>>> CFLAGS-$(HAS_PASSTHROUGH) += -DHAS_PASSTHROUGH
>>> CFLAGS-$(frame_pointer) += -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER
>>>
>>> --- a/xen/arch/x86/Rules.mk
>>> +++ b/xen/arch/x86/Rules.mk
>>> @@ -9,6 +9,7 @@ HAS_PASSTHROUGH := y
>>> HAS_NS16550 := y
>>> HAS_EHCI := y
>>> HAS_KEXEC := y
>>> +HAS_GDBSX := y
>>> xenoprof := y
>>>
>>> #
>>> --- a/xen/common/domain.c
>>> +++ b/xen/common/domain.c
>>> @@ -612,6 +612,7 @@ void vcpu_end_shutdown_deferral(struct v
>>> vcpu_check_shutdown(v);
>>> }
>>>
>>> +#ifdef HAS_GDBSX
>>> void domain_pause_for_debugger(void)
>>> {
>>> struct domain *d = current->domain;
>>> @@ -628,6 +629,7 @@ void domain_pause_for_debugger(void)
>>> if (current->arch.gdbsx_vcpu_event == 0)
>>> send_global_virq(VIRQ_DEBUGGER);
>>> }
>>> +#endif
>>>
>>> /* Complete domain destroy after RCU readers are not holding old
>> references.
>>> */
>>> static void complete_domain_destroy(struct rcu_head *head)
>>>
>>>
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@xxxxxxxxxxxxx
>>> http://lists.xen.org/xen-devel
>
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |