Skip to content
Snippets Groups Projects
  1. Feb 04, 2022
  2. Feb 02, 2022
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/hdeller/tags/hppa-updates-pull-request' into staging · 8f3e5ce7
      Peter Maydell authored
      
      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: default avatarHelge 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: default avatarPeter Maydell <peter.maydell@linaro.org>
      8f3e5ce7
    • Sven Schnelle's avatar
      hw/display/artist: Fix draw_line() artefacts · d449eee3
      Sven Schnelle authored
      
      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: default avatarSven Schnelle <svens@stackframe.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      d449eee3
    • Helge Deller's avatar
      hw/display/artist: Mouse cursor fixes for HP-UX · 3615cea4
      Helge Deller authored
      
      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: default avatarHelge Deller <deller@gmx.de>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      3615cea4
    • Sven Schnelle's avatar
      hw/display/artist: rewrite vram access mode handling · 3b21d998
      Sven Schnelle authored
      
      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: default avatarSven Schnelle <svens@stackframe.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      3b21d998
    • Helge Deller's avatar
      hppa: Add support for an emulated TOC/NMI button. · 4a4554c6
      Helge Deller authored
      
      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: default avatarHelge Deller <deller@gmx.de>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      4a4554c6
    • Helge Deller's avatar
      hw/hppa: Allow up to 16 emulated CPUs · 87e126ea
      Helge Deller authored
      
      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: default avatarHelge Deller <deller@gmx.de>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      87e126ea
    • Helge Deller's avatar
      seabios-hppa: Update SeaBIOS-hppa to VERSION 3 · 097defeb
      Helge Deller authored
      
      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: default avatarHelge Deller <deller@gmx.de>
      097defeb
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/bsdimp/tags/bsd-user-fix-pull-request' into staging · f7c0e223
      Peter Maydell authored
      
      Pull request
      
      Fix FreeBSD 12 and 13 builds.
      
      # gpg: Signature made Tue 01 Feb 2022 21:58:37 GMT
      # gpg:                using RSA key 2035F894B00AA3CF7CCDE1B76C1CD1287DB01100
      # gpg: Good signature from "Warner Losh <wlosh@netflix.com>" [unknown]
      # gpg:                 aka "Warner Losh <imp@bsdimp.com>" [unknown]
      # gpg:                 aka "Warner Losh <imp@freebsd.org>" [unknown]
      # gpg:                 aka "Warner Losh <imp@village.org>" [unknown]
      # gpg:                 aka "Warner Losh <wlosh@bsdimp.com>" [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: 2035 F894 B00A A3CF 7CCD  E1B7 6C1C D128 7DB0 1100
      
      * remotes/bsdimp/tags/bsd-user-fix-pull-request:
        bsd-user/signal.c: Only copy the _capsicum for FreeBSD_version > 1400026
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      f7c0e223
  3. Feb 01, 2022
Loading