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. 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 -- 1.7.9.5