mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-05 11:39:54 +00:00
MIPS patches 2016-01-25
Changes: * fixes and includes clean-up -----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJWpesPAAoJEFIRjjwLKdpr+NkH/if/4m1NlzH+Oa1FB5ndd8V/ 0C5Mln4UykqPItXa/iBb0CLliz70OcDCzjdMiH/2sqsLdgNo3uPxm6ielGDg0sqK m3kD0QaYjmZp1F9rxRCqXkaUkyYy3ORMFxD1nVjFisUyySghYSnxEOAmrYu6qnZQ HsBlQp8RXSX3CodkzklG5U61GFGiuXbeQFp+C/LdpEEYk33QI5JyF4xUZXOSo7GC vCoQOFN/xTs/QvB1pICDB9/lGIrLpYxXM+FWlzthmLS0kQUKmCvhAP+wF89cIymN HU+sWhUjEQm1uT++5IadFqsvrog5O7Sm6lUjQoBk/ioNetPrxS8VVFMTokddEN0= =0KqT -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/lalrae/tags/mips-20160125' into staging MIPS patches 2016-01-25 Changes: * fixes and includes clean-up # gpg: Signature made Mon 25 Jan 2016 09:29:51 GMT using RSA key ID 0B29DA6B # gpg: Good signature from "Leon Alrae <leon.alrae@imgtec.com>" * remotes/lalrae/tags/mips-20160125: mips: Clean up includes target-mips: Fix ALIGN instruction when bp=0 target-mips: silence NaNs for cvt.s.d and cvt.d.s target-mips/cpu.h: Fix spell error Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
6ee06cc3dc
@ -19,6 +19,7 @@ GNU General Public License for more details.
|
|||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "disas/bfd.h"
|
#include "disas/bfd.h"
|
||||||
|
|
||||||
/* mips.h. Mips opcode list for GDB, the GNU debugger.
|
/* mips.h. Mips opcode list for GDB, the GNU debugger.
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/mips/cpudevs.h"
|
#include "hw/mips/cpudevs.h"
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/mips/cpudevs.h"
|
#include "hw/mips/cpudevs.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/mips/mips.h"
|
#include "hw/mips/mips.h"
|
||||||
#include "hw/pci/pci.h"
|
#include "hw/pci/pci.h"
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
* http://www.loongsondeveloper.com/doc/Loongson2EUserGuide.pdf
|
* http://www.loongsondeveloper.com/doc/Loongson2EUserGuide.pdf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/i386/pc.h"
|
#include "hw/i386/pc.h"
|
||||||
#include "hw/char/serial.h"
|
#include "hw/char/serial.h"
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/mips/cpudevs.h"
|
#include "hw/mips/cpudevs.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/mips/mips.h"
|
#include "hw/mips/mips.h"
|
||||||
#include "hw/mips/cpudevs.h"
|
#include "hw/mips/cpudevs.h"
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/i386/pc.h"
|
#include "hw/i386/pc.h"
|
||||||
#include "hw/char/serial.h"
|
#include "hw/char/serial.h"
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/mips/mips.h"
|
#include "hw/mips/mips.h"
|
||||||
#include "hw/mips/cpudevs.h"
|
#include "hw/mips/cpudevs.h"
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
* All peripherial devices are attached to this "bus" with
|
* All peripherial devices are attached to this "bus" with
|
||||||
* the standard PC ISA addresses.
|
* the standard PC ISA addresses.
|
||||||
*/
|
*/
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/mips/mips.h"
|
#include "hw/mips/mips.h"
|
||||||
#include "hw/mips/cpudevs.h"
|
#include "hw/mips/cpudevs.h"
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
* <http://www.gnu.org/licenses/lgpl-2.1.html>
|
* <http://www.gnu.org/licenses/lgpl-2.1.html>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "kvm_mips.h"
|
#include "kvm_mips.h"
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
|
@ -358,7 +358,7 @@ struct CPUMIPSState {
|
|||||||
#define CP0St_IE 0
|
#define CP0St_IE 0
|
||||||
int32_t CP0_IntCtl;
|
int32_t CP0_IntCtl;
|
||||||
#define CP0IntCtl_IPTI 29
|
#define CP0IntCtl_IPTI 29
|
||||||
#define CP0IntCtl_IPPC1 26
|
#define CP0IntCtl_IPPCI 26
|
||||||
#define CP0IntCtl_VS 5
|
#define CP0IntCtl_VS 5
|
||||||
int32_t CP0_SRSCtl;
|
int32_t CP0_SRSCtl;
|
||||||
#define CP0SRSCtl_HSS 26
|
#define CP0SRSCtl_HSS 26
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
#include "qemu/bitops.h"
|
#include "qemu/bitops.h"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#include "config.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
|
|
||||||
|
@ -16,11 +16,7 @@
|
|||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#include <stdarg.h>
|
#include "qemu/osdep.h"
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <inttypes.h>
|
|
||||||
|
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
* Authors: Sanjay Lal <sanjayl@kymasys.com>
|
* Authors: Sanjay Lal <sanjayl@kymasys.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include "qemu/osdep.h"
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#include "qemu/osdep.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
|
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/stat.h>
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
#include "exec/softmmu-semi.h"
|
#include "exec/softmmu-semi.h"
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#include <stdlib.h>
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
@ -2545,6 +2545,7 @@ uint64_t helper_float_cvtd_s(CPUMIPSState *env, uint32_t fst0)
|
|||||||
uint64_t fdt2;
|
uint64_t fdt2;
|
||||||
|
|
||||||
fdt2 = float32_to_float64(fst0, &env->active_fpu.fp_status);
|
fdt2 = float32_to_float64(fst0, &env->active_fpu.fp_status);
|
||||||
|
fdt2 = float64_maybe_silence_nan(fdt2);
|
||||||
update_fcr31(env, GETPC());
|
update_fcr31(env, GETPC());
|
||||||
return fdt2;
|
return fdt2;
|
||||||
}
|
}
|
||||||
@ -2634,6 +2635,7 @@ uint32_t helper_float_cvts_d(CPUMIPSState *env, uint64_t fdt0)
|
|||||||
uint32_t fst2;
|
uint32_t fst2;
|
||||||
|
|
||||||
fst2 = float64_to_float32(fdt0, &env->active_fpu.fp_status);
|
fst2 = float64_to_float32(fdt0, &env->active_fpu.fp_status);
|
||||||
|
fst2 = float32_maybe_silence_nan(fst2);
|
||||||
update_fcr31(env, GETPC());
|
update_fcr31(env, GETPC());
|
||||||
return fst2;
|
return fst2;
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "disas/disas.h"
|
#include "disas/disas.h"
|
||||||
#include "tcg-op.h"
|
#include "tcg-op.h"
|
||||||
@ -4630,7 +4631,16 @@ static void gen_align(DisasContext *ctx, int opc, int rd, int rs, int rt,
|
|||||||
t0 = tcg_temp_new();
|
t0 = tcg_temp_new();
|
||||||
gen_load_gpr(t0, rt);
|
gen_load_gpr(t0, rt);
|
||||||
if (bp == 0) {
|
if (bp == 0) {
|
||||||
tcg_gen_mov_tl(cpu_gpr[rd], t0);
|
switch (opc) {
|
||||||
|
case OPC_ALIGN:
|
||||||
|
tcg_gen_ext32s_tl(cpu_gpr[rd], t0);
|
||||||
|
break;
|
||||||
|
#if defined(TARGET_MIPS64)
|
||||||
|
case OPC_DALIGN:
|
||||||
|
tcg_gen_mov_tl(cpu_gpr[rd], t0);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
TCGv t1 = tcg_temp_new();
|
TCGv t1 = tcg_temp_new();
|
||||||
gen_load_gpr(t1, rs);
|
gen_load_gpr(t1, rs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user