From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH] arm: fix build after c/s 25477:e12e0b038219 Date: Thu, 28 Jun 2012 14:53:12 +0100 Message-ID: References: <4FEC7460020000780008C821@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4FEC7460020000780008C821@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: xen-devel List-Id: xen-devel@lists.xenproject.org On 28/06/2012 14:12, "Jan Beulich" wrote: >>>> On 28.06.12 at 15:03, Keir Fraser wrote: >> On 25/06/2012 11:54, "Jan Beulich" 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 >> >> 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 > 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@lists.xen.org >>> http://lists.xen.org/xen-devel > > >