On Wed, Feb 25, 2026 at 12:43:01PM +0100, Jan Beulich wrote:
> Before adding more private stuff to xen/vpci.h, split it up. In order to
> be able to include the private header first in a CU, the per-arch struct
> decls also need to move (to new asm/vpci.h files).
> 
> While adjusting the test harness'es Makefile, also switch the pre-existing
> header symlink-ing rule to a pattern one.
> 
> Apart from in the test harness code, things only move; no functional
> change intended.
> 
> Signed-off-by: Jan Beulich <[email protected]>

Acked-by: Roger Pau Monné <[email protected]>

One comment below.  The Ack stands regardless of whether you want to
change it or not.

> ---
> Subsequently, at least on x86 more stuff may want moving into asm/vpci.h.
> ---
> v5: Add new generated header to test harness clean rule and to .gitignore.
>     Also move vpci_init_header().
> v4: New.
> 
> --- a/.gitignore
> +++ b/.gitignore
> @@ -154,6 +154,7 @@ tools/tests/x86_emulator/test_x86_emulat
>  tools/tests/x86_emulator/x86_emulate
>  tools/tests/x86_emulator/xop*.[ch]
>  tools/tests/vpci/list.h
> +tools/tests/vpci/private.h
>  tools/tests/vpci/vpci.[hc]
>  tools/tests/vpci/test_vpci
>  tools/xcutils/lsevtchn
> --- a/tools/tests/vpci/Makefile
> +++ b/tools/tests/vpci/Makefile
> @@ -14,12 +14,12 @@ else
>       $(warning HOSTCC != CC, will not run test)
>  endif
>  
> -$(TARGET): vpci.c vpci.h list.h main.c emul.h
> -     $(CC) $(CFLAGS_xeninclude) -g -o $@ vpci.c main.c
> +$(TARGET): vpci.c vpci.h list.h private.h main.c emul.h
> +     $(CC) $(CFLAGS_xeninclude) -include emul.h -g -o $@ vpci.c main.c
>  
>  .PHONY: clean
>  clean:
> -     rm -rf $(TARGET) *.o *~ vpci.h vpci.c list.h
> +     rm -rf $(TARGET) *.o *~ vpci.h vpci.c list.h private.h
>  
>  .PHONY: distclean
>  distclean: clean
> @@ -34,10 +34,10 @@ uninstall:
>       $(RM) -- $(DESTDIR)$(LIBEXEC)/tests/$(TARGET)
>  
>  vpci.c: $(XEN_ROOT)/xen/drivers/vpci/vpci.c
> -     # Remove includes and add the test harness header
> -     sed -e '/#include/d' -e '1s/^/#include "emul.h"/' <$< >$@
> +     sed -e '/#include/d' <$< >$@
> +
> +private.h: %.h: $(XEN_ROOT)/xen/drivers/vpci/%.h
> +     sed -e '/#include/d' <$< >$@

Nit: if you are changing/adding those we might as well do
/^#[[:space:]]*include/d, as sometimes we add spaces if the header
inclusion is conditional.

Thanks, Roger.

Reply via email to