Commit 956a7811 authored by Thomas Huth's avatar Thomas Huth
Browse files

m68k: Add NeXTcube machine

It is still quite incomplete (no SCSI, no floppy emulation, no network,
etc.), but the firmware already shows up the debug monitor prompt in the
framebuffer display, so at least the very basics are already working.

This code has been taken from Bryce Lanham's GSoC 2011 NeXT branch at

 https://github.com/blanham/qemu-NeXT/blob/next-cube/hw/next-cube.c



and altered quite a bit to fit the latest interface and coding conventions
of the current QEMU.

Tested-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190831074519.32613-4-huth@tuxfamily.org>
Signed-off-by: default avatarThomas Huth <huth@tuxfamily.org>
parent c8e8bc85
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
obj-$(CONFIG_AN5206) += an5206.o mcf5206.o
obj-$(CONFIG_MCF5208) += mcf5208.o mcf_intc.o
obj-$(CONFIG_NEXTCUBE) += next-kbd.o
obj-$(CONFIG_NEXTCUBE) += next-kbd.o next-cube.o

hw/m68k/next-cube.c

0 → 100644
+941 −0

File added.

Preview size limit exceeded, changes collapsed.

+38 −0
Original line number Diff line number Diff line
@@ -6,4 +6,42 @@

#define TYPE_NEXTKBD "next-kbd"

enum next_dma_chan {
    NEXTDMA_FD,
    NEXTDMA_ENRX,
    NEXTDMA_ENTX,
    NEXTDMA_SCSI,
    NEXTDMA_SCC,
    NEXTDMA_SND
};

#define DMA_ENABLE      0x01000000
#define DMA_SUPDATE     0x02000000
#define DMA_COMPLETE    0x08000000

#define DMA_M2DEV       0x0
#define DMA_SETENABLE   0x00010000
#define DMA_SETSUPDATE  0x00020000
#define DMA_DEV2M       0x00040000
#define DMA_CLRCOMPLETE 0x00080000
#define DMA_RESET       0x00100000

enum next_irqs {
    NEXT_FD_I,
    NEXT_KBD_I,
    NEXT_PWR_I,
    NEXT_ENRX_I,
    NEXT_ENTX_I,
    NEXT_SCSI_I,
    NEXT_CLK_I,
    NEXT_SCC_I,
    NEXT_ENTX_DMA_I,
    NEXT_ENRX_DMA_I,
    NEXT_SCSI_DMA_I,
    NEXT_SCC_DMA_I,
    NEXT_SND_I
};

void next_irq(void *opaque, int number, int level);

#endif /* NEXT_CUBE_H */