[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] e3355a: m68k: Add NeXTcube framebuffer device
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] e3355a: m68k: Add NeXTcube framebuffer device emulation |
Date: |
Mon, 09 Sep 2019 07:43:50 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: e3355a0ca2d82acc1d65e370284b503e178fa41a
https://github.com/qemu/qemu/commit/e3355a0ca2d82acc1d65e370284b503e178fa41a
Author: Thomas Huth <address@hidden>
Date: 2019-09-07 (Sat, 07 Sep 2019)
Changed paths:
M default-configs/m68k-softmmu.mak
M hw/display/Makefile.objs
A hw/display/next-fb.c
M hw/m68k/Kconfig
A include/hw/m68k/next-cube.h
Log Message:
-----------
m68k: Add NeXTcube framebuffer device emulation
The NeXTcube uses a linear framebuffer with 4 greyscale colors and
a fixed resolution of 1120 * 832.
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-fb.c
and altered to fit the latest interface of the current QEMU (e.g.
the device has been "qdev"-ified etc.).
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Commit: c8e8bc85a6ba106ad4fd92468f6ef726200ab1ca
https://github.com/qemu/qemu/commit/c8e8bc85a6ba106ad4fd92468f6ef726200ab1ca
Author: Thomas Huth <address@hidden>
Date: 2019-09-07 (Sat, 07 Sep 2019)
Changed paths:
M hw/m68k/Makefile.objs
A hw/m68k/next-kbd.c
M include/hw/m68k/next-cube.h
Log Message:
-----------
m68k: Add NeXTcube keyboard device
It is likely still quite incomplete (e.g. mouse and interrupts are not
implemented yet), but it is good enough for keyboard input at the firmware
monitor.
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-kbd.c
and altered to fit the latest interface of the current QEMU (e.g. to use
memory_region_init_io() instead of cpu_register_physical_memory()).
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Commit: 956a78118bfc7fa512b03cbe8a77b9384c6d89f4
https://github.com/qemu/qemu/commit/956a78118bfc7fa512b03cbe8a77b9384c6d89f4
Author: Thomas Huth <address@hidden>
Date: 2019-09-07 (Sat, 07 Sep 2019)
Changed paths:
M hw/m68k/Makefile.objs
A hw/m68k/next-cube.c
M include/hw/m68k/next-cube.h
Log Message:
-----------
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: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Commit: b43047a20feba0ff1eaf6a49007e2d5402df3d46
https://github.com/qemu/qemu/commit/b43047a20feba0ff1eaf6a49007e2d5402df3d46
Author: Laurent Vivier <address@hidden>
Date: 2019-09-07 (Sat, 07 Sep 2019)
Changed paths:
M hw/char/escc.c
M include/hw/char/escc.h
Log Message:
-----------
escc: introduce a selector for the register bit
On Sparc and PowerMac, the bit 0 of the address selects the register
type (control or data) and bit 1 selects the channel (B or A).
On m68k Macintosh and NeXTcube, the bit 0 selects the channel and
bit 1 the register type.
This patch introduces a new parameter (bit_swap) to the device interface
to indicate bits usage must be swapped between registers and channels.
For the moment all the machines use the bit 0, but this change will be
needed to emulate the Quadra 800 or NeXTcube machine.
Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Hervé Poussineau <address@hidden>
[thh: added NeXTcube to the patch description]
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Commit: b17bed5b1727e3aa9e37fc8e8c3222130ceab22f
https://github.com/qemu/qemu/commit/b17bed5b1727e3aa9e37fc8e8c3222130ceab22f
Author: Thomas Huth <address@hidden>
Date: 2019-09-07 (Sat, 07 Sep 2019)
Changed paths:
M hw/m68k/Kconfig
M hw/m68k/next-cube.c
M tests/boot-serial-test.c
Log Message:
-----------
m68k: Add serial controller to the NeXTcube machine
The NeXTcube uses a normal 8530 serial controller, so we can simply use
our normal "escc" device here.
While we're at it, also add a boot-serial-test for the next-cube machine,
now that the serial output works.
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Commit: 1810b8150195f85b389462a0cbb4ab7337920ba7
https://github.com/qemu/qemu/commit/1810b8150195f85b389462a0cbb4ab7337920ba7
Author: Thomas Huth <address@hidden>
Date: 2019-09-07 (Sat, 07 Sep 2019)
Changed paths:
M MAINTAINERS
Log Message:
-----------
m68k: Add an entry for the NeXTcube machine to the MAINTAINERS file
I don't have much clue about the NeXT hardware, but at least I know now
the source files a little bit, so I volunteer to pick up patches and send
PULL requests for them until someone else with more knowledge steps up
to do this job instead.
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Commit: ca2e7e463fda794c44e76838824eb40945226c64
https://github.com/qemu/qemu/commit/ca2e7e463fda794c44e76838824eb40945226c64
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-09-07 (Sat, 07 Sep 2019)
Changed paths:
A tests/acceptance/machine_m68k_nextcube.py
Log Message:
-----------
tests/acceptance: Add test of NeXTcube framebuffer using OCR
Add a test of the NeXTcube framebuffer using the Tesseract OCR
engine on a screenshot of the framebuffer device.
The test is very quick:
$ avocado --show=app,console run tests/acceptance/machine_m68k_nextcube.py
JOB ID : 78844a92424cc495bd068c3874d542d1e20f24bc
JOB LOG :
/home/phil/avocado/job-results/job-2019-08-13T13.16-78844a9/job.log
(1/3)
tests/acceptance/machine_m68k_nextcube.py:NextCubeMachine.test_bootrom_framebuffer_size:
PASS (2.16 s)
(2/3)
tests/acceptance/machine_m68k_nextcube.py:NextCubeMachine.test_bootrom_framebuffer_ocr_with_tesseract_v3:
-
ue r pun Honl'flx ; 5‘ 55‘
avg ncaaaaa 25 MHZ, memary jag m
Backplane slat «a
Ethernet address a a r a r3 2
Memgry sackets aea canflqured far 16MB Darlly page made stMs but have 16MB
page made stMs )nstalled
Memgry sackets a and 1 canflqured far 16MB Darlly page made stMs but have
16MB page made stMs )nstalled
[...]
Yestlnq the rpu, 5::
system test raneg Errar egge 51
Egg: cammand
Default pggc devlce nut fauna
NEXY>I
PASS (2.64 s)
(3/3)
tests/acceptance/machine_m68k_nextcube.py:NextCubeMachine.test_bootrom_framebuffer_ocr_with_tesseract_v4:
SKIP: tesseract v4 OCR tool not available
RESULTS : PASS 2 | ERROR 0 | FAIL 0 | SKIP 1 | WARN 0 | INTERRUPT 0 |
CANCEL 0
JOB TIME : 5.35 s
Documentation on how to install tesseract:
https://github.com/tesseract-ocr/tesseract/wiki#installation
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Commit: 25311649592f5584b1e1012d69c7327ef87473f4
https://github.com/qemu/qemu/commit/25311649592f5584b1e1012d69c7327ef87473f4
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-09-07 (Sat, 07 Sep 2019)
Changed paths:
M .travis.yml
Log Message:
-----------
.travis.yml: Let the avocado job run the NeXTcube tests
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
[huth: Rebased patch to master branch]
Signed-off-by: Thomas Huth <address@hidden>
Commit: 89ea03a7dc83ca36b670ba7f787802791fcb04b1
https://github.com/qemu/qemu/commit/89ea03a7dc83ca36b670ba7f787802791fcb04b1
Author: Peter Maydell <address@hidden>
Date: 2019-09-09 (Mon, 09 Sep 2019)
Changed paths:
M .travis.yml
M MAINTAINERS
M default-configs/m68k-softmmu.mak
M hw/char/escc.c
M hw/display/Makefile.objs
A hw/display/next-fb.c
M hw/m68k/Kconfig
M hw/m68k/Makefile.objs
A hw/m68k/next-cube.c
A hw/m68k/next-kbd.c
M include/hw/char/escc.h
A include/hw/m68k/next-cube.h
A tests/acceptance/machine_m68k_nextcube.py
M tests/boot-serial-test.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/huth-gitlab/tags/m68k-pull-2019-09-07'
into staging
Add the m68k next-cube machine
# gpg: Signature made Sat 07 Sep 2019 16:32:53 BST
# gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg: issuer "address@hidden"
# gpg: Good signature from "Thomas Huth <address@hidden>" [full]
# gpg: aka "Thomas Huth <address@hidden>" [full]
# gpg: aka "Thomas Huth <address@hidden>" [full]
# gpg: aka "Thomas Huth <address@hidden>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5
* remotes/huth-gitlab/tags/m68k-pull-2019-09-07:
.travis.yml: Let the avocado job run the NeXTcube tests
tests/acceptance: Add test of NeXTcube framebuffer using OCR
m68k: Add an entry for the NeXTcube machine to the MAINTAINERS file
m68k: Add serial controller to the NeXTcube machine
escc: introduce a selector for the register bit
m68k: Add NeXTcube machine
m68k: Add NeXTcube keyboard device
m68k: Add NeXTcube framebuffer device emulation
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/019217c3b34f...89ea03a7dc83
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] e3355a: m68k: Add NeXTcube framebuffer device emulation,
Peter Maydell <=