Message ID | 20220426181907.103691-1-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
On 4/26/22 11:17, Richard Henderson wrote: > The following changes since commit a1755db71e34df016ffc10aa0727360aae2c6036: > > Merge tag 'pull-block-2022-04-25' of https://gitlab.com/hreitz/qemu into staging (2022-04-25 13:35:41 -0700) > > are available in the Git repository at: > > https://gitlab.com/rth7680/qemu.git tags/pull-nios2-20220426 > > for you to fetch changes up to 7f176c5a0bcb70492f3b158a36311e75f1eb87d7: > > tests/tcg/nios2: Add test-shadow-1 (2022-04-26 08:17:10 -0700) > > ---------------------------------------------------------------- > Fix nios2-linux-user syscalls. > Fix nios2-linux-user sigreturn. > Enable tests for nios2-linux-user. > Remove special handling of SIGSEGV. > Check supervisor for eret, bret. > Split special registers out of env->regs[]. > Clean up interrupt processing. > Raise unaligned data and destination exceptions. > Set TLBMISC fields correctly on exceptions. > Prevent writes to read-only or reserved control fields. > Use tcg_constant_tl(). > Implement shadow register sets. > Implement external interrupt controller interface. > Implement vectored interrupt controller. > Enable semihosting tests for nios2-softmmu. Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/7.1 as appropriate. r~ > > ---------------------------------------------------------------- > Amir Gonnen (5): > target/nios2: Check supervisor on eret > target/nios2: Add NUM_GP_REGS and NUM_CP_REGS > target/nios2: Split out helper for eret instruction > hw/intc: Vectored Interrupt Controller (VIC) > hw/nios2: Machine with a Vectored Interrupt Controller > > Richard Henderson (63): > linux-user/nios2: Hoist pc advance to the top of EXCP_TRAP > linux-user/nios2: Fix clone child return > linux-user/nios2: Drop syscall 0 "workaround" > linux-user/nios2: Adjust error return > linux-user/nios2: Handle special qemu syscall return values > linux-user/nios2: Remove do_sigreturn > linux-user/nios2: Use QEMU_ESIGRETURN from do_rt_sigreturn > tests/tcg/nios2: Re-enable linux-user tests > target/nios2: Remove user-only nios2_cpu_do_interrupt > target/nios2: Remove nios2_cpu_record_sigsegv > target/nios2: Build helper.c for system only > linux-user/nios2: Use force_sig_fault for EXCP_DEBUG > target/nios2: Stop generating code if gen_check_supervisor fails > target/nios2: Split PC out of env->regs[] > target/nios2: Fix BRET instruction > target/nios2: Do not create TCGv for control registers > linux-user/nios2: Only initialize SP and PC in target_cpu_copy_regs > target/nios2: Remove cpu_interrupts_enabled > target/nios2: Split control registers away from general registers > target/nios2: Clean up nios2_cpu_dump_state > target/nios2: Use hw/registerfields.h for CR_STATUS fields > target/nios2: Use hw/registerfields.h for CR_EXCEPTION fields > target/nios2: Use hw/registerfields.h for CR_TLBADDR fields > target/nios2: Use hw/registerfields.h for CR_TLBACC fields > target/nios2: Rename CR_TLBMISC_WR to CR_TLBMISC_WE > target/nios2: Use hw/registerfields.h for CR_TLBMISC fields > target/nios2: Move R_FOO and CR_BAR into enumerations > target/nios2: Create EXCP_SEMIHOST for semi-hosting > target/nios2: Clean up nios2_cpu_do_interrupt > target/nios2: Hoist CPU_LOG_INT logging > target/nios2: Handle EXCP_UNALIGN and EXCP_UNALIGND > target/nios2: Cleanup set of CR_EXCEPTION for do_interrupt > target/nios2: Clean up handling of tlbmisc in do_exception > target/nios2: Prevent writes to read-only or reserved control fields > target/nios2: Implement cpuid > target/nios2: Implement CR_STATUS.RSIE > target/nios2: Remove CPU_INTERRUPT_NMI > target/nios2: Support division error exception > target/nios2: Use tcg_constant_tl > target/nios2: Split out named structs for [IRJ]_TYPE > target/nios2: Split out helpers for gen_i_cmpxx > target/nios2: Split out helpers for gen_i_math_logic > target/nios2: Split out helpers for gen_r_math_logic > target/nios2: Split out helpers for gen_rr_mul_high > target/nios2: Split out helpers for gen_rr_shift > target/nios2: Introduce dest_gpr > target/nios2: Drop CR_STATUS_EH from tb->flags > target/nios2: Enable unaligned traps for system mode > target/nios2: Create gen_jumpr > target/nios2: Hoist set of is_jmp into gen_goto_tb > target/nios2: Use gen_goto_tb for DISAS_TOO_MANY > target/nios2: Use tcg_gen_lookup_and_goto_ptr > target/nios2: Implement Misaligned destination exception > target/nios2: Introduce shadow register sets > target/nios2: Implement rdprs, wrprs > target/nios2: Update helper_eret for shadow registers > target/nios2: Implement EIC interrupt processing > target/nios2: Advance pc when raising exceptions > linux-user/nios2: Handle various SIGILL exceptions > hw/nios2: Introduce Nios2MachineState > hw/nios2: Move memory regions into Nios2Machine > tests/tcg/nios2: Add semihosting multiarch tests > tests/tcg/nios2: Add test-shadow-1 > > configs/targets/nios2-softmmu.mak | 1 + > include/hw/intc/nios2_vic.h | 64 +++ > linux-user/nios2/target_cpu.h | 1 + > target/nios2/cpu.h | 250 +++++++---- > target/nios2/helper.h | 5 + > tests/tcg/nios2/semicall.h | 28 ++ > hw/intc/nios2_vic.c | 313 +++++++++++++ > hw/nios2/10m50_devboard.c | 115 +++-- > linux-user/elfload.c | 3 +- > linux-user/nios2/cpu_loop.c | 96 ++-- > linux-user/nios2/signal.c | 25 +- > target/nios2/cpu.c | 213 +++++++-- > target/nios2/helper.c | 383 +++++++++------- > target/nios2/mmu.c | 78 ++-- > target/nios2/op_helper.c | 88 ++++ > target/nios2/translate.c | 749 ++++++++++++++++++++------------ > hw/intc/Kconfig | 3 + > hw/intc/meson.build | 1 + > hw/nios2/Kconfig | 1 + > target/nios2/meson.build | 7 +- > tests/tcg/nios2/10m50-ghrd.ld | 66 +++ > tests/tcg/nios2/Makefile.softmmu-target | 33 ++ > tests/tcg/nios2/Makefile.target | 11 - > tests/tcg/nios2/boot.S | 218 ++++++++++ > tests/tcg/nios2/intr.S | 31 ++ > tests/tcg/nios2/test-shadow-1.S | 40 ++ > 26 files changed, 2113 insertions(+), 710 deletions(-) > create mode 100644 include/hw/intc/nios2_vic.h > create mode 100644 tests/tcg/nios2/semicall.h > create mode 100644 hw/intc/nios2_vic.c > create mode 100644 tests/tcg/nios2/10m50-ghrd.ld > create mode 100644 tests/tcg/nios2/Makefile.softmmu-target > delete mode 100644 tests/tcg/nios2/Makefile.target > create mode 100644 tests/tcg/nios2/boot.S > create mode 100644 tests/tcg/nios2/intr.S > create mode 100644 tests/tcg/nios2/test-shadow-1.S