qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 097def: seabios-hppa: Update SeaBIOS-hppa to


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 097def: seabios-hppa: Update SeaBIOS-hppa to VERSION 3
Date: Wed, 02 Feb 2022 11:59:57 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 097defeb12eed05e637436db65c117c4b6274f9d
      
https://github.com/qemu/qemu/commit/097defeb12eed05e637436db65c117c4b6274f9d
  Author: Helge Deller <deller@gmx.de>
  Date:   2022-02-02 (Wed, 02 Feb 2022)

  Changed paths:
    M pc-bios/hppa-firmware.img
    M roms/seabios-hppa

  Log Message:
  -----------
  seabios-hppa: Update SeaBIOS-hppa to VERSION 3

New firmware features and fixes:

* Allow up to 16 CPUs

* Add TOC button support:
    To trigger a TOC, execute "nmi" in the qemu monitor (Ctrl-A C)

* New opt/hostid fw_cfg option to change hostid:
    -fw_cfg opt/hostid,string=334455

* Add opt/console fw_cfg option to select default console:
    -fw_cfg opt/console,string=serial
    -fw_cfg opt/console,string=graphics

* Add Linux TER16x32 font to STI firmware:
    -fw_cfg opt/font,string=2

* Leave IRQs disabled after rendevouz

Signed-off-by: Helge Deller <deller@gmx.de>


  Commit: 87e126ea149ee3f19d64f054886f573dc6b8ddee
      
https://github.com/qemu/qemu/commit/87e126ea149ee3f19d64f054886f573dc6b8ddee
  Author: Helge Deller <deller@gmx.de>
  Date:   2022-02-02 (Wed, 02 Feb 2022)

  Changed paths:
    M hw/hppa/hppa_hardware.h

  Log Message:
  -----------
  hw/hppa: Allow up to 16 emulated CPUs

This brings the hppa_hardware.h file in sync with the copy in the
SeaBIOS-hppa sources.

In order to support up to 16 CPUs, it's required to move the HPA for
MEMORY_HPA out of the address space of the new 16th CPU.
The new address of 0xfffff000 worked well for Linux and HP-UX, while
other addresses close to the former 0xfffbf000 area are used by the
architecture for local and global broadcasts.

The PIM_STORAGE_SIZE constant is used in SeaBIOS sources and
is relevant for the TOC/NMI feature.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4a4554c6c561971197dffc80d641dc17ee2314dd
      
https://github.com/qemu/qemu/commit/4a4554c6c561971197dffc80d641dc17ee2314dd
  Author: Helge Deller <deller@gmx.de>
  Date:   2022-02-02 (Wed, 02 Feb 2022)

  Changed paths:
    M hw/hppa/machine.c
    M target/hppa/cpu.c
    M target/hppa/cpu.h
    M target/hppa/helper.h
    M target/hppa/insns.decode
    M target/hppa/int_helper.c
    M target/hppa/op_helper.c
    M target/hppa/translate.c

  Log Message:
  -----------
  hppa: Add support for an emulated TOC/NMI button.

Almost all PA-RISC machines have either a button that is labeled with 'TOC' or
a BMC/GSP function to trigger a TOC.  TOC is a non-maskable interrupt that is
sent to the processor.  This can be used for diagnostic purposes like obtaining
a stack trace/register dump or to enter KDB/KGDB in Linux.

This patch adds support for such an emulated TOC button.

It wires up the qemu monitor "nmi" command to trigger a TOC.  For that it
provides the hppa_nmi function which is assigned to the nmi_monitor_handler
function pointer.  When called it raises the EXCP_TOC hardware interrupt in the
hppa_cpu_do_interrupt() function.  The interrupt function then calls the
architecturally defined TOC function in SeaBIOS-hppa firmware (at fixed address
0xf0000000).

According to the PA-RISC PDC specification, the SeaBIOS firmware then writes
the CPU registers into PIM (processor internal memmory) for later analysis.  In
order to write all registers it needs to know the contents of the CPU "shadow
registers" and the IASQ- and IAOQ-back values. The IAOQ/IASQ values are
provided by qemu in shadow registers when entering the SeaBIOS TOC function.
This patch adds a new aritificial opcode "getshadowregs" (0xfffdead2) which
restores the original values of the shadow registers. With this opcode SeaBIOS
can store those registers as well into PIM before calling an OS-provided TOC
handler.

To trigger a TOC, switch to the qemu monitor with Ctrl-A C, and type in the
command "nmi".  After the TOC started the OS-debugger, exit the qemu monitor
with Ctrl-A C.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3b21d998a12b380c590f1005343ab95e2d6a7669
      
https://github.com/qemu/qemu/commit/3b21d998a12b380c590f1005343ab95e2d6a7669
  Author: Sven Schnelle <svens@stackframe.org>
  Date:   2022-02-02 (Wed, 02 Feb 2022)

  Changed paths:
    M hw/display/artist.c
    M hw/display/trace-events

  Log Message:
  -----------
  hw/display/artist: rewrite vram access mode handling

When writing this code it was assumed that register 0x118000 is the
buffer access mode for color map accesses. It turned out that this
is wrong. Instead register 0x118000 sets both src and dst buffer
access mode at the same time.

This required a larger rewrite of the code. The good thing is that
both the linear framebuffer and the register based vram access can
now be combined into one function.

This makes the linux 'stifb' framebuffer work, and both HP-UX 10.20
and HP-UX 11.11 are still working.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: Helge Deller <deller@gmx.de>
Cc: qemu-stable@nongnu.org
Signed-off-by: Helge Deller <deller@gmx.de>


  Commit: 3615cea4714f94d1db61bd6618a3a66a6b014f9d
      
https://github.com/qemu/qemu/commit/3615cea4714f94d1db61bd6618a3a66a6b014f9d
  Author: Helge Deller <deller@gmx.de>
  Date:   2022-02-02 (Wed, 02 Feb 2022)

  Changed paths:
    M hw/display/artist.c

  Log Message:
  -----------
  hw/display/artist: Mouse cursor fixes for HP-UX

This patch fix the behaviour and positioning of the X11 mouse cursor in HP-UX.

The current code missed to subtract the offset of the CURSOR_CTRL register from
the current mouse cursor position. The HP-UX graphics driver stores in this
register the offset of the mouse graphics compared to the current cursor
position.  Without this adjustment the mouse behaves strange at the screen
borders.

Additionally, depending on the HP-UX version, the mouse cursor position
in the cursor_pos register reports different values. To accommodate this
track the current min and max reported values and auto-adjust at runtime.

With this fix the mouse now behaves as expected on HP-UX 10 and 11.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: qemu-stable@nongnu.org
Signed-off-by: Helge Deller <deller@gmx.de>


  Commit: d449eee3af37937f788c02ad88f2caa8bbfb19aa
      
https://github.com/qemu/qemu/commit/d449eee3af37937f788c02ad88f2caa8bbfb19aa
  Author: Sven Schnelle <svens@stackframe.org>
  Date:   2022-02-02 (Wed, 02 Feb 2022)

  Changed paths:
    M hw/display/artist.c

  Log Message:
  -----------
  hw/display/artist: Fix draw_line() artefacts

The draw_line() function left artefacts on the screen because it was using the
x/y variables which were incremented in the loop before. Fix it by using the
unmodified x1/x2 variables instead.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: Helge Deller <deller@gmx.de>
Cc: qemu-stable@nongnu.org
Signed-off-by: Helge Deller <deller@gmx.de>


  Commit: 8f3e5ce773c62bb5c4a847f3a9a5c98bbb3b359f
      
https://github.com/qemu/qemu/commit/8f3e5ce773c62bb5c4a847f3a9a5c98bbb3b359f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-02-02 (Wed, 02 Feb 2022)

  Changed paths:
    M hw/display/artist.c
    M hw/display/trace-events
    M hw/hppa/hppa_hardware.h
    M hw/hppa/machine.c
    M pc-bios/hppa-firmware.img
    M roms/seabios-hppa
    M target/hppa/cpu.c
    M target/hppa/cpu.h
    M target/hppa/helper.h
    M target/hppa/insns.decode
    M target/hppa/int_helper.c
    M target/hppa/op_helper.c
    M target/hppa/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/hdeller/tags/hppa-updates-pull-request' 
into staging

Fixes and updates for hppa target

This patchset fixes some important bugs in the hppa artist graphics driver:
- Fix artist graphics for HP-UX and Linux
- Mouse cursor fixes for HP-UX
- Fix draw_line() function on artist graphic

and it adds new qemu features for hppa:
- Allow up to 16 emulated CPUs (instead of 8)
- Add support for an emulated TOC/NMI button

A new Seabios-hppa firmware is included as well:
- Update SeaBIOS-hppa to VERSION 3
- New opt/hostid fw_cfg option to change hostid
- Add opt/console fw_cfg option to select default console
- Added 16x32 font to STI firmware

Signed-off-by: Helge Deller <deller@gmx.de>

# gpg: Signature made Wed 02 Feb 2022 18:08:34 GMT
# gpg:                using EDDSA key BCE9123E1AD29F07C049BBDEF712B510A23A0F5F
# gpg: Good signature from "Helge Deller <deller@gmx.de>" [unknown]
# gpg:                 aka "Helge Deller <deller@kernel.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 4544 8228 2CD9 10DB EF3D  25F8 3E5F 3D04 A7A2 4603
#      Subkey fingerprint: BCE9 123E 1AD2 9F07 C049  BBDE F712 B510 A23A 0F5F

* remotes/hdeller/tags/hppa-updates-pull-request:
  hw/display/artist: Fix draw_line() artefacts
  hw/display/artist: Mouse cursor fixes for HP-UX
  hw/display/artist: rewrite vram access mode handling
  hppa: Add support for an emulated TOC/NMI button.
  hw/hppa: Allow up to 16 emulated CPUs
  seabios-hppa: Update SeaBIOS-hppa to VERSION 3

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/f7c0e223acd5...8f3e5ce773c6



reply via email to

[Prev in Thread] Current Thread [Next in Thread]