[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v4 1/2] xen: asm-generic support
On Wed, Sep 06, 2023 at 01:03:32PM +0000, Bertrand Marquis wrote: > > On 6 Sep 2023, at 13:37, Oleksii <oleksii.kurochko@xxxxxxxxx> wrote: > > On Mon, 2023-09-04 at 13:39 +0000, Bertrand Marquis wrote: > >>> diff --git a/xen/scripts/Makefile.asm-generic > >>> b/xen/scripts/Makefile.asm-generic > >>> new file mode 100644 > >>> index 0000000000..0aac3f50b8 > >>> --- /dev/null > >>> +++ b/xen/scripts/Makefile.asm-generic > >>> + > >>> +$(obj)/%.h: > >>> + $(call cmd,wrap) > >> > >> In fact i think your files are not generated in the srctree so this > >> will break if you use out of tree compilation. > > I checked that and in both cases it generated in correct place. > > > > First case: > > $ CONTAINER_NO_PULL=1 CONTAINER=riscv64 > > ./automation/scripts/containerize make XEN_TARGET_ARCH=riscv64 -C xen > > build > > > > $ ls -la xen/arch/riscv/include/generated/asm/vm_event.h > > -rw-r--r--. 1 ok ok 34 вер 6 14:32 > > xen/arch/riscv/include/generated/asm/vm_event.h > > > > Second case: ( out-of-tree ) > > $ CONTAINER_NO_PULL=1 CONTAINER=riscv64 > > ./automation/scripts/containerize make O=xen_build > > XEN_TARGET_ARCH=riscv64 -C xen build V=1 > > > > $ ls -la xen/xen_build/arch/riscv/include/generated/asm/vm_event.h > > -rw-r--r--. 1 ok ok 34 вер 6 14:34 > > xen/xen_build/arch/riscv/include/generated/asm/vm_event.h > > > > Could you please clarify if there's somithing I might have overlooked? > > No I do not think you did. > > So obj is empty I would guess. > Anyway you just need to make sure that CFLAGS is coherent with what you > generate. > So if you generate in $(obj) you need to make sure you use the same in CFLAGS > i would say. > > @anthony: any advice here ? The use of $(obj) looks fine here. $(obj) is temporary and set for a single subdirectory. $(obj) is set by whatever is calling "Makefile.asm-generic", or "Rules.mk" is other cases. In this patch, you can see $(obj) been set in "xen/Makefile": $(MAKE) -f $(srctree)/scripts/Makefile.asm-generic obj=arch/$(SRCARCH)/include/generated/asm Another thing to know, `make` runs from the build directory, so in Oleksii second case, `make` is running in "xen/xen_build", so $(obj) point to a directory within the build directory. For the CFLAGS, we can use $(objtree) (even if it is just "."), which always point to the top directory of the build tree. I hope that clarifies things. Cheers, -- Anthony PERARD
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |