Subject: [PATCH RFC 1/6] [HACK!] arm64/xen: create links to arch/arm include files and Xen code

From: [email-masked] (Catalin Marinas)
Date: Fri, 31 May 2013 14:10:38 +0100

On Fri, May 31, 2013 at 01:02:04PM +0100, Stefano Stabellini wrote:
> On Fri, 31 May 2013, Catalin Marinas wrote:
> > On Thu, May 30, 2013 at 05:18:28PM +0100, Stefano Stabellini wrote:
> > > Most of Xen support for ARM is common between ARMv7 and ARMv8.
> > > Create links to the code under arch/arm (bleah).
> > > 
> > > Other, probably better alternatives:
> > > 
> > > - move the code to a different location, maybe the header files to
> > > include/xen/arm and the code to drivers/xen/arm (still pretty ugly)?
> > > 
> > > - create a copy of the code to arch/arm64 (even worse);
> > 
> > KVM handles this in the Makefile by referencing back to arch/arm or even
> > the generic kvm directory. I think that's the 'cleanest' ;)
> 
> Do you mean creating links in the Makefile or generating header file
> copies from the Makefile?
> Or do you mean using something like "-I arch/arm/include/asm/xen" in the
> arch/arm64 Makefile?

I meant C files being compiled directly from arch/arm (no links).

For headers, if they are specific to arm or arm64, just copy the header
in each place (e.g. not using regs->pstate in the arch/arm code with
#ifdef's). For the rest, if they cannot be made generic, one way is to
have a dummy file including the arm equivalent:

#include <../../arm/include/asm/xen/events.h>

Passing -I is dangerous as you actually need "-I arch/arm/include" which
could bring other files.

-- 
Catalin