]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/hppa: Store full iaoq_f and page offset of iaoq_b in TB
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 27 Mar 2024 21:52:21 +0000 (11:52 -1000)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 15 May 2024 08:03:44 +0000 (10:03 +0200)
commit9dfcd2434989bb09b1ca11258180d9095c1d7ba8
tree63074c78b9ef8e5fde1a2ff2536d5479c975aa93
parent3c13b0ffe76057e93e007bedbad3cc556146e3ed
target/hppa: Store full iaoq_f and page offset of iaoq_b in TB

In preparation for CF_PCREL. store the iaoq_f in 3 parts: high
bits in cs_base, middle bits in pc, and low bits in priv.
For iaoq_b, set a bit for either of space or page differing,
else the page offset.

Install iaq entries before goto_tb. The change to not record
the full direct branch difference in TB means that we have to
store at least iaoq_b before goto_tb.  But since a later change
to enable CF_PCREL will require both iaoq_f and iaoq_b to be
updated before goto_tb, go ahead and update both fields now.

Reviewed-by: Helge Deller <deller@gmx.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/hppa/cpu.c
target/hppa/cpu.h
target/hppa/translate.c