qemu-commits
[Top][All Lists]
Advanced

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

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


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 009673: seabios-hppa: Update SeaBIOS to hppa-qemu-5.2-2 tag
Date: Tue, 08 Sep 2020 05:30:30 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 009673edd938352d4238ba3dbe40a99da2c83e00
      
https://github.com/qemu/qemu/commit/009673edd938352d4238ba3dbe40a99da2c83e00
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-01 (Tue, 01 Sep 2020)

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

  Log Message:
  -----------
  seabios-hppa: Update SeaBIOS to hppa-qemu-5.2-2 tag

Changes:
* If only one bootable device is available, boot from it.
* Silence PDC warnings with HP-UX 11.11
* Inform Linux about fw_cfg port addresses
* Make power switch button configurable from qemu
* Clear screen on machine reset
* Add fw_cfg option to enable runtime debug info
* Fix panic on OpenBSD/6.7 regarding STI console
* Set text planes and used_bits in STI fields
* Fix mon_tbl entries
* Convert sti_region_list to an initialized struct

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


  Commit: df5c6a50944697bf1373582dcea719697edbc9ed
      
https://github.com/qemu/qemu/commit/df5c6a50944697bf1373582dcea719697edbc9ed
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-02 (Wed, 02 Sep 2020)

  Changed paths:
    M hw/hppa/machine.c
    M target/hppa/cpu.h

  Log Message:
  -----------
  hw/hppa: Make number of TLB and BTLB entries configurable

Until now the TLB size was fixed at 256 entries. To allow operating
systems to utilize more TLB entries in the future, we need to tell
firmware how many TLB entries we actually support in the emulation.
Firmware then reports this to the operating system via the
PDC_CACHE_INFO call.

This patch simply does the preparation to allow more TLB entries.

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


  Commit: 32ff8bf248add5f2e64e75d3706c29a4f323832e
      
https://github.com/qemu/qemu/commit/32ff8bf248add5f2e64e75d3706c29a4f323832e
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-02 (Wed, 02 Sep 2020)

  Changed paths:
    M hw/hppa/machine.c

  Log Message:
  -----------
  hw/hppa: Store boot device in fw_cfg section

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


  Commit: 34743e9633ab4a76a9bbcf55a0daa11cb2be58c4
      
https://github.com/qemu/qemu/commit/34743e9633ab4a76a9bbcf55a0daa11cb2be58c4
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-02 (Wed, 02 Sep 2020)

  Changed paths:
    M hw/hppa/hppa_hardware.h

  Log Message:
  -----------
  hw/hppa: Change fw_cfg port address

Devices on hppa occupy at least 4k starting at the HPA, so MEMORY_HPA+4k is
blocked (by Linux) for the memory module.  I noticed this when testing the new
Linux kernel patch to let the fw_cfg entries show up in Linux under /proc.
The Linux kernel driver could not allocate the region for fw_cfg.
This new base address seems to not conflict.

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


  Commit: 245760074a74500ce285cf1a08b3ea6a6e91128a
      
https://github.com/qemu/qemu/commit/245760074a74500ce285cf1a08b3ea6a6e91128a
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-02 (Wed, 02 Sep 2020)

  Changed paths:
    M hw/hppa/hppa_hardware.h
    M hw/hppa/machine.c

  Log Message:
  -----------
  hw/hppa: Tell SeaBIOS port address of fw_cfg

Change QEMU_FW_CFG_IO_BASE to shorter variant FW_CFG_IO_BASE and hand
over the actual port address in %r19 to SeaBIOS.

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


  Commit: b28c4a64973418a34cc0373a7462c64297aff623
      
https://github.com/qemu/qemu/commit/b28c4a64973418a34cc0373a7462c64297aff623
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-02 (Wed, 02 Sep 2020)

  Changed paths:
    M hw/hppa/machine.c

  Log Message:
  -----------
  hw/hppa: Add power button emulation

Emulate a power button switch, tell SeaBIOS the address via fw_cfg and
bind the power button to the qemu UI.

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


  Commit: 3b65b742543bc6c2ad35e3b42401a26b48a87f26
      
https://github.com/qemu/qemu/commit/3b65b742543bc6c2ad35e3b42401a26b48a87f26
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-02 (Wed, 02 Sep 2020)

  Changed paths:
    M target/hppa/insns.decode

  Log Message:
  -----------
  target/hppa: Fix boot with old Linux installation CDs

The current qemu hppa emulation emulates a PA1.1 CPU, which can only execute
the 32-bit instruction set. For unknown 64-bit instructions, a instruction trap
is sent to the virtual CPU.
This behaviour is correct in the sense that we emulate what the PA1.1
specification says.

But when trying to boot older Linux installation images, e.g.
ftp://parisc.parisc-linux.org/debian-cd/debian-5.0/lenny-5.0.10-hppa-iso-cd/cdimage.debian.org/debian-5010-hppa-netinst.iso
one finds that qemu fails to boot those images.
The problem is, that in the Linux kernel (e.g. 2.6.26) of those old images
64-bit instructions were used by mistake in the fault handlers. The relevant
instructions (the ",*" indicates that it's a 64-bit instruction) I see are:
   0:   09 3e 04 29     sub,* sp,r9,r9
   0:   08 3d 06 3d     add,* ret1,r1,ret1
   0:   0a 09 02 61     or,* r9,r16,r1
   0:   0a ba 00 3a     andcm,* r26,r21,r26
   0:   08 33 02 33     and,* r19,r1,r19

The interesting part is, that real physical 32-bit machines (like the 700/64
and B160L - which is the one we emulate) do boot those images and thus seem to
simply ignore the 64-bit flag on those instructions.

The patch below modifies the qemu instruction decoder to ignore the 64-bit flag
too - which is what real 32-bit hardware seems to do.  With this modification
qemu now successfully boots those older images too.

I suggest to apply the patch below - even if it does not reflect what the SPEC
says.  Instead it increases the compatibility to really existing hardware and
seem to not create problems if we add real PA2.0 support anytime later.

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


  Commit: 95aad497d9f1cc96b6913e61c95fca116af69b93
      
https://github.com/qemu/qemu/commit/95aad497d9f1cc96b6913e61c95fca116af69b93
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-03 (Thu, 03 Sep 2020)

  Changed paths:
    M hw/display/artist.c

  Log Message:
  -----------
  hw/display/artist: Verify artist screen resolution

Artist hardware is limited to 2048 x 2048 pixels.
STI ROMs allow at minimum 640 x 480 pixels.

Qemu users can adjust the screen size on the command line with:
 -global artist.width=800 -global artist.height=600
but we need to ensure that the screen size stays inside the given
boundaries, otherwise print an error message and adjust.

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


  Commit: c7050f3f167b80e844c6c52f9586c4632a4f54f3
      
https://github.com/qemu/qemu/commit/c7050f3f167b80e844c6c52f9586c4632a4f54f3
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-03 (Thu, 03 Sep 2020)

  Changed paths:
    M hw/display/artist.c

  Log Message:
  -----------
  hw/display/artist: Refactor x/y coordination extraction

Simplify the code by using new introduced ADDR_TO_Y() and ADDR_TO_X()
macros. Those macros extract the x/y-coordinate from the given uint32.

As further simplification the extraction of the x/y coordinates for
VRAM_WRITE_INCR_Y and VRAM_WRITE_INCR_X can be done centrally in
vram_bit_write(), so move this code up into the function.

ADDR_TO_Y() is still limited to 10 bits which allow to address up to of
1024 lines - this will be increased in a follow-up patch.

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


  Commit: 32a2b033f0a406c0dd4cc7375367ee63cc36789a
      
https://github.com/qemu/qemu/commit/32a2b033f0a406c0dd4cc7375367ee63cc36789a
  Author: Helge Deller <deller@gmx.de>
  Date:   2020-09-03 (Thu, 03 Sep 2020)

  Changed paths:
    M hw/display/artist.c

  Log Message:
  -----------
  hw/display/artist: Allow screen size up to 2048 lines

Adjust the ADDR_TO_Y() macro to extract 11 bits, which allows userspace
to address screen sizes up to 2048 lines (instead of 1024 before).

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


  Commit: e4c4f7db607f6e668beb595bbd0aecadf6ddd058
      
https://github.com/qemu/qemu/commit/e4c4f7db607f6e668beb595bbd0aecadf6ddd058
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M hw/display/artist.c
    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.h
    M target/hppa/insns.decode

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

hppa power button support, graphics updates and firmware fixes

# gpg: Signature made Mon 07 Sep 2020 20:09:49 BST
# 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/target-hppa-pull-request:
  hw/display/artist: Allow screen size up to 2048 lines
  hw/display/artist: Refactor x/y coordination extraction
  hw/display/artist: Verify artist screen resolution
  target/hppa: Fix boot with old Linux installation CDs
  hw/hppa: Add power button emulation
  hw/hppa: Tell SeaBIOS port address of fw_cfg
  hw/hppa: Change fw_cfg port address
  hw/hppa: Store boot device in fw_cfg section
  hw/hppa: Make number of TLB and BTLB entries configurable
  seabios-hppa: Update SeaBIOS to hppa-qemu-5.2-2 tag

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


Compare: https://github.com/qemu/qemu/compare/e11bd71f8964...e4c4f7db607f



reply via email to

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