#
4d93b139 |
| 02-Feb-2025 |
Stefan Hajnoczi <stefanha@redhat.com> |
Merge tag 'hppa-system-mfdiag-for-v10-pull-request' of https://github.com/hdeller/qemu-hppa into staging
hppa 64-bit mfdiag improvements
The 64-bit hppa qemu emulation still fails to boot 64-bit HP
Merge tag 'hppa-system-mfdiag-for-v10-pull-request' of https://github.com/hdeller/qemu-hppa into staging
hppa 64-bit mfdiag improvements
The 64-bit hppa qemu emulation still fails to boot 64-bit HP-UX. This patch series improves the emulation a lot, since it enables us to boot 64-bit HP-UX installer silently up until an endless loop where the machine reports that it's up an running (it crashed before). This still needs further analysis, but it's a big step forward.
Main changes to archieve this includes: - Implementing diagnose registers (especially %dr2 for space-register hashing) - a new SeaBIOS-hppa version 18, which includes those fixes and enhancements: - Fix IRT table entries to use slot number - Increase PCI alignment for memory bars to 64k - Fix PDC_CACHE/PDC_CACHE_RET_SPID return value - Allow up to 256 GB RAM on 64-bit machines
V2: - fix linux-user build by adding missing "#ifndef CONFIG_USER_ONLY ... #endif"
# -----BEGIN PGP SIGNATURE----- # # iHUEABYKAB0WIQS86RI+GtKfB8BJu973ErUQojoPXwUCZ5yWTwAKCRD3ErUQojoP # X1p5AP4iSfKlBsUZrww2/M1ArqB9jZuJBO1kdZ7OcCN2Jn0yxgEAx0CPUof7NnZV # EY7u3Qq4E8ZnOk4XgHt06bsdNcJN+gc= # =RoAh # -----END PGP SIGNATURE----- # gpg: Signature made Fri 31 Jan 2025 04:22:23 EST # 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
* tag 'hppa-system-mfdiag-for-v10-pull-request' of https://github.com/hdeller/qemu-hppa: target/hppa: Update SeaBIOS-hppa to version 18 target/hppa: Implement space register hashing for 64-bit HP-UX target/hppa: 64-bit CPUs start with space register hashing enabled target/hppa: Add instruction decoding for mfdiag and mtdiag target/hppa: Drop diag_getshadowregs_pa2 and diag_putshadowregs_pa2 target/hppa: Add CPU diagnose registers disas/hppa: implement mfdiag/mtdiag disassembly hppa: Sync contents of hppa_hardware.h header file with SeaBIOS-hppa MAINTAINERS: Add myself as HPPA maintainer
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
f7aa7fa9 |
| 29-Jan-2025 |
Helge Deller <deller@gmx.de> |
target/hppa: Add instruction decoding for mfdiag and mtdiag
Add 32- and 64-bit instruction decoding of the mfdiag and mtdiag instructions which modify the diagnose registers.
Signed-off-by: Helge D
target/hppa: Add instruction decoding for mfdiag and mtdiag
Add 32- and 64-bit instruction decoding of the mfdiag and mtdiag instructions which modify the diagnose registers.
Signed-off-by: Helge Deller <deller@gmx.de> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
009e0927 |
| 29-Jan-2025 |
Helge Deller <deller@gmx.de> |
target/hppa: Drop diag_getshadowregs_pa2 and diag_putshadowregs_pa2
diag_getshadowregs_pa2() and diag_putshadowregs_pa2() were added in commit 3bdf20819e68 based on some analysis of ODE code, but no
target/hppa: Drop diag_getshadowregs_pa2 and diag_putshadowregs_pa2
diag_getshadowregs_pa2() and diag_putshadowregs_pa2() were added in commit 3bdf20819e68 based on some analysis of ODE code, but now they conflict with the generic mfdiag/mtdiag instructions. I believe the former analysis was wrong, so remove them again. Note that all diag instructions are badly documented, so most things are based on reverse engineering and thus may be wrong.
Signed-off-by: Helge Deller <deller@gmx.de> Fixes: 3bdf20819e68 ("target/hppa: Add diag instructions to set/restore shadow registers") Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
c919bc65 |
| 31-Mar-2024 |
Peter Maydell <peter.maydell@linaro.org> |
Merge tag 'pull-pa-20240329' of https://gitlab.com/rth7680/qemu into staging
target/hppa: Fix BE,L set of sr0 target/hppa: Fix B,GATE for wide mode target/hppa: Mark interval timer write as io targe
Merge tag 'pull-pa-20240329' of https://gitlab.com/rth7680/qemu into staging
target/hppa: Fix BE,L set of sr0 target/hppa: Fix B,GATE for wide mode target/hppa: Mark interval timer write as io target/hppa: Fix EIRR, EIEM versus icount target/hppa: Fix DCOR reconstruction of carry bits target/hppa: Fix unit carry conditions target/hppa: Fix overflow computation for shladd target/hppa: Add diag instructions to set/restore shadow registers target/hppa: Clear psw_n for BE on use_nullify_skip path
# -----BEGIN PGP SIGNATURE----- # # iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmYHQPEdHHJpY2hhcmQu # aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV/lpwf+PRmKNguclUYZ5Pub # kVxeylyTGdiYieDfv4RxSnkQbmfiJdwhr+lRUiiA/AfK2IFMTC56Wn0URAdvpFxG # MuI9r7t8Z640KwVnF9GTau0JagU/GXYorYdO7WY/PMvrgjeRukjMqb0Sgnoknlqw # LuPUu6+Z+zMMNLT69WNfbcYIqdHcb2iP5Tr3yWGRKywu8+zM9q/fL7GEi+5GEB6Y # bljjv03hpzKPyZg6UCwQzoeDnIfUpefrghkwzenPKmoWzuLSohmG+Q7Cnp4WiGMg # 3HX7+LVCXXW4OOHu0syf3M/cG6zGfH7kBTvq4CNKjNeeqz/g2qwNTPO1xfOr7f5w # zsUf/Q== # =fcSC # -----END PGP SIGNATURE----- # gpg: Signature made Fri 29 Mar 2024 22:30:09 GMT # gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F # gpg: issuer "richard.henderson@linaro.org" # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full] # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F
* tag 'pull-pa-20240329' of https://gitlab.com/rth7680/qemu: target/hppa: Clear psw_n for BE on use_nullify_skip path target/hppa: Add diag instructions to set/restore shadow registers target/hppa: Move diag argument handling to decodetree target/hppa: Generate getshadowregs inline target/hppa: Fix overflow computation for shladd target/hppa: Replace c with uv in do_cond target/hppa: Squash d for pa1.x during decode target/hppa: Fix unit carry conditions target/hppa: Optimize UADDCM with no condition target/hppa: Fix DCOR reconstruction of carry bits target/hppa: Use gva_offset_mask() everywhere target/hppa: Fix EIRR, EIEM versus icount target/hppa: Tidy read of interval timer target/hppa: Mark interval timer write as io target/hppa: Fix ADD/SUB trap on overflow for narrow mode target/hppa: Handle unit conditions for wide mode target/hppa: Fix B,GATE for wide mode target/hppa: Fix BE,L set of sr0
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
3bdf2081 |
| 26-Mar-2024 |
Helge Deller <deller@kernel.org> |
target/hppa: Add diag instructions to set/restore shadow registers
The 32-bit PA-7300LC (PCX-L2) CPU and the 64-bit PA8700 (PCX-W2) CPU use different diag instructions to save or restore the CPU reg
target/hppa: Add diag instructions to set/restore shadow registers
The 32-bit PA-7300LC (PCX-L2) CPU and the 64-bit PA8700 (PCX-W2) CPU use different diag instructions to save or restore the CPU registers to/from the shadow registers.
Implement those per-CPU architecture diag instructions to fix those parts of the HP ODE testcases (L2DIAG and WDIAG, section 1) which test the shadow registers.
Signed-off-by: Helge Deller <deller@gmx.de> [rth: Use decodetree to distinguish cases] Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Helge Deller <deller@gmx.de> Tested-by: Helge Deller <deller@gmx.de>
show more ...
|
#
38193127 |
| 26-Mar-2024 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Move diag argument handling to decodetree
Split trans_diag into per-operation functions.
Reviewed-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Henderson <richard.henderson@l
target/hppa: Move diag argument handling to decodetree
Split trans_diag into per-operation functions.
Reviewed-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
82d0c831 |
| 26-Mar-2024 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Squash d for pa1.x during decode
The cond_need_ext predicate was created while we still had a 32-bit compilation mode. It now makes more sense to treat D as an absolute indicator of a
target/hppa: Squash d for pa1.x during decode
The cond_need_ext predicate was created while we still had a 32-bit compilation mode. It now makes more sense to treat D as an absolute indicator of a 64-bit operation.
Tested-by: Helge Deller <deller@gmx.de> Reviewed-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
bc36f12e |
| 20-Mar-2024 |
Peter Maydell <peter.maydell@linaro.org> |
Merge tag 'pull-pa-20240319' of https://gitlab.com/rth7680/qemu into staging
target/hppa: Fix load/store offset assembly for wide mode target/hppa: Fix LDCW,S shift target/hppa: Fix SHRPD conditions
Merge tag 'pull-pa-20240319' of https://gitlab.com/rth7680/qemu into staging
target/hppa: Fix load/store offset assembly for wide mode target/hppa: Fix LDCW,S shift target/hppa: Fix SHRPD conditions target/hppa: Fix access_id checks target/hppa: Exit TB after Flush Instruction Cache target/hppa: Fix MFIA result target hppa: Fix STDBY,E
# -----BEGIN PGP SIGNATURE----- # # iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmX6LjYdHHJpY2hhcmQu # aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV8uoAgAtEGgWqZNRNa/neD7 # 0Dix2sTz85hqob2/4ajmEhy5XlF8V+5gCz15vHDCr+J0VIbAZj90HAolhplViBn2 # twwEbf8CjJ7g/rDF2L2rwCv4cG72yKyMWTTXXCQGuzo977ObfRgmguCsFSoRlkdD # YuiAUEt/jziGmv4wYv/9zymQUEydeMGFnmCgIwRxg6IT4krI7C5g8198wA0Eu59Y # SZMWquzKv3+gezETHs/PSco4ZM5EeoKzsIWA+hhUP/hbBdEW4w+AtPB2ZSlywluX # ALU97bZRgncCAeNENgTNoVQ8WTg1p5t3opP4vQR2afzhqLkMPMX4RCo8BaHhDzmm # srvqpw== # =DpgT # -----END PGP SIGNATURE----- # gpg: Signature made Wed 20 Mar 2024 00:30:46 GMT # gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F # gpg: issuer "richard.henderson@linaro.org" # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full] # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F
* tag 'pull-pa-20240319' of https://gitlab.com/rth7680/qemu: target/hppa: fix do_stdby_e() target/hppa: mask privilege bits in mfia target/hppa: exit tb on flush cache instructions target/hppa: fix access_id check target/hppa: fix shrp for wide mode target/hppa: ldcw,s uses static shift of 3 target/hppa: Fix assemble_12a insns for wide mode target/hppa: Fix assemble_11a insns for wide mode target/hppa: Fix assemble_16 insns for wide mode
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
ad1fdacd |
| 19-Mar-2024 |
Sven Schnelle <svens@stackframe.org> |
target/hppa: exit tb on flush cache instructions
When the guest modifies the tb it is currently executing from, it executes a fic instruction. Exit the tb on such instruction, otherwise we might exe
target/hppa: exit tb on flush cache instructions
When the guest modifies the tb it is currently executing from, it executes a fic instruction. Exit the tb on such instruction, otherwise we might execute stale code.
Signed-off-by: Sven Schnelle <svens@stackframe.org> Message-Id: <20240319161921.487080-5-svens@stackframe.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
46174e14 |
| 03-Mar-2024 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Fix assemble_12a insns for wide mode
Tested-by: Helge Deller <deller@gmx.de> Reported-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Richard Henderson <richard.henderson@linaro
target/hppa: Fix assemble_12a insns for wide mode
Tested-by: Helge Deller <deller@gmx.de> Reported-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
4768c28e |
| 03-Mar-2024 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Fix assemble_11a insns for wide mode
Tested-by: Helge Deller <deller@gmx.de> Reviewed-by: Helge Deller <deller@gmx.de> Reported-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: R
target/hppa: Fix assemble_11a insns for wide mode
Tested-by: Helge Deller <deller@gmx.de> Reviewed-by: Helge Deller <deller@gmx.de> Reported-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
72bace2d |
| 03-Mar-2024 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Fix assemble_16 insns for wide mode
Reported-by: Sven Schnelle <svens@stackframe.org> Reviewed-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Henderson <richard.henderson@linar
target/hppa: Fix assemble_16 insns for wide mode
Reported-by: Sven Schnelle <svens@stackframe.org> Reviewed-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
bb541a70 |
| 07-Nov-2023 |
Stefan Hajnoczi <stefanha@redhat.com> |
Merge tag 'pull-pa-20231106' of https://gitlab.com/rth7680/qemu into staging
target/hppa: Implement PA2.0 instructions hw/hppa: Map astro chip 64-bit I/O mem hw/hppa: Turn on 64-bit cpu for C3700
#
Merge tag 'pull-pa-20231106' of https://gitlab.com/rth7680/qemu into staging
target/hppa: Implement PA2.0 instructions hw/hppa: Map astro chip 64-bit I/O mem hw/hppa: Turn on 64-bit cpu for C3700
# -----BEGIN PGP SIGNATURE----- # # iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmVJqDEdHHJpY2hhcmQu # aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV8n5Qf/R15CvXGMgjDJjoV2 # ILMFM+Rpg17SR2yu060sEZ01R3iHdobeCcDB184K0RI9JLrpcBFar+PeF023o9fn # O9MnfIyL6/ggzaeIpQ9AD2uT0HJMU9hLFoyQqQvnhDHHcT34raL2+Zkrkb2vvauH # XET7awXN9xYCnY4ALrfcapzlrHqI77ahz0vReUWPxk7eGY2ez8dEOiFW2WLBmuMx # mAFAMrFQhq66GjoMDl8JiGHD/KBJQ9X4eUAEotS27lTCOYU0ryA6dWBGqBSTWCUa # smpxkeGQKOew+717HV1H4FdCRYG1Rgm7yFN423JULeew+T7DHvfe0K55vMIulx5I # g3oVZA== # =dxC7 # -----END PGP SIGNATURE----- # gpg: Signature made Tue 07 Nov 2023 11:00:01 HKT # gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F # gpg: issuer "richard.henderson@linaro.org" # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full] # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F
* tag 'pull-pa-20231106' of https://gitlab.com/rth7680/qemu: (85 commits) hw/hppa: Allow C3700 with 64-bit and B160L with 32-bit CPU only hw/hppa: Turn on 64-bit CPU for C3700 machine hw/pci-host/astro: Trigger CPU irq on CPU HPA in high memory hw/pci-host/astro: Map Astro chip into 64-bit I/O memory region target/hppa: Improve interrupt logging target/hppa: Update IIAOQ, IIASQ for pa2.0 target/hppa: Create raise_exception_with_ior target/hppa: Add unwind_breg to CPUHPPAState target/hppa: Clear upper bits in mtctl for pa1.x target/hppa: Avoid async_safe_run_on_cpu on uniprocessor system target/hppa: Add pa2.0 cpu local tlb flushes target/hppa: Implement pa2.0 data prefetch instructions linux-user/hppa: Drop EXCP_DUMP from handled exceptions hw/hppa: Translate phys addresses for the cpu include/hw/elf: Remove truncating signed casts target/hppa: Return zero for r0 from load_gpr target/hppa: Precompute zero into DisasContext target/hppa: Fix interruption based on default PSW target/hppa: Implement PERMH target/hppa: Implement MIXH, MIXW ...
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
eb25d10f |
| 27-Oct-2023 |
Helge Deller <deller@gmx.de> |
target/hppa: Add pa2.0 cpu local tlb flushes
The previous decoding misnamed the bit it called "local". Other than the name, the implementation was correct for pa1.x. Rename this field to "tlbe".
PA
target/hppa: Add pa2.0 cpu local tlb flushes
The previous decoding misnamed the bit it called "local". Other than the name, the implementation was correct for pa1.x. Rename this field to "tlbe".
PA2.0 adds (a real) local bit to PxTLB, and also adds a range of pages to flush in GR[b].
Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
4e7abdb1 |
| 21-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement PERMH
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
c2a7ee3f |
| 21-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement MIXH, MIXW
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
3bbb8e48 |
| 21-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement HSHLADD, HSHRADD
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
151f309b |
| 21-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement HSHL, HSHR
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
1b3cb7c8 |
| 20-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement HAVG
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
10c9e58d |
| 20-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement HSUB
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
0843563f |
| 20-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement HADD
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
8577f354 |
| 13-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement IDTLBT, IITLBT
Rename the existing insert tlb helpers to emphasize that they are for pa1.1 cpus. Implement a combined i/d tlb for pa2.0. Still missing is the new 'P' tlb bit.
target/hppa: Implement IDTLBT, IITLBT
Rename the existing insert tlb helpers to emphasize that they are for pa1.1 cpus. Implement a combined i/d tlb for pa2.0. Still missing is the new 'P' tlb bit.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
25460fc5 |
| 20-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement STDBY
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
a8966ba7 |
| 20-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement CLRBTS, POPBTS, PUSHBTS, PUSHNOM
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
f7b775a9 |
| 20-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
target/hppa: Implement SHRPD
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|