* [PATCH] firmware/shim : filter output files during Xen tree setup
@ 2018-07-20 21:15 Christopher Clark
2018-07-23 8:17 ` Wei Liu
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Christopher Clark @ 2018-07-20 21:15 UTC (permalink / raw)
To: xen-devel; +Cc: wei.liu2, ian.jackson
Exclude named output files from the Xen tree setup.
The linkfarm.stamp content will differ between top level "make"
and "make install" invocations, due to the introduction of these
output files that are produced during the "make" build.
Filter these out to prevent an unnecessary rebuild of the shim during
"make install".
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
---
tools/firmware/xen-dir/Makefile | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/Makefile
index 84648c3..e490dca 100644
--- a/tools/firmware/xen-dir/Makefile
+++ b/tools/firmware/xen-dir/Makefile
@@ -11,6 +11,9 @@ D=xen-root
LINK_DIRS=config xen
LINK_FILES=Config.mk
+# Files to exclude from the link farm
+EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map efi.lds xen.lds mkelf32 mkreloc
+
DEP_DIRS=$(foreach i, $(LINK_DIRS), $(XEN_ROOT)/$(i))
DEP_FILES=$(foreach i, $(LINK_FILES), $(XEN_ROOT)/$(i))
@@ -26,7 +29,8 @@ linkfarm.stamp: $(DEP_DIRS) $(DEP_FILES) FORCE
$(foreach d, $(LINK_DIRS), \
(cd $(XEN_ROOT); \
find $(d) ! -type l -type f \
- $(addprefix ! -name , '*.[isoa]' '.*.d' '.*.d2')) \
+ $(addprefix ! -name , '*.[isoa]' '.*.d' '.*.d2' \
+ $(EXCLUDE_FILES) )) \
>> linkfarm.stamp.tmp ; ) \
$(foreach f, $(LINK_FILES), \
echo $(f) >> linkfarm.stamp.tmp ;)
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] firmware/shim : filter output files during Xen tree setup
2018-07-20 21:15 [PATCH] firmware/shim : filter output files during Xen tree setup Christopher Clark
@ 2018-07-23 8:17 ` Wei Liu
2018-07-23 9:09 ` Roger Pau Monné
2018-07-24 9:43 ` Jan Beulich
2 siblings, 0 replies; 11+ messages in thread
From: Wei Liu @ 2018-07-23 8:17 UTC (permalink / raw)
To: Christopher Clark; +Cc: xen-devel, ian.jackson, wei.liu2
On Fri, Jul 20, 2018 at 02:15:05PM -0700, Christopher Clark wrote:
> Exclude named output files from the Xen tree setup.
>
> The linkfarm.stamp content will differ between top level "make"
> and "make install" invocations, due to the introduction of these
> output files that are produced during the "make" build.
>
> Filter these out to prevent an unnecessary rebuild of the shim during
> "make install".
>
> Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] firmware/shim : filter output files during Xen tree setup
2018-07-20 21:15 [PATCH] firmware/shim : filter output files during Xen tree setup Christopher Clark
2018-07-23 8:17 ` Wei Liu
@ 2018-07-23 9:09 ` Roger Pau Monné
2018-07-23 9:26 ` Andrew Cooper
2018-07-24 9:43 ` Jan Beulich
2 siblings, 1 reply; 11+ messages in thread
From: Roger Pau Monné @ 2018-07-23 9:09 UTC (permalink / raw)
To: Christopher Clark; +Cc: xen-devel, wei.liu2, ian.jackson
On Fri, Jul 20, 2018 at 02:15:05PM -0700, Christopher Clark wrote:
> Exclude named output files from the Xen tree setup.
>
> The linkfarm.stamp content will differ between top level "make"
> and "make install" invocations, due to the introduction of these
> output files that are produced during the "make" build.
>
> Filter these out to prevent an unnecessary rebuild of the shim during
> "make install".
>
> Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
> ---
> tools/firmware/xen-dir/Makefile | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/Makefile
> index 84648c3..e490dca 100644
> --- a/tools/firmware/xen-dir/Makefile
> +++ b/tools/firmware/xen-dir/Makefile
> @@ -11,6 +11,9 @@ D=xen-root
> LINK_DIRS=config xen
> LINK_FILES=Config.mk
>
> +# Files to exclude from the link farm
> +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map efi.lds xen.lds mkelf32 mkreloc
I don't really like to list the files here, since it's very easy for
them to get out of sync. The alternative I have is also not very nice
however, since it relies on .gitignore:
EXCLUDE_FILES:=$(patsubst xen/%,%,$(filter xen/%,$(shell cat $(XEN_ROOT)/.gitignore)))
Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] firmware/shim : filter output files during Xen tree setup
2018-07-23 9:09 ` Roger Pau Monné
@ 2018-07-23 9:26 ` Andrew Cooper
2018-07-23 23:00 ` Christopher Clark
0 siblings, 1 reply; 11+ messages in thread
From: Andrew Cooper @ 2018-07-23 9:26 UTC (permalink / raw)
To: Roger Pau Monné, Christopher Clark; +Cc: xen-devel, wei.liu2, ian.jackson
On 23/07/18 10:09, Roger Pau Monné wrote:
> On Fri, Jul 20, 2018 at 02:15:05PM -0700, Christopher Clark wrote:
>> Exclude named output files from the Xen tree setup.
>>
>> The linkfarm.stamp content will differ between top level "make"
>> and "make install" invocations, due to the introduction of these
>> output files that are produced during the "make" build.
>>
>> Filter these out to prevent an unnecessary rebuild of the shim during
>> "make install".
>>
>> Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
>> ---
>> tools/firmware/xen-dir/Makefile | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/Makefile
>> index 84648c3..e490dca 100644
>> --- a/tools/firmware/xen-dir/Makefile
>> +++ b/tools/firmware/xen-dir/Makefile
>> @@ -11,6 +11,9 @@ D=xen-root
>> LINK_DIRS=config xen
>> LINK_FILES=Config.mk
>>
>> +# Files to exclude from the link farm
>> +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map efi.lds xen.lds mkelf32 mkreloc
> I don't really like to list the files here, since it's very easy for
> them to get out of sync. The alternative I have is also not very nice
> however, since it relies on .gitignore:
>
> EXCLUDE_FILES:=$(patsubst xen/%,%,$(filter xen/%,$(shell cat $(XEN_ROOT)/.gitignore)))
The correct way to fix this is to rip the current build system to
shreds, start again, and get it to support out-of-tree builds.
This linkfarm logic exists only to work around a hole which we couldn't
fix at the time.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] firmware/shim : filter output files during Xen tree setup
2018-07-23 9:26 ` Andrew Cooper
@ 2018-07-23 23:00 ` Christopher Clark
0 siblings, 0 replies; 11+ messages in thread
From: Christopher Clark @ 2018-07-23 23:00 UTC (permalink / raw)
To: Andrew Cooper; +Cc: xen-devel, Wei Liu, Ian Jackson, Roger Pau Monné
[-- Attachment #1.1: Type: text/plain, Size: 2256 bytes --]
On Mon, Jul 23, 2018 at 2:26 AM, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:
> On 23/07/18 10:09, Roger Pau Monné wrote:
> > On Fri, Jul 20, 2018 at 02:15:05PM -0700, Christopher Clark wrote:
> >> Exclude named output files from the Xen tree setup.
> >>
> >> The linkfarm.stamp content will differ between top level "make"
> >> and "make install" invocations, due to the introduction of these
> >> output files that are produced during the "make" build.
> >>
> >> Filter these out to prevent an unnecessary rebuild of the shim during
> >> "make install".
> >>
> >> Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
> >> ---
> >> tools/firmware/xen-dir/Makefile | 6 +++++-
> >> 1 file changed, 5 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/
> Makefile
> >> index 84648c3..e490dca 100644
> >> --- a/tools/firmware/xen-dir/Makefile
> >> +++ b/tools/firmware/xen-dir/Makefile
> >> @@ -11,6 +11,9 @@ D=xen-root
> >> LINK_DIRS=config xen
> >> LINK_FILES=Config.mk
> >>
> >> +# Files to exclude from the link farm
> >> +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map efi.lds xen.lds mkelf32
> mkreloc
> > I don't really like to list the files here, since it's very easy for
> > them to get out of sync. The alternative I have is also not very nice
> > however, since it relies on .gitignore:
> >
> > EXCLUDE_FILES:=$(patsubst xen/%,%,$(filter xen/%,$(shell cat
> $(XEN_ROOT)/.gitignore)))
>
> The correct way to fix this is to rip the current build system to
> shreds, start again, and get it to support out-of-tree builds.
>
> This linkfarm logic exists only to work around a hole which we couldn't
> fix at the time.
>
As Andrew observes, the linkfarm code is a temporary solution until Xen
supports out of tree builds.
The proposed patch is localized and easy to understand.
If the list of files is not maintained, it will break in obvious ways
(either an unnecessary shim rebuild, or a non-rebuild when it should but
only in a developer environment) and it will serve as a reminder to fix
support for out of tree builds.
So, I'd like to request inclusion of the original patch proposed.
Christopher
[-- Attachment #1.2: Type: text/html, Size: 3416 bytes --]
[-- Attachment #2: Type: text/plain, Size: 157 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] firmware/shim : filter output files during Xen tree setup
2018-07-20 21:15 [PATCH] firmware/shim : filter output files during Xen tree setup Christopher Clark
2018-07-23 8:17 ` Wei Liu
2018-07-23 9:09 ` Roger Pau Monné
@ 2018-07-24 9:43 ` Jan Beulich
2018-07-25 0:21 ` Christopher Clark
2 siblings, 1 reply; 11+ messages in thread
From: Jan Beulich @ 2018-07-24 9:43 UTC (permalink / raw)
To: Christopher Clark; +Cc: Ian Jackson, Wei Liu, xen-devel
>>> On 20.07.18 at 23:15, <christopher.w.clark@gmail.com> wrote:
> Exclude named output files from the Xen tree setup.
>
> The linkfarm.stamp content will differ between top level "make"
> and "make install" invocations, due to the introduction of these
> output files that are produced during the "make" build.
>
> Filter these out to prevent an unnecessary rebuild of the shim during
> "make install".
>
> Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
> ---
> tools/firmware/xen-dir/Makefile | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tools/firmware/xen-dir/Makefile
> b/tools/firmware/xen-dir/Makefile
> index 84648c3..e490dca 100644
> --- a/tools/firmware/xen-dir/Makefile
> +++ b/tools/firmware/xen-dir/Makefile
> @@ -11,6 +11,9 @@ D=xen-root
> LINK_DIRS=config xen
> LINK_FILES=Config.mk
>
> +# Files to exclude from the link farm
> +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map efi.lds xen.lds mkelf32 mkreloc
What about xen.efi and all of its auxiliary files? What about other generated
files?
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] firmware/shim : filter output files during Xen tree setup
2018-07-24 9:43 ` Jan Beulich
@ 2018-07-25 0:21 ` Christopher Clark
2018-07-25 0:28 ` [PATCH v2] " Christopher Clark
2018-07-25 7:51 ` [PATCH] " Jan Beulich
0 siblings, 2 replies; 11+ messages in thread
From: Christopher Clark @ 2018-07-25 0:21 UTC (permalink / raw)
To: Jan Beulich; +Cc: Ian Jackson, Wei Liu, xen-devel
[-- Attachment #1.1: Type: text/plain, Size: 1655 bytes --]
On Tue, Jul 24, 2018 at 2:43 AM, Jan Beulich <JBeulich@suse.com> wrote:
> >>> On 20.07.18 at 23:15, <christopher.w.clark@gmail.com> wrote:
> > Exclude named output files from the Xen tree setup.
> >
> > The linkfarm.stamp content will differ between top level "make"
> > and "make install" invocations, due to the introduction of these
> > output files that are produced during the "make" build.
> >
> > Filter these out to prevent an unnecessary rebuild of the shim during
> > "make install".
> >
> > Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
> > ---
> > tools/firmware/xen-dir/Makefile | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/firmware/xen-dir/Makefile
> > b/tools/firmware/xen-dir/Makefile
> > index 84648c3..e490dca 100644
> > --- a/tools/firmware/xen-dir/Makefile
> > +++ b/tools/firmware/xen-dir/Makefile
> > @@ -11,6 +11,9 @@ D=xen-root
> > LINK_DIRS=config xen
> > LINK_FILES=Config.mk
> >
> > +# Files to exclude from the link farm
> > +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map efi.lds xen.lds mkelf32
> mkreloc
>
> What about xen.efi and all of its auxiliary files?
Fair point - this list was from a non-EFI build, and EFI does add two more
files to it: xen.efi and xen.efi.map
> What about other generated files?
>
I don't see any others being added to the stamp file -- with the possible
exception of the "disabled" file in xen/arch/x86/efi which can capture
build errors. I don't think that file will be present in production builds.
Did you have any others in mind? I'll post an updated patch with the
EFI-updated list in the meantime.
Christopher
[-- Attachment #1.2: Type: text/html, Size: 2653 bytes --]
[-- Attachment #2: Type: text/plain, Size: 157 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] firmware/shim : filter output files during Xen tree setup
2018-07-25 0:21 ` Christopher Clark
@ 2018-07-25 0:28 ` Christopher Clark
[not found] ` <5B57C29F0200000804C77BEC@prv1-mh.provo.novell.com>
2018-07-25 7:51 ` [PATCH] " Jan Beulich
1 sibling, 1 reply; 11+ messages in thread
From: Christopher Clark @ 2018-07-25 0:28 UTC (permalink / raw)
To: xen-devel; +Cc: wei.liu2, ian.jackson, jbeulich
Exclude named output files from the Xen tree setup.
The linkfarm.stamp content will differ between top level "make"
and "make install" invocations, due to the introduction of these
output files that are produced during the "make" build.
Filter these out to prevent an unnecessary rebuild of the shim
during "make install".
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
---
v2: added xen.efi, xen.efi.map to the exclusion list
tools/firmware/xen-dir/Makefile | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/Makefile
index 84648c3..a9614e4 100644
--- a/tools/firmware/xen-dir/Makefile
+++ b/tools/firmware/xen-dir/Makefile
@@ -11,6 +11,10 @@ D=xen-root
LINK_DIRS=config xen
LINK_FILES=Config.mk
+# Files to exclude from the link farm
+EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map xen.efi xen.efi.map \
+ efi.lds xen.lds mkelf32 mkreloc
+
DEP_DIRS=$(foreach i, $(LINK_DIRS), $(XEN_ROOT)/$(i))
DEP_FILES=$(foreach i, $(LINK_FILES), $(XEN_ROOT)/$(i))
@@ -26,7 +30,8 @@ linkfarm.stamp: $(DEP_DIRS) $(DEP_FILES) FORCE
$(foreach d, $(LINK_DIRS), \
(cd $(XEN_ROOT); \
find $(d) ! -type l -type f \
- $(addprefix ! -name , '*.[isoa]' '.*.d' '.*.d2')) \
+ $(addprefix ! -name , '*.[isoa]' '.*.d' '.*.d2' \
+ $(EXCLUDE_FILES) )) \
>> linkfarm.stamp.tmp ; ) \
$(foreach f, $(LINK_FILES), \
echo $(f) >> linkfarm.stamp.tmp ;)
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] firmware/shim : filter output files during Xen tree setup
2018-07-25 0:21 ` Christopher Clark
2018-07-25 0:28 ` [PATCH v2] " Christopher Clark
@ 2018-07-25 7:51 ` Jan Beulich
1 sibling, 0 replies; 11+ messages in thread
From: Jan Beulich @ 2018-07-25 7:51 UTC (permalink / raw)
To: Christopher Clark; +Cc: Ian Jackson, Wei Liu, xen-devel
>>> On 25.07.18 at 02:21, <christopher.w.clark@gmail.com> wrote:
> On Tue, Jul 24, 2018 at 2:43 AM, Jan Beulich <JBeulich@suse.com> wrote:
>
>> >>> On 20.07.18 at 23:15, <christopher.w.clark@gmail.com> wrote:
>> > Exclude named output files from the Xen tree setup.
>> >
>> > The linkfarm.stamp content will differ between top level "make"
>> > and "make install" invocations, due to the introduction of these
>> > output files that are produced during the "make" build.
>> >
>> > Filter these out to prevent an unnecessary rebuild of the shim during
>> > "make install".
>> >
>> > Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
>> > ---
>> > tools/firmware/xen-dir/Makefile | 6 +++++-
>> > 1 file changed, 5 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/tools/firmware/xen-dir/Makefile
>> > b/tools/firmware/xen-dir/Makefile
>> > index 84648c3..e490dca 100644
>> > --- a/tools/firmware/xen-dir/Makefile
>> > +++ b/tools/firmware/xen-dir/Makefile
>> > @@ -11,6 +11,9 @@ D=xen-root
>> > LINK_DIRS=config xen
>> > LINK_FILES=Config.mk
>> >
>> > +# Files to exclude from the link farm
>> > +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map efi.lds xen.lds mkelf32
>> mkreloc
>>
>> What about xen.efi and all of its auxiliary files?
>
>
> Fair point - this list was from a non-EFI build, and EFI does add two more
> files to it: xen.efi and xen.efi.map
So what about the auxiliary ones created there, like ..xen-syms.* or
..xen.efi.*
>> What about other generated files?
>>
>
> I don't see any others being added to the stamp file -- with the possible
> exception of the "disabled" file in xen/arch/x86/efi which can capture
> build errors. I don't think that file will be present in production builds.
>
> Did you have any others in mind? I'll post an updated patch with the
> EFI-updated list in the meantime.
Besides the above ones, I'd suspect generated headers to show up
there, possibly only after having run a second (incremental) build in
that tree. I notice that the *.[isoa] exclusion already takes care of
avoiding e.g. asm-offsets.s.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] firmware/shim : filter output files during Xen tree setup
[not found] ` <5B57C462020000E403D61C84@prv1-mh.provo.novell.com>
@ 2018-07-25 8:10 ` Jan Beulich
2018-07-26 21:10 ` Christopher Clark
0 siblings, 1 reply; 11+ messages in thread
From: Jan Beulich @ 2018-07-25 8:10 UTC (permalink / raw)
To: Christopher Clark; +Cc: Ian Jackson, Wei Liu, xen-devel
>>> On 25.07.18 at 02:28, <christopher.w.clark@gmail.com> wrote:
> --- a/tools/firmware/xen-dir/Makefile
> +++ b/tools/firmware/xen-dir/Makefile
> @@ -11,6 +11,10 @@ D=xen-root
> LINK_DIRS=config xen
> LINK_FILES=Config.mk
>
> +# Files to exclude from the link farm
> +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map xen.efi xen.efi.map \
> + efi.lds xen.lds mkelf32 mkreloc
To amend my earlier reply to v1, here's a diff between the initial linkfarm.stamp
and one resulting after a first incremental re-build:
--- .../tools/firmware/xen-dir/linkfarm.stamp
+++ .../tools/firmware/xen-dir/linkfarm.stamp
@@ -212,6 +212,13 @@ xen/arch/x86/boot/edd.S
xen/arch/x86/boot/cmdline.c
xen/arch/x86/boot/Makefile
xen/arch/x86/boot/build32.mk
+xen/arch/x86/boot/mkelf32
+xen/arch/x86/boot/reloc.lnk
+xen/arch/x86/boot/cmdline.lnk
+xen/arch/x86/boot/cmdline.bin
+xen/arch/x86/boot/reloc.bin
+xen/arch/x86/boot/cmdline.S
+xen/arch/x86/boot/reloc.S
xen/arch/x86/cpu/mcheck/mce.c
xen/arch/x86/cpu/mcheck/mce_intel.c
xen/arch/x86/cpu/mcheck/x86_mca.h
@@ -257,6 +264,12 @@ xen/arch/x86/efi/relocs-dummy.S
xen/arch/x86/efi/check.c
xen/arch/x86/efi/Makefile
xen/arch/x86/efi/efi-boot.h
+xen/arch/x86/efi/boot.c
+xen/arch/x86/efi/runtime.c
+xen/arch/x86/efi/compat.c
+xen/arch/x86/efi/efi.h
+xen/arch/x86/efi/mkreloc
+xen/arch/x86/efi/check.efi
xen/arch/x86/genapic/bigsmp.c
xen/arch/x86/genapic/default.c
xen/arch/x86/genapic/delivery.c
@@ -460,6 +473,8 @@ xen/arch/x86/copy_page.S
xen/arch/x86/compat.c
xen/arch/x86/bitops.c
xen/arch/x86/bzimage.c
+xen/arch/x86/xen.lds
+xen/arch/x86/efi.lds
xen/arch/Kconfig
xen/common/compat/grant_table.c
xen/common/compat/xlat.c
@@ -1023,6 +1038,9 @@ xen/include/asm-x86/apicdef.h
xen/include/asm-x86/altp2m.h
xen/include/asm-x86/amd-iommu.h
xen/include/asm-x86/acpi.h
+xen/include/asm-x86/cpuid-autogen.h
+xen/include/asm-x86/asm-macros.h
+xen/include/asm-x86/asm-offsets.h
xen/include/crypto/vmac.h
xen/include/crypto/rijndael.h
xen/include/crypto/README.source
@@ -1240,10 +1258,139 @@ xen/include/xen/bitops.h
xen/include/xen/bitmap.h
xen/include/xen/8250-uart.h
xen/include/xen/device_tree.h
+xen/include/xen/compile.h
xen/include/xsm/dummy.h
xen/include/xsm/xsm.h
xen/include/xlat.lst
xen/include/Makefile
+xen/include/config/auto.conf.cmd
+xen/include/config/arch/supports/int128.h
+xen/include/config/arch/defconfig.h
+xen/include/config/has/alternative.h
+xen/include/config/has/mem/access.h
+xen/include/config/has/mem/paging.h
+xen/include/config/has/mem/sharing.h
+xen/include/config/has/vpci.h
+xen/include/config/has/pdx.h
+xen/include/config/has/gdbsx.h
+xen/include/config/has/pci.h
+xen/include/config/has/ehci.h
+xen/include/config/has/ioports.h
+xen/include/config/has/cpufreq.h
+xen/include/config/has/kexec.h
+xen/include/config/has/passthrough.h
+xen/include/config/has/ex/table.h
+xen/include/config/has/ubsan.h
+xen/include/config/has/ns16550.h
+xen/include/config/compat.h
+xen/include/config/hvm/fep.h
+xen/include/config/scrub/debug.h
+xen/include/config/fast/symbol/lookup.h
+xen/include/config/sched/rtds.h
+xen/include/config/sched/null.h
+xen/include/config/sched/credit2.h
+xen/include/config/sched/credit.h
+xen/include/config/sched/default.h
+xen/include/config/sched/arinc653.h
+xen/include/config/x86.h
+xen/include/config/acpi.h
+xen/include/config/xenoprof.h
+xen/include/config/pv.h
+xen/include/config/core/parking.h
+xen/include/config/defconfig/list.h
+xen/include/config/tboot.h
+xen/include/config/video.h
+xen/include/config/kexec.h
+xen/include/config/frame/pointer.h
+xen/include/config/tmem.h
+xen/include/config/numa.h
+xen/include/config/hvm.h
+xen/include/config/verbose/debug.h
+xen/include/config/crypto.h
+xen/include/config/cmdline.h
+xen/include/config/livepatch.h
+xen/include/config/x86/64.h
+xen/include/config/shadow/paging.h
+xen/include/config/nr/cpus.h
+xen/include/config/vga.h
+xen/include/config/debug.h
+xen/include/config/64bit.h
+xen/include/config/pv/linear/pt.h
+xen/include/config/acpi/legacy/tables/lookup.h
+xen/include/config/needs/libelf.h
+xen/include/config/tristate.conf
+xen/include/config/auto.conf
+xen/include/generated/autoconf.h
+xen/include/compat/arch-x86/xen-x86_32.h
+xen/include/compat/arch-x86/pmu.h
+xen/include/compat/arch-x86/xen.h
+xen/include/compat/arch-x86/xen-mca.h
+xen/include/compat/hvm/hvm_vcpu.h
+xen/include/compat/hvm/hvm_op.h
+xen/include/compat/hvm/dm_op.h
+xen/include/compat/.xlat/arch-x86/pmu.lst
+xen/include/compat/.xlat/arch-x86/xen-x86_32.lst
+xen/include/compat/.xlat/arch-x86/xen.lst
+xen/include/compat/.xlat/arch-x86/xen-mca.lst
+xen/include/compat/.xlat/arch-x86/xen-x86_32.h
+xen/include/compat/.xlat/arch-x86/xen.h
+xen/include/compat/.xlat/arch-x86/pmu.h
+xen/include/compat/.xlat/arch-x86/xen-mca.h
+xen/include/compat/.xlat/hvm/dm_op.lst
+xen/include/compat/.xlat/hvm/hvm_op.lst
+xen/include/compat/.xlat/hvm/hvm_vcpu.lst
+xen/include/compat/.xlat/hvm/hvm_op.h
+xen/include/compat/.xlat/hvm/hvm_vcpu.h
+xen/include/compat/.xlat/hvm/dm_op.h
+xen/include/compat/.xlat/xen.lst
+xen/include/compat/.xlat/event_channel.lst
+xen/include/compat/.xlat/grant_table.lst
+xen/include/compat/.xlat/kexec.lst
+xen/include/compat/.xlat/memory.lst
+xen/include/compat/.xlat/physdev.lst
+xen/include/compat/.xlat/platform.lst
+xen/include/compat/.xlat/pmu.lst
+xen/include/compat/.xlat/sched.lst
+xen/include/compat/.xlat/tmem.lst
+xen/include/compat/.xlat/trace.lst
+xen/include/compat/.xlat/vcpu.lst
+xen/include/compat/.xlat/xenoprof.lst
+xen/include/compat/.xlat/pmu.h
+xen/include/compat/.xlat/xenoprof.h
+xen/include/compat/.xlat/trace.h
+xen/include/compat/.xlat/tmem.h
+xen/include/compat/.xlat/kexec.h
+xen/include/compat/.xlat/vcpu.h
+xen/include/compat/.xlat/sched.h
+xen/include/compat/.xlat/event_channel.h
+xen/include/compat/.xlat/physdev.h
+xen/include/compat/.xlat/xen.h
+xen/include/compat/.xlat/grant_table.h
+xen/include/compat/.xlat/memory.h
+xen/include/compat/.xlat/platform.h
+xen/include/compat/arch-x86_32.h
+xen/include/compat/version.h
+xen/include/compat/pmu.h
+xen/include/compat/nmi.h
+xen/include/compat/callback.h
+xen/include/compat/tmem.h
+xen/include/compat/features.h
+xen/include/compat/kexec.h
+xen/include/compat/xenoprof.h
+xen/include/compat/vcpu.h
+xen/include/compat/trace.h
+xen/include/compat/event_channel.h
+xen/include/compat/sched.h
+xen/include/compat/elfnote.h
+xen/include/compat/physdev.h
+xen/include/compat/grant_table.h
+xen/include/compat/platform.h
+xen/include/compat/memory.h
+xen/include/compat/xen.h
+xen/include/compat/xlat.h
+xen/include/headers99.chk
+xen/include/headers.chk
+xen/include/headers++.chk
xen/tools/kconfig/lxdialog/yesno.c
xen/tools/kconfig/lxdialog/util.c
xen/tools/kconfig/lxdialog/textbox.c
@@ -1288,6 +1435,10 @@ xen/tools/kconfig/Makefile.kconfig
xen/tools/kconfig/POTFILES.in
xen/tools/kconfig/Makefile.host
xen/tools/kconfig/Makefile
+xen/tools/kconfig/zconf.tab.c
+xen/tools/kconfig/zconf.lex.c
+xen/tools/kconfig/zconf.hash.c
+xen/tools/kconfig/conf
xen/tools/gen-cpuid.py
xen/tools/scmversion
xen/tools/get-fields.sh
@@ -1297,6 +1448,7 @@ xen/tools/xen.flf
xen/tools/symbols.c
xen/tools/Makefile
xen/tools/fig-to-oct.py
+xen/tools/symbols
xen/xsm/flask/include/objsec.h
xen/xsm/flask/include/security.h
xen/xsm/flask/include/avc_ss.h
@@ -1352,4 +1504,12 @@ xen/Kconfig.debug
xen/Kconfig
xen/Rules.mk
xen/COPYING
+xen/.config
+xen/.banner
+xen/xen.efi
+xen/xen-syms
+xen/xen.efi.map
+xen/xen-syms.map
+xen/xen
+xen/xen.gz
Config.mk
I think all additions here should be considered as exclusion candidates.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] firmware/shim : filter output files during Xen tree setup
2018-07-25 8:10 ` Jan Beulich
@ 2018-07-26 21:10 ` Christopher Clark
0 siblings, 0 replies; 11+ messages in thread
From: Christopher Clark @ 2018-07-26 21:10 UTC (permalink / raw)
To: Jan Beulich; +Cc: Ian Jackson, Wei Liu, xen-devel
[-- Attachment #1.1: Type: text/plain, Size: 2185 bytes --]
On Wed, Jul 25, 2018 at 1:10 AM, Jan Beulich <JBeulich@suse.com> wrote:
> >>> On 25.07.18 at 02:28, <christopher.w.clark@gmail.com> wrote:
> > --- a/tools/firmware/xen-dir/Makefile
> > +++ b/tools/firmware/xen-dir/Makefile
> > @@ -11,6 +11,10 @@ D=xen-root
> > LINK_DIRS=config xen
> > LINK_FILES=Config.mk
> >
> > +# Files to exclude from the link farm
> > +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map xen.efi xen.efi.map \
> > + efi.lds xen.lds mkelf32 mkreloc
>
>
> So what about the auxiliary ones created there, like ..xen-syms.* or
> ..xen.efi.*
Thanks for this feedback. After rebuilding binutils to include an
EFI-capable linker, and then all tools dependent on that, and then building
the Xen tree, these files have become evident.
I added handling for these to the exclusion list, and tested with each of
Xen 4.10.1(*), 4.11.0 and staging: Each build passes "make", "make install"
in fresh trees without rebuilding the shim during the install step.
The 4.10.1 test was with this additional commit applied:
commit 8717e7417cebeae162fd61ea4cbdcdd422748f08
Author: Juergen Gross <jgross@suse.com>
shim: don't let build modify shim.config
I'll post a v3 patch with the updated exclusion list as per above.
To amend my earlier reply to v1, here's a diff between the initial
> linkfarm.stamp
> and one resulting after a first incremental re-build:
> --- .../tools/firmware/xen-dir/linkfarm.stamp
> +++ .../tools/firmware/xen-dir/linkfarm.stamp
>
>
> I think all additions here should be considered as exclusion candidates.
>
The unfortunate thing about that list is that it is quite a bit longer and
will be more vulnerable to change. It includes header files which makes me
wary of it. You could shorten it with some wildcard matching, and you'll be
approaching something similar to the gitignore file content, as Roger had
pointed towards, but my preference is to leave it alone.
None of the options here that are short of a rewrite are great, but the
short exclusion list improves the behaviour for non-incremental builds,
which is a benefit for downstream and production builds where incremental
builds are not a requirement.
Christopher
[-- Attachment #1.2: Type: text/html, Size: 3993 bytes --]
[-- Attachment #2: Type: text/plain, Size: 157 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2018-07-26 21:10 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-20 21:15 [PATCH] firmware/shim : filter output files during Xen tree setup Christopher Clark
2018-07-23 8:17 ` Wei Liu
2018-07-23 9:09 ` Roger Pau Monné
2018-07-23 9:26 ` Andrew Cooper
2018-07-23 23:00 ` Christopher Clark
2018-07-24 9:43 ` Jan Beulich
2018-07-25 0:21 ` Christopher Clark
2018-07-25 0:28 ` [PATCH v2] " Christopher Clark
[not found] ` <5B57C29F0200000804C77BEC@prv1-mh.provo.novell.com>
[not found] ` <5B57C462020000E403D61C84@prv1-mh.provo.novell.com>
2018-07-25 8:10 ` Jan Beulich
2018-07-26 21:10 ` Christopher Clark
2018-07-25 7:51 ` [PATCH] " Jan Beulich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).