diff options
| -rw-r--r-- | .mailmap | 4 | ||||
| -rw-r--r-- | MAINTAINERS | 62 | ||||
| -rw-r--r-- | fpu/softfloat-parts.c.inc | 1 | ||||
| -rw-r--r-- | hw/intc/loongarch_ipi.c | 1 | ||||
| -rw-r--r-- | linux-user/syscall_defs.h | 3 | ||||
| -rw-r--r-- | target/loongarch/insn_trans/trans_bit.c.inc | 36 | ||||
| -rw-r--r-- | target/loongarch/insn_trans/trans_farith.c.inc | 12 |
7 files changed, 65 insertions, 54 deletions
diff --git a/.mailmap b/.mailmap index 1f7319b70b..35dddbe27b 100644 --- a/.mailmap +++ b/.mailmap @@ -70,7 +70,9 @@ Paul Burton <paulburton@kernel.org> <paul.burton@mips.com> Paul Burton <paulburton@kernel.org> <paul.burton@imgtec.com> Paul Burton <paulburton@kernel.org> <paul@archlinuxmips.org> Paul Burton <paulburton@kernel.org> <pburton@wavecomp.com> -Philippe Mathieu-Daudé <f4bug@amsat.org> <philmd@redhat.com> +Philippe Mathieu-Daudé <philmd@linaro.org> <f4bug@amsat.org> +Philippe Mathieu-Daudé <philmd@linaro.org> <philmd@redhat.com> +Philippe Mathieu-Daudé <philmd@linaro.org> <philmd@fungible.com> Stefan Brankovic <stefan.brankovic@syrmia.com> <stefan.brankovic@rt-rk.com.com> Yongbok Kim <yongbok.kim@mips.com> <yongbok.kim@imgtec.com> diff --git a/MAINTAINERS b/MAINTAINERS index d86d21ae4e..e3d5b7e09c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -110,7 +110,7 @@ T: git https://gitlab.com/cohuck/qemu.git s390-next L: qemu-s390x@nongnu.org MIPS general architecture support -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> R: Jiaxun Yang <jiaxun.yang@flygoat.com> S: Odd Fixes K: ^Subject:.*(?i)mips @@ -233,7 +233,7 @@ F: tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh F: tests/tcg/nios2/Makefile.target MIPS TCG CPUs -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> R: Aurelien Jarno <aurelien@aurel32.net> R: Jiaxun Yang <jiaxun.yang@flygoat.com> R: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com> @@ -550,7 +550,7 @@ X: qga/*win32* F: qemu.nsi Darwin (macOS, iOS) -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> S: Odd Fixes F: .gitlab-ci.d/cirrus/macos-* F: */*.m @@ -681,7 +681,7 @@ F: include/hw/rtc/goldfish_rtc.h Gumstix M: Peter Maydell <peter.maydell@linaro.org> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/gumstix.c @@ -832,7 +832,7 @@ F: docs/system/arm/palm.rst Raspberry Pi M: Peter Maydell <peter.maydell@linaro.org> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/raspi.c @@ -1095,7 +1095,7 @@ F: include/hw/misc/avr_power.h F: hw/misc/avr_power.c Arduino -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> S: Maintained F: hw/avr/arduino.c @@ -1210,7 +1210,7 @@ F: hw/microblaze/petalogix_ml605_mmu.c MIPS Machines ------------- Overall MIPS Machines -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> S: Odd Fixes F: configs/devices/mips*/* F: hw/mips/ @@ -1225,7 +1225,7 @@ F: hw/display/jazz_led.c F: hw/dma/rc4030.c Malta -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> R: Aurelien Jarno <aurelien@aurel32.net> S: Odd Fixes F: hw/isa/piix4.c @@ -1244,7 +1244,7 @@ F: hw/net/mipsnet.c Fuloong 2E M: Huacai Chen <chenhuacai@kernel.org> -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> R: Jiaxun Yang <jiaxun.yang@flygoat.com> S: Odd Fixes F: hw/mips/fuloong2e.c @@ -1700,7 +1700,7 @@ F: pc-bios/bios-microvm.bin Machine core M: Eduardo Habkost <eduardo@habkost.net> M: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> R: Yanan Wang <wangyanan55@huawei.com> S: Supported F: cpu.c @@ -1893,7 +1893,7 @@ F: docs/virtio-net-failover.rst T: git https://github.com/jasowang/qemu.git net Parallel NOR Flash devices -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> T: git https://gitlab.com/philmd/qemu.git pflash-next S: Maintained F: hw/block/pflash_cfi*.c @@ -1926,7 +1926,7 @@ S: Maintained F: hw/ssi/xilinx_* SD (Secure Card) -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> M: Bin Meng <bin.meng@windriver.com> L: qemu-block@nongnu.org S: Odd Fixes @@ -2233,14 +2233,14 @@ F: tests/qtest/vmgenid-test.c F: stubs/vmgenid.c LED -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> S: Maintained F: include/hw/misc/led.h F: hw/misc/led.c Unimplemented device M: Peter Maydell <peter.maydell@linaro.org> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> R: Ani Sinha <ani@anisinha.ca> S: Maintained F: include/hw/misc/unimp.h @@ -2248,7 +2248,7 @@ F: hw/misc/unimp.c Empty slot M: Artyom Tarasenko <atar4qemu@gmail.com> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> R: Ani Sinha <ani@anisinha.ca> S: Maintained F: include/hw/misc/empty_slot.h @@ -2312,13 +2312,13 @@ F: qemu-edid.c PIIX4 South Bridge (i82371AB) M: Hervé Poussineau <hpoussin@reactos.org> -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> S: Maintained F: hw/isa/piix4.c F: include/hw/southbridge/piix.h Firmware configuration (fw_cfg) -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> R: Gerd Hoffmann <kraxel@redhat.com> S: Supported F: docs/specs/fw_cfg.txt @@ -2374,13 +2374,13 @@ F: hw/intc/openpic.c F: include/hw/ppc/openpic.h MIPS CPS -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> S: Odd Fixes F: hw/misc/mips_* F: include/hw/misc/mips_* MIPS GIC -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> S: Odd Fixes F: hw/intc/mips_gic.c F: hw/timer/mips_gictimer.c @@ -2462,7 +2462,7 @@ F: audio/alsaaudio.c Core Audio framework backend M: Gerd Hoffmann <kraxel@redhat.com> -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> R: Christian Schoenebeck <qemu_oss@crudebyte.com> R: Akihiko Odaki <akihiko.odaki@gmail.com> S: Odd Fixes @@ -2687,7 +2687,7 @@ F: scripts/coccinelle/errp-guard.cocci GDB stub M: Alex Bennée <alex.bennee@linaro.org> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> S: Maintained F: gdbstub/* F: include/exec/gdbstub.h @@ -2698,7 +2698,7 @@ Memory API M: Paolo Bonzini <pbonzini@redhat.com> M: Peter Xu <peterx@redhat.com> M: David Hildenbrand <david@redhat.com> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> S: Supported F: include/exec/ioport.h F: include/exec/memop.h @@ -2748,7 +2748,7 @@ F: util/drm.c Cocoa graphics M: Peter Maydell <peter.maydell@linaro.org> -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> R: Akihiko Odaki <akihiko.odaki@gmail.com> S: Odd Fixes F: ui/cocoa.m @@ -3231,14 +3231,14 @@ F: tests/qtest/max34451-test.c F: tests/qtest/isl_pmbus_vr-test.c Firmware schema specifications -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> R: Daniel P. Berrange <berrange@redhat.com> R: Kashyap Chamarthy <kchamart@redhat.com> S: Maintained F: docs/interop/firmware.json EDK2 Firmware -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> M: Gerd Hoffmann <kraxel@redhat.com> S: Supported F: hw/i386/*ovmf* @@ -3349,7 +3349,7 @@ S: Maintained F: tcg/loongarch64/ MIPS TCG target -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> R: Aurelien Jarno <aurelien@aurel32.net> R: Huacai Chen <chenhuacai@kernel.org> R: Jiaxun Yang <jiaxun.yang@flygoat.com> @@ -3472,7 +3472,7 @@ F: block/null.c NVMe Block Driver M: Stefan Hajnoczi <stefanha@redhat.com> R: Fam Zheng <fam@euphon.net> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> L: qemu-block@nongnu.org S: Supported F: block/nvme* @@ -3691,7 +3691,7 @@ Build and test automation ------------------------- Build and test automation, general continuous integration M: Alex Bennée <alex.bennee@linaro.org> -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> M: Thomas Huth <thuth@redhat.com> R: Wainer dos Santos Moschetta <wainersm@redhat.com> R: Beraldo Leal <bleal@redhat.com> @@ -3724,7 +3724,7 @@ W: https://cirrus-ci.com/github/qemu/qemu Guest Test Compilation Support M: Alex Bennée <alex.bennee@linaro.org> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> S: Maintained F: tests/tcg/Makefile F: tests/tcg/Makefile.include @@ -3732,7 +3732,7 @@ F: tests/tcg/Makefile.include Integration Testing with the Avocado framework W: https://trello.com/b/6Qi1pxVn/avocado-qemu R: Cleber Rosa <crosa@redhat.com> -R: Philippe Mathieu-Daudé <f4bug@amsat.org> +R: Philippe Mathieu-Daudé <philmd@linaro.org> R: Wainer dos Santos Moschetta <wainersm@redhat.com> R: Beraldo Leal <bleal@redhat.com> S: Odd Fixes @@ -3740,7 +3740,7 @@ F: tests/avocado/ GitLab custom runner (Works On Arm Sponsored) M: Alex Bennée <alex.bennee@linaro.org> -M: Philippe Mathieu-Daudé <f4bug@amsat.org> +M: Philippe Mathieu-Daudé <philmd@linaro.org> S: Maintained F: .gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml F: .gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml diff --git a/fpu/softfloat-parts.c.inc b/fpu/softfloat-parts.c.inc index a9f268fcab..247400031c 100644 --- a/fpu/softfloat-parts.c.inc +++ b/fpu/softfloat-parts.c.inc @@ -1436,6 +1436,7 @@ static void partsN(log2)(FloatPartsN *a, float_status *s, const FloatFmt *fmt) parts_return_nan(a, s); return; case float_class_zero: + float_raise(float_flag_divbyzero, s); /* log2(0) = -inf */ a->cls = float_class_inf; a->sign = 1; diff --git a/hw/intc/loongarch_ipi.c b/hw/intc/loongarch_ipi.c index 4f3c58f872..aa4bf9eb74 100644 --- a/hw/intc/loongarch_ipi.c +++ b/hw/intc/loongarch_ipi.c @@ -88,7 +88,6 @@ static void ipi_send(uint64_t val) cs = qemu_get_cpu(cpuid); cpu = LOONGARCH_CPU(cs); env = &cpu->env; - loongarch_cpu_set_irq(cpu, IRQ_IPI, 1); address_space_stl(&env->address_space_iocsr, 0x1008, data, MEMTXATTRS_UNSPECIFIED, NULL); diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 01ee10a88f..77864de57f 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -2262,7 +2262,8 @@ struct target_statfs64 { }; #elif (defined(TARGET_PPC64) || defined(TARGET_X86_64) || \ defined(TARGET_SPARC64) || defined(TARGET_AARCH64) || \ - defined(TARGET_RISCV)) && !defined(TARGET_ABI32) + defined(TARGET_RISCV) || defined(TARGET_LOONGARCH64)) && \ + !defined(TARGET_ABI32) struct target_statfs { abi_long f_type; abi_long f_bsize; diff --git a/target/loongarch/insn_trans/trans_bit.c.inc b/target/loongarch/insn_trans/trans_bit.c.inc index 9337714ec4..b01e4aeb23 100644 --- a/target/loongarch/insn_trans/trans_bit.c.inc +++ b/target/loongarch/insn_trans/trans_bit.c.inc @@ -27,26 +27,34 @@ static void gen_bytepick_d(TCGv dest, TCGv src1, TCGv src2, target_long sa) tcg_gen_extract2_i64(dest, src1, src2, (64 - sa * 8)); } -static void gen_bstrins(TCGv dest, TCGv src1, - unsigned int ls, unsigned int len) +static bool gen_bstrins(DisasContext *ctx, arg_rr_ms_ls *a, + DisasExtend dst_ext) { - tcg_gen_deposit_tl(dest, dest, src1, ls, len); + TCGv src1 = gpr_src(ctx, a->rd, EXT_NONE); + TCGv src2 = gpr_src(ctx, a->rj, EXT_NONE); + TCGv dest = gpr_dst(ctx, a->rd, EXT_NONE); + + if (a->ls > a->ms) { + return false; + } + + tcg_gen_deposit_tl(dest, src1, src2, a->ls, a->ms - a->ls + 1); + gen_set_gpr(a->rd, dest, dst_ext); + return true; } -static bool gen_rr_ms_ls(DisasContext *ctx, arg_rr_ms_ls *a, - DisasExtend src_ext, DisasExtend dst_ext, - void (*func)(TCGv, TCGv, unsigned int, unsigned int)) +static bool gen_bstrpick(DisasContext *ctx, arg_rr_ms_ls *a, + DisasExtend dst_ext) { - TCGv dest = gpr_dst(ctx, a->rd, dst_ext); - TCGv src1 = gpr_src(ctx, a->rj, src_ext); + TCGv dest = gpr_dst(ctx, a->rd, EXT_NONE); + TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE); if (a->ls > a->ms) { return false; } - func(dest, src1, a->ls, a->ms - a->ls + 1); + tcg_gen_extract_tl(dest, src1, a->ls, a->ms - a->ls + 1); gen_set_gpr(a->rd, dest, dst_ext); - return true; } @@ -206,7 +214,7 @@ TRANS(maskeqz, gen_rrr, EXT_NONE, EXT_NONE, EXT_NONE, gen_maskeqz) TRANS(masknez, gen_rrr, EXT_NONE, EXT_NONE, EXT_NONE, gen_masknez) TRANS(bytepick_w, gen_rrr_sa, EXT_NONE, EXT_NONE, gen_bytepick_w) TRANS(bytepick_d, gen_rrr_sa, EXT_NONE, EXT_NONE, gen_bytepick_d) -TRANS(bstrins_w, gen_rr_ms_ls, EXT_NONE, EXT_NONE, gen_bstrins) -TRANS(bstrins_d, gen_rr_ms_ls, EXT_NONE, EXT_NONE, gen_bstrins) -TRANS(bstrpick_w, gen_rr_ms_ls, EXT_NONE, EXT_SIGN, tcg_gen_extract_tl) -TRANS(bstrpick_d, gen_rr_ms_ls, EXT_NONE, EXT_NONE, tcg_gen_extract_tl) +TRANS(bstrins_w, gen_bstrins, EXT_SIGN) +TRANS(bstrins_d, gen_bstrins, EXT_NONE) +TRANS(bstrpick_w, gen_bstrpick, EXT_SIGN) +TRANS(bstrpick_d, gen_bstrpick, EXT_NONE) diff --git a/target/loongarch/insn_trans/trans_farith.c.inc b/target/loongarch/insn_trans/trans_farith.c.inc index 65ad2ffab8..7bb3f41aee 100644 --- a/target/loongarch/insn_trans/trans_farith.c.inc +++ b/target/loongarch/insn_trans/trans_farith.c.inc @@ -97,9 +97,9 @@ TRANS(fmadd_s, gen_muladd, gen_helper_fmuladd_s, 0) TRANS(fmadd_d, gen_muladd, gen_helper_fmuladd_d, 0) TRANS(fmsub_s, gen_muladd, gen_helper_fmuladd_s, float_muladd_negate_c) TRANS(fmsub_d, gen_muladd, gen_helper_fmuladd_d, float_muladd_negate_c) -TRANS(fnmadd_s, gen_muladd, gen_helper_fmuladd_s, - float_muladd_negate_product | float_muladd_negate_c) -TRANS(fnmadd_d, gen_muladd, gen_helper_fmuladd_d, - float_muladd_negate_product | float_muladd_negate_c) -TRANS(fnmsub_s, gen_muladd, gen_helper_fmuladd_s, float_muladd_negate_product) -TRANS(fnmsub_d, gen_muladd, gen_helper_fmuladd_d, float_muladd_negate_product) +TRANS(fnmadd_s, gen_muladd, gen_helper_fmuladd_s, float_muladd_negate_result) +TRANS(fnmadd_d, gen_muladd, gen_helper_fmuladd_d, float_muladd_negate_result) +TRANS(fnmsub_s, gen_muladd, gen_helper_fmuladd_s, + float_muladd_negate_c | float_muladd_negate_result) +TRANS(fnmsub_d, gen_muladd, gen_helper_fmuladd_d, + float_muladd_negate_c | float_muladd_negate_result) |