Yongbok Kim
feafe82cc2
target/mips: Amend CP0 WatchHi register implementation
...
WatchHi is extended by the field MemoryMapID with the GINVT instruction.
The field is accessible by MTHC0/MFHC0 in 32-bit architectures and DMTC0/
DMFC0 in 64-bit architectures.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1579883929-1517-4-git-send-email-aleksandar.markovic@rt-rk.com >
2020-01-29 19:28:52 +01:00
Daniel Henrique Barboza
54fc33fdc4
target/mips: semihosting: Remove 'uhi_done' label in helper_do_semihosting()
...
The label 'uhi_done' is a simple 'return' call and can
be removed for a bit more clarity in the code.
CC: Aurelien Jarno <aurelien@aurel32.net >
CC: Aleksandar Markovic <amarkovic@wavecomp.com >
CC: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com >
Message-Id: <20200106182425.20312-7-danielhb413@gmail.com >
2020-01-29 19:28:52 +01:00
Greg Kurz
bc9888f759
cpu: Use cpu_class_set_parent_reset()
...
Convert all targets to use cpu_class_set_parent_reset() with the following
coccinelle script:
@@
type CPUParentClass;
CPUParentClass *pcc;
CPUClass *cc;
identifier parent_fn;
identifier child_fn;
@@
+cpu_class_set_parent_reset(cc, child_fn, &pcc->parent_fn);
-pcc->parent_fn = cc->reset;
...
-cc->reset = child_fn;
Signed-off-by: Greg Kurz <groug@kaod.org >
Acked-by: David Gibson <david@gibson.dropbear.id.au >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Cornelia Huck <cohuck@redhat.com >
Acked-by: David Hildenbrand <david@redhat.com >
Message-Id: <157650847817.354886.7047137349018460524.stgit@bahia.lan >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2020-01-24 20:59:06 +01:00
Philippe Mathieu-Daudé
dcb32f1d8f
tcg: Search includes from the project root source directory
...
We currently search both the root and the tcg/ directories for tcg
files:
$ git grep '#include "tcg/' | wc -l
28
$ git grep '#include "tcg[^/]' | wc -l
94
To simplify the preprocessor search path, unify by expliciting the
tcg/ directory.
Patch created mechanically by running:
$ for x in \
tcg.h tcg-mo.h tcg-op.h tcg-opc.h \
tcg-op-gvec.h tcg-gvec-desc.h; do \
sed -i "s,#include \"$x\",#include \"tcg/$x\"," \
$(git grep -l "#include \"$x\""); \
done
Acked-by: David Gibson <david@gibson.dropbear.id.au > (ppc parts)
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Stefan Weil <sw@weilnetz.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <20200101112303.20724-2-philmd@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2020-01-15 15:13:10 -10:00
Richard Henderson
7dd547e5ab
target/mips: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX
...
The separate suffixed functions were used to construct
some do_##insn function switched on mmu_idx. The interface
is exactly identical to the *_mmuidx_ra functions. Replace
them directly and remove the constructions.
Cc: Aurelien Jarno <aurelien@aurel32.net >
Cc: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2020-01-15 15:13:10 -10:00
Paolo Bonzini
4376c40ded
kvm: introduce kvm_kernel_irqchip_* functions
...
The KVMState struct is opaque, so provide accessors for the fields
that will be moved from current_machine to the accelerator. For now
they just forward to the machine object, but this will change.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2019-12-17 19:32:45 +01:00
Filip Bozuta
2c5bf8108e
target/mips: Refactor handling of vector compare 'less than' (signed) instructions
...
Remove unnecessary argument and provide separate function for each
instruction.
Signed-off-by: Filip Bozuta <Filip.Bozuta@rt-rk.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571837825-24438-3-git-send-email-Filip.Bozuta@rt-rk.com >
2019-10-25 18:37:01 +02:00
Filip Bozuta
84183fbe76
target/mips: Refactor handling of vector compare 'equal' instructions
...
Remove unnecessary argument and provide separate function for each
instruction.
Signed-off-by: Filip Bozuta <Filip.Bozuta@rt-rk.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571837825-24438-2-git-send-email-Filip.Bozuta@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
b1cf82f020
target/mips: Demacro LMI decoder
...
This makes searches for instances of opcode usages easier.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-15-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
f392d1344e
target/mips: msa: Split helpers for ASUB_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Message-Id: <1571826227-10583-13-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
b24b9aec96
target/mips: msa: Split helpers for HSUB_<S|U>.<H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Message-Id: <1571826227-10583-12-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
8a0ee3802f
target/mips: msa: Split helpers for PCK<EV|OD>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-11-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
4d52cc2bbc
target/mips: msa: Split helpers for S<LL|RA|RAR|RL|RLR>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-10-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
dc0af9312b
target/mips: msa: Split helpers for HADD_<S|U>.<H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-9-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
c65ca134d7
target/mips: msa: Split helpers for ADD<_A|S_A|S_S|S_U|V>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-8-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
fb5f59b4dc
target/mips: msa: Split helpers for ILV<EV|OD|L|R>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-7-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
2db26305a6
target/mips: msa: Split helpers for <MAX|MIN>_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-6-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
e8e01ef026
target/mips: msa: Split helpers for <MAX|MIN>_A.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-5-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
14521a2c24
target/mips: Clean up op_helper.c
...
Mostly fix errors and warnings reported by 'checkpatch.pl -f'.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-3-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
d7551ece3a
target/mips: Clean up helper.c
...
Mostly fix errors and warnings reported by 'checkpatch.pl -f'.
Cc: Markus Armbruster <armbru@redhat.com >
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-2-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
Aleksandar Markovic
0a1bb9127b
target/mips: msa: Move helpers for <AND|NOR|OR|XOR>.V
...
Cosmetic reorganization.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-21-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
Aleksandar Markovic
26f0e079a0
target/mips: msa: Simplify and move helper for MOVE.V
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-20-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
Aleksandar Markovic
a6387ea5de
target/mips: msa: Split helpers for MOD_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-19-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
Aleksandar Markovic
64a0257f1f
target/mips: msa: Split helpers for DIV_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-18-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
Aleksandar Markovic
1165669982
target/mips: msa: Split helpers for CLT_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-17-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
Aleksandar Markovic
0501bb1a66
target/mips: msa: Split helpers for CLE_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-16-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
Aleksandar Markovic
ade7e788e1
target/mips: msa: Split helpers for CEQ.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-15-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
Aleksandar Markovic
755107e226
target/mips: msa: Split helpers for AVER_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-14-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
Aleksandar Markovic
7672edc4c6
target/mips: msa: Split helpers for AVE_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-13-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
Aleksandar Markovic
a44d6d14a1
target/mips: msa: Split helpers for B<CLR|NEG|SEL>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-12-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
Aleksandar Markovic
c1ed3038e7
target/mips: msa: Unroll loops and demacro <BMNZ|BMZ|BSEL>.V
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-11-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
Aleksandar Markovic
2e3eddb084
target/mips: msa: Split helpers for BINS<L|R>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-10-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
Aleksandar Markovic
4c5daf386f
target/mips: msa: Split helpers for PCNT.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-9-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
Aleksandar Markovic
81c4b05995
target/mips: msa: Split helpers for <NLOC|NLZC>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-8-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
Aleksandar Markovic
05aa7e934b
target/mips: Clean up translate.c
...
Mostly fix errors and warnings reported by 'checkpatch.pl -f'.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <1569331602-2586-7-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
Aleksandar Markovic
f823213c22
target/mips: Clean up mips-defs.h
...
Mostly fix errors and warnings reported by 'checkpatch.pl -f'.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <1569331602-2586-5-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:41:03 +02:00
Aleksandar Markovic
f6d147bbe3
target/mips: Clean up kvm_mips.h
...
Mostly fix errors and warnings reported by 'checkpatch.pl -f'.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <1569331602-2586-4-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:37:50 +02:00
Aleksandar Markovic
7ba0e95bca
target/mips: Clean up internal.h
...
Mostly fix errors and warnings reported by 'checkpatch.pl -f'.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <1569331602-2586-3-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:37:22 +02:00
Libo Zhou
d1cc153350
target/mips: gdbstub: Revert commit 8e0b373
...
Multiple reports from users were received regarding failures of
packet 'g' communication with gdb for some MIPS configurations.
It was found out (by bisecting) that the problematic commit is
8e0b373
. Revert that commit until a better solution is developed.
Suggested-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Signed-off-by: Libo Zhou <zhlb29@foxmail.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1568207966-25202-1-git-send-email-aleksandar.markovic@rt-rk.com >
2019-09-12 18:25:34 +02:00
Peter Maydell
4f02a06d50
target/mips: Switch to do_transaction_failed() hook
...
Switch the MIPS target from the old unassigned_access hook to the new
do_transaction_failed hook.
Unlike the old hook, do_transaction_failed is only ever called from
the TCG memory access paths, so there is no need for the "ignore this
if we're using KVM" hack that we were previously using to work around
the way unassigned_access was called for all kinds of memory accesses
to unassigned physical addresses.
The MIPS target does not ever do direct memory reads by physical
address (via either ldl_phys etc or address_space_ldl etc), so the
only memory accesses this affects are the 'normal' guest loads and
stores, which will be handled by the new hook; their behaviour is
unchanged.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Hervé Poussineau <hpoussin@reactos.org >
Message-Id: <20190802160458.25681-3-peter.maydell@linaro.org >
2019-09-12 18:25:34 +02:00
Peter Maydell
9de65783e1
Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20190903' into staging
...
Allow page table bit to swap endianness.
Reorganize watchpoints out of i/o path.
Return host address from probe_write / probe_access.
# gpg: Signature made Tue 03 Sep 2019 16:47:50 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/tags/pull-tcg-20190903: (36 commits)
tcg: Factor out probe_write() logic into probe_access()
tcg: Make probe_write() return a pointer to the host page
s390x/tcg: Pass a size to probe_write() in do_csst()
hppa/tcg: Call probe_write() also for CONFIG_USER_ONLY
mips/tcg: Call probe_write() for CONFIG_USER_ONLY as well
tcg: Enforce single page access in probe_write()
tcg: Factor out CONFIG_USER_ONLY probe_write() from s390x code
s390x/tcg: Fix length calculation in probe_write_access()
s390x/tcg: Use guest_addr_valid() instead of h2g_valid() in probe_write_access()
tcg: Check for watchpoints in probe_write()
cputlb: Handle watchpoints via TLB_WATCHPOINT
cputlb: Remove double-alignment in store_helper
cputlb: Fix size operand for tlb_fill on unaligned store
exec: Factor out cpu_watchpoint_address_matches
cputlb: Fold TLB_RECHECK into TLB_INVALID_MASK
exec: Factor out core logic of check_watchpoint()
exec: Move user-only watchpoint stubs inline
target/sparc: sun4u Invert Endian TTE bit
target/sparc: Add TLB entry with attributes
cputlb: Byte swap memory transaction attribute
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2019-09-04 16:29:18 +01:00
David Hildenbrand
3a9576ec98
mips/tcg: Call probe_write() for CONFIG_USER_ONLY as well
...
Let's call it also for CONFIG_USER_ONLY. While at it, add a FIXME and get
rid of one local variable.
MIPS code probably needs a bigger refactoring in regards of
ensure_writable_pages(), similar to s390x, so for example, watchpoints
can be handled reliably later. The actually accessed addresses should
be probed only, not full pages.
Signed-off-by: David Hildenbrand <david@redhat.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <20190826075112.25637-6-david@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2019-09-03 08:34:18 -07:00
Tony Nguyen
4574664677
target/mips: Hard code size with MO_{8|16|32|64}
...
Temporarily no-op size_memop was introduced to aid the conversion of
memory_region_dispatch_{read|write} operand "unsigned size" into
"MemOp op".
Now size_memop is implemented, again hard coded size but with
MO_{8|16|32|64}. This is more expressive and avoids size_memop calls.
Signed-off-by: Tony Nguyen <tony.nguyen@bt.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <99c4459d5c1dc9013820be3dbda9798165c15b99.1566466906.git.tony.nguyen@bt.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2019-09-03 08:30:39 -07:00
Tony Nguyen
e501824b3f
target/mips: Access MemoryRegion with MemOp
...
The memory_region_dispatch_{read|write} operand "unsigned size" is
being converted into a "MemOp op".
Convert interfaces by using no-op size_memop.
After all interfaces are converted, size_memop will be implemented
and the memory_region_dispatch_{read|write} operand "unsigned size"
will be converted into a "MemOp op".
As size_memop is a no-op, this patch does not change any behaviour.
Signed-off-by: Tony Nguyen <tony.nguyen@bt.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <af407f0a34dc95ef5aaf2c00dffda7c65df23c3a.1566466906.git.tony.nguyen@bt.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2019-09-03 08:30:38 -07:00
Tony Nguyen
14776ab5a1
tcg: TCGMemOp is now accelerator independent MemOp
...
Preparation for collapsing the two byte swaps, adjust_endianness and
handle_bswap, along the I/O path.
Target dependant attributes are conditionalized upon NEED_CPU_H.
Signed-off-by: Tony Nguyen <tony.nguyen@bt.com >
Acked-by: David Gibson <david@gibson.dropbear.id.au >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Acked-by: Cornelia Huck <cohuck@redhat.com >
Message-Id: <81d9cd7d7f5aaadfa772d6c48ecee834e9cf7882.1566466906.git.tony.nguyen@bt.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2019-09-03 08:30:38 -07:00
Aleksandar Markovic
abd4393d76
target/mips: Fix emulation of ST.W in system mode
...
Order of arguments in helper_ret_stl_mmu() invocations was wrong,
apparently caused by a misplaced multiline copy-and-paste.
Fixes: 6decc57
("target/mips: Fix MSA instructions ST.<B|H|W|D> on big endian host")
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1567009239-11273-1-git-send-email-aleksandar.markovic@rt-rk.com >
2019-08-29 12:11:14 +02:00
Aleksandar Markovic
14d92efd72
target/mips: Clean up handling of CP0 register 31
...
Clean up handling of CP0 register 31.
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1567009614-12438-31-git-send-email-aleksandar.markovic@rt-rk.com >
2019-08-29 12:08:49 +02:00
Aleksandar Markovic
4bcf121ebb
target/mips: Clean up handling of CP0 register 30
...
Clean up handling of CP0 register 30.
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1567009614-12438-30-git-send-email-aleksandar.markovic@rt-rk.com >
2019-08-29 12:08:25 +02:00
Aleksandar Markovic
af4bb6da80
target/mips: Clean up handling of CP0 register 29
...
Clean up handling of CP0 register 29.
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1567009614-12438-29-git-send-email-aleksandar.markovic@rt-rk.com >
2019-08-29 12:08:10 +02:00
Aleksandar Markovic
a30e2f2180
target/mips: Clean up handling of CP0 register 28
...
Clean up handling of CP0 register 28.
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1567009614-12438-28-git-send-email-aleksandar.markovic@rt-rk.com >
2019-08-29 12:07:56 +02:00