All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] Split off mini-os to a separate tree
@ 2015-02-20 11:17 Wei Liu
  2015-02-20 11:17 ` [PATCH v2 1/7] stubdom: fix "make build" Wei Liu
                   ` (7 more replies)
  0 siblings, 8 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

This is v2 of my mini-os splitting off patch series.

I use following runes to split off mini-os:

  git filter-branch --tag-name-filter cat \
    --subdirectory-filter extras/mini-os/ -- --all

  # There is already a tag name 4.3.0-rc2 which points to the same commit.
  git tag -d xen-4.3.0-rc2

  # Add xen- prefix to all tags
  for t in `git tag`; do git tag "xen-$t" "$t"; git tag -d "$t" ; done

  git gc --aggressive
  
The tree can be found at:
  git://xenbits.xen.org/people/liuw/mini-os.git master

The changeset used is 0cc86f6747f9bba01a332f3255c48dc743e29c4d which is
currently the HEAD of mater branch.

The Xen side patches can be pulled from:
  git://xenbits.xen.org/people/liuw/xen.git wip.build-system-v2

Now mini-os builds on its own. I've also done some minor adjustments to
stubdom's build system, so that we can properly issue "make build-stubdom"
in Xen tree top level directory.

Wei.

Wei Liu (7):
  stubdom: fix "make build"
  Makefile: refactor build/clean/distclean targets
  stubdom: don't look for mini-os source file during configure
  git-checkout.sh: use "mkdir -p"
  Mini-OS: standalone build
  build system: stubdom targets now depends on mini-os target
  Remove in-tree mini-os directory

 .gitignore                                         |    7 +-
 Config.mk                                          |    6 +
 Makefile                                           |   58 +-
 Makefile.mini-os                                   |   15 +
 extras/mini-os/COPYING                             |   36 -
 extras/mini-os/Config.mk                           |   57 -
 extras/mini-os/Makefile                            |  226 ---
 extras/mini-os/README                              |   46 -
 extras/mini-os/app.lds                             |   11 -
 extras/mini-os/arch/arm/arm32.S                    |  294 ----
 extras/mini-os/arch/arm/events.c                   |   31 -
 extras/mini-os/arch/arm/hypercalls32.S             |   64 -
 extras/mini-os/arch/arm/minios-arm32.lds           |   83 --
 extras/mini-os/arch/arm/mm.c                       |  139 --
 extras/mini-os/arch/arm/panic.c                    |   98 --
 extras/mini-os/arch/arm/sched.c                    |   47 -
 extras/mini-os/arch/arm/setup.c                    |  119 --
 extras/mini-os/arch/arm/time.c                     |  136 --
 extras/mini-os/arch/x86/Makefile                   |   31 -
 extras/mini-os/arch/x86/arch.mk                    |   22 -
 extras/mini-os/arch/x86/events.c                   |   35 -
 extras/mini-os/arch/x86/ioremap.c                  |   75 -
 extras/mini-os/arch/x86/iorw.c                     |   35 -
 extras/mini-os/arch/x86/minios-x86_32.lds          |   74 -
 extras/mini-os/arch/x86/minios-x86_64.lds          |   74 -
 extras/mini-os/arch/x86/mm.c                       |  957 ------------
 extras/mini-os/arch/x86/sched.c                    |  139 --
 extras/mini-os/arch/x86/setup.c                    |  168 ---
 extras/mini-os/arch/x86/time.c                     |  238 ---
 extras/mini-os/arch/x86/traps.c                    |  333 -----
 extras/mini-os/arch/x86/x86_32.S                   |  305 ----
 extras/mini-os/arch/x86/x86_64.S                   |  383 -----
 extras/mini-os/blkfront.c                          |  736 ----------
 extras/mini-os/console/console.c                   |  164 ---
 extras/mini-os/console/console.h                   |    2 -
 extras/mini-os/console/xenbus.c                    |  195 ---
 extras/mini-os/console/xencons_ring.c              |  195 ---
 extras/mini-os/daytime.c                           |   67 -
 extras/mini-os/domain_config                       |   19 -
 extras/mini-os/events.c                            |  269 ----
 extras/mini-os/fbfront.c                           |  710 ---------
 extras/mini-os/gntmap.c                            |  250 ----
 extras/mini-os/gnttab.c                            |  196 ---
 extras/mini-os/hypervisor.c                        |  132 --
 extras/mini-os/include/arch/cc.h                   |   87 --
 extras/mini-os/include/arch/perf.h                 |   15 -
 extras/mini-os/include/arch/sys_arch.h             |   35 -
 extras/mini-os/include/arm/arch_endian.h           |    7 -
 extras/mini-os/include/arm/arch_limits.h           |    9 -
 extras/mini-os/include/arm/arch_mm.h               |   38 -
 extras/mini-os/include/arm/arch_sched.h            |   19 -
 extras/mini-os/include/arm/arch_spinlock.h         |   36 -
 extras/mini-os/include/arm/arm32/arch_wordsize.h   |    1 -
 extras/mini-os/include/arm/gic.h                   |    1 -
 extras/mini-os/include/arm/hypercall-arm.h         |   98 --
 extras/mini-os/include/arm/os.h                    |  216 ---
 extras/mini-os/include/arm/traps.h                 |   20 -
 extras/mini-os/include/blkfront.h                  |   54 -
 extras/mini-os/include/byteorder.h                 |   36 -
 extras/mini-os/include/byteswap.h                  |   39 -
 extras/mini-os/include/compiler.h                  |   10 -
 extras/mini-os/include/console.h                   |   89 --
 extras/mini-os/include/ctype.h                     |   60 -
 extras/mini-os/include/endian.h                    |   19 -
 extras/mini-os/include/err.h                       |   31 -
 extras/mini-os/include/errno-base.h                |   39 -
 extras/mini-os/include/errno.h                     |  122 --
 extras/mini-os/include/events.h                    |   59 -
 extras/mini-os/include/fbfront.h                   |   46 -
 extras/mini-os/include/fcntl.h                     |   99 --
 extras/mini-os/include/gntmap.h                    |   35 -
 extras/mini-os/include/gnttab.h                    |   17 -
 extras/mini-os/include/hypervisor.h                |   48 -
 extras/mini-os/include/ioremap.h                   |   33 -
 extras/mini-os/include/iorw.h                      |   16 -
 extras/mini-os/include/kernel.h                    |    9 -
 extras/mini-os/include/lib-gpl.h                   |   59 -
 extras/mini-os/include/lib.h                       |  230 ---
 extras/mini-os/include/linux/types.h               |    5 -
 extras/mini-os/include/lwipopts.h                  |   23 -
 extras/mini-os/include/mm.h                        |   82 --
 extras/mini-os/include/netfront.h                  |   24 -
 extras/mini-os/include/pcifront.h                  |   29 -
 extras/mini-os/include/posix/arpa/inet.h           |    7 -
 extras/mini-os/include/posix/dirent.h              |   24 -
 extras/mini-os/include/posix/err.h                 |   15 -
 extras/mini-os/include/posix/fcntl.h               |   11 -
 extras/mini-os/include/posix/limits.h              |   48 -
 extras/mini-os/include/posix/net/if.h              |   85 --
 extras/mini-os/include/posix/netdb.h               |    9 -
 extras/mini-os/include/posix/netinet/in.h          |    7 -
 extras/mini-os/include/posix/netinet/tcp.h         |    6 -
 extras/mini-os/include/posix/poll.h                |    1 -
 extras/mini-os/include/posix/pthread.h             |   64 -
 extras/mini-os/include/posix/signal.h              |   10 -
 extras/mini-os/include/posix/stdlib.h              |    8 -
 extras/mini-os/include/posix/strings.h             |   12 -
 extras/mini-os/include/posix/sys/ioctl.h           |   16 -
 extras/mini-os/include/posix/sys/mman.h            |   22 -
 extras/mini-os/include/posix/sys/poll.h            |   79 -
 extras/mini-os/include/posix/sys/select.h          |    7 -
 extras/mini-os/include/posix/sys/socket.h          |   31 -
 extras/mini-os/include/posix/sys/stat.h            |    7 -
 extras/mini-os/include/posix/syslog.h              |   37 -
 extras/mini-os/include/posix/termios.h             |   87 --
 extras/mini-os/include/posix/time.h                |   11 -
 extras/mini-os/include/posix/unistd.h              |   16 -
 extras/mini-os/include/sched.h                     |   55 -
 extras/mini-os/include/semaphore.h                 |  110 --
 extras/mini-os/include/spinlock.h                  |   55 -
 extras/mini-os/include/sys/lock.h                  |   52 -
 extras/mini-os/include/sys/time.h                  |   47 -
 extras/mini-os/include/time.h                      |   63 -
 extras/mini-os/include/tpm_tis.h                   |   61 -
 extras/mini-os/include/tpmback.h                   |  104 --
 extras/mini-os/include/tpmfront.h                  |   97 --
 extras/mini-os/include/types.h                     |   74 -
 extras/mini-os/include/wait.h                      |  105 --
 extras/mini-os/include/waittypes.h                 |   32 -
 extras/mini-os/include/x86/arch_endian.h           |    7 -
 extras/mini-os/include/x86/arch_limits.h           |   20 -
 extras/mini-os/include/x86/arch_mm.h               |  233 ---
 extras/mini-os/include/x86/arch_sched.h            |   25 -
 extras/mini-os/include/x86/arch_spinlock.h         |   94 --
 extras/mini-os/include/x86/os.h                    |  572 --------
 extras/mini-os/include/x86/traps.h                 |   78 -
 extras/mini-os/include/x86/x86_32/arch_wordsize.h  |    1 -
 .../mini-os/include/x86/x86_32/hypercall-x86_32.h  |  337 -----
 extras/mini-os/include/x86/x86_64/arch_wordsize.h  |    2 -
 .../mini-os/include/x86/x86_64/hypercall-x86_64.h  |  344 -----
 extras/mini-os/include/xenbus.h                    |  120 --
 extras/mini-os/include/xmalloc.h                   |   44 -
 extras/mini-os/kernel.c                            |  198 ---
 extras/mini-os/lib/ctype.c                         |   29 -
 extras/mini-os/lib/math.c                          |  426 ------
 extras/mini-os/lib/printf.c                        |  786 ----------
 extras/mini-os/lib/stack_chk_fail.c                |    8 -
 extras/mini-os/lib/string.c                        |  228 ---
 extras/mini-os/lib/sys.c                           | 1550 --------------------
 extras/mini-os/lib/xmalloc.c                       |  319 ----
 extras/mini-os/lib/xs.c                            |  194 ---
 extras/mini-os/lock.c                              |  112 --
 extras/mini-os/lwip-arch.c                         |  293 ----
 extras/mini-os/lwip-net.c                          |  386 -----
 extras/mini-os/main.c                              |  193 ---
 extras/mini-os/minios.mk                           |   76 -
 extras/mini-os/mm.c                                |  441 ------
 extras/mini-os/netfront.c                          |  675 ---------
 extras/mini-os/pcifront.c                          |  616 --------
 extras/mini-os/sched.c                             |  304 ----
 extras/mini-os/test.c                              |  577 --------
 extras/mini-os/tpm_tis.c                           | 1523 -------------------
 extras/mini-os/tpmback.c                           | 1136 --------------
 extras/mini-os/tpmfront.c                          |  631 --------
 extras/mini-os/xenbus/xenbus.c                     |  870 -----------
 scripts/git-checkout.sh                            |    2 +-
 stubdom/Makefile                                   |    6 +
 stubdom/configure.ac                               |    2 +-
 tools/misc/mktarball                               |    4 +-
 159 files changed, 84 insertions(+), 24025 deletions(-)
 create mode 100644 Makefile.mini-os
 delete mode 100644 extras/mini-os/COPYING
 delete mode 100644 extras/mini-os/Config.mk
 delete mode 100644 extras/mini-os/Makefile
 delete mode 100644 extras/mini-os/README
 delete mode 100644 extras/mini-os/app.lds
 delete mode 100644 extras/mini-os/arch/arm/arm32.S
 delete mode 100644 extras/mini-os/arch/arm/events.c
 delete mode 100644 extras/mini-os/arch/arm/hypercalls32.S
 delete mode 100755 extras/mini-os/arch/arm/minios-arm32.lds
 delete mode 100644 extras/mini-os/arch/arm/mm.c
 delete mode 100644 extras/mini-os/arch/arm/panic.c
 delete mode 100644 extras/mini-os/arch/arm/sched.c
 delete mode 100644 extras/mini-os/arch/arm/setup.c
 delete mode 100644 extras/mini-os/arch/arm/time.c
 delete mode 100644 extras/mini-os/arch/x86/Makefile
 delete mode 100644 extras/mini-os/arch/x86/arch.mk
 delete mode 100644 extras/mini-os/arch/x86/events.c
 delete mode 100644 extras/mini-os/arch/x86/ioremap.c
 delete mode 100644 extras/mini-os/arch/x86/iorw.c
 delete mode 100644 extras/mini-os/arch/x86/minios-x86_32.lds
 delete mode 100644 extras/mini-os/arch/x86/minios-x86_64.lds
 delete mode 100644 extras/mini-os/arch/x86/mm.c
 delete mode 100644 extras/mini-os/arch/x86/sched.c
 delete mode 100644 extras/mini-os/arch/x86/setup.c
 delete mode 100644 extras/mini-os/arch/x86/time.c
 delete mode 100644 extras/mini-os/arch/x86/traps.c
 delete mode 100644 extras/mini-os/arch/x86/x86_32.S
 delete mode 100644 extras/mini-os/arch/x86/x86_64.S
 delete mode 100644 extras/mini-os/blkfront.c
 delete mode 100644 extras/mini-os/console/console.c
 delete mode 100644 extras/mini-os/console/console.h
 delete mode 100644 extras/mini-os/console/xenbus.c
 delete mode 100644 extras/mini-os/console/xencons_ring.c
 delete mode 100644 extras/mini-os/daytime.c
 delete mode 100644 extras/mini-os/domain_config
 delete mode 100644 extras/mini-os/events.c
 delete mode 100644 extras/mini-os/fbfront.c
 delete mode 100644 extras/mini-os/gntmap.c
 delete mode 100644 extras/mini-os/gnttab.c
 delete mode 100644 extras/mini-os/hypervisor.c
 delete mode 100644 extras/mini-os/include/arch/cc.h
 delete mode 100644 extras/mini-os/include/arch/perf.h
 delete mode 100644 extras/mini-os/include/arch/sys_arch.h
 delete mode 100644 extras/mini-os/include/arm/arch_endian.h
 delete mode 100644 extras/mini-os/include/arm/arch_limits.h
 delete mode 100644 extras/mini-os/include/arm/arch_mm.h
 delete mode 100644 extras/mini-os/include/arm/arch_sched.h
 delete mode 100755 extras/mini-os/include/arm/arch_spinlock.h
 delete mode 100644 extras/mini-os/include/arm/arm32/arch_wordsize.h
 delete mode 100644 extras/mini-os/include/arm/gic.h
 delete mode 100644 extras/mini-os/include/arm/hypercall-arm.h
 delete mode 100644 extras/mini-os/include/arm/os.h
 delete mode 100644 extras/mini-os/include/arm/traps.h
 delete mode 100644 extras/mini-os/include/blkfront.h
 delete mode 100644 extras/mini-os/include/byteorder.h
 delete mode 100644 extras/mini-os/include/byteswap.h
 delete mode 100644 extras/mini-os/include/compiler.h
 delete mode 100644 extras/mini-os/include/console.h
 delete mode 100644 extras/mini-os/include/ctype.h
 delete mode 100644 extras/mini-os/include/endian.h
 delete mode 100644 extras/mini-os/include/err.h
 delete mode 100644 extras/mini-os/include/errno-base.h
 delete mode 100644 extras/mini-os/include/errno.h
 delete mode 100644 extras/mini-os/include/events.h
 delete mode 100644 extras/mini-os/include/fbfront.h
 delete mode 100644 extras/mini-os/include/fcntl.h
 delete mode 100644 extras/mini-os/include/gntmap.h
 delete mode 100644 extras/mini-os/include/gnttab.h
 delete mode 100644 extras/mini-os/include/hypervisor.h
 delete mode 100644 extras/mini-os/include/ioremap.h
 delete mode 100644 extras/mini-os/include/iorw.h
 delete mode 100644 extras/mini-os/include/kernel.h
 delete mode 100644 extras/mini-os/include/lib-gpl.h
 delete mode 100644 extras/mini-os/include/lib.h
 delete mode 100644 extras/mini-os/include/linux/types.h
 delete mode 100644 extras/mini-os/include/lwipopts.h
 delete mode 100644 extras/mini-os/include/mm.h
 delete mode 100644 extras/mini-os/include/netfront.h
 delete mode 100644 extras/mini-os/include/pcifront.h
 delete mode 100644 extras/mini-os/include/posix/arpa/inet.h
 delete mode 100644 extras/mini-os/include/posix/dirent.h
 delete mode 100644 extras/mini-os/include/posix/err.h
 delete mode 100644 extras/mini-os/include/posix/fcntl.h
 delete mode 100644 extras/mini-os/include/posix/limits.h
 delete mode 100644 extras/mini-os/include/posix/net/if.h
 delete mode 100644 extras/mini-os/include/posix/netdb.h
 delete mode 100644 extras/mini-os/include/posix/netinet/in.h
 delete mode 100644 extras/mini-os/include/posix/netinet/tcp.h
 delete mode 100644 extras/mini-os/include/posix/poll.h
 delete mode 100644 extras/mini-os/include/posix/pthread.h
 delete mode 100644 extras/mini-os/include/posix/signal.h
 delete mode 100644 extras/mini-os/include/posix/stdlib.h
 delete mode 100644 extras/mini-os/include/posix/strings.h
 delete mode 100644 extras/mini-os/include/posix/sys/ioctl.h
 delete mode 100644 extras/mini-os/include/posix/sys/mman.h
 delete mode 100644 extras/mini-os/include/posix/sys/poll.h
 delete mode 100644 extras/mini-os/include/posix/sys/select.h
 delete mode 100644 extras/mini-os/include/posix/sys/socket.h
 delete mode 100644 extras/mini-os/include/posix/sys/stat.h
 delete mode 100644 extras/mini-os/include/posix/syslog.h
 delete mode 100644 extras/mini-os/include/posix/termios.h
 delete mode 100644 extras/mini-os/include/posix/time.h
 delete mode 100644 extras/mini-os/include/posix/unistd.h
 delete mode 100644 extras/mini-os/include/sched.h
 delete mode 100644 extras/mini-os/include/semaphore.h
 delete mode 100644 extras/mini-os/include/spinlock.h
 delete mode 100644 extras/mini-os/include/sys/lock.h
 delete mode 100644 extras/mini-os/include/sys/time.h
 delete mode 100644 extras/mini-os/include/time.h
 delete mode 100644 extras/mini-os/include/tpm_tis.h
 delete mode 100644 extras/mini-os/include/tpmback.h
 delete mode 100644 extras/mini-os/include/tpmfront.h
 delete mode 100644 extras/mini-os/include/types.h
 delete mode 100644 extras/mini-os/include/wait.h
 delete mode 100644 extras/mini-os/include/waittypes.h
 delete mode 100644 extras/mini-os/include/x86/arch_endian.h
 delete mode 100644 extras/mini-os/include/x86/arch_limits.h
 delete mode 100644 extras/mini-os/include/x86/arch_mm.h
 delete mode 100644 extras/mini-os/include/x86/arch_sched.h
 delete mode 100644 extras/mini-os/include/x86/arch_spinlock.h
 delete mode 100644 extras/mini-os/include/x86/os.h
 delete mode 100644 extras/mini-os/include/x86/traps.h
 delete mode 100644 extras/mini-os/include/x86/x86_32/arch_wordsize.h
 delete mode 100644 extras/mini-os/include/x86/x86_32/hypercall-x86_32.h
 delete mode 100644 extras/mini-os/include/x86/x86_64/arch_wordsize.h
 delete mode 100644 extras/mini-os/include/x86/x86_64/hypercall-x86_64.h
 delete mode 100644 extras/mini-os/include/xenbus.h
 delete mode 100644 extras/mini-os/include/xmalloc.h
 delete mode 100644 extras/mini-os/kernel.c
 delete mode 100644 extras/mini-os/lib/ctype.c
 delete mode 100644 extras/mini-os/lib/math.c
 delete mode 100644 extras/mini-os/lib/printf.c
 delete mode 100644 extras/mini-os/lib/stack_chk_fail.c
 delete mode 100644 extras/mini-os/lib/string.c
 delete mode 100644 extras/mini-os/lib/sys.c
 delete mode 100644 extras/mini-os/lib/xmalloc.c
 delete mode 100644 extras/mini-os/lib/xs.c
 delete mode 100644 extras/mini-os/lock.c
 delete mode 100644 extras/mini-os/lwip-arch.c
 delete mode 100644 extras/mini-os/lwip-net.c
 delete mode 100644 extras/mini-os/main.c
 delete mode 100644 extras/mini-os/minios.mk
 delete mode 100644 extras/mini-os/mm.c
 delete mode 100644 extras/mini-os/netfront.c
 delete mode 100644 extras/mini-os/pcifront.c
 delete mode 100644 extras/mini-os/sched.c
 delete mode 100644 extras/mini-os/test.c
 delete mode 100644 extras/mini-os/tpm_tis.c
 delete mode 100644 extras/mini-os/tpmback.c
 delete mode 100644 extras/mini-os/tpmfront.c
 delete mode 100644 extras/mini-os/xenbus/xenbus.c

-- 
1.9.1

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 1/7] stubdom: fix "make build"
  2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
  2015-02-20 11:17 ` [PATCH v2 2/7] Makefile: refactor build/clean/distclean targets Wei Liu
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

Cross compiling libxc requires some symlinks to exist.

Note that make -C tools/include requires running tools/configure. But at
least now the error message is much better than just a "file not found"
error.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jakcson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 stubdom/Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/stubdom/Makefile b/stubdom/Makefile
index 8fb885a..58ca08c 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -333,6 +333,8 @@ $(TARGETS_MINIOS): mini-os-%:
 .PHONY: libxc
 libxc: libxc-$(XEN_TARGET_ARCH)/libxenctrl.a libxc-$(XEN_TARGET_ARCH)/libxenguest.a
 libxc-$(XEN_TARGET_ARCH)/libxenctrl.a: cross-zlib
+	$(MAKE) -C $(XEN_ROOT)/tools/include
+	$(MAKE) DESTDIR= -C $(MINI_OS) links
 	CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= CONFIG_LIBXC_MINIOS=y -C libxc-$(XEN_TARGET_ARCH)
 
  libxc-$(XEN_TARGET_ARCH)/libxenguest.a: libxc-$(XEN_TARGET_ARCH)/libxenctrl.a
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v2 2/7] Makefile: refactor build/clean/distclean targets
  2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
  2015-02-20 11:17 ` [PATCH v2 1/7] stubdom: fix "make build" Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
  2015-02-20 11:17 ` [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure Wei Liu
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

Factor out per-subsystem build/clean/distclean-% targets, so that we can
build subsystems independently in top level directory.

The motive behind this is after splitting out mini-os from Xen tree,
stubdom is in effect a downstream of mini-os.  I would like to have the
ability to build it independently and instrument OSSTest to test it.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 Makefile | 49 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 44 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 6e9a4c7..ad6f917 100644
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,9 @@ all: dist
 SUBSYSTEMS?=xen tools stubdom docs
 TARGS_DIST=$(patsubst %, dist-%, $(SUBSYSTEMS))
 TARGS_INSTALL=$(patsubst %, install-%, $(SUBSYSTEMS))
+TARGS_BUILD=$(patsubst %, build-%, $(SUBSYSTEMS))
+TARGS_CLEAN=$(patsubst %, clean-%, $(SUBSYSTEMS))
+TARGS_DISTCLEAN=$(patsubst %, distclean-%, $(SUBSYSTEMS))
 
 export XEN_ROOT=$(CURDIR)
 include Config.mk
@@ -23,13 +26,25 @@ export DESTDIR
 install: $(TARGS_INSTALL)
 
 .PHONY: build
-build:
+build: $(TARGS_BUILD)
+
+.PHONY: build-xen
+build-xen:
 	$(MAKE) -C xen build
+
+.PHONY: build-tools
+build-tools:
 	$(MAKE) -C tools build
+
+.PHONY: build-stubdom
+build-stubdom:
 	$(MAKE) -C stubdom build
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom pv-grub
 endif
+
+.PHONY: build-docs
+build-docs:
 	$(MAKE) -C docs build
 
 # The test target is for unit tests that can run without an installation.  Of
@@ -135,28 +150,52 @@ src-tarball: subtree-force-update-all
 	bash ./tools/misc/mktarball $(XEN_ROOT) $$(git describe)
 
 .PHONY: clean
-clean::
+clean: $(TARGS_CLEAN)
+
+.PHONY: clean-xen
+clean-xen:
 	$(MAKE) -C xen clean
+
+.PHONY: clean-tools
+clean-tools:
 	$(MAKE) -C tools clean
+
+.PHONY: clean-stubdom
+clean-stubdom:
 	$(MAKE) -C stubdom crossclean
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
 endif
+
+.PHONY: clean-docs
+clean-docs:
 	$(MAKE) -C docs clean
 
 # clean, but blow away tarballs
 .PHONY: distclean
-distclean:
+distclean: $(TARGS_DISTCLEAN)
 	rm -f config/Toplevel.mk
+	rm -rf dist
+	rm -rf config.log config.status config.cache autom4te.cache
+
+.PHONY: distclean-xen
+distclean-xen:
 	$(MAKE) -C xen distclean
+
+.PHONY: distclean-tools
+distclean-tools:
 	$(MAKE) -C tools distclean
+
+.PHONY: distclean-stubdom
+distclean-stubdom:
 	$(MAKE) -C stubdom distclean
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
 endif
+
+.PHONY: distclean-docs
+distclean-docs:
 	$(MAKE) -C docs distclean
-	rm -rf dist
-	rm -rf config.log config.status config.cache autom4te.cache
 
 # Linux name for GNU distclean
 .PHONY: mrproper
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure
  2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
  2015-02-20 11:17 ` [PATCH v2 1/7] stubdom: fix "make build" Wei Liu
  2015-02-20 11:17 ` [PATCH v2 2/7] Makefile: refactor build/clean/distclean targets Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
  2015-02-24 16:25   ` Ian Campbell
  2015-02-20 11:17 ` [PATCH v2 4/7] git-checkout.sh: use "mkdir -p" Wei Liu
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

Don't look for mini-os source file during configure. Mini-os source code
will be fetched during build.

Instead look for xenstore-minios.cfg.

Please rerun autogen.sh after applying this patch.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes in v2:
1. Look for xenstore-minios.cfg.
---
 stubdom/configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/stubdom/configure.ac b/stubdom/configure.ac
index 6468203..9fec853 100644
--- a/stubdom/configure.ac
+++ b/stubdom/configure.ac
@@ -4,7 +4,7 @@
 AC_PREREQ([2.67])
 AC_INIT([Xen Hypervisor Stub Domains], m4_esyscmd([../version.sh ../xen/Makefile]),
     [xen-devel@lists.xen.org], [xen], [http://www.xen.org/])
-AC_CONFIG_SRCDIR([../extras/mini-os/kernel.c])
+AC_CONFIG_SRCDIR([xenstore-minios.cfg])
 AC_CONFIG_FILES([../config/Stubdom.mk])
 AC_CONFIG_AUX_DIR([../])
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v2 4/7] git-checkout.sh: use "mkdir -p"
  2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
                   ` (2 preceding siblings ...)
  2015-02-20 11:17 ` [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
  2015-02-20 11:17 ` [PATCH v2 5/7] Mini-OS: standalone build Wei Liu
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

Otherwise mkdir extras/mini-os fails because extras doesn't exist.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 scripts/git-checkout.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/git-checkout.sh b/scripts/git-checkout.sh
index 15b3ce9..20ae31f 100755
--- a/scripts/git-checkout.sh
+++ b/scripts/git-checkout.sh
@@ -13,7 +13,7 @@ set -e
 
 if test \! -d $DIR-remote; then
 	rm -rf $DIR-remote $DIR-remote.tmp
-	mkdir $DIR-remote.tmp; rmdir $DIR-remote.tmp
+	mkdir -p $DIR-remote.tmp; rmdir $DIR-remote.tmp
 	$GIT clone $TREE $DIR-remote.tmp
 	if test "$TAG" ; then
 		cd $DIR-remote.tmp
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v2 5/7] Mini-OS: standalone build
  2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
                   ` (3 preceding siblings ...)
  2015-02-20 11:17 ` [PATCH v2 4/7] git-checkout.sh: use "mkdir -p" Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
  2015-02-24 16:27   ` Ian Campbell
  2015-02-20 11:17 ` [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target Wei Liu
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

In order to keep the tree bisectable all the changes are done in one
single commit.

Things done in this commit:

1. Import necessary .mk files from Xen.
2. Move all XEN_ related variables to MINIOS_ namespace.
3. Import Xen public header files.
4. Import BSD's list.h and helper script.

Mini-OS's vanilla Config.mk is modified to contain some macros copied
from Xen's Config.mk. It also contains compatibility handling logic for
Xen's stubdom build environment.

Files modified:
   Config.mk
   Makefile
   arch/x86/Makefile
   arch/x86/arch.mk
   minios.mk

All other files are just imported from Xen.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

[ output trimmed since this patch is acked ]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
  2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
                   ` (4 preceding siblings ...)
  2015-02-20 11:17 ` [PATCH v2 5/7] Mini-OS: standalone build Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
  2015-02-24 16:33   ` Ian Campbell
  2015-02-20 11:17 ` [PATCH v2 7/7] Remove in-tree mini-os directory Wei Liu
  2015-02-24 16:36 ` [PATCH v2 0/7] Split off mini-os to a separate tree Ian Campbell
  7 siblings, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

Provide mini-os url and revision in Config.mk

Introduce Makefile.mini-os which contains mini-os specific targets.
Target mini-os-dir clones mini-os tree from upstream.

Make stubdom targets depend on mini-os-dir target. Make
subtree-force-update{,-all} depend on mini-os-dir-force-update.

Also make mktarball script generate mini-os archive.

Original mini-os directory is renamed to mini-os-intree to help reduce
patch length. That directory will be deleted in a separate patch.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes in v2:
1. Use hash in Config.mk.
---
 .gitignore                                                |  6 ++----
 Config.mk                                                 |  6 ++++++
 Makefile                                                  | 15 +++++++++------
 Makefile.mini-os                                          | 15 +++++++++++++++
[ output trimmed ]
 stubdom/Makefile                                          |  4 ++++
 tools/misc/mktarball                                      |  4 +++-
 227 files changed, 39 insertions(+), 11 deletions(-)
 create mode 100644 Makefile.mini-os
[ rename output trimmed ]

diff --git a/.gitignore b/.gitignore
index cdbdca7..4979018 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,10 +46,8 @@ docs/man1/
 docs/man5/
 docs/pdf/
 docs/txt/
-extras/mini-os/include/mini-os
-extras/mini-os/include/x86/mini-os
-extras/mini-os/include/list.h
-extras/mini-os/mini-os*
+extras/mini-os
+extras/mini-os-remote
 install/*
 stubdom/autom4te.cache/
 stubdom/binutils-*
diff --git a/Config.mk b/Config.mk
index d12ad91..f1d4c0a 100644
--- a/Config.mk
+++ b/Config.mk
@@ -245,14 +245,20 @@ OVMF_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/ovmf.git
 QEMU_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/qemu-upstream-unstable.git
 QEMU_TRADITIONAL_URL ?= http://xenbits.xen.org/git-http/qemu-xen-unstable.git
 SEABIOS_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/seabios.git
+MINIOS_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/mini-os.git
 else
 OVMF_UPSTREAM_URL ?= git://xenbits.xen.org/ovmf.git
 QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/qemu-upstream-unstable.git
 QEMU_TRADITIONAL_URL ?= git://xenbits.xen.org/qemu-xen-unstable.git
 SEABIOS_UPSTREAM_URL ?= git://xenbits.xen.org/seabios.git
+MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
 endif
 OVMF_UPSTREAM_REVISION ?= 447d264115c476142f884af0be287622cd244423
 QEMU_UPSTREAM_REVISION ?= master
+MINIOS_UPSTREAM_REVISION ?= 0cc86f6747f9bba01a332f3255c48dc743e29c4d
+# Thu Jan 29 19:10:04 2015 +0000
+# Mini-OS: standalone build
+
 SEABIOS_UPSTREAM_REVISION ?= rel-1.7.5
 # Thu May 22 16:59:16 2014 -0400
 # python3 fixes for vgabios and csm builds.
diff --git a/Makefile b/Makefile
index ad6f917..d4d0f74 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,8 @@ TARGS_DISTCLEAN=$(patsubst %, distclean-%, $(SUBSYSTEMS))
 export XEN_ROOT=$(CURDIR)
 include Config.mk
 
+include Makefile.mini-os
+
 SUBARCH := $(subst x86_32,i386,$(XEN_TARGET_ARCH))
 export XEN_TARGET_ARCH SUBARCH
 export DESTDIR
@@ -37,7 +39,7 @@ build-tools:
 	$(MAKE) -C tools build
 
 .PHONY: build-stubdom
-build-stubdom:
+build-stubdom: mini-os-dir
 	$(MAKE) -C stubdom build
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom pv-grub
@@ -84,7 +86,7 @@ install-tools:
 	$(MAKE) -C tools install
 
 .PHONY: install-stubdom
-install-stubdom: install-tools
+install-stubdom: install-tools mini-os-dir
 	$(MAKE) -C stubdom install
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
@@ -125,11 +127,11 @@ rpmball: dist
 	bash ./tools/misc/mkrpm $(XEN_ROOT) $$($(MAKE) -C xen xenversion --no-print-directory)
 
 .PHONY: subtree-force-update
-subtree-force-update:
+subtree-force-update: mini-os-dir-force-update
 	$(MAKE) -C tools subtree-force-update
 
 .PHONY: subtree-force-update-all
-subtree-force-update-all:
+subtree-force-update-all: mini-os-dir-force-update
 	$(MAKE) -C tools subtree-force-update-all
 
 # Make a source tarball, including qemu sub-trees.
@@ -161,7 +163,7 @@ clean-tools:
 	$(MAKE) -C tools clean
 
 .PHONY: clean-stubdom
-clean-stubdom:
+clean-stubdom: mini-os-dir
 	$(MAKE) -C stubdom crossclean
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
@@ -187,11 +189,12 @@ distclean-tools:
 	$(MAKE) -C tools distclean
 
 .PHONY: distclean-stubdom
-distclean-stubdom:
+distclean-stubdom: mini-os-dir
 	$(MAKE) -C stubdom distclean
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
 endif
+	rm -rf extras/mini-os extras/mini-os-remote
 
 .PHONY: distclean-docs
 distclean-docs:
diff --git a/Makefile.mini-os b/Makefile.mini-os
new file mode 100644
index 0000000..46b1d80
--- /dev/null
+++ b/Makefile.mini-os
@@ -0,0 +1,15 @@
+.PHONY: mini-os-dir
+mini-os-dir:
+	GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh \
+		$(MINIOS_UPSTREAM_URL) \
+		$(MINIOS_UPSTREAM_REVISION) \
+		$(XEN_ROOT)/extras/mini-os
+
+.PHONY: mini-os-dir-force-update
+mini-os-dir-force-update: mini-os-dir
+	set -ex; \
+	if [ "$(MINIOS_UPSTREAM_REVISION)" ]; then \
+		cd extras/mini-os-remote; \
+		$(GIT) fetch origin; \
+		$(GIT) reset --hard $(MINIOS_UPSTREAM_REVISION); \
+	fi


[ rename output trimmed ]

diff --git a/stubdom/Makefile b/stubdom/Makefile
index 58ca08c..74b01ee 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -1,6 +1,10 @@
 XEN_ROOT = $(CURDIR)/..
 MINI_OS = $(XEN_ROOT)/extras/mini-os
 
+ifeq ($(wildcard $(MINI_OS)/Config.mk),)
+$(error Please run `make mini-os-dir' in top-level directory)
+endif
+
 export XEN_OS=MiniOS
 
 export stubdom=y
diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index aad1096..73282b5 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -6,7 +6,7 @@
 set -ex
 
 function git_archive_into {
-    mkdir "$2"
+    mkdir -p "$2"
 
     git --git-dir="$1"/.git \
 	archive --format=tar HEAD | \
@@ -33,6 +33,8 @@ git_archive_into $xen_root/tools/qemu-xen-dir-remote $tdir/xen-$desc/tools/qemu-
 
 git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc/tools/qemu-xen-traditional
 
+git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
+
 GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
 
 echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v2 7/7] Remove in-tree mini-os directory
  2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
                   ` (5 preceding siblings ...)
  2015-02-20 11:17 ` [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
  2015-02-24 16:36 ` [PATCH v2 0/7] Split off mini-os to a separate tree Ian Campbell
  7 siblings, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

[ output trimmed ]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure
  2015-02-20 11:17 ` [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure Wei Liu
@ 2015-02-24 16:25   ` Ian Campbell
  0 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 16:25 UTC (permalink / raw)
  To: Wei Liu; +Cc: ian.jackson, xen-devel

On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> Don't look for mini-os source file during configure. Mini-os source code
> will be fetched during build.
> 
> Instead look for xenstore-minios.cfg.
> 
> Please rerun autogen.sh after applying this patch.
> 
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
> Changes in v2:
> 1. Look for xenstore-minios.cfg.
> ---
>  stubdom/configure.ac | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/stubdom/configure.ac b/stubdom/configure.ac
> index 6468203..9fec853 100644
> --- a/stubdom/configure.ac
> +++ b/stubdom/configure.ac
> @@ -4,7 +4,7 @@
>  AC_PREREQ([2.67])
>  AC_INIT([Xen Hypervisor Stub Domains], m4_esyscmd([../version.sh ../xen/Makefile]),
>      [xen-devel@lists.xen.org], [xen], [http://www.xen.org/])
> -AC_CONFIG_SRCDIR([../extras/mini-os/kernel.c])
> +AC_CONFIG_SRCDIR([xenstore-minios.cfg])
>  AC_CONFIG_FILES([../config/Stubdom.mk])
>  AC_CONFIG_AUX_DIR([../])
>  

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 5/7] Mini-OS: standalone build
  2015-02-20 11:17 ` [PATCH v2 5/7] Mini-OS: standalone build Wei Liu
@ 2015-02-24 16:27   ` Ian Campbell
  2015-02-24 16:33     ` Wei Liu
  2015-02-24 19:39     ` Samuel Thibault
  0 siblings, 2 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 16:27 UTC (permalink / raw)
  To: Wei Liu, samuel.thibault; +Cc: ian.jackson, xen-devel

On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> In order to keep the tree bisectable all the changes are done in one
> single commit.
> 
> Things done in this commit:
> 
> 1. Import necessary .mk files from Xen.
> 2. Move all XEN_ related variables to MINIOS_ namespace.
> 3. Import Xen public header files.
> 4. Import BSD's list.h and helper script.
> 
> Mini-OS's vanilla Config.mk is modified to contain some macros copied
> from Xen's Config.mk. It also contains compatibility handling logic for
> Xen's stubdom build environment.
> 
> Files modified:
>    Config.mk
>    Makefile
>    arch/x86/Makefile
>    arch/x86/arch.mk
>    minios.mk
> 
> All other files are just imported from Xen.
> 
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> Cc: Ian Campbell <ian.campbell@citrix.com>
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>

I'd be happier if it also had Samuel's ack on it.

> [ output trimmed since this patch is acked ]

Is it the same as was in
http://bugs.xenproject.org/xen/mid/%3C1422881943-7687-6-git-send-email-wei.liu2@citrix.com%3E
?

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
  2015-02-20 11:17 ` [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target Wei Liu
@ 2015-02-24 16:33   ` Ian Campbell
  2015-02-24 16:52     ` Wei Liu
  0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 16:33 UTC (permalink / raw)
  To: Wei Liu; +Cc: ian.jackson, xen-devel

On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> @@ -161,7 +163,7 @@ clean-tools:
>  	$(MAKE) -C tools clean
>  
>  .PHONY: clean-stubdom
> -clean-stubdom:
> +clean-stubdom: mini-os-dir
>  	$(MAKE) -C stubdom crossclean
>  ifeq (x86_64,$(XEN_TARGET_ARCH))
>  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> @@ -187,11 +189,12 @@ distclean-tools:
>  	$(MAKE) -C tools distclean
>  
>  .PHONY: distclean-stubdom
> -distclean-stubdom:
> +distclean-stubdom: mini-os-dir

These two are a bit odd, since they will force a clone in order to clean
(and in the distclean case immediately discard again).

The way we handle this with e.g. qemu is to have
subdir-clean-qemu-xen-traditional-dir:
        set -e; if test -d qemu-xen-traditional-dir/.; then \
                $(MAKE) -C qemu-xen-traditional-dir clean; \
        fi

so I think you want a pair of {clean,distclean}-mini-os-dir rules which
recurse iff the dir exists.

>  	$(MAKE) -C stubdom distclean
>  ifeq (x86_64,$(XEN_TARGET_ARCH))
>  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
>  endif
> +	rm -rf extras/mini-os extras/mini-os-remote
>  
>  .PHONY: distclean-docs
>  distclean-docs:
> diff --git a/Makefile.mini-os b/Makefile.mini-os
> new file mode 100644
> index 0000000..46b1d80
> --- /dev/null
> +++ b/Makefile.mini-os

I still think this file doesn't contain enough to warrant being separate
to the main Makefile.

Ian.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 5/7] Mini-OS: standalone build
  2015-02-24 16:27   ` Ian Campbell
@ 2015-02-24 16:33     ` Wei Liu
  2015-02-24 19:39     ` Samuel Thibault
  1 sibling, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-24 16:33 UTC (permalink / raw)
  To: Ian Campbell; +Cc: samuel.thibault, Wei Liu, ian.jackson, xen-devel

On Tue, Feb 24, 2015 at 04:27:00PM +0000, Ian Campbell wrote:
> On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > In order to keep the tree bisectable all the changes are done in one
> > single commit.
> > 
> > Things done in this commit:
> > 
> > 1. Import necessary .mk files from Xen.
> > 2. Move all XEN_ related variables to MINIOS_ namespace.
> > 3. Import Xen public header files.
> > 4. Import BSD's list.h and helper script.
> > 
> > Mini-OS's vanilla Config.mk is modified to contain some macros copied
> > from Xen's Config.mk. It also contains compatibility handling logic for
> > Xen's stubdom build environment.
> > 
> > Files modified:
> >    Config.mk
> >    Makefile
> >    arch/x86/Makefile
> >    arch/x86/arch.mk
> >    minios.mk
> > 
> > All other files are just imported from Xen.
> > 
> > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> > Cc: Ian Campbell <ian.campbell@citrix.com>
> > Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> > Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> I'd be happier if it also had Samuel's ack on it.
> 
> > [ output trimmed since this patch is acked ]
> 
> Is it the same as was in
> http://bugs.xenproject.org/xen/mid/%3C1422881943-7687-6-git-send-email-wei.liu2@citrix.com%3E
> ?
> 

Yes, nothing was changed.

Wei.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 0/7] Split off mini-os to a separate tree
  2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
                   ` (6 preceding siblings ...)
  2015-02-20 11:17 ` [PATCH v2 7/7] Remove in-tree mini-os directory Wei Liu
@ 2015-02-24 16:36 ` Ian Campbell
  7 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 16:36 UTC (permalink / raw)
  To: Wei Liu; +Cc: Samuel Thibault, Stefano Stabellini, ian.jackson, xen-devel

On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> This is v2 of my mini-os splitting off patch series.

I had a couple of small comments, but it's looking good.

You should have CCd Samuel and Stefano on this stuff. From MAINTAINERS:

        MINI-OS
        M:      Stefano Stabellini <stefano.stabellini@eu.citrix.com>
        M:      Samuel Thibault <samuel.thibault@ens-lyon.org>
        S:      Supported
        F:      config/MiniOS.mk
        F:      extras/mini-os/

Even more so than usual since we are moving the whole tree, so they
really ought to be given the chance to object if not ack.

Ian.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
  2015-02-24 16:33   ` Ian Campbell
@ 2015-02-24 16:52     ` Wei Liu
  2015-02-24 17:01       ` Ian Campbell
  0 siblings, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-24 16:52 UTC (permalink / raw)
  To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel

On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > @@ -161,7 +163,7 @@ clean-tools:
> >  	$(MAKE) -C tools clean
> >  
> >  .PHONY: clean-stubdom
> > -clean-stubdom:
> > +clean-stubdom: mini-os-dir
> >  	$(MAKE) -C stubdom crossclean
> >  ifeq (x86_64,$(XEN_TARGET_ARCH))
> >  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > @@ -187,11 +189,12 @@ distclean-tools:
> >  	$(MAKE) -C tools distclean
> >  
> >  .PHONY: distclean-stubdom
> > -distclean-stubdom:
> > +distclean-stubdom: mini-os-dir
> 
> These two are a bit odd, since they will force a clone in order to clean
> (and in the distclean case immediately discard again).
> 

That's because stubdom's distclean is quite broken, it just won't work
without mini-os.

> The way we handle this with e.g. qemu is to have
> subdir-clean-qemu-xen-traditional-dir:
>         set -e; if test -d qemu-xen-traditional-dir/.; then \
>                 $(MAKE) -C qemu-xen-traditional-dir clean; \
>         fi
> 
> so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> recurse iff the dir exists.
> 

No, we don't actually need to enter mini-os dir and make clean /
distclean when doing clean and distclean of stubdom.

> >  	$(MAKE) -C stubdom distclean
> >  ifeq (x86_64,$(XEN_TARGET_ARCH))
> >  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
> >  endif
> > +	rm -rf extras/mini-os extras/mini-os-remote
> >  
> >  .PHONY: distclean-docs
> >  distclean-docs:
> > diff --git a/Makefile.mini-os b/Makefile.mini-os
> > new file mode 100644
> > index 0000000..46b1d80
> > --- /dev/null
> > +++ b/Makefile.mini-os
> 
> I still think this file doesn't contain enough to warrant being separate
> to the main Makefile.
> 

Right, this now can be merged into main Makffile since all other
references are removed.

Wei.

> Ian.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
  2015-02-24 16:52     ` Wei Liu
@ 2015-02-24 17:01       ` Ian Campbell
  2015-02-24 17:12         ` Wei Liu
  0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 17:01 UTC (permalink / raw)
  To: Wei Liu; +Cc: ian.jackson, xen-devel

On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > @@ -161,7 +163,7 @@ clean-tools:
> > >  	$(MAKE) -C tools clean
> > >  
> > >  .PHONY: clean-stubdom
> > > -clean-stubdom:
> > > +clean-stubdom: mini-os-dir
> > >  	$(MAKE) -C stubdom crossclean
> > >  ifeq (x86_64,$(XEN_TARGET_ARCH))
> > >  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > @@ -187,11 +189,12 @@ distclean-tools:
> > >  	$(MAKE) -C tools distclean
> > >  
> > >  .PHONY: distclean-stubdom
> > > -distclean-stubdom:
> > > +distclean-stubdom: mini-os-dir
> > 
> > These two are a bit odd, since they will force a clone in order to clean
> > (and in the distclean case immediately discard again).
> > 
> 
> That's because stubdom's distclean is quite broken, it just won't work
> without mini-os.

If the mini-os dir is not present then I don't think there is any need
to distclean the stubdom, is there? How would anything be present?

> 
> > The way we handle this with e.g. qemu is to have
> > subdir-clean-qemu-xen-traditional-dir:
> >         set -e; if test -d qemu-xen-traditional-dir/.; then \
> >                 $(MAKE) -C qemu-xen-traditional-dir clean; \
> >         fi
> > 
> > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > recurse iff the dir exists.
> > 
> 
> No, we don't actually need to enter mini-os dir and make clean /
> distclean when doing clean and distclean of stubdom.

Didn't you just contradict what you said further above?

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
  2015-02-24 17:01       ` Ian Campbell
@ 2015-02-24 17:12         ` Wei Liu
  2015-02-24 17:22           ` Wei Liu
  2015-02-24 17:26           ` Ian Campbell
  0 siblings, 2 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-24 17:12 UTC (permalink / raw)
  To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel

On Tue, Feb 24, 2015 at 05:01:26PM +0000, Ian Campbell wrote:
> On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> > On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > > @@ -161,7 +163,7 @@ clean-tools:
> > > >  	$(MAKE) -C tools clean
> > > >  
> > > >  .PHONY: clean-stubdom
> > > > -clean-stubdom:
> > > > +clean-stubdom: mini-os-dir
> > > >  	$(MAKE) -C stubdom crossclean
> > > >  ifeq (x86_64,$(XEN_TARGET_ARCH))
> > > >  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > > @@ -187,11 +189,12 @@ distclean-tools:
> > > >  	$(MAKE) -C tools distclean
> > > >  
> > > >  .PHONY: distclean-stubdom
> > > > -distclean-stubdom:
> > > > +distclean-stubdom: mini-os-dir
> > > 
> > > These two are a bit odd, since they will force a clone in order to clean
> > > (and in the distclean case immediately discard again).
> > > 
> > 
> > That's because stubdom's distclean is quite broken, it just won't work
> > without mini-os.
> 
> If the mini-os dir is not present then I don't think there is any need
> to distclean the stubdom, is there? How would anything be present?
> 

If user builds stubdom then deletes mini-os then wants to clean
studom.

If we don't have that dependence, we just print

  Please run `make mini-os-dir' in top-level directory

due to a check in stubdom's Makefile. I think this is acceptable too.

> > 
> > > The way we handle this with e.g. qemu is to have
> > > subdir-clean-qemu-xen-traditional-dir:
> > >         set -e; if test -d qemu-xen-traditional-dir/.; then \
> > >                 $(MAKE) -C qemu-xen-traditional-dir clean; \
> > >         fi
> > > 
> > > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > > recurse iff the dir exists.
> > > 
> > 
> > No, we don't actually need to enter mini-os dir and make clean /
> > distclean when doing clean and distclean of stubdom.
> 
> Didn't you just contradict what you said further above?
> 

I was thinking all those objects are not placed inside min-os's dir so
there is nothing to clean inside mini-os's directory

However, stubdom does have
   $(MAKE) DESTDIR= -C $(MINI_OS) clean

So there is no need for a separate subdir-clean-mini-os-dir.

We can also delete that line. But I would avoid touching stubdom's
Makefile if not necessary.

Wei.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
  2015-02-24 17:12         ` Wei Liu
@ 2015-02-24 17:22           ` Wei Liu
  2015-02-24 17:26             ` Ian Campbell
  2015-02-24 17:26           ` Ian Campbell
  1 sibling, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-24 17:22 UTC (permalink / raw)
  To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel

On Tue, Feb 24, 2015 at 05:12:20PM +0000, Wei Liu wrote:
> On Tue, Feb 24, 2015 at 05:01:26PM +0000, Ian Campbell wrote:
> > On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> > > On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > > > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > > > @@ -161,7 +163,7 @@ clean-tools:
> > > > >  	$(MAKE) -C tools clean
> > > > >  
> > > > >  .PHONY: clean-stubdom
> > > > > -clean-stubdom:
> > > > > +clean-stubdom: mini-os-dir
> > > > >  	$(MAKE) -C stubdom crossclean
> > > > >  ifeq (x86_64,$(XEN_TARGET_ARCH))
> > > > >  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > > > @@ -187,11 +189,12 @@ distclean-tools:
> > > > >  	$(MAKE) -C tools distclean
> > > > >  
> > > > >  .PHONY: distclean-stubdom
> > > > > -distclean-stubdom:
> > > > > +distclean-stubdom: mini-os-dir
> > > > 
> > > > These two are a bit odd, since they will force a clone in order to clean
> > > > (and in the distclean case immediately discard again).
> > > > 
> > > 
> > > That's because stubdom's distclean is quite broken, it just won't work
> > > without mini-os.
> > 
> > If the mini-os dir is not present then I don't think there is any need
> > to distclean the stubdom, is there? How would anything be present?
> > 
> 
> If user builds stubdom then deletes mini-os then wants to clean
> studom.
> 
> If we don't have that dependence, we just print
> 
>   Please run `make mini-os-dir' in top-level directory
> 
> due to a check in stubdom's Makefile. I think this is acceptable too.
> 
> > > 
> > > > The way we handle this with e.g. qemu is to have
> > > > subdir-clean-qemu-xen-traditional-dir:
> > > >         set -e; if test -d qemu-xen-traditional-dir/.; then \
> > > >                 $(MAKE) -C qemu-xen-traditional-dir clean; \
> > > >         fi
> > > > 
> > > > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > > > recurse iff the dir exists.
> > > > 
> > > 
> > > No, we don't actually need to enter mini-os dir and make clean /
> > > distclean when doing clean and distclean of stubdom.
> > 
> > Didn't you just contradict what you said further above?
> > 
> 
> I was thinking all those objects are not placed inside min-os's dir so
> there is nothing to clean inside mini-os's directory
> 
> However, stubdom does have
>    $(MAKE) DESTDIR= -C $(MINI_OS) clean
> 
> So there is no need for a separate subdir-clean-mini-os-dir.
> 
> We can also delete that line. But I would avoid touching stubdom's
> Makefile if not necessary.
> 

OK, it turns out if I just remove that line in stubdom's clean target
everything works fine. With that change I can remove stubdom's clean and
distclean dependency on mini-os dir.

Wei.


> Wei.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
  2015-02-24 17:12         ` Wei Liu
  2015-02-24 17:22           ` Wei Liu
@ 2015-02-24 17:26           ` Ian Campbell
  1 sibling, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 17:26 UTC (permalink / raw)
  To: Wei Liu; +Cc: ian.jackson, xen-devel

On Tue, 2015-02-24 at 17:12 +0000, Wei Liu wrote:
> On Tue, Feb 24, 2015 at 05:01:26PM +0000, Ian Campbell wrote:
> > On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> > > On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > > > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > > > @@ -161,7 +163,7 @@ clean-tools:
> > > > >  	$(MAKE) -C tools clean
> > > > >  
> > > > >  .PHONY: clean-stubdom
> > > > > -clean-stubdom:
> > > > > +clean-stubdom: mini-os-dir
> > > > >  	$(MAKE) -C stubdom crossclean
> > > > >  ifeq (x86_64,$(XEN_TARGET_ARCH))
> > > > >  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > > > @@ -187,11 +189,12 @@ distclean-tools:
> > > > >  	$(MAKE) -C tools distclean
> > > > >  
> > > > >  .PHONY: distclean-stubdom
> > > > > -distclean-stubdom:
> > > > > +distclean-stubdom: mini-os-dir
> > > > 
> > > > These two are a bit odd, since they will force a clone in order to clean
> > > > (and in the distclean case immediately discard again).
> > > > 
> > > 
> > > That's because stubdom's distclean is quite broken, it just won't work
> > > without mini-os.
> > 
> > If the mini-os dir is not present then I don't think there is any need
> > to distclean the stubdom, is there? How would anything be present?
> > 
> 
> If user builds stubdom then deletes mini-os then wants to clean
> studom.

I think users who randomly delete things can be expected to cope with
randomly cleaning other stuff too ;-)

> 
> If we don't have that dependence, we just print
> 
>   Please run `make mini-os-dir' in top-level directory
> 
> due to a check in stubdom's Makefile. I think this is acceptable too.

That's better than cloning then removing it everytime someone runs
distclean, for sure.

I'd prefer something saying "not cleaning because" but I suppose the
above is from a generic catch-all rule not a *clean specific one.

> > > > The way we handle this with e.g. qemu is to have
> > > > subdir-clean-qemu-xen-traditional-dir:
> > > >         set -e; if test -d qemu-xen-traditional-dir/.; then \
> > > >                 $(MAKE) -C qemu-xen-traditional-dir clean; \
> > > >         fi
> > > > 
> > > > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > > > recurse iff the dir exists.
> > > > 
> > > 
> > > No, we don't actually need to enter mini-os dir and make clean /
> > > distclean when doing clean and distclean of stubdom.
> > 
> > Didn't you just contradict what you said further above?
> > 
> 
> I was thinking all those objects are not placed inside min-os's dir so
> there is nothing to clean inside mini-os's directory
> 
> However, stubdom does have
>    $(MAKE) DESTDIR= -C $(MINI_OS) clean
> 
> So there is no need for a separate subdir-clean-mini-os-dir.

I see. What I was trying to say (and did badly, and then misunderstood
your response) was that the stubdom *clean should check for mini-os-dir
(which is different to the qemu case, I admit). 

i.e. what I really was thinking of was:

subdir-clean-stubdom:
        set -e; if test -d mini-os-dir/.; then \
                $(MAKE) -C stubdom clean; \
	else
		echo "Not running clean in stubdom, no mini-os-dir.";\
                echo "run `make mini-os-dir' in top-level before cleaning stubdom" ;\
        fi

(similar for distclean)

> We can also delete that line. But I would avoid touching stubdom's
> Makefile if not necessary.
> 
> Wei.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
  2015-02-24 17:22           ` Wei Liu
@ 2015-02-24 17:26             ` Ian Campbell
  0 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 17:26 UTC (permalink / raw)
  To: Wei Liu; +Cc: ian.jackson, xen-devel

On Tue, 2015-02-24 at 17:22 +0000, Wei Liu wrote:
> On Tue, Feb 24, 2015 at 05:12:20PM +0000, Wei Liu wrote:
> > On Tue, Feb 24, 2015 at 05:01:26PM +0000, Ian Campbell wrote:
> > > On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> > > > On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > > > > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > > > > @@ -161,7 +163,7 @@ clean-tools:
> > > > > >  	$(MAKE) -C tools clean
> > > > > >  
> > > > > >  .PHONY: clean-stubdom
> > > > > > -clean-stubdom:
> > > > > > +clean-stubdom: mini-os-dir
> > > > > >  	$(MAKE) -C stubdom crossclean
> > > > > >  ifeq (x86_64,$(XEN_TARGET_ARCH))
> > > > > >  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > > > > @@ -187,11 +189,12 @@ distclean-tools:
> > > > > >  	$(MAKE) -C tools distclean
> > > > > >  
> > > > > >  .PHONY: distclean-stubdom
> > > > > > -distclean-stubdom:
> > > > > > +distclean-stubdom: mini-os-dir
> > > > > 
> > > > > These two are a bit odd, since they will force a clone in order to clean
> > > > > (and in the distclean case immediately discard again).
> > > > > 
> > > > 
> > > > That's because stubdom's distclean is quite broken, it just won't work
> > > > without mini-os.
> > > 
> > > If the mini-os dir is not present then I don't think there is any need
> > > to distclean the stubdom, is there? How would anything be present?
> > > 
> > 
> > If user builds stubdom then deletes mini-os then wants to clean
> > studom.
> > 
> > If we don't have that dependence, we just print
> > 
> >   Please run `make mini-os-dir' in top-level directory
> > 
> > due to a check in stubdom's Makefile. I think this is acceptable too.
> > 
> > > > 
> > > > > The way we handle this with e.g. qemu is to have
> > > > > subdir-clean-qemu-xen-traditional-dir:
> > > > >         set -e; if test -d qemu-xen-traditional-dir/.; then \
> > > > >                 $(MAKE) -C qemu-xen-traditional-dir clean; \
> > > > >         fi
> > > > > 
> > > > > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > > > > recurse iff the dir exists.
> > > > > 
> > > > 
> > > > No, we don't actually need to enter mini-os dir and make clean /
> > > > distclean when doing clean and distclean of stubdom.
> > > 
> > > Didn't you just contradict what you said further above?
> > > 
> > 
> > I was thinking all those objects are not placed inside min-os's dir so
> > there is nothing to clean inside mini-os's directory
> > 
> > However, stubdom does have
> >    $(MAKE) DESTDIR= -C $(MINI_OS) clean
> > 
> > So there is no need for a separate subdir-clean-mini-os-dir.
> > 
> > We can also delete that line. But I would avoid touching stubdom's
> > Makefile if not necessary.
> > 
> 
> OK, it turns out if I just remove that line in stubdom's clean target
> everything works fine. With that change I can remove stubdom's clean and
> distclean dependency on mini-os dir.

Ah, now I really see what you were getting at, unlike just now ;-)

Ian.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 5/7] Mini-OS: standalone build
  2015-02-24 16:27   ` Ian Campbell
  2015-02-24 16:33     ` Wei Liu
@ 2015-02-24 19:39     ` Samuel Thibault
  2015-02-25  9:53       ` Ian Campbell
  1 sibling, 1 reply; 22+ messages in thread
From: Samuel Thibault @ 2015-02-24 19:39 UTC (permalink / raw)
  To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel

Ian Campbell, le Tue 24 Feb 2015 16:27:00 +0000, a écrit :
> On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > In order to keep the tree bisectable all the changes are done in one
> > single commit.
> > 
> > Things done in this commit:
> > 
> > 1. Import necessary .mk files from Xen.
> > 2. Move all XEN_ related variables to MINIOS_ namespace.
> > 3. Import Xen public header files.
> > 4. Import BSD's list.h and helper script.
> > 
> > Mini-OS's vanilla Config.mk is modified to contain some macros copied
> > from Xen's Config.mk. It also contains compatibility handling logic for
> > Xen's stubdom build environment.
> > 
> > Files modified:
> >    Config.mk
> >    Makefile
> >    arch/x86/Makefile
> >    arch/x86/arch.mk
> >    minios.mk
> > 
> > All other files are just imported from Xen.
> > 
> > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> > Cc: Ian Campbell <ian.campbell@citrix.com>
> > Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> > Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> I'd be happier if it also had Samuel's ack on it.

Ack-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 5/7] Mini-OS: standalone build
  2015-02-24 19:39     ` Samuel Thibault
@ 2015-02-25  9:53       ` Ian Campbell
  2015-02-25  9:56         ` Samuel Thibault
  0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-02-25  9:53 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: ian.jackson, Wei Liu, xen-devel

On Tue, 2015-02-24 at 20:39 +0100, Samuel Thibault wrote:
> Ack-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

Thanks.

Can I take it you are OK in principal with the plans to move things out?
TBH I think it'll make very little difference to your day-to-day
maintenance.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 5/7] Mini-OS: standalone build
  2015-02-25  9:53       ` Ian Campbell
@ 2015-02-25  9:56         ` Samuel Thibault
  0 siblings, 0 replies; 22+ messages in thread
From: Samuel Thibault @ 2015-02-25  9:56 UTC (permalink / raw)
  To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel

Ian Campbell, le Wed 25 Feb 2015 09:53:52 +0000, a écrit :
> On Tue, 2015-02-24 at 20:39 +0100, Samuel Thibault wrote:
> > Ack-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> 
> Can I take it you are OK in principal with the plans to move things out?

Yes.

> TBH I think it'll make very little difference to your day-to-day
> maintenance.

Yes :)

Samuel

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2015-02-25  9:56 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
2015-02-20 11:17 ` [PATCH v2 1/7] stubdom: fix "make build" Wei Liu
2015-02-20 11:17 ` [PATCH v2 2/7] Makefile: refactor build/clean/distclean targets Wei Liu
2015-02-20 11:17 ` [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure Wei Liu
2015-02-24 16:25   ` Ian Campbell
2015-02-20 11:17 ` [PATCH v2 4/7] git-checkout.sh: use "mkdir -p" Wei Liu
2015-02-20 11:17 ` [PATCH v2 5/7] Mini-OS: standalone build Wei Liu
2015-02-24 16:27   ` Ian Campbell
2015-02-24 16:33     ` Wei Liu
2015-02-24 19:39     ` Samuel Thibault
2015-02-25  9:53       ` Ian Campbell
2015-02-25  9:56         ` Samuel Thibault
2015-02-20 11:17 ` [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target Wei Liu
2015-02-24 16:33   ` Ian Campbell
2015-02-24 16:52     ` Wei Liu
2015-02-24 17:01       ` Ian Campbell
2015-02-24 17:12         ` Wei Liu
2015-02-24 17:22           ` Wei Liu
2015-02-24 17:26             ` Ian Campbell
2015-02-24 17:26           ` Ian Campbell
2015-02-20 11:17 ` [PATCH v2 7/7] Remove in-tree mini-os directory Wei Liu
2015-02-24 16:36 ` [PATCH v2 0/7] Split off mini-os to a separate tree Ian Campbell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.