mbox series

[v5,0/6] HPPA: i82596, PS/2 and graphics emulation

Message ID 20191220211512.3289-1-svens@stackframe.org (mailing list archive)
Headers show
Series HPPA: i82596, PS/2 and graphics emulation | expand

Message

Sven Schnelle Dec. 20, 2019, 9:15 p.m. UTC
Hi,

these series adds quite a lot to the HPPA emulation in QEMU:
i82596 emulation from Helge, PS/2 and Artist graphics emulation.

See https://parisc.wiki.kernel.org/index.php/Qemu for a few screenshots
of QEMU running a X11/CDE session in HP-UX.

Changes in v5:
 - fix a buffer overrun in vram_bit_write()
 - improve STI line wraparound

Changes in v4:
 - introduce Artist-internal address space
 - rewrite screen update functions to use the generic framebuffer routines
 - use dirty bitmap code to not always redraw the whole screen

Changes in v3:
 - use BIT() macro in gsc_to_pci_forwarding()
 - fix version id in vm state
 - fix an error in the PS/2 KBD_CMD_SET_MAKE_BREAK implementation

Changes in v2:
 - dropped 'hppa: remove ISA region' as that patch requires some more work
 - added shortlog to seabios update
 - use const and MAKE_64BIT_MASK in dino.c

Regards,
Sven

Helge Deller (2):
  hw/hppa/dino.c: Improve emulation of Dino PCI chip
  hppa: Add support for LASI chip with i82596 NIC

Sven Schnelle (4):
  ps2: accept 'Set Key Make and Break' commands
  hppa: add emulation of LASI PS2 controllers
  hppa: Add emulation of Artist graphics
  seabios-hppa: update to latest version

 MAINTAINERS                 |    4 +-
 hw/display/Kconfig          |    4 +
 hw/display/Makefile.objs    |    1 +
 hw/display/artist.c         | 1450 +++++++++++++++++++++++++++++++++++
 hw/display/trace-events     |    9 +
 hw/hppa/Kconfig             |    3 +
 hw/hppa/Makefile.objs       |    2 +-
 hw/hppa/dino.c              |   97 ++-
 hw/hppa/hppa_hardware.h     |    1 +
 hw/hppa/hppa_sys.h          |    2 +
 hw/hppa/lasi.c              |  368 +++++++++
 hw/hppa/machine.c           |   17 +-
 hw/hppa/trace-events        |   10 +
 hw/input/Kconfig            |    3 +
 hw/input/Makefile.objs      |    1 +
 hw/input/lasips2.c          |  289 +++++++
 hw/input/ps2.c              |   15 +
 hw/input/trace-events       |    5 +
 hw/net/Kconfig              |    7 +
 hw/net/Makefile.objs        |    2 +
 hw/net/i82596.c             |  734 ++++++++++++++++++
 hw/net/i82596.h             |   55 ++
 hw/net/lasi_i82596.c        |  188 +++++
 hw/net/trace-events         |   14 +
 include/hw/input/lasips2.h  |   16 +
 include/hw/input/ps2.h      |    1 +
 include/hw/net/lasi_82596.h |   29 +
 pc-bios/hppa-firmware.img   |  Bin 783724 -> 766136 bytes
 roms/seabios-hppa           |    2 +-
 29 files changed, 3311 insertions(+), 18 deletions(-)
 create mode 100644 hw/display/artist.c
 create mode 100644 hw/hppa/lasi.c
 create mode 100644 hw/input/lasips2.c
 create mode 100644 hw/net/i82596.c
 create mode 100644 hw/net/i82596.h
 create mode 100644 hw/net/lasi_i82596.c
 create mode 100644 include/hw/input/lasips2.h
 create mode 100644 include/hw/net/lasi_82596.h

Comments

Helge Deller Dec. 21, 2019, 10:22 p.m. UTC | #1
* Sven Schnelle <svens@stackframe.org>:
> these series adds quite a lot to the HPPA emulation in QEMU:
> i82596 emulation from Helge, PS/2 and Artist graphics emulation.
>
> See https://parisc.wiki.kernel.org/index.php/Qemu for a few screenshots
> of QEMU running a X11/CDE session in HP-UX.

Sadly those screenshots were dropped by mistake in the last kernel wiki
migration. It's being worked on to restore them...

Sven or Richard, can you please on top of the patches sent by Sven,
include the next two patches as well? They fix up the serial console
when booting into Linux with the "-nographic" qemu option, and the
second patch switches to tulip network card instead of the e1000.

Helge
Richard Henderson Dec. 29, 2019, 1:25 a.m. UTC | #2
On 12/21/19 8:15 AM, Sven Schnelle wrote:
> these series adds quite a lot to the HPPA emulation in QEMU:
> i82596 emulation from Helge, PS/2 and Artist graphics emulation.
> 
> See https://parisc.wiki.kernel.org/index.php/Qemu for a few screenshots
> of QEMU running a X11/CDE session in HP-UX.
> 
> Changes in v5:
>  - fix a buffer overrun in vram_bit_write()
>  - improve STI line wraparound
> 
> Changes in v4:
>  - introduce Artist-internal address space
>  - rewrite screen update functions to use the generic framebuffer routines
>  - use dirty bitmap code to not always redraw the whole screen
> 
> Changes in v3:
>  - use BIT() macro in gsc_to_pci_forwarding()
>  - fix version id in vm state
>  - fix an error in the PS/2 KBD_CMD_SET_MAKE_BREAK implementation
> 
> Changes in v2:
>  - dropped 'hppa: remove ISA region' as that patch requires some more work
>  - added shortlog to seabios update
>  - use const and MAKE_64BIT_MASK in dino.c
> 
> Regards,
> Sven
> 
> Helge Deller (2):
>   hw/hppa/dino.c: Improve emulation of Dino PCI chip
>   hppa: Add support for LASI chip with i82596 NIC
> 
> Sven Schnelle (4):
>   ps2: accept 'Set Key Make and Break' commands
>   hppa: add emulation of LASI PS2 controllers
>   hppa: Add emulation of Artist graphics
>   seabios-hppa: update to latest version

Queued these 6.  I squashed Helge's -nographics fix into patch 5.

I cannot get my debian 8 install to boot to a prompt with the artist graphics
enabled.  I'm not sure if I need a newer kernel or what.  But it doesn't do
nothing either, so I'm a bit confused.

However, I have validated a boot of hpux-11.11, so any refinements that might
be required should be incremental.


r~
Helge Deller Dec. 29, 2019, 1:08 p.m. UTC | #3
On 29.12.19 02:25, Richard Henderson wrote:
> On 12/21/19 8:15 AM, Sven Schnelle wrote:
>> these series adds quite a lot to the HPPA emulation in QEMU:
>> i82596 emulation from Helge, PS/2 and Artist graphics emulation.
>>
>> See https://parisc.wiki.kernel.org/index.php/Qemu for a few screenshots
>> of QEMU running a X11/CDE session in HP-UX.
>>
>> Changes in v5:
>>  - fix a buffer overrun in vram_bit_write()
>>  - improve STI line wraparound
>>
>> Changes in v4:
>>  - introduce Artist-internal address space
>>  - rewrite screen update functions to use the generic framebuffer routines
>>  - use dirty bitmap code to not always redraw the whole screen
>>
>> Changes in v3:
>>  - use BIT() macro in gsc_to_pci_forwarding()
>>  - fix version id in vm state
>>  - fix an error in the PS/2 KBD_CMD_SET_MAKE_BREAK implementation
>>
>> Changes in v2:
>>  - dropped 'hppa: remove ISA region' as that patch requires some more work
>>  - added shortlog to seabios update
>>  - use const and MAKE_64BIT_MASK in dino.c
>>
>> Regards,
>> Sven
>>
>> Helge Deller (2):
>>   hw/hppa/dino.c: Improve emulation of Dino PCI chip
>>   hppa: Add support for LASI chip with i82596 NIC
>>
>> Sven Schnelle (4):
>>   ps2: accept 'Set Key Make and Break' commands
>>   hppa: add emulation of LASI PS2 controllers
>>   hppa: Add emulation of Artist graphics
>>   seabios-hppa: update to latest version
>
> Queued these 6.  I squashed Helge's -nographics fix into patch 5.

Thank you Richard!

> I cannot get my debian 8 install to boot to a prompt with the artist graphics
> enabled.  I'm not sure if I need a newer kernel or what.  But it doesn't do
> nothing either, so I'm a bit confused.

I think it should work out of the box and the kernel should be OK,
because stifb has been in there for long time.
Do you maybe have "stifb=off or sticon=off" in the kernel commmand line?
Did you enabled a getty for tty0 in etc/inittab ?
What does dmesg say?
Is "/proc/fb0" device there ?
I'm happy to look into it, if you can provide me your image for download somewhere...

Helge