As with part 1, several issues have been addressed with v2 but some remain.
* From "Implement modify SSR": HVX context management is moved out of this
series (it is no longer present in any of part 1, 2, 3). It can be
revisited after these land.
Issues remaining, to be considered for v3:
* "Implement wait helper" - move hexagon_wait_thread() to op_helper.c?
* "Implement arch_{s, g}et_{thread, system}_reg()" - remove
arch_[sg]et_system_reg() entirely?
* "Implement setprio, resched" - use ~0 for BESTWAIT_PRIO
* "Add exec-start-addr prop" - don't use ULL for UINT32
* "Define system, guest reg names" - fix last five reg names
* "Add TLB, k0 {un,}lock" - revisit design with suggestion from Richard
* "Define gen_precise_exception" - reword commit subject
Brian Cain (37):
target/hexagon: Implement ciad helper
target/hexagon: Implement {c,}swi helpers
target/hexagon: Implement iassign{r,w} helpers
target/hexagon: Implement start/stop helpers, soft reset
target/hexagon: Implement modify SSR
target/hexagon: Implement {g,s}etimask helpers
target/hexagon: Implement wait helper
target/hexagon: Implement get_exe_mode()
target/hexagon: Implement arch_get_system_reg()
target/hexagon: Implement arch_{s,g}et_{thread,system}_reg()
target/hexagon: Add representation to count cycles
target/hexagon: Add implementation of cycle counters
target/hexagon: Implement modify_syscfg()
target/hexagon: Implement hex_tlb_entry_get_perm()
target/hexagon: Implement hex_tlb_lookup_by_asid()
target/hexagon: Implement software interrupt
target/hexagon: Implement exec_interrupt, set_irq
target/hexagon: Implement hexagon_tlb_fill()
target/hexagon: Implement siad inst
target/hexagon: Implement hexagon_resume_threads()
target/hexagon: Implement setprio, resched
target/hexagon: Add sysemu_ops, cpu_get_phys_page_debug()
target/hexagon: Add exec-start-addr prop
target/hexagon: extend hexagon_cpu_mmu_index() for sysemu
target/hexagon: Decode trap1, rte as COF
target/hexagon: Implement hexagon_find_last_irq()
target/hexagon: Implement modify_ssr, resched, pending_interrupt
target/hexagon: Add pkt_ends_tb to translation
target/hexagon: Add next_PC, {s,g}reg writes
target/hexagon: Add implicit sysreg writes
target/hexagon: Define system, guest reg names
target/hexagon: initialize sys/guest reg TCGvs
target/hexagon: Add TLB, k0 {un,}lock
target/hexagon: Define gen_precise_exception()
target/hexagon: Add TCG overrides for transfer insts
target/hexagon: Add support for loadw_phys
target/hexagon: Add pcycle setting functionality
Matheus Tavares Bernardino (2):
target/hexagon: add simple cpu_exec_reset and pointer_wrap
target/hexagon: Add guest reg reading functionality
target/hexagon/cpu.h | 13 +-
target/hexagon/cpu_helper.h | 21 +-
target/hexagon/gen_tcg.h | 7 -
target/hexagon/gen_tcg_sys.h | 25 ++
target/hexagon/helper.h | 7 +-
target/hexagon/hexswi.h | 17 +
target/hexagon/internal.h | 2 +
target/hexagon/sys_macros.h | 8 +-
target/hexagon/translate.h | 5 +
target/hexagon/reg_fields_def.h.inc | 11 +
linux-user/hexagon/cpu_loop.c | 7 +
target/hexagon/cpu.c | 349 ++++++++++++++++++++-
target/hexagon/cpu_helper.c | 358 ++++++++++++++++++++-
target/hexagon/decode.c | 14 +
target/hexagon/genptr.c | 7 +-
target/hexagon/hex_mmu.c | 84 ++++-
target/hexagon/hexswi.c | 256 +++++++++++++++
target/hexagon/machine.c | 2 +-
target/hexagon/op_helper.c | 430 ++++++++++++++++++++++++--
target/hexagon/translate.c | 304 ++++++++++++++++--
target/hexagon/hex_common.py | 3 +
target/hexagon/imported/encode_pp.def | 1 +
target/hexagon/imported/ldst.idef | 3 +
23 files changed, 1848 insertions(+), 86 deletions(-)
create mode 100644 target/hexagon/hexswi.h
create mode 100644 target/hexagon/hexswi.c
--
2.34.1