From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MERkb-00049v-Fz for qemu-devel@nongnu.org; Wed, 10 Jun 2009 13:38:13 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MERkW-00047x-M1 for qemu-devel@nongnu.org; Wed, 10 Jun 2009 13:38:12 -0400 Received: from [199.232.76.173] (port=51283 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MERkW-00047u-GB for qemu-devel@nongnu.org; Wed, 10 Jun 2009 13:38:08 -0400 Received: from gateway.codesourcery.com ([65.74.133.9]:52173) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MERkV-0001wf-Uq for qemu-devel@nongnu.org; Wed, 10 Jun 2009 13:38:08 -0400 Received: from wren.home (localhost [127.0.0.1]) by gateway.codesourcery.com (Postfix) with ESMTP id D9A5D68053 for ; Wed, 10 Jun 2009 10:38:03 -0700 (PDT) From: Paul Brook Date: Wed, 10 Jun 2009 18:38:03 +0100 Message-ID: <20090610173803.4674.82538.stgit@wren.home> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH 0/4] Machine config files List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org The following series implements machine config files, and adds converts some of the existing hardcoded machines. The config files themselves are based on the ppc-linux Flattened Device Trees. In generaly I've tried to structure things so that the same config file can be used for both qemu and linux. There are a still a few things missing, in particular PCI busses are untested, but both SSI and I2C work. To handle options like -kernel I've added a "bootstrap" facility. This allows additional board initialization on top of normal hardware reset. In the future we may want some more common features (e.g. loading ROM images), but for now it just provides the functionality in the same way as the old board init routine. Also available from git://repo.or.cz/qemu/pbrook.git devtree --- Paul Brook (4): Integrator machine config Stellaris machine config Add device tree machine Include and build libfdt .gitignore | 1 Makefile | 39 + Makefile.hw | 2 Makefile.target | 19 - configure | 41 + hw/arm-cpu.c | 79 +++ hw/arm_boot.c | 22 + hw/arm_timer.c | 2 hw/armv7m.c | 61 ++ hw/boards.h | 9 hw/dt-machine.c | 582 +++++++++++++++++++++ hw/gpio-buttons.c | 124 ++++ hw/i2c.c | 8 hw/integratorcp.c | 97 --- hw/pci.c | 1 hw/petalogix_s3adsp1800_mmu.c | 40 - hw/pl011.c | 2 hw/pl061.c | 25 + hw/ppc440_bamboo.c | 2 hw/ppce500_mpc8544ds.c | 4 hw/qdev.c | 225 ++++++++ hw/qdev.h | 50 +- hw/ssi.c | 7 hw/stellaris.c | 272 ++-------- hw/stellaris_enet.c | 2 hw/stellaris_input.c | 91 --- hw/syborg.c | 112 ---- hw/sysbus.c | 5 hw/sysbus.h | 15 - libfdt/Makefile.libfdt | 14 libfdt/TODO | 3 libfdt/fdt.c | 156 ++++++ libfdt/fdt.h | 60 ++ libfdt/fdt_ro.c | 583 +++++++++++++++++++++ libfdt/fdt_rw.c | 471 +++++++++++++++++ libfdt/fdt_strerror.c | 96 +++ libfdt/fdt_sw.c | 258 +++++++++ libfdt/fdt_wip.c | 144 +++++ libfdt/libfdt.h | 1070 ++++++++++++++++++++++++++++++++++++++ libfdt/libfdt_env.h | 21 + libfdt/libfdt_internal.h | 89 +++ libfdt/patch.libfdt | 20 + pc-bios/boards/integrator-cp.dts | 110 ++++ pc-bios/boards/lm3s6965evb.dts | 212 ++++++++ pc-bios/boards/lm3s811evb.dts | 155 ++++++ pc-bios/boards/syborg.dts | 134 +++++ rules.mak | 3 sysemu.h | 3 target-ppc/kvm_ppc.c | 2 vl.c | 45 +- 50 files changed, 4973 insertions(+), 615 deletions(-) create mode 100644 hw/arm-cpu.c create mode 100644 hw/dt-machine.c create mode 100644 hw/gpio-buttons.c delete mode 100644 hw/stellaris_input.c delete mode 100644 hw/syborg.c create mode 100644 libfdt/Makefile.libfdt create mode 100644 libfdt/TODO create mode 100644 libfdt/fdt.c create mode 100644 libfdt/fdt.h create mode 100644 libfdt/fdt_ro.c create mode 100644 libfdt/fdt_rw.c create mode 100644 libfdt/fdt_strerror.c create mode 100644 libfdt/fdt_sw.c create mode 100644 libfdt/fdt_wip.c create mode 100644 libfdt/libfdt.h create mode 100644 libfdt/libfdt_env.h create mode 100644 libfdt/libfdt_internal.h create mode 100644 libfdt/patch.libfdt create mode 100644 pc-bios/boards/integrator-cp.dts create mode 100644 pc-bios/boards/lm3s6965evb.dts create mode 100644 pc-bios/boards/lm3s811evb.dts create mode 100644 pc-bios/boards/syborg.dts