All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 00/68] nios2 patch queue
@ 2022-04-26 18:17 Richard Henderson
  2022-04-26 18:18 ` [PULL 01/68] linux-user/nios2: Hoist pc advance to the top of EXCP_TRAP Richard Henderson
                   ` (68 more replies)
  0 siblings, 69 replies; 70+ messages in thread
From: Richard Henderson @ 2022-04-26 18:17 UTC (permalink / raw)
  To: qemu-devel

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.

----------------------------------------------------------------
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


^ permalink raw reply	[flat|nested] 70+ messages in thread

end of thread, other threads:[~2022-04-26 21:39 UTC | newest]

Thread overview: 70+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-26 18:17 [PULL 00/68] nios2 patch queue Richard Henderson
2022-04-26 18:18 ` [PULL 01/68] linux-user/nios2: Hoist pc advance to the top of EXCP_TRAP Richard Henderson
2022-04-26 18:18 ` [PULL 02/68] linux-user/nios2: Fix clone child return Richard Henderson
2022-04-26 18:18 ` [PULL 03/68] linux-user/nios2: Drop syscall 0 "workaround" Richard Henderson
2022-04-26 18:18 ` [PULL 04/68] linux-user/nios2: Adjust error return Richard Henderson
2022-04-26 18:18 ` [PULL 05/68] linux-user/nios2: Handle special qemu syscall return values Richard Henderson
2022-04-26 18:18 ` [PULL 06/68] linux-user/nios2: Remove do_sigreturn Richard Henderson
2022-04-26 18:18 ` [PULL 07/68] linux-user/nios2: Use QEMU_ESIGRETURN from do_rt_sigreturn Richard Henderson
2022-04-26 18:18 ` [PULL 08/68] tests/tcg/nios2: Re-enable linux-user tests Richard Henderson
2022-04-26 18:18 ` [PULL 09/68] target/nios2: Remove user-only nios2_cpu_do_interrupt Richard Henderson
2022-04-26 18:18 ` [PULL 10/68] target/nios2: Remove nios2_cpu_record_sigsegv Richard Henderson
2022-04-26 18:18 ` [PULL 11/68] target/nios2: Build helper.c for system only Richard Henderson
2022-04-26 18:18 ` [PULL 12/68] linux-user/nios2: Use force_sig_fault for EXCP_DEBUG Richard Henderson
2022-04-26 18:18 ` [PULL 13/68] target/nios2: Check supervisor on eret Richard Henderson
2022-04-26 18:18 ` [PULL 14/68] target/nios2: Stop generating code if gen_check_supervisor fails Richard Henderson
2022-04-26 18:18 ` [PULL 15/68] target/nios2: Add NUM_GP_REGS and NUM_CP_REGS Richard Henderson
2022-04-26 18:18 ` [PULL 16/68] target/nios2: Split PC out of env->regs[] Richard Henderson
2022-04-26 18:18 ` [PULL 17/68] target/nios2: Split out helper for eret instruction Richard Henderson
2022-04-26 18:18 ` [PULL 18/68] target/nios2: Fix BRET instruction Richard Henderson
2022-04-26 18:18 ` [PULL 19/68] target/nios2: Do not create TCGv for control registers Richard Henderson
2022-04-26 18:18 ` [PULL 20/68] linux-user/nios2: Only initialize SP and PC in target_cpu_copy_regs Richard Henderson
2022-04-26 18:18 ` [PULL 21/68] target/nios2: Remove cpu_interrupts_enabled Richard Henderson
2022-04-26 18:18 ` [PULL 22/68] target/nios2: Split control registers away from general registers Richard Henderson
2022-04-26 18:18 ` [PULL 23/68] target/nios2: Clean up nios2_cpu_dump_state Richard Henderson
2022-04-26 18:18 ` [PULL 24/68] target/nios2: Use hw/registerfields.h for CR_STATUS fields Richard Henderson
2022-04-26 18:18 ` [PULL 25/68] target/nios2: Use hw/registerfields.h for CR_EXCEPTION fields Richard Henderson
2022-04-26 18:18 ` [PULL 26/68] target/nios2: Use hw/registerfields.h for CR_TLBADDR fields Richard Henderson
2022-04-26 18:18 ` [PULL 27/68] target/nios2: Use hw/registerfields.h for CR_TLBACC fields Richard Henderson
2022-04-26 18:18 ` [PULL 28/68] target/nios2: Rename CR_TLBMISC_WR to CR_TLBMISC_WE Richard Henderson
2022-04-26 18:18 ` [PULL 29/68] target/nios2: Use hw/registerfields.h for CR_TLBMISC fields Richard Henderson
2022-04-26 18:18 ` [PULL 30/68] target/nios2: Move R_FOO and CR_BAR into enumerations Richard Henderson
2022-04-26 18:18 ` [PULL 31/68] target/nios2: Create EXCP_SEMIHOST for semi-hosting Richard Henderson
2022-04-26 18:18 ` [PULL 32/68] target/nios2: Clean up nios2_cpu_do_interrupt Richard Henderson
2022-04-26 18:18 ` [PULL 33/68] target/nios2: Hoist CPU_LOG_INT logging Richard Henderson
2022-04-26 18:18 ` [PULL 34/68] target/nios2: Handle EXCP_UNALIGN and EXCP_UNALIGND Richard Henderson
2022-04-26 18:18 ` [PULL 35/68] target/nios2: Cleanup set of CR_EXCEPTION for do_interrupt Richard Henderson
2022-04-26 18:18 ` [PULL 36/68] target/nios2: Clean up handling of tlbmisc in do_exception Richard Henderson
2022-04-26 18:18 ` [PULL 37/68] target/nios2: Prevent writes to read-only or reserved control fields Richard Henderson
2022-04-26 18:18 ` [PULL 38/68] target/nios2: Implement cpuid Richard Henderson
2022-04-26 18:18 ` [PULL 39/68] target/nios2: Implement CR_STATUS.RSIE Richard Henderson
2022-04-26 18:18 ` [PULL 40/68] target/nios2: Remove CPU_INTERRUPT_NMI Richard Henderson
2022-04-26 18:18 ` [PULL 41/68] target/nios2: Support division error exception Richard Henderson
2022-04-26 18:18 ` [PULL 42/68] target/nios2: Use tcg_constant_tl Richard Henderson
2022-04-26 18:18 ` [PULL 43/68] target/nios2: Split out named structs for [IRJ]_TYPE Richard Henderson
2022-04-26 18:18 ` [PULL 44/68] target/nios2: Split out helpers for gen_i_cmpxx Richard Henderson
2022-04-26 18:18 ` [PULL 45/68] target/nios2: Split out helpers for gen_i_math_logic Richard Henderson
2022-04-26 18:18 ` [PULL 46/68] target/nios2: Split out helpers for gen_r_math_logic Richard Henderson
2022-04-26 18:18 ` [PULL 47/68] target/nios2: Split out helpers for gen_rr_mul_high Richard Henderson
2022-04-26 18:18 ` [PULL 48/68] target/nios2: Split out helpers for gen_rr_shift Richard Henderson
2022-04-26 18:18 ` [PULL 49/68] target/nios2: Introduce dest_gpr Richard Henderson
2022-04-26 18:18 ` [PULL 50/68] target/nios2: Drop CR_STATUS_EH from tb->flags Richard Henderson
2022-04-26 18:18 ` [PULL 51/68] target/nios2: Enable unaligned traps for system mode Richard Henderson
2022-04-26 18:18 ` [PULL 52/68] target/nios2: Create gen_jumpr Richard Henderson
2022-04-26 18:18 ` [PULL 53/68] target/nios2: Hoist set of is_jmp into gen_goto_tb Richard Henderson
2022-04-26 18:18 ` [PULL 54/68] target/nios2: Use gen_goto_tb for DISAS_TOO_MANY Richard Henderson
2022-04-26 18:18 ` [PULL 55/68] target/nios2: Use tcg_gen_lookup_and_goto_ptr Richard Henderson
2022-04-26 18:18 ` [PULL 56/68] target/nios2: Implement Misaligned destination exception Richard Henderson
2022-04-26 18:18 ` [PULL 57/68] target/nios2: Introduce shadow register sets Richard Henderson
2022-04-26 18:18 ` [PULL 58/68] target/nios2: Implement rdprs, wrprs Richard Henderson
2022-04-26 18:18 ` [PULL 59/68] target/nios2: Update helper_eret for shadow registers Richard Henderson
2022-04-26 18:18 ` [PULL 60/68] target/nios2: Implement EIC interrupt processing Richard Henderson
2022-04-26 18:19 ` [PULL 61/68] target/nios2: Advance pc when raising exceptions Richard Henderson
2022-04-26 18:19 ` [PULL 62/68] linux-user/nios2: Handle various SIGILL exceptions Richard Henderson
2022-04-26 18:19 ` [PULL 63/68] hw/intc: Vectored Interrupt Controller (VIC) Richard Henderson
2022-04-26 18:19 ` [PULL 64/68] hw/nios2: Introduce Nios2MachineState Richard Henderson
2022-04-26 18:19 ` [PULL 65/68] hw/nios2: Move memory regions into Nios2Machine Richard Henderson
2022-04-26 18:19 ` [PULL 66/68] hw/nios2: Machine with a Vectored Interrupt Controller Richard Henderson
2022-04-26 18:19 ` [PULL 67/68] tests/tcg/nios2: Add semihosting multiarch tests Richard Henderson
2022-04-26 18:19 ` [PULL 68/68] tests/tcg/nios2: Add test-shadow-1 Richard Henderson
2022-04-26 21:38 ` [PULL 00/68] nios2 patch queue Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.