[Qemu-devel] [PATCH v2 0/4] m68k: Add basic support for the NeXTcube machine

Thomas Huth posted 4 patches 4 years, 10 months ago
Test checkpatch passed
Test s390x passed
Test asan passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test docker-clang@ubuntu passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190628181536.13729-1-huth@tuxfamily.org
There is a newer version of this series
MAINTAINERS                      |   7 +
default-configs/m68k-softmmu.mak |   1 +
hw/display/Makefile.objs         |   1 +
hw/display/next-fb.c             | 157 +++++
hw/m68k/Kconfig                  |   4 +
hw/m68k/Makefile.objs            |   1 +
hw/m68k/next-cube.c              | 988 +++++++++++++++++++++++++++++++
hw/m68k/next-kbd.c               | 320 ++++++++++
include/hw/m68k/next-cube.h      |  49 ++
9 files changed, 1528 insertions(+)
create mode 100644 hw/display/next-fb.c
create mode 100644 hw/m68k/next-cube.c
create mode 100644 hw/m68k/next-kbd.c
create mode 100644 include/hw/m68k/next-cube.h
[Qemu-devel] [PATCH v2 0/4] m68k: Add basic support for the NeXTcube machine
Posted by Thomas Huth 4 years, 10 months ago
Bryce apparently never got around to work on this again, so I'll have
another try now ...

During Google Summer of Code 2011, Bryce Lanham added the possibility to
emulate the NeXTcube machine in QEMU, e.g. see this URL for some details:

https://wiki.qemu.org/Google_Summer_of_Code_2011#NeXT_machines_system_emulation

But since the machine requires a 68040 CPU and this was not included in
upstream QEMU in 2011 yet, the patches have never been merged to upstream.

Then, during the last years, Laurent completed the full 680x0 support in
upstream QEMU, so we could finally merge the NeXTcube support, too.

The QEMU interfaces changed a lot since 2011, so I had to modify the
sources quite a bit, but with the attached patches, it is now possible
to boot up to the firmware monitor again.

Note that boot device emulation is either still missing (network and SCSI),
so you can not boot any operating systems with this machine yet. I have
the patches for these devices in my brach here:

 https://gitlab.com/huth/qemu/commits/next-cube

... but they are not quite working yet, so I'll submit them later once
they have been fixed and the basic support patches of this series have
been merged.

v2:
 - Don't use memory_region_allocate_system_memory() for the framebuffer
   device anymore
 - Turn the keyboard device into a proper QOM device
 - Put the global variables in the third patch into the machine state
   structure
 - Got rid of the "//" C++ comments

Thomas Huth (4):
  m68k: Add NeXTcube framebuffer device emulation
  m68k: Add NeXTcube keyboard device
  m68k: Add NeXTcube machine
  m68k: Add an entry for the NeXTcube machine to the MAINTAINERS file

 MAINTAINERS                      |   7 +
 default-configs/m68k-softmmu.mak |   1 +
 hw/display/Makefile.objs         |   1 +
 hw/display/next-fb.c             | 157 +++++
 hw/m68k/Kconfig                  |   4 +
 hw/m68k/Makefile.objs            |   1 +
 hw/m68k/next-cube.c              | 988 +++++++++++++++++++++++++++++++
 hw/m68k/next-kbd.c               | 320 ++++++++++
 include/hw/m68k/next-cube.h      |  49 ++
 9 files changed, 1528 insertions(+)
 create mode 100644 hw/display/next-fb.c
 create mode 100644 hw/m68k/next-cube.c
 create mode 100644 hw/m68k/next-kbd.c
 create mode 100644 include/hw/m68k/next-cube.h

-- 
2.21.0


Re: [Qemu-devel] [PATCH v2 0/4] m68k: Add basic support for the NeXTcube machine
Posted by Philippe Mathieu-Daudé 4 years, 10 months ago
On 6/28/19 8:15 PM, Thomas Huth wrote:
> Bryce apparently never got around to work on this again, so I'll have
> another try now ...
> 
> During Google Summer of Code 2011, Bryce Lanham added the possibility to
> emulate the NeXTcube machine in QEMU, e.g. see this URL for some details:
> 
> https://wiki.qemu.org/Google_Summer_of_Code_2011#NeXT_machines_system_emulation

I'm not sure you used the correct URL, the GSoC entry is not very
useful. I found this one more helpful (v1):
https://lists.gnu.org/archive/html/qemu-devel/2011-08/msg02158.html

> But since the machine requires a 68040 CPU and this was not included in
> upstream QEMU in 2011 yet, the patches have never been merged to upstream.
> 
> Then, during the last years, Laurent completed the full 680x0 support in
> upstream QEMU, so we could finally merge the NeXTcube support, too.
> 
> The QEMU interfaces changed a lot since 2011, so I had to modify the
> sources quite a bit, but with the attached patches, it is now possible
> to boot up to the firmware monitor again.
> 
> Note that boot device emulation is either still missing (network and SCSI),
> so you can not boot any operating systems with this machine yet. I have
> the patches for these devices in my brach here:
> 
>  https://gitlab.com/huth/qemu/commits/next-cube
> 
> ... but they are not quite working yet, so I'll submit them later once
> they have been fixed and the basic support patches of this series have
> been merged.
> 
> v2:
>  - Don't use memory_region_allocate_system_memory() for the framebuffer
>    device anymore
>  - Turn the keyboard device into a proper QOM device
>  - Put the global variables in the third patch into the machine state
>    structure
>  - Got rid of the "//" C++ comments