f3b603b95e
target/loongarch: Prefer fast cpu_env() over slower CPU QOM cast macro
...
Mechanical patch produced running the command documented
in scripts/coccinelle/cpu_env.cocci_template header.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-ID: <20240129164514.73104-16-philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
[thuth: Adjusted patch for hunk that moved to cpu_helper.c]
Signed-off-by: Thomas Huth <thuth@redhat.com >
2024-03-12 12:04:24 +01:00
66260159a7
gdbstub: Change gdb_get_reg_cb and gdb_set_reg_cb
...
Align the parameters of gdb_get_reg_cb and gdb_set_reg_cb with the
gdb_read_register and gdb_write_register members of CPUClass to allow
to unify the logic to access registers of the core and coprocessors
in the future.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231213-gdb-v17-6-777047380591@daynix.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20240227144335.1196131-11-alex.bennee@linaro.org >
2024-02-28 09:09:49 +00:00
ac1e867100
gdbstub: Use GDBFeature for gdb_register_coprocessor
...
This is a tree-wide change to introduce GDBFeature parameter to
gdb_register_coprocessor(). The new parameter just replaces num_regs
and xml parameters for now. GDBFeature will be utilized to simplify XML
lookup in a following change.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Acked-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231213-gdb-v17-4-777047380591@daynix.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20240227144335.1196131-9-alex.bennee@linaro.org >
2024-02-28 09:09:34 +00:00
008a3b1662
target/loongarch: Add LASX data support
...
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230914022645.1151356-12-gaosong@loongson.cn >
2023-09-20 11:43:11 +08:00
17ffe331a9
target/loongarch: Split fcc register to fcc0-7 in gdbstub
...
Since GDB 13.1(GDB commit ea3352172), GDB LoongArch changed to use
fcc0-7 instead of fcc register. This commit partially reverts commit
2f149c759
(`target/loongarch: Update gdb_set_fpu() and gdb_get_fpu()`)
to match the behavior of GDB.
Note that it is a breaking change for GDB 13.0 or earlier, but it is
also required for GDB 13.1 or later to work.
Signed-off-by: Jiajie Chen <c@jia.je >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230808054315.3391465-1-c@jia.je >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-08-24 11:17:59 +08:00
2f6478ffad
target/loongarch: Extract set_pc() helper
...
Signed-off-by: Jiajie Chen <c@jia.je >
Co-authored-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-ID: <20230822032724.1353391-6-gaosong@loongson.cn >
[PMD: Extract helper from bigger patch]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230822071405.35386-9-philmd@linaro.org >
2023-08-24 11:17:57 +08:00
ebda3036e1
target/loongarch: Add GDB support for loongarch32 mode
...
GPRs and PC are 32-bit wide in loongarch32 mode.
Signed-off-by: Jiajie Chen <c@jia.je >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-ID: <20230817093121.1053890-4-gaosong@loongson.cn >
[PMD: Rebased, set gdb_num_core_regs]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230821125959.28666-9-philmd@linaro.org >
2023-08-24 11:17:56 +08:00
16f5396cec
target/loongarch: Add LSX data type VReg
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-2-gaosong@loongson.cn >
2023-05-06 11:19:42 +08:00
4ea5fe997d
gdbstub: move register helpers into standalone include
...
These inline helpers are all used by target specific code so move them
out of the general header so we don't needlessly pollute the rest of
the API with target specific stuff.
Note we have to include cpu.h in semihosting as it was relying on a
side effect before.
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20230302190846.2593720-21-alex.bennee@linaro.org >
Message-Id: <20230303025805.625589-21-richard.henderson@linaro.org >
2023-03-07 20:44:08 +00:00
2f149c759f
target/loongarch: Update gdb_set_fpu() and gdb_get_fpu()
...
GDB LoongArch fpu use fcc register, update gdb_set_fpu()
and gdb_get_fpu() to match it.
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Acked-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20220805033523.1416837-6-gaosong@loongson.cn >
2022-08-05 10:02:40 -07:00
d182c39000
target/loongarch: Update loongarch-fpu.xml
...
Rename loongarch-fpu64.xml to loongarch-fpu.xml and update
loongarch-fpu.xml to match upstream GDB [1]
[1]:https://github.com/bminor/binutils-gdb/blob/master/gdb/features/loongarch/fpu.xml
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Acked-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20220805033523.1416837-5-gaosong@loongson.cn >
2022-08-05 10:02:40 -07:00
1fe8ac3511
target/loongarch: Fix GDB get the wrong pc
...
GDB LoongArch add a register orig_a0, see the base64.xml [1].
We should add the orig_a0 to match the upstream GDB.
[1]: https://github.com/bminor/binutils-gdb/blob/master/gdb/features/loongarch/base64.xml
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Acked-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20220805033523.1416837-2-gaosong@loongson.cn >
2022-08-05 10:02:40 -07:00
fffca8f227
target/loongarch: remove badaddr from CPULoongArch
...
We can use CSR_BADV to replace badaddr.
Signed-off-by: Song Gao <gaosong@loongson.cn >
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20220624031049.1716097-8-gaosong@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2022-07-04 11:08:58 +05:30
ca61e75071
target/loongarch: Add gdb support.
...
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20220606124333.2060567-42-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2022-06-06 18:14:13 +00:00