- 24 10月, 2018 34 次提交
-
-
由 Aleksandar Markovic 提交于
Opcode for ALIGN and DALIGN must be in fact ranges of opcodes, to allow paremeter 'bp' to occupy two and three bits, respectively. Reviewed-by: NStefan Markovic <smarkovic@wavecomp.com> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Aleksandar Markovic 提交于
Replace MIPS32 with MIPS, since the file covers all generations of MIPS architectures. Reviewed-by: NStefan Markovic <smarkovic@wavecomp.com> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
This kind of ELF for the R5900 relies on an IEEE 754-1985 compliant FPU. The R5900 FPU hardware is noncompliant and it is therefore emulated in software by the Linux kernel. QEMU emulates a compliant FPU accordingly. Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
The primary purpose of this change is to support programs compiled by GCC for the R5900 target and thereby run R5900 Linux distributions, for example Gentoo. GCC in version 7.3, by itself, by inspection of the GCC source code and inspection of the generated machine code, for the R5900 target, only emits two instructions that are specific to the R5900: the three- operand MULT and MULTU. GCC and libc also emit certain MIPS III instructions that are not part of the R5900 ISA. They are normally trapped and emulated by the Linux kernel, and therefore need to be treated accordingly by QEMU. A program compiled by GCC is taken to mean source code compiled by GCC under the restrictions above. One can, with the apparent limitations, with a bit of effort obtain a fully functioning operating system such as R5900 Gentoo. Strictly speaking, programs need not be compiled by GCC to make use of this change. Instructions and other facilities of the R5900 not implemented by this change are intended to signal provisional exceptions. One such example is the FPU that is not compliant with IEEE 754-1985 in system mode. It is therefore provisionally disabled. In user space the FPU is trapped and emulated by IEEE 754-1985 compliant software in the kernel, and this is handled accordingly by QEMU. Another example is the 93 multimedia instructions specific to the R5900 that generate provisional reserved instruction exception signals. One of the benefits of running a Linux distribution under QEMU is that programs can be compiled with a native compiler, where the host and target are the same, as opposed to a cross-compiler, where they are not the same. This is especially important in cases where the target hardware does not have the resources to run a native compiler. Problems with cross-compilation are often related to host and target differences in integer sizes, pointer sizes, endianness, machine code, ABI, etc. Sometimes cross-compilation is not even supported by the build script for a given package. One effective way to avoid those problems is to replace the cross-compiler with a native compiler. This change of compilation methods does not resolve the inherent problems with cross-compilation. The native compiler naturally replaces the cross-compiler, because one typically uses one or the other, and preferably the native compiler when the circumstances admit this. The native compiler is also a good test case for the R5900 QEMU user mode. Additionally, Gentoo is well- known for compiling and installing its packages from sources. This change has been tested with Gentoo compiled for R5900, including native compilation of several packages under QEMU. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a test for DIVU1. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a test for DIV1. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a test for MTLO1 and MTHI1. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a test for MFLO1 and MFHI1. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a test for MULTU1. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a test for MULT1. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a test for MULTU. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a test for MULT. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
The Linux kernel traps certain reserved instruction exceptions to emulate the corresponding instructions. QEMU plays the role of the kernel in user mode, so those traps are emulated by accepting the instructions. This change adds the function check_insn_opc_user_only to signal a reserved instruction exception for flagged CPUs in QEMU system mode. The MIPS III instructions DMULT[U], DDIV[U], LL[D] and SC[D] are not implemented in R5900 hardware. They are trapped and emulated by the Linux kernel and, accordingly, therefore QEMU user only instructions. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
The R5900 is taken to be MIPS III with certain modifications. From MIPS IV it implements the instructions MOVN, MOVZ and PREF. Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add support for DIV1 and DIVU1 instructions. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add support for MFLO1, MTLO1, MFHI1 and MTHI1 instructions. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add support for MULT1 and MULTU1 instructions. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
The three-operand MULT and MULTU are the only R5900-specific instructions emitted by GCC 7.3. The R5900 also implements the three- operand MADD and MADDU instructions, but they are omitted in QEMU for now since they are absent in programs compiled by current GCC versions. Likewise, the R5900-specific pipeline 1 instruction variants MULT1, MULTU1, DIV1, DIVU1, MADD1, MADDU1, MFHI1, MFLO1, MTHI1 and MTLO1 are omitted here as well. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a placeholder for MMI3 subclass. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a placeholder for MMI2 subclass. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a placeholder for MM1 subclass. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a placeholder for MMI0 subclass. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a placeholder for MMI class. This is the main palceholder for MMI ASE. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a placeholder for LQ instruction. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add placeholder for SQ instruction, handle RDHWR. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add definition of MI0 opcodes. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Define MMI0, MMI1, MMI2, MMI3 subclass opcodes, and other opcodes of instructions in MMI class. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Define MMI class, LQ, and SQ R5900 opdoces. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
Add a comment on R5900 MMI ASE (short overview). Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Fredrik Noring 提交于
The R5900 implements the 64-bit MIPS III instruction set except DMULT, DMULTU, DDIV, DDIVU, LL, SC, LLD and SCD. The MIPS IV instructions MOVN, MOVZ and PREF are implemented. It has the R5900-specific three-operand instructions MADD, MADDU, MULT and MULTU as well as pipeline 1 versions MULT1, MULTU1, DIV1, DIVU1, MADD1, MADDU1, MFHI1, MFLO1, MTHI1 and MTLO1. A set of 93 128-bit multimedia instructions specific to the R5900 is also implemented. The Toshiba TX System RISC TX79 Core Architecture manual: https://wiki.qemu.org/File:C790.pdf describes the C790 processor that is a follow-up to the R5900. There are a few notable differences in that the R5900 FPU - is not IEEE 754-1985 compliant, - does not implement double format, and - its machine code is nonstandard. Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: NFredrik Noring <noring@nocrew.org> Signed-off-by: NAleksandar Markovic <amarkovic@wavecomp.com>
-
由 Peter Maydell 提交于
Error reporting patches for 2018-10-22 # gpg: Signature made Mon 22 Oct 2018 13:20:23 BST # gpg: using RSA key 3870B400EB918653 # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * remotes/armbru/tags/pull-error-2018-10-22: (40 commits) error: Drop bogus "use error_setg() instead" admonitions vpc: Fail open on bad header checksum block: Clean up bdrv_img_create()'s error reporting vl: Simplify call of parse_name() vl: Fix exit status for -drive format=help blockdev: Convert drive_new() to Error vl: Assert drive_new() does not fail in default_drive() fsdev: Clean up error reporting in qemu_fsdev_add() spice: Clean up error reporting in add_channel() tpm: Clean up error reporting in tpm_init_tpmdev() numa: Clean up error reporting in parse_numa() vnc: Clean up error reporting in vnc_init_func() ui: Convert vnc_display_init(), init_keyboard_layout() to Error ui/keymaps: Fix handling of erroneous include files vl: Clean up error reporting in device_init_func() vl: Clean up error reporting in parse_fw_cfg() vl: Clean up error reporting in mon_init_func() vl: Clean up error reporting in machine_set_property() vl: Clean up error reporting in chardev_init_func() qom: Clean up error reporting in user_creatable_add_opts_foreach() ... Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
- 23 10月, 2018 3 次提交
-
-
由 Peter Maydell 提交于
Fam Zheng (2): slirp: Add sanity check for str option length slirp: Implement RFC2132 TFTP server name # gpg: Signature made Sun 21 Oct 2018 20:29:34 BST # gpg: using RSA key E3F65A9E9560DB4C # gpg: Good signature from "Samuel Thibault <samuel.thibault@aquilenet.fr>" # gpg: aka "Samuel Thibault <sthibault@debian.org>" # gpg: aka "Samuel Thibault <samuel.thibault@gnu.org>" # gpg: aka "Samuel Thibault <samuel.thibault@inria.fr>" # gpg: aka "Samuel Thibault <samuel.thibault@labri.fr>" # gpg: aka "Samuel Thibault <samuel.thibault@ens-lyon.org>" # gpg: aka "Samuel Thibault <samuel.thibault@u-bordeaux.fr>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 900C B024 B679 31D4 0F82 304B D017 8C76 7D06 9EE6 # Subkey fingerprint: 33FA 7B64 6195 01F8 CE9C 8F97 E3F6 5A9E 9560 DB4C * remotes/thibault/tags/samuel-thibault: slirp: Implement RFC2132 TFTP server name slirp: Add sanity check for str option length Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Peter Maydell 提交于
Update min required crypto library versions The min required versions for crypto libraries are now - gnutls >= 3.1.18 - nettle >= 2.7.1 - gcrypt >= 1.5.0 # gpg: Signature made Fri 19 Oct 2018 14:42:35 BST # gpg: using RSA key BE86EBB415104FDF # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" # gpg: aka "Daniel P. Berrange <berrange@redhat.com>" # Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E 8E3F BE86 EBB4 1510 4FDF * remotes/berrange/tags/qcrypto-next-pull-request: crypto: require nettle >= 2.7.1 for building QEMU crypto: require libgcrypt >= 1.5.0 for building QEMU crypto: require gnutls >= 3.1.18 for building QEMU Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Richard Henderson 提交于
In several places we use assert(FEATURE), and assume that if FEATURE is disabled, all following code is removed as unreachable. Which allows us to compile-out functions that are only present with FEATURE, and have a link-time failure if the functions remain used. MinGW does not mark its internal function _assert() as noreturn, so the compiler cannot see when code is unreachable, which leads to link errors for this host that are not present elsewhere. The current build-time failure concerns 62823083, but I remember having seen this same error before. Fix it once and for all for MinGW. Signed-off-by: NRichard Henderson <richard.henderson@linaro.org> Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20181022181623.8810-1-richard.henderson@linaro.org Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
- 22 10月, 2018 2 次提交
-
-
由 Fam Zheng 提交于
This new usernet option can be used to add data for option 66 (tftp server name) in the BOOTP reply, which is useful in PXE based automatic OS install such as OpenBSD. Signed-off-by: NFam Zheng <famz@redhat.com> Reviewed-by: NThomas Huth <thuth@redhat.com> Tested-by: NGerd Hoffmann <kraxel@redhat.com> Signed-off-by: NSamuel Thibault <samuel.thibault@ens-lyon.org>
-
由 Fam Zheng 提交于
When user provides a long domainname or hostname that doesn't fit in the DHCP packet, we mustn't overflow the response packet buffer. Instead, report errors, following the g_warning() in the slirp->vdnssearch branch. Also check the strlen against 256 when initializing slirp, which limit is also from the protocol where one byte represents the string length. This gives an early error before the warning which is harder to notice or diagnose. Reported-by: NThomas Huth <thuth@redhat.com> Reviewed-by: NThomas Huth <thuth@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by: NFam Zheng <famz@redhat.com> Tested-by: NGerd Hoffmann <kraxel@redhat.com> Signed-off-by: NSamuel Thibault <samuel.thibault@ens-lyon.org>
-
- 21 10月, 2018 1 次提交
-
-
由 Peter Maydell 提交于
A series to enable ioctl usbfs in linux-user # gpg: Signature made Fri 19 Oct 2018 13:18:53 BST # gpg: using RSA key F30C38BD3F2FBE3C # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" # gpg: aka "Laurent Vivier <laurent@vivier.eu>" # gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C * remotes/vivier2/tags/linux-user-for-3.1-pull-request: linux-user: Implement special usbfs ioctls. linux-user: Define ordinary usbfs ioctls. linux-user: Check for Linux USBFS in configure Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-