[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 00/30] Compile only devices that are used
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH v4 00/30] Compile only devices that are used |
Date: |
Fri, 28 Aug 2009 20:56:34 +0200 |
The new config file version!!!!!
v4: Now creation of config-host.h and config-target.h fixed
(many thanks to Paolo Bonzini)
v3:
- Now we have a config file by target!!!
- We have configure tool to choose what drivers to compile
vi <target>/config-devices.mak
- We have another nice tool to check if a config file is valid
make: if it compiles, it is good, otherwise go to previous step
- Renamed config.h/config.mak to config-target.h and config-target.{h,mak}
now config.h is not generated, and we can put more stuff there
- I did a go at trying to create config-devices.h, but it is _interesting_
as we have different names, and have to put one of the files.
That is the reason why I did the automatic generation of *.h files from
*.mak files.
- I switched previus patches to this new series.
ToDo:
- there is still a bug when compiling with make -j<n>, sometimes it don't
generate config-host.h. Still haven't been able to catch why. Normally
it works, that is the reason why it is not esay to find what is wrong.
- Pass more stuff to that configuration files.
Comments?
v2:
- ptimer is also used in sparc64 (Blue Swirl)
- generate and compile gdbstub-xml only when needed.
v1:
This series disable complilation of devices that are not used in
any of the selected targets. Patch series remove all the devices that are
not used for x86_64/i386-softmmu alone. If you also compiles the softmmu
targets that need them, they are compiled back in.
I sent similar patches to this series a couple of months ago. The big
different (for those with good memory) is that now I don't move devices
from Makefile.hw and Makefile to Makefile.target. I just enable/disable
them with CONFIG_FOO and normal building system.
I didn't do it for other platform because I don't have an easy way to test
that I haven't broke anything. Anyone that uses other platform can do the
same simplification there.
Juan Quintela (30):
Don't include config-host.mak from inside config.mak
Move generation of config-host.h to Makefile from configure
Remove useless check for config-host.mak
Rename config.{h,mak} config-target.{h,mak}
Move generation of config-target.h to Makefile from configure
Add new config-devices.mak for each target
Generate gdbstub-xml.c only when needed
Only compile usb_ohci when one target uses it
Only compile isa_mmio when one target uses it
Only compile qdev_addr when one target uses it
Only compile nand when one target uses it
Only compile ecc when one target uses it
Only compile esp when one target uses it
Only compile escc when one target uses it
Only compile m48t59 when one target uses it
Only compile ptimer when one target uses it
Only compile sd when one target uses it
Only compile max7310 when one target uses it
Only compile wm8750 when one target uses it
Only compile twl92230 when one target uses it
Only compile tsc2005 when one target uses it
Only compile lm832x when one target uses it
Only compile tmp105 when one target uses it
Only compile stellaris_input when one target uses it
Only compile sd0303 when one target uses it
Only compile sd0323 when one target uses it
Only compile ads7846 when one target uses it
Only compile max111x when one target uses it
Only compile ssi-sd when one target uses it
Only compile ssi when one target uses it
.gitignore | 3 +
Makefile | 52 +++++++---
Makefile.hw | 13 ++-
Makefile.target | 31 ++++---
config.h | 3 +
configure | 150 ++++++++++++----------------
create_config | 2 +
default-configs/alpha-linux-user.mak | 1 +
default-configs/arm-linux-user.mak | 3 +
default-configs/arm-softmmu.mak | 22 ++++
default-configs/armeb-linux-user.mak | 3 +
default-configs/cris-linux-user.mak | 1 +
default-configs/cris-softmmu.mak | 3 +
default-configs/i386-bsd-user.mak | 1 +
default-configs/i386-darwin-user.mak | 1 +
default-configs/i386-linux-user.mak | 1 +
default-configs/i386-softmmu.mak | 1 +
default-configs/m68k-linux-user.mak | 3 +
default-configs/m68k-softmmu.mak | 3 +
default-configs/microblaze-linux-user.mak | 1 +
default-configs/microblaze-softmmu.mak | 1 +
default-configs/mips-linux-user.mak | 1 +
default-configs/mips-softmmu.mak | 4 +
default-configs/mips64-softmmu.mak | 4 +
default-configs/mips64el-softmmu.mak | 4 +
default-configs/mipsel-linux-user.mak | 1 +
default-configs/mipsel-softmmu.mak | 4 +
default-configs/ppc-darwin-user.mak | 3 +
default-configs/ppc-linux-user.mak | 3 +
default-configs/ppc-softmmu.mak | 7 ++
default-configs/ppc64-linux-user.mak | 3 +
default-configs/ppc64-softmmu.mak | 7 ++
default-configs/ppc64abi32-linux-user.mak | 3 +
default-configs/ppcemb-softmmu.mak | 7 ++
default-configs/sh4-linux-user.mak | 1 +
default-configs/sh4-softmmu.mak | 3 +
default-configs/sh4eb-linux-user.mak | 1 +
default-configs/sh4eb-softmmu.mak | 3 +
default-configs/sparc-bsd-user.mak | 1 +
default-configs/sparc-linux-user.mak | 1 +
default-configs/sparc-softmmu.mak | 7 ++
default-configs/sparc32plus-linux-user.mak | 1 +
default-configs/sparc64-bsd-user.mak | 1 +
default-configs/sparc64-linux-user.mak | 1 +
default-configs/sparc64-softmmu.mak | 6 +
default-configs/x86_64-bsd-user.mak | 1 +
default-configs/x86_64-linux-user.mak | 1 +
default-configs/x86_64-softmmu.mak | 1 +
rules.mak | 9 ++
49 files changed, 269 insertions(+), 119 deletions(-)
create mode 100644 config.h
create mode 100644 default-configs/alpha-linux-user.mak
create mode 100644 default-configs/arm-linux-user.mak
create mode 100644 default-configs/arm-softmmu.mak
create mode 100644 default-configs/armeb-linux-user.mak
create mode 100644 default-configs/cris-linux-user.mak
create mode 100644 default-configs/cris-softmmu.mak
create mode 100644 default-configs/i386-bsd-user.mak
create mode 100644 default-configs/i386-darwin-user.mak
create mode 100644 default-configs/i386-linux-user.mak
create mode 100644 default-configs/i386-softmmu.mak
create mode 100644 default-configs/m68k-linux-user.mak
create mode 100644 default-configs/m68k-softmmu.mak
create mode 100644 default-configs/microblaze-linux-user.mak
create mode 100644 default-configs/microblaze-softmmu.mak
create mode 100644 default-configs/mips-linux-user.mak
create mode 100644 default-configs/mips-softmmu.mak
create mode 100644 default-configs/mips64-softmmu.mak
create mode 100644 default-configs/mips64el-softmmu.mak
create mode 100644 default-configs/mipsel-linux-user.mak
create mode 100644 default-configs/mipsel-softmmu.mak
create mode 100644 default-configs/ppc-darwin-user.mak
create mode 100644 default-configs/ppc-linux-user.mak
create mode 100644 default-configs/ppc-softmmu.mak
create mode 100644 default-configs/ppc64-linux-user.mak
create mode 100644 default-configs/ppc64-softmmu.mak
create mode 100644 default-configs/ppc64abi32-linux-user.mak
create mode 100644 default-configs/ppcemb-softmmu.mak
create mode 100644 default-configs/sh4-linux-user.mak
create mode 100644 default-configs/sh4-softmmu.mak
create mode 100644 default-configs/sh4eb-linux-user.mak
create mode 100644 default-configs/sh4eb-softmmu.mak
create mode 100644 default-configs/sparc-bsd-user.mak
create mode 100644 default-configs/sparc-linux-user.mak
create mode 100644 default-configs/sparc-softmmu.mak
create mode 100644 default-configs/sparc32plus-linux-user.mak
create mode 100644 default-configs/sparc64-bsd-user.mak
create mode 100644 default-configs/sparc64-linux-user.mak
create mode 100644 default-configs/sparc64-softmmu.mak
create mode 100644 default-configs/x86_64-bsd-user.mak
create mode 100644 default-configs/x86_64-linux-user.mak
create mode 100644 default-configs/x86_64-softmmu.mak
- [Qemu-devel] [PATCH v4 00/30] Compile only devices that are used,
Juan Quintela <=
- [Qemu-devel] [PATCH 01/30] Don't include config-host.mak from inside config.mak, Juan Quintela, 2009/08/28
- [Qemu-devel] [PATCH 02/30] Move generation of config-host.h to Makefile from configure, Juan Quintela, 2009/08/28
- [Qemu-devel] [PATCH 03/30] Remove useless check for config-host.mak, Juan Quintela, 2009/08/28
- [Qemu-devel] [PATCH 06/30] Add new config-devices.mak for each target, Juan Quintela, 2009/08/28
- [Qemu-devel] [PATCH 05/30] Move generation of config-target.h to Makefile from configure, Juan Quintela, 2009/08/28
- [Qemu-devel] [PATCH 04/30] Rename config.{h, mak} config-target.{h, mak}, Juan Quintela, 2009/08/28
- [Qemu-devel] [PATCH 07/30] Generate gdbstub-xml.c only when needed, Juan Quintela, 2009/08/28
- [Qemu-devel] [PATCH 09/30] Only compile isa_mmio when one target uses it, Juan Quintela, 2009/08/28
- [Qemu-devel] [PATCH 10/30] Only compile qdev_addr when one target uses it, Juan Quintela, 2009/08/28
- [Qemu-devel] [PATCH 08/30] Only compile usb_ohci when one target uses it, Juan Quintela, 2009/08/28