Richard Henderson
e048f3d6b9
target/i386: Unify code paths for IRET
...
In vm86 mode, we use the same helper as real-mode, but with
an extra check for IOPL. All non-exceptional paths set EFLAGS.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com >
Message-Id: <20210514151342.384376-4-richard.henderson@linaro.org >
2021-05-19 12:15:46 -05:00
Richard Henderson
bc19f5052d
target/i386: Split out check_cpl0
...
Split out the check for CPL != 0 and the raising of #GP.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com >
Message-Id: <20210514151342.384376-3-richard.henderson@linaro.org >
2021-05-19 12:15:46 -05:00
Richard Henderson
6bd9958645
target/i386: Split out gen_exception_gpf
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com >
Message-Id: <20210514151342.384376-2-richard.henderson@linaro.org >
2021-05-19 12:15:46 -05:00
Richard Henderson
e543f94685
target/ppc: Remove type argument for mmubooke206_get_physical_address
...
It is no longer used.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-16-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:52:07 +10:00
Richard Henderson
5507d62609
target/ppc: Remove type argument from mmubooke206_check_tlb
...
We can now use MMU_INST_FETCH from access_type for this.
Unify the I/D code paths, making use of prot_for_access_type.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-15-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:52:07 +10:00
Richard Henderson
40079604ae
target/ppc: Remove type argument from mmubooke_get_physical_address
...
It is no longer used.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-14-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:52:07 +10:00
Richard Henderson
05c3ef1451
target/ppc: Remove type argument from mmubooke_check_tlb
...
We can now use MMU_INST_FETCH from access_type for this.
Unify the I/D code paths, making use of prot_for_access_type.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-13-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:52:07 +10:00
Richard Henderson
61d2cde867
target/ppc: Remove type argument from mmu40x_get_physical_address
...
It is no longer used.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-12-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:52:07 +10:00
Richard Henderson
590fc3c01d
target/ppc: Remove type argument from get_bat_6xx_tlb
...
We can now use MMU_INST_FETCH from access_type for this.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-11-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:52:07 +10:00
Richard Henderson
f3f5794d79
target/ppc: Remove type argument from ppc6xx_tlb_check
...
We can now use MMU_INST_FETCH from access_type for this.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-10-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:52:07 +10:00
Richard Henderson
574c5585e3
target/ppc: Remove type argument from ppc6xx_tlb_pte_check
...
It is no longer used.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-9-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:52:07 +10:00
Richard Henderson
91e615a07d
target/ppc: Remove type argument from check_prot
...
We can now use MMU_INST_FETCH from access_type for this.
Use prot_for_access_type to simplify everything.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-8-richard.henderson@linaro.org >
[dwg: Remove a stray trailing whitespace]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:51:51 +10:00
Richard Henderson
9630cd6262
target/ppc: Use MMUAccessType in mmu_helper.c
...
This replaces 'int rw' with 'MMUAccessType access_type'.
Comparisons vs zero become either MMU_DATA_LOAD or MMU_DATA_STORE,
since we had previously squashed rw to 0 for code access.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-7-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:50:47 +10:00
Richard Henderson
352e3627b2
target/ppc: Rename access_type to type in mmu_helper.c
...
The variable that holds ACCESS_INT, ACCESS_FLOAT, etc is
variously called 'int type' or 'int access_type' within
this file. Standardize on 'int type' throughout.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-6-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:50:47 +10:00
Richard Henderson
31fa64ecfd
target/ppc: Use MMUAccessType in mmu-hash32.c
...
We must leave the 'int rwx' parameter to ppc_hash32_handle_mmu_fault
for now, but will clean that up later.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-5-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:50:47 +10:00
Richard Henderson
59dec5bf5a
target/ppc: Use MMUAccessType in mmu-hash64.c
...
We must leave the 'int rwx' parameter to ppc_hash64_handle_mmu_fault
for now, but will clean that up later.
Signed-off-by: Ricgard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-4-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:50:47 +10:00
Richard Henderson
13c5fdbac6
target/ppc: Use MMUAccessType in mmu-radix64.c
...
We must leave the 'int rwx' parameter to ppc_radix64_handle_mmu_fault
for now, but will clean that up later.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-3-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:50:47 +10:00
Richard Henderson
182357dbb6
target/ppc: Introduce prot_for_access_type
...
Use this in the three places we currently have a local array
indexed by rwx (which happens to have the same values).
The types will match up correctly with additional changes.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210518201146.794854-2-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 12:50:47 +10:00
Giuseppe Musacchio
861f10fd52
target/ppc: Fix load endianness for lxvwsx/lxvdsx
...
TARGET_WORDS_BIGENDIAN may not match the machine endianness if that's a
runtime-configurable parameter.
Fixes: bcb0b7b1a1
Fixes: afae37d98a
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/212
Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com >
Message-Id: <20210518133020.58927-1-thatlemon@gmail.com >
Tested-by: Paul A. Clarke <pc@us.ibm.com >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:44:04 +10:00
Richard Henderson
51eb7b1d10
target/ppc: Use translator_loop_temp_check
...
The special logging is unnecessary. It will have been done
immediately before in the log file.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Reviewed-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Message-Id: <20210517205025.3777947-9-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:29 +10:00
Richard Henderson
46a0add975
target/ppc: Mark helper_raise_exception* as noreturn
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210517205025.3777947-8-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:29 +10:00
Richard Henderson
0032dbdb41
target/ppc: Tidy exception vs exit_tb
...
We do not need to emit an exit_tb after an exception,
as the latter will exit via longjmp.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210517205025.3777947-7-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:29 +10:00
Richard Henderson
13b4557567
target/ppc: Move single-step check to ppc_tr_tb_stop
...
When single-stepping, force max_insns to 1 in init_disas
so that we exit the translation loop immediately.
Combine the single-step checks in tb_stop, and give the
gdb exception priority over the cpu exception, just as
we already do in gen_lookup_and_goto_ptr.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210517205025.3777947-6-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:29 +10:00
Richard Henderson
7a3fe174b1
target/ppc: Remove DisasContext.exception
...
Now that we have removed all of the fake exceptions, and all real
exceptions exit via DISAS_NORETURN, we can remove this field.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210517205025.3777947-5-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:29 +10:00
Richard Henderson
6086c751c3
target/ppc: Replace POWERPC_EXCP_BRANCH with DISAS_NORETURN
...
The translation of branch instructions always results in exit from
the TB. Remove the synthetic "exception" after no more uses.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210517205025.3777947-4-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:29 +10:00
Richard Henderson
d736de8ff6
target/ppc: Replace POWERPC_EXCP_STOP with DISAS_EXIT_UPDATE
...
Remove the synthetic "exception" after no more uses.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210517205025.3777947-3-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:29 +10:00
Richard Henderson
f5b6daacd6
target/ppc: Introduce gen_icount_io_start
...
Create a function to handle the details for interacting with icount.
Force the exit from the tb via DISAS_TOO_MANY, which allows chaining
to the next tb, where the code emitted for gen_tb_start() will
determine if we must exit. We can thus remove any matching
conditional call to gen_stop_exception.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210517205025.3777947-2-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:29 +10:00
Richard Henderson
a68cf3a520
target/ppc: Remove unnecessary gen_io_end calls
...
Since ba3e792669 , we switched the implementation of icount
to always reset can_do_io at the start of the following TB.
Most of them were removed in 9e9b10c649 , but some were missed.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210512185441.3619828-10-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Richard Henderson
59bf23faf5
target/ppc: Replace POWERPC_EXCP_SYNC with DISAS_EXIT
...
Remove the synthetic "exception" after no more uses.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210512185441.3619828-9-matheus.ferst@eldorado.org.br >
Reviewed-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Richard Henderson
a9b5b3d06c
target/ppc: Introduce DISAS_{EXIT,CHAIN}{,_UPDATE}
...
Rewrite ppc_tr_tb_stop to handle these new codes.
Convert ctx->exception into these new codes at the end of
ppc_tr_translate_insn, prior to pushing the change back
throughout translate.c.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210512185441.3619828-8-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Richard Henderson
2736fc6181
target/ppc: Simplify gen_debug_exception
...
Two of the call sites that use gen_debug_exception have already
updated NIP. Only ppc_tr_breakpoint_check requires the update.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210512185441.3619828-7-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Richard Henderson
506fadcfd7
target/ppc: Remove special case for POWERPC_EXCP_TRAP
...
Since POWERPC_EXCP_TRAP is raised by gen_exception_err,
we will have also set DISAS_NORETURN.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210512185441.3619828-6-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Richard Henderson
da3527d96d
target/ppc: Remove special case for POWERPC_SYSCALL
...
Since POWERPC_SYSCALL is raised by gen_exception_err,
we will have also set DISAS_NORETURN.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210512185441.3619828-5-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Richard Henderson
3d8a5b69bd
target/ppc: Move DISAS_NORETURN setting into gen_exception*
...
There are other valid settings for is_jmp besides
DISAS_NEXT and DISAS_NORETURN, so eliminating that
dichotomy from ppc_tr_translate_insn is helpful.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210512185441.3619828-4-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Richard Henderson
624cb07fde
target/ppc: Split out decode_legacy
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210512185441.3619828-3-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Richard Henderson
2c2bcb1b50
target/ppc: Add cia field to DisasContext
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210512185441.3619828-2-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Bruno Larsen (billionai)
47334e1738
target/ppc: moved ppc_cpu_dump_state to cpu_init.c
...
This function was forgotten in the cpu_init code motion series, but it
seems to be used regardless of TCG, and so needs to be moved to support
disabling TCG.
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Message-Id: <20210512140813.112884-4-bruno.larsen@eldorado.org.br >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Bruno Larsen (billionai)
172d74efda
target/ppc: moved ppc_store_sdr1 to cpu.c
...
Moved this function that is required in !TCG cases into a
common code file
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Message-Id: <20210512140813.112884-3-bruno.larsen@eldorado.org.br >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
[dwg: Fixed compile error with linux-user targets]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Bruno Larsen (billionai)
87aff23827
target/ppc: updated vscr manipulation in machine.c
...
Updated the code in machine.c to use the generic ppc_{store,get}_vscr
instead of helper style functions, so it can build without TCG
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Message-Id: <20210512140813.112884-7-bruno.larsen@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Bruno Larsen (billionai)
c19940db0f
target/ppc: created ppc_{store,get}_vscr for generic vscr usage
...
Some functions unrelated to TCG use helper_m{t,f}vscr, so generic versions
of those functions were added to cpu.c, in preparation for compilation
without TCG
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Message-Id: <20210512140813.112884-2-bruno.larsen@eldorado.org.br >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Bruno Larsen (billionai)
3e770bf7a9
target/ppc: isolated cpu init from translation logic
...
finished isolation of CPU initialization logic from
translation logic. CPU initialization now only has common code
and may or may not call accelerator-specific code, as the
build options require.
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Reviewed-by: David Gibson <david@gibson.dropbear.id.au >
Message-Id: <20210507115551.11436-1-bruno.larsen@eldorado.org.br >
[dwg: Fix compile error with clang linux-user builds]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Bruno Larsen (billionai)
a829cec3a3
target/ppc: turned SPR R/W callbacks not static
...
To be able to compile translate_init.c.inc as a standalone file,
we have to make the callbacks accessible outside of translate.c;
This patch does exactly that
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Message-Id: <20210507115512.11376-1-bruno.larsen@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Lucas Mateus Castro (alqotel)
03282a3ab8
hw/ppc: moved has_spr to cpu.h
...
Moved has_spr to cpu.h as ppc_has_spr and turned it into an inline function.
Change spr verification in pnv.c and spapr.c to a version that can
compile in a !TCG environment.
Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br >
Message-Id: <20210507164146.67086-1-lucas.araujo@eldorado.org.br >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Lucas Mateus Castro (alqotel)
45998ffcb4
target/ppc: moved ppc_store_lpcr to misc_helper.c
...
Moved the function ppc_store from mmu-hash64.c to misc_helper.c and the
prototype from mmu-hash64.h to cpu.h as it is a more appropriate place,
but it will have to have its implementation moved to a new file as
misc_helper.c should not be compiled in a !TCG environment.
Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br >
Message-Id: <20210506163941.106984-4-lucas.araujo@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Lucas Mateus Castro (alqotel)
fd1eb085da
target/ppc: moved function out of mmu-hash64
...
The function ppc_hash64_filter_pagesizes has been moved from a function
with prototype in mmu-hash64.h and implemented in mmu-hash64.c to
a static function in hw/ppc/spapr_caps.c as it's only used in that file.
Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br >
Message-Id: <20210506163941.106984-3-lucas.araujo@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Bruno Larsen (billionai)
37f219c8f8
target/ppc: move SPR R/W callbacks to translate.c
...
Moved all read and write callbacks for SPRs away from
translate_init.c.inc and into translate.c; these functions are
TCG only, so this motion is required to enable building with
the flag disable-tcg
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210506190837.6921-1-bruno.larsen@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Bruno Larsen (billionai)
a08eea67cb
target/ppc: renamed SPR registration functions
...
Renamed all gen_spr_* and gen_* functions specifically related to
registering SPRs to register_*_sprs and register_*, to avoid future
confusion with other TCG related code.
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210505155310.62710-2-bruno.larsen@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Bruno Larsen (billionai)
1cc9e93ca8
target/ppc: Fold gen_*_xer into their callers
...
folded gen_{read,write}_xer into their only callers, spr_{read,write}_xer
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210504140157.76066-2-bruno.larsen@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-19 10:30:28 +10:00
Peter Maydell
1acbc0fdf2
Merge remote-tracking branch 'remotes/rth-gitlab/tags/pull-fp-20210516' into staging
...
Reorg FloatParts to use QEMU_GENERIC.
Begin replacing the Berkeley float128 routines with FloatParts128.
- includes a new implementation of float128_muladd
- includes the snan silencing that was missing from
float{32,64}_to_float128 and float128_to_float{32,64}.
- does not include float128_min/max* (written but not yet reviewed).
# gpg: Signature made Sun 16 May 2021 13:27:10 BST
# 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
* remotes/rth-gitlab/tags/pull-fp-20210516: (46 commits)
softfloat: Move round_to_int_and_pack to softfloat-parts.c.inc
softfloat: Move round_to_int to softfloat-parts.c.inc
softfloat: Convert float-to-float conversions with float128
softfloat: Split float_to_float
softfloat: Move div_floats to softfloat-parts.c.inc
softfloat: Introduce sh[lr]_double primitives
softfloat: Tidy mul128By64To192
softfloat: Use add192 in mul128To256
softfloat: Use mulu64 for mul64To128
softfloat: Move muladd_floats to softfloat-parts.c.inc
softfloat: Move mul_floats to softfloat-parts.c.inc
softfloat: Implement float128_add/sub via parts
softfloat: Move addsub_floats to softfloat-parts.c.inc
softfloat: Use uadd64_carry, usub64_borrow in softfloat-macros.h
softfloat: Move round_canonical to softfloat-parts.c.inc
softfloat: Move sf_canonicalize to softfloat-parts.c.inc
softfloat: Move pick_nan_muladd to softfloat-parts.c.inc
softfloat: Move pick_nan to softfloat-parts.c.inc
softfloat: Move return_nan to softfloat-parts.c.inc
softfloat: Convert float128_default_nan to parts
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-17 20:02:55 +01:00
Peter Maydell
367196caa0
Merge remote-tracking branch 'remotes/vivier2/tags/trivial-branch-for-6.1-pull-request' into staging
...
Pull request trivial-branch 20210515
# gpg: Signature made Sat 15 May 2021 11:02:59 BST
# gpg: using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg: issuer "laurent@vivier.eu "
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com >" [full]
# gpg: aka "Laurent Vivier <laurent@vivier.eu >" [full]
# gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com >" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C
* remotes/vivier2/tags/trivial-branch-for-6.1-pull-request:
target/avr: Ignore unimplemented WDR opcode
hw/avr/atmega.c: use the avr51 cpu for atmega1280
target/sh4: Return error if CPUClass::get_phys_page_debug() fails
multi-process: Avoid logical AND of mutually exclusive tests
hw/pci-host: Do not build gpex-acpi.c if GPEX is not selected
hw/mem/meson: Fix linking sparse-mem device with fuzzer
cutils: fix memory leak in get_relocated_path()
hw/rtc/mc146818rtc: Convert to 3-phase reset (Resettable interface)
hw/timer/etraxfs_timer: Convert to 3-phase reset (Resettable interface)
hw/gpio/aspeed: spelling fix (addtional)
qapi: spelling fix (addtional)
virtiofsd: Fix check of chown()'s return value
virtio-net: Constify VirtIOFeature feature_sizes[]
virtio-blk: Constify VirtIOFeature feature_sizes[]
hw/virtio: Pass virtio_feature_get_config_size() a const argument
backends/tpm: Replace qemu_mutex_lock calls with QEMU_LOCK_GUARD
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-17 16:44:47 +01:00