Hi Chris, On Sun, 2012-09-09 at 20:19 -0400, crwu...@gmail.com wrote: > From: Chris Wulff <crwu...@gmail.com> > > This set of patches adds support for the Altera NiosII soft-core processor, > along with the hardware drivers needed to boot linux. I have tested the > soft-mmu > target and can boot to a shell with uClinux and a linux 3.0 kernel. > > Also included is a MicroBlaze configuration that is dynamically created > from a device tree file that matches the NiosII one. These assign QEMU device > emulation to the address space where specified in the device tree file. >
We are currently maintaining a system out of tree that does exactly this. Ill send patches shortly. We need to compare and converge implementations. We sent this to the mailing list about a year ago: http://lists.gnu.org/archive/html/qemu-devel/2011-08/msg02953.html We currently in an effort to make this machine independent, rather than having to put dtb glue code in machine models. Regards, Peter > Chris Wulff (9): > NiosII: Add support for the Altera NiosII soft-core CPU. > NiosII: Disassembly of NiosII instructions ported from GDB. > Altera: Add support for Altera devices required to boot linux on > NiosII. > LabX: Support for some Lab X FPGA devices. > FDT: Add additional access methods for array types and walking > children. > NiosII: Build system and documentation integration. > NiosII: Add a config that is dynamically set up by a device tree > file. > MicroBlaze: Add a config that is dynamically set up by a device tree > file. > xilinx_timer: Fix a compile error if debug messages are enabled. > > MAINTAINERS | 5 + > Makefile.objs | 2 + > arch_init.c | 2 + > arch_init.h | 1 + > configure | 11 + > cpu-exec.c | 12 +- > default-configs/microblaze-softmmu.mak | 1 + > default-configs/nios2-linux-user.mak | 1 + > default-configs/nios2-softmmu.mak | 6 + > device_tree.c | 88 ++ > device_tree.h | 18 + > dis-asm.h | 3 + > disas.c | 3 + > elf.h | 2 + > exec.c | 6 +- > gdbstub.c | 29 + > hw/Makefile.objs | 12 + > hw/altera.h | 34 + > hw/altera_timer.c | 198 +++ > hw/altera_uart.c | 218 ++++ > hw/altera_vic.c | 195 +++ > hw/labx_audio_depacketizer.c | 409 ++++++ > hw/labx_audio_packetizer.c | 397 ++++++ > hw/labx_devices.h | 103 ++ > hw/labx_dma.c | 241 ++++ > hw/labx_ethernet.c | 615 +++++++++ > hw/labx_microblaze_devicetree.c | 597 +++++++++ > hw/labx_nios2_devicetree.c | 665 ++++++++++ > hw/labx_ptp.c | 291 +++++ > hw/microblaze/Makefile.objs | 3 +- > hw/nios2.h | 46 + > hw/nios2/Makefile.objs | 6 + > hw/nios2_pic_cpu.c | 48 + > hw/xilinx_timer.c | 3 +- > linux-user/elfload.c | 29 + > monitor.c | 5 +- > nios2-dis.c | 417 +++++++ > nios2-isa.h | 2150 > ++++++++++++++++++++++++++++++++ > nios2-opc.c | 540 ++++++++ > nios2.h | 366 ++++++ > qapi-schema.json | 2 +- > qemu-doc.texi | 3 + > target-nios2/Makefile.objs | 5 + > target-nios2/altera_iic.c | 100 ++ > target-nios2/cpu-qom.h | 69 + > target-nios2/cpu.c | 83 ++ > target-nios2/cpu.h | 259 ++++ > target-nios2/exec.h | 60 + > target-nios2/helper.c | 291 +++++ > target-nios2/helper.h | 45 + > target-nios2/instruction.c | 1463 ++++++++++++++++++++++ > target-nios2/instruction.h | 290 +++++ > target-nios2/machine.c | 33 + > target-nios2/mmu.c | 273 ++++ > target-nios2/mmu.h | 49 + > target-nios2/op_helper.c | 125 ++ > target-nios2/translate.c | 252 ++++ > 57 files changed, 11172 insertions(+), 8 deletions(-) > create mode 100644 default-configs/nios2-linux-user.mak > create mode 100644 default-configs/nios2-softmmu.mak > create mode 100644 hw/altera.h > create mode 100644 hw/altera_timer.c > create mode 100644 hw/altera_uart.c > create mode 100644 hw/altera_vic.c > create mode 100644 hw/labx_audio_depacketizer.c > create mode 100644 hw/labx_audio_packetizer.c > create mode 100644 hw/labx_devices.h > create mode 100644 hw/labx_dma.c > create mode 100644 hw/labx_ethernet.c > create mode 100644 hw/labx_microblaze_devicetree.c > create mode 100644 hw/labx_nios2_devicetree.c > create mode 100644 hw/labx_ptp.c > create mode 100644 hw/nios2.h > create mode 100644 hw/nios2/Makefile.objs > create mode 100644 hw/nios2_pic_cpu.c > create mode 100644 nios2-dis.c > create mode 100644 nios2-isa.h > create mode 100644 nios2-opc.c > create mode 100644 nios2.h > create mode 100644 target-nios2/Makefile.objs > create mode 100644 target-nios2/altera_iic.c > create mode 100644 target-nios2/cpu-qom.h > create mode 100644 target-nios2/cpu.c > create mode 100644 target-nios2/cpu.h > create mode 100644 target-nios2/exec.h > create mode 100644 target-nios2/helper.c > create mode 100644 target-nios2/helper.h > create mode 100644 target-nios2/instruction.c > create mode 100644 target-nios2/instruction.h > create mode 100644 target-nios2/machine.c > create mode 100644 target-nios2/mmu.c > create mode 100644 target-nios2/mmu.h > create mode 100644 target-nios2/op_helper.c > create mode 100644 target-nios2/translate.c >