From 6bf5b4e8a85a46b5f41eeea0910327608924b382 Mon Sep 17 00:00:00 2001 From: ths Date: Wed, 17 Oct 2007 13:08:32 +0000 Subject: [PATCH] MIPSsim pseudo machine emulation. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3400 c046a42c-6fe2-441c-8c8c-71466251a162 --- Makefile.target | 3 ++- qemu-doc.texi | 15 ++++++++++++++- vl.c | 1 + vl.h | 12 +++++++++--- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/Makefile.target b/Makefile.target index f5b6447fa..2a0648a29 100644 --- a/Makefile.target +++ b/Makefile.target @@ -478,11 +478,12 @@ VL_OBJS+= ppc4xx_devs.o ppc405_uc.o ppc405_boards.o CPPFLAGS += -DHAS_AUDIO -DHAS_AUDIO_CHOICE endif ifeq ($(TARGET_BASE_ARCH), mips) -VL_OBJS+= mips_r4k.o mips_malta.o mips_pica61.o +VL_OBJS+= mips_r4k.o mips_malta.o mips_pica61.o mips_mipssim.o VL_OBJS+= mips_timer.o mips_int.o dma.o vga.o serial.o i8254.o i8259.o VL_OBJS+= jazz_led.o VL_OBJS+= ide.o gt64xxx.o pckbd.o ps2.o fdc.o mc146818rtc.o usb-uhci.o acpi.o ds1225y.o VL_OBJS+= piix_pci.o smbus_eeprom.o parallel.o mixeng.o cirrus_vga.o $(SOUND_HW) $(AUDIODRV) +VL_OBJS+= mipsnet.o CPPFLAGS += -DHAS_AUDIO endif ifeq ($(TARGET_BASE_ARCH), cris) diff --git a/qemu-doc.texi b/qemu-doc.texi index c3a529ba9..5b534cc9b 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -2036,6 +2036,8 @@ A generic ISA PC-like machine "mips" The MIPS Malta prototype board "malta" @item An ACER Pica "pica61" +@item +MIPS MIPSsim emulator pseudo board "mipssim" @end itemize The generic emulation is supported by Debian 'Etch' and is able to @@ -2044,7 +2046,7 @@ emulated: @itemize @minus @item -MIPS 24Kf CPU +A range of MIPS CPUs, default is the 24Kf @item PC style serial port @item @@ -2083,6 +2085,17 @@ PC Keyboard IDE controller @end itemize +The MIPSsim emulation supports: + +@itemize @minus +@item +A range of MIPS CPUs, default is the 24Kf +@item +PC style serial port +@item +MIPSnet network emulation +@end itemize + @node ARM System emulator @section ARM System emulator diff --git a/vl.c b/vl.c index 65c3e6a47..6d8fe3542 100644 --- a/vl.c +++ b/vl.c @@ -7365,6 +7365,7 @@ void register_machines(void) qemu_register_machine(&mips_machine); qemu_register_machine(&mips_malta_machine); qemu_register_machine(&mips_pica61_machine); + qemu_register_machine(&mips_mipssim_machine); #elif defined(TARGET_SPARC) #ifdef TARGET_SPARC64 qemu_register_machine(&sun4u_machine); diff --git a/vl.h b/vl.h index afa2cd6bb..adf6004a7 100644 --- a/vl.h +++ b/vl.h @@ -1068,6 +1068,9 @@ void pci_pcnet_init(PCIBus *bus, NICInfo *nd, int devfn); void lance_init(NICInfo *nd, target_phys_addr_t leaddr, void *dma_opaque, qemu_irq irq, qemu_irq *reset); +/* mipsnet.c */ +void mipsnet_init(int base, qemu_irq irq, NICInfo *nd); + /* vmmouse.c */ void *vmmouse_init(void *m); @@ -1190,12 +1193,15 @@ extern QEMUMachine mips_machine; /* mips_malta.c */ extern QEMUMachine mips_malta_machine; -/* mips_int.c */ -extern void cpu_mips_irq_init_cpu(CPUState *env); - /* mips_pica61.c */ extern QEMUMachine mips_pica61_machine; +/* mips_mipssim.c */ +extern QEMUMachine mips_mipssim_machine; + +/* mips_int.c */ +extern void cpu_mips_irq_init_cpu(CPUState *env); + /* mips_timer.c */ extern void cpu_mips_clock_init(CPUState *); extern void cpu_mips_irqctrl_init (void);