1590154ee4
target/loongarch: Fix qemu-system-loongarch64 assert failed with the option '-d int'
...
qemu-system-loongarch64 assert failed with the option '-d int',
the helper_idle() raise an exception EXCP_HLT, but the exception name is undefined.
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20240321123606.1704900-1-gaosong@loongson.cn >
2024-03-22 17:57:49 +08:00
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
348802b526
target: Replace CPU_GET_CLASS(cpu -> obj) in cpu_reset_hold() handler
...
Since CPU() macro is a simple cast, the following are equivalent:
Object *obj;
CPUState *cs = CPU(obj)
In order to ease static analysis when running
scripts/coccinelle/cpu_env.cocci from the previous commit,
replace:
- CPU_GET_CLASS(cpu);
+ CPU_GET_CLASS(obj);
Most code use the 'cs' variable name for CPUState handle.
Replace few 's' -> 'cs' to unify cpu_reset_hold() style.
No logical change in this patch.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Message-ID: <20240129164514.73104-7-philmd@linaro.org >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2024-03-12 11:46:16 +01:00
ecd6f6a882
gdbstub: Infer number of core registers from XML
...
GDBFeature has the num_regs member so use it where applicable to
remove magic numbers.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Message-Id: <20231213-gdb-v17-8-777047380591@daynix.com >
[AJB: remove core reg check from microblaze read reg]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20240227144335.1196131-13-alex.bennee@linaro.org >
2024-02-28 09:09:58 +00:00
a120d32097
include/exec: Implement cpu_mmu_index generically
...
For user-only mode, use MMU_USER_IDX.
For system mode, use CPUClass.mmu_index.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2024-02-03 16:46:10 +10:00
3f262d2568
target/loongarch: Rename MMU_IDX_*
...
The expected form is MMU_FOO_IDX, not MMU_IDX_FOO.
Rename to match generic code.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2024-02-03 16:46:07 +10:00
a72a1b105d
target/loongarch: Populate CPUClass.mmu_index
...
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2024-02-03 16:46:04 +10:00
27edd5040c
target/loongarch: Fix qtest test-hmp error when KVM-only build
...
The cc->sysemu_ops->get_phys_page_debug() is NULL when
KVM-only build. this patch fixes it.
Signed-off-by: Song Gao <gaosong@loongson.cn >
Tested-by: Bibo Mao <maobibo@loongson.cn >
Message-Id: <20240125061401.52526-1-gaosong@loongson.cn >
2024-02-01 15:29:40 +08:00
2889fb8bd2
target/loongarch: Constify loongarch_tcg_ops
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2024-01-29 21:04:10 +10:00
1764ad70ce
include/qemu: Add TCGCPUOps typedef to typedefs.h
...
QEMU coding style recommends using structure typedefs.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2024-01-29 21:04:10 +10:00
5e90b8db38
hw/loongarch/virt: Set iocsr address space per-board rather than percpu
...
LoongArch system has iocsr address space, most iocsr registers are
per-board, however some iocsr register spaces banked for percpu such
as ipi mailbox and extioi interrupt status. For banked iocsr space,
each cpu has the same iocsr space, but separate data.
This patch changes iocsr address space per-board rather percpu,
for iocsr registers specified for cpu, MemTxAttrs.requester_id
can be parsed for the cpu. With this patches, the total address space
on board will be simple, only iocsr address space and system memory,
rather than the number of cpu and system memory.
Signed-off-by: Bibo Mao <maobibo@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20231215100333.3933632-3-maobibo@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2024-01-11 19:22:47 +08:00
8dcbad5128
target/loongarch: Implement set vcpu intr for kvm
...
Implement loongarch kvm set vcpu interrupt interface,
when a irq is set in vcpu, we use the KVM_INTERRUPT
ioctl to set intr into kvm.
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Signed-off-by: xianglai li <lixianglai@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-ID: <20240105075804.1228596-9-zhaotianrui@loongson.cn >
[PMD: Split from bigger patch, part 2]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20240110094152.52138-2-philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2024-01-11 19:22:32 +08:00
2d45085a72
target/loongarch: Restrict TCG-specific code
...
In preparation of supporting KVM in the next commit.
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Signed-off-by: xianglai li <lixianglai@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-ID: <20240105075804.1228596-9-zhaotianrui@loongson.cn >
[PMD: Split from bigger patch, part 1]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20240110094152.52138-1-philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2024-01-11 19:21:45 +08:00
f8447436d3
target/loongarch: Implement kvm get/set registers
...
Implement kvm_arch_get/set_registers interfaces, many regs
can be get/set in the function, such as core regs, csr regs,
fpu regs, mp state, etc.
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Signed-off-by: xianglai li <lixianglai@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Change-Id: Ia8fc48fe08b1768853f7729e77d37cdf270031e4
Message-Id: <20240105075804.1228596-5-zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2024-01-11 19:14:00 +08:00
6278465696
target/loongarch: Supplement vcpu env initial when vcpu reset
...
Supplement vcpu env initial when vcpu reset, including
init vcpu CSR_CPUID,CSR_TID to cpu->cpu_index. The two
regs will be used in kvm_get/set_csr_ioctl.
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Signed-off-by: xianglai li <lixianglai@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20240105075804.1228596-4-zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2024-01-11 19:14:00 +08:00
979bf44af8
target/loongarch: Use generic cpu_list()
...
Before it's applied:
[gshan@gshan q]$ ./build/qemu-system-loongarch64 -cpu ?
la132-loongarch-cpu
la464-loongarch-cpu
max-loongarch-cpu
After it's applied:
[gshan@gshan q]$ ./build/qemu-system-loongarch64 -cpu ?
Available CPUs:
la132
la464
max
Signed-off-by: Gavin Shan <gshan@redhat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-ID: <20231114235628.534334-14-gshan@redhat.com >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
2024-01-05 16:20:14 +01:00
d5be19f514
cpu: Call object_class_dynamic_cast() once in cpu_class_by_name()
...
For all targets, the CPU class returned from CPUClass::class_by_name()
and object_class_dynamic_cast(oc, CPU_RESOLVING_TYPE) need to be
compatible. Lets apply the check in cpu_class_by_name() for once,
instead of having the check in CPUClass::class_by_name() for individual
target.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Gavin Shan <gshan@redhat.com >
Reviewed-by: Igor Mammedov <imammedo@redhat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Gavin Shan <gshan@redhat.com >
Message-ID: <20231114235628.534334-4-gshan@redhat.com >
2024-01-05 16:20:14 +01:00
be45144bee
target/loongarch: Add timer information dump support
...
Timer emulation sometimes is problematic especially when vm is running in
kvm mode. This patch adds registers dump support relative with timer
hardware, so that it is easier to find the problems.
Signed-off-by: Bibo Mao <maobibo@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20231206081839.2290178-1-maobibo@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-12-21 16:07:47 +08:00
c0f6cd9f67
target: Restrict 'sysemu/reset.h' to system emulation
...
vCPU "reset" is only possible with system emulation.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-ID: <20231212113640.30287-5-philmd@linaro.org >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Reviewed-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2023-12-20 10:29:23 +01:00
3a9d0d7b64
hw/cpu: Call object_class_is_abstract() once in cpu_class_by_name()
...
Let CPUClass::class_by_name() handlers to return abstract classes,
and filter them once in the public cpu_class_by_name() method.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230908112235.75914-3-philmd@linaro.org >
2023-11-07 13:08:48 +01:00
464136ceb6
target/loongarch: Allow user enable/disable LSX/LASX features
...
Some users may not need LSX/LASX, this patch allows the user
enable/disable LSX/LASX features.
e.g
'-cpu max,lsx=on,lasx=on' (default);
'-cpu max,lsx=on,lasx=off' (enabled LSX);
'-cpu max,lsx=off,lasx=on' (enabled LASX, LSX);
'-cpu max,lsx=off' (disable LSX and LASX).
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231020084925.3457084-3-gaosong@loongson.cn >
2023-11-03 14:13:02 +08:00
d6f077321a
target/loongarch: Add cpu model 'max'
...
We use cpu la464 for the 'max' cpu.
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231020084925.3457084-2-gaosong@loongson.cn >
2023-11-03 14:12:55 +08:00
a650683871
hw/core/cpu: Return static value with gdb_arch_name()
...
All implementations of gdb_arch_name() returns dynamic duplicates of
static strings. It's also unlikely that there will be an implementation
of gdb_arch_name() that returns a truly dynamic value due to the nature
of the function returning a well-known identifiers. Qualify the value
gdb_arch_name() with const and make all of its implementations return
static strings.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Message-Id: <20230912224107.29669-8-akihiko.odaki@daynix.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20231009164104.369749-15-alex.bennee@linaro.org >
2023-10-11 08:46:33 +01:00
8fa08d7ec7
accel/tcg: Remove cpu_set_cpustate_pointers
...
This function is now empty, so remove it. In the case of
m68k and tricore, this empties the class instance initfn,
so remove those as well.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-10-04 11:03:54 -07:00
f669c99241
target/*: Add instance_align to all cpu base classes
...
The omission of alignment has technically been wrong since
269bd5d8f6 , where QEMU_ALIGNED was added to CPUTLBDescFast.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-10-03 08:01:02 -07:00
2cd81e3751
target/loongarch: CPUCFG support LASX
...
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230914022645.1151356-58-gaosong@loongson.cn >
2023-09-20 14:33:43 +08:00
b8f1bdf3d1
target/loongarch: check_vec support check LASX instructions
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230914022645.1151356-13-gaosong@loongson.cn >
2023-09-20 11:43:11 +08: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
09b07f286d
target/translate: Include missing 'exec/cpu_ldst.h' header
...
All these files access the CPU LD/ST API declared in "exec/cpu_ldst.h".
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230828221314.18435-4-philmd@linaro.org >
2023-08-31 19:47:43 +02:00
14f21f673a
target/loongarch: cpu: Implement get_arch_id callback
...
Implement the callback for getting the architecture-dependent CPU
ID, the cpu ID is physical id described in ACPI MADT table, this
will be used for cpu hotplug.
Signed-off-by: Bibo Mao <maobibo@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230824005007.2000525-1-maobibo@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-08-24 11:17:59 +08:00
bb8710cf0a
target/loongarch: Add LoongArch32 cpu la132
...
Add LoongArch32 cpu la132.
Due to lack of public documentation of la132, it is currently a
synthetic LoongArch32 cpu model. Details need to be added in the future.
Signed-off-by: Jiajie Chen <c@jia.je >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-ID: <20230822032724.1353391-10-gaosong@loongson.cn >
Message-Id: <20230822071959.35620-4-philmd@linaro.org >
2023-08-24 11:17:58 +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
6cbba3e9eb
target/loongarch: Add new object class for loongarch32 cpus
...
Add object class stub for future loongarch32 cpus.
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-3-gaosong@loongson.cn >
[Rebased on TYPE_LOONGARCH64_CPU introduction]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230821125959.28666-8-philmd@linaro.org >
2023-08-24 11:17:56 +08:00
e389358e56
target/loongarch: Extract 64-bit specifics to loongarch64_cpu_class_init
...
Extract loongarch64 specific code from loongarch_cpu_class_init()
to a new loongarch64_cpu_class_init().
In preparation of supporting loongarch32 cores, rename these
functions using the '64' suffix.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230821125959.28666-6-philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-08-24 11:17:56 +08:00
146f2354b5
target/loongarch: Introduce abstract TYPE_LOONGARCH64_CPU
...
In preparation of introducing TYPE_LOONGARCH32_CPU, introduce
an abstract TYPE_LOONGARCH64_CPU.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230821125959.28666-5-philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-08-24 11:17:55 +08:00
0b36072786
target/loongarch: Fix loongarch_la464_initfn() misses setting LSPW
...
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: <20230817093121.1053890-11-gaosong@loongson.cn >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230821125959.28666-4-philmd@linaro.org >
2023-08-24 11:17:55 +08:00
3a4b64c702
target/loongarch: Remove duplicated disas_set_info assignment
...
Commit 228021f05e ("target/loongarch: Add core definition") sets
disas_set_info to loongarch_cpu_disas_set_info. Probably due to
a failed git-rebase, commit ca61e75071 ("target/loongarch: Add gdb
support") also sets it to the same value. Remove the duplication.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230821125959.28666-3-philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-08-24 11:17:55 +08:00
3da4004c21
target/loongarch: Log I/O write accesses to CSR registers
...
Various CSR registers have Read/Write fields. We might
want to see guest trying to change such registers.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230821125959.28666-2-philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-08-24 11:17:55 +08:00
2e2ca3c8fa
target/loongarch: Fix LD/ST{LE/GT} instructions get wrong CSR_ERA and CSR_BADV
...
1.helper_asrtle_d/helper_asrtgt_d need use GETPC() to get PC;
2 LD/ST{LE/GT} need set CSR_BADV = gpr[rj];
3 ASRTLE.D/ASRTGT.D also write CSR_BADV, but this value is random
and has no reference value.
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230515130042.2719712-1-gaosong@loongson.cn >
2023-05-26 17:21:12 +08:00
c6c2fec4b9
target/loongarch: CPUCFG support LSX
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-45-gaosong@loongson.cn >
2023-05-06 11:19:50 +08:00
a3f3db5cda
target/loongarch: Add CHECK_SXE maccro for check LSX enable
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-4-gaosong@loongson.cn >
2023-05-06 11:19:45 +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
c77432d0ef
target/loongarch: Implement Chip Configuraiton Version Register(0x0000)
...
According to the 3A5000 manual 4.1 implement Chip Configuration
Version Register(0x0000).
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230227071046.1445572-1-gaosong@loongson.cn >
2023-03-03 09:37:30 +08:00
0ccf919d74
Merge tag 'pull-monitor-2023-03-02' of https://repo.or.cz/qemu/armbru into staging
...
Monitor patches for 2023-03-02
# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmQASV0SHGFybWJydUBy
# ZWRoYXQuY29tAAoJEDhwtADrkYZT4mEQALkbu0i/Y2B2XKpGyp9Z/uf0zoHmL6fA
# UEy2S8yn3K1uPPDmzWsQ7PgxDnirVzePa88UzuW3iUiiHBcQp0IsFOP6LZ47NTTz
# UM146odlDtn50bHWr6vHtToNU+PcKOw8ELX28eDE+ihtg+8B+B6cBgLa14VKGSJ4
# 4oBJbsNMG8U3qJgqrIMomBeP38TorTdKq05jEE9txqsiw5uYO6jQE9owNkLQP76U
# 8T/99sgQzyQjJ7VjOdyu2ZveUwGIpmGzmeA26CcwYP8uhYTRY+Lk+5gZnC15pad9
# TMimrq+7vwuzqKQpZw5rZO25ryQmKgQX49hSt/dKZEFNvb9vtKq693VhRoP4EMCz
# 136suIATRkXHTw2FhjC2l3lnN+rQEfTr+zuGvazQ9ZOibHFPhxOAR4RNPTFXbfk6
# fOM7wW2Y3lhlQdhLc+0Ar2N/GzjEHi4WJhk4nV0V1PK79dLPYA5kuYGUuqzeA04P
# Fu1EvpNWgHpQd3m8oFxjfozn9LMDohUrdHknrF0+VncAfzcPic1z4VhKDg+kMLJx
# 1WePIMdMMS/aIYpNCMevLm11GQXhd2B4GG3xhNpM/BfHQ9KLM1dfoTEGfG9ZpKNv
# Qyi1ofpgKzX5mpSHrdACK/rm45KIJRbprGgAe3fZFh65iGQ51wwZd16MUV/c8exN
# ouu3jimfHWWG
# =RuRo
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 02 Mar 2023 06:59:41 GMT
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "armbru@redhat.com "
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com >" [full]
# gpg: aka "Markus Armbruster <armbru@pond.sub.org >" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* tag 'pull-monitor-2023-03-02' of https://repo.or.cz/qemu/armbru :
target/ppc: Restrict 'qapi-commands-machine.h' to system emulation
target/loongarch: Restrict 'qapi-commands-machine.h' to system emulation
target/i386: Restrict 'qapi-commands-machine.h' to system emulation
target/arm: Restrict 'qapi-commands-machine.h' to system emulation
readline: fix hmp completion issue
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-03-02 10:54:17 +00:00
381b43f855
target/loongarch: Restrict 'qapi-commands-machine.h' to system emulation
...
Since commit a0e61807a3 ("qapi: Remove QMP events and commands from
user-mode builds") we don't generate the "qapi-commands-machine.h"
header in a user-emulation-only build.
Extract the QMP functions from cpu.c (which is always compiled)
to the new 'loongarch-qmp-cmds.c' unit (which is only compiled
when system emulation is selected).
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230223155540.30370-4-philmd@linaro.org >
Signed-off-by: Markus Armbruster <armbru@redhat.com >
2023-03-02 07:51:33 +01:00
e83cf1c119
target/loongarch: Replace tb_pc() with tb->pc
...
Signed-off-by: Anton Johansson <anjo@rev.ng >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230227135202.9710-22-anjo@rev.ng >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-03-01 07:33:19 -10:00
f78b49ae8d
target/loongarch: Convert to 3-phase reset
...
Convert the loongarch CPU class to use 3-phase reset, so it doesn't
need to use device_class_set_parent_reset() any more.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Edgar E. Iglesias <edgar@zeroasic.com >
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com >
Message-id: 20221124115023.2437291-8-peter.maydell@linaro.org
2022-12-16 15:58:15 +00:00
66997c42e0
cleanup: Tweak and re-run return_directly.cocci
...
Tweak the semantic patch to drop redundant parenthesis around the
return expression.
Coccinelle drops a comment in hw/rdma/vmw/pvrdma_cmd.c; restored
manually.
Coccinelle messes up vmdk_co_create(), not sure why. Change dropped,
will be done manually in the next commit.
Line breaks in target/avr/cpu.h and hw/rdma/vmw/pvrdma_cmd.c tidied up
manually.
Whitespace in tools/virtiofsd/fuse_lowlevel.c tidied up manually.
checkpatch.pl complains "return of an errno should typically be -ve"
two times for hw/9pfs/9p-synth.c. Preexisting, the patch merely makes
it visible to checkpatch.pl.
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Message-Id: <20221122134917.1217307-2-armbru@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com >
2022-12-14 16:19:35 +01:00
2419978cb0
target/loongarch: Fix emulation of float-point disable exception
...
We need to emulate it to generate a floating point disable exception
when CSR.EUEN.FPE is zero.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Signed-off-by: Rui Wang <wangrui@loongson.cn >
Message-Id: <20221104040517.222059-3-wangrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2022-11-04 17:10:53 +08:00