[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] d2a40a: target/mips: Make the results of DIV_
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] d2a40a: target/mips: Make the results of DIV_<U|S>.<B|H|W|... |
Date: |
Tue, 28 May 2019 05:38:04 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: d2a40a5f6938f30f44b536e997e1e89bb62b971c
https://github.com/qemu/qemu/commit/d2a40a5f6938f30f44b536e997e1e89bb62b971c
Author: Mateja Marjanovic <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/msa_helper.c
Log Message:
-----------
target/mips: Make the results of DIV_<U|S>.<B|H|W|D> the same as on hardware
MSA instructions DIV_<U|S>.<B|H|W|D> when dividing by zero,
didn't return the same value when executed on a referent hardware
(FPGA MIPS 64 r6, little endian) and when executed on QEMU, which
is not a real bug, because the result when dividing by zero is
UNPREDICTABLE [1] (page 141, 142).
[1] MIPS Architecture for Programmers
Volume IV-j: The MIPS64 SIMD
Architecture Module, Revision 1.12
Signed-off-by: Mateja Marjanovic <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Commit: cf122bf8d2732d5d8647901ebaea596668aaaa3a
https://github.com/qemu/qemu/commit/cf122bf8d2732d5d8647901ebaea596668aaaa3a
Author: Mateja Marjanovic <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/msa_helper.c
Log Message:
-----------
target/mips: Make the results of MOD_<U|S>.<B|H|W|D> the same as on hardware
MSA instructions MOD_<U|S>.<B|H|W|D> when dividing by zero,
didn't return the same value when executed on a referent hardware
(FPGA MIPS 64 r6, little endian) and when executed on QEMU, which
is not a real bug, because the result when dividing by zero is
UNPREDICTABLE [1] (page 255, 256).
[1] MIPS Architecture for Programmers
Volume IV-j: The MIPS64 SIMD
Architecture Module, Revision 1.12
Signed-off-by: Mateja Marjanovic <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Commit: 83be6b54123a8f3c529554139f1d1e43356edf8d
https://github.com/qemu/qemu/commit/83be6b54123a8f3c529554139f1d1e43356edf8d
Author: Mateja Marjanovic <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/op_helper.c
Log Message:
-----------
target/mips: Fix MSA instructions LD.<B|H|W|D> on big endian host
Fix the case when the host is a big endian machine, and change
the approach toward LD.<B|H|W|D> instruction helpers.
Signed-off-by: Mateja Marjanovic <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Commit: 6decc572dcedbf298ae30f8213b39c8b842a595a
https://github.com/qemu/qemu/commit/6decc572dcedbf298ae30f8213b39c8b842a595a
Author: Mateja Marjanovic <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/op_helper.c
Log Message:
-----------
target/mips: Fix MSA instructions ST.<B|H|W|D> on big endian host
Fix the case when the host is a big endian machine, and change
the approach toward ST.<B|H|W|D> instruction helpers.
Signed-off-by: Mateja Marjanovic <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Commit: 631c467461496dcf6d6a3e4c3d27a1433e96868e
https://github.com/qemu/qemu/commit/631c467461496dcf6d6a3e4c3d27a1433e96868e
Author: Mateja Marjanovic <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/helper.h
M target/mips/msa_helper.c
M target/mips/translate.c
Log Message:
-----------
target/mips: Refactor and fix COPY_S.<B|H|W|D> instructions
The old version of the helper for the COPY_S.<B|H|W|D> MSA instructions
has been replaced with four helpers that don't use switch, and change
the endianness of the given index, when executed on a big endian host.
Signed-off-by: Mateja Marjanovic <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Commit: 41d288582782cf8d63241ecb6efa1e4160fe78f7
https://github.com/qemu/qemu/commit/41d288582782cf8d63241ecb6efa1e4160fe78f7
Author: Mateja Marjanovic <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/helper.h
M target/mips/msa_helper.c
M target/mips/translate.c
Log Message:
-----------
target/mips: Refactor and fix COPY_U.<B|H|W> instructions
The old version of the helper for the COPY_U.<B|H|W> MSA instructions
has been replaced with four helpers that don't use switch, and change
the endianness of the given index, when executed on a big endian host.
Signed-off-by: Mateja Marjanovic <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Commit: c1c9a10fb1f7a6782711817c167a2c20b000fc12
https://github.com/qemu/qemu/commit/c1c9a10fb1f7a6782711817c167a2c20b000fc12
Author: Mateja Marjanovic <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/helper.h
M target/mips/msa_helper.c
M target/mips/translate.c
Log Message:
-----------
target/mips: Refactor and fix INSERT.<B|H|W|D> instructions
The old version of the helper for the INSERT.<B|H|W|D> MSA instructions
has been replaced with four helpers that don't use switch, and change
the endianness of the given index, when executed on a big endian host.
Signed-off-by: Mateja Marjanovic <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Commit: 7353113fa482e697a77575086a41f429a01f8dc0
https://github.com/qemu/qemu/commit/7353113fa482e697a77575086a41f429a01f8dc0
Author: Jakub Jermář <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/helper.c
Log Message:
-----------
mips: Decide to map PAGE_EXEC in map_address
This commit addresses QEMU Bug #1825311:
mips_cpu_handle_mmu_fault renders all accessed pages executable
It allows finer-grained control over whether the accessed page should
be executable by moving the decision to the underlying map_address
function, which has more information for this.
As a result, pages that have the XI bit set in the TLB and are accessed
for read/write, don't suddenly end up being executable.
Fixes: https://bugs.launchpad.net/qemu/+bug/1825311
Fixes: 2fb58b73746e ('target-mips: add RI and XI fields to TLB entry')
Signed-off-by: Jakub Jermář <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Commit: 86e636951ddce2bb3a82fcaad5abc3779ba4f7ab
https://github.com/qemu/qemu/commit/86e636951ddce2bb3a82fcaad5abc3779ba4f7ab
Author: Laurent Vivier <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M linux-user/syscall.c
Log Message:
-----------
linux-user: fix __NR_semtimedop undeclared error
In current code, __NR_msgrcv and__NR_semtimedop are supposed to be
defined if __NR_msgsnd is defined.
But linux headers 5.2-rc1 for MIPS define __NR_msgsnd without defining
__NR_semtimedop and it breaks the QEMU build.
__NR_semtimedop is defined in asm-mips/unistd_n64.h and asm-mips/unistd_n32.h
but not in asm-mips/unistd_o32.h.
Commit d9cb4336159a ("linux headers: update against Linux 5.2-rc1") has
updated asm-mips/unistd_o32.h and added __NR_msgsnd but not __NR_semtimedop.
It introduces __NR_semtimedop_time64 instead.
This patch fixes the problem by checking for each __NR_XXX symbol
before defining the corresponding syscall.
Fixes: d9cb4336159a ("linux headers: update against Linux 5.2-rc1")
Reported-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Tested-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>
Commit: 8ebf2e1a68408068c0bcd0d02a783fd12f6a9cb5
https://github.com/qemu/qemu/commit/8ebf2e1a68408068c0bcd0d02a783fd12f6a9cb5
Author: Jules Irenge <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/cpu.h
Log Message:
-----------
target/mips: add or remove space to fix checkpatch errors
Add or remove space to fix errors issued by checkpatch.pl tool
"ERROR: spaces required around that..."
"ERROR: space required after that..."
"ERROR: space required before the open parenthesis"
"ERROR: space required after that..."
"ERROR: space prohibited between function name and open parenthesis"
"ERROR: code indent should never use tabs"
"ERROR: line over 90 characters"
within "target/mips/cpu.h" file.
Signed-off-by: Jules Irenge <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Commit: 9e72f33d854b0a817c0d2fe4bca693b76f0fe776
https://github.com/qemu/qemu/commit/9e72f33d854b0a817c0d2fe4bca693b76f0fe776
Author: Jules Irenge <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M target/mips/cpu.h
Log Message:
-----------
target/mips: realign comments to fix checkpatch warnings
Realign comments to fix warnings issued by checkpatc.pl tool
"WARNING: Block comments use a leading /* on a separate line"
within "target/mips/cpu.h" file.
Signed-off-by: Jules Irenge <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Commit: c47c336e870585307f1e2371ea85a6256a05022e
https://github.com/qemu/qemu/commit/c47c336e870585307f1e2371ea85a6256a05022e
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-05-26 (Sun, 26 May 2019)
Changed paths:
M MAINTAINERS
A tests/acceptance/linux_ssh_mips_malta.py
M tests/requirements.txt
Log Message:
-----------
BootLinuxSshTest: Test some userspace commands on Malta
This tests boot a full VM and check the serial console until
the SSH daemon is running, then start a SSH session and run
some commands.
This test can be run using:
$ avocado --show=ssh run -t arch:mips tests/acceptance/linux_ssh_mips_malta.py
ssh: Entering interactive session.
ssh: # uname -a
ssh: Linux debian-mips 3.2.0-4-4kc-malta #1 Debian 3.2.51-1 mips GNU/Linux
ssh: # lspci -d 11ab:4620
ssh: 00:00.0 Host bridge: Marvell Technology Group Ltd.
GT-64120/64120A/64121A System Controller (rev 10)
ssh: # cat /sys/bus/i2c/devices/i2c-0/name
ssh: SMBus PIIX4 adapter at 1100
ssh: # cat /proc/mtd
ssh: dev: size erasesize name
ssh: mtd0: 00100000 00010000 "YAMON"
ssh: mtd1: 002e0000 00010000 "User FS"
ssh: mtd2: 00020000 00010000 "Board Config"
ssh: # md5sum /dev/mtd2ro
ssh: 0dfbe8aa4c20b52e1b8bf3cb6cbdf193 /dev/mtd2ro
ssh: # poweroff
Acked-by: Aleksandar Markovic <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Commit: 4a1d38c44089f4e7bbbc924a830f30ca0119a7dd
https://github.com/qemu/qemu/commit/4a1d38c44089f4e7bbbc924a830f30ca0119a7dd
Author: Peter Maydell <address@hidden>
Date: 2019-05-28 (Tue, 28 May 2019)
Changed paths:
M MAINTAINERS
M linux-user/syscall.c
M target/mips/cpu.h
M target/mips/helper.c
M target/mips/helper.h
M target/mips/msa_helper.c
M target/mips/op_helper.c
M target/mips/translate.c
A tests/acceptance/linux_ssh_mips_malta.py
M tests/requirements.txt
Log Message:
-----------
Merge remote-tracking branch
'remotes/amarkovic/tags/mips-queue-may-19-2019-v3' into staging
MIPS queue for May 19th, 2019 - v3
# gpg: Signature made Sun 26 May 2019 17:07:07 BST
# gpg: using RSA key D4972A8967F75A65
# gpg: Good signature from "Aleksandar Markovic <address@hidden>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 8526 FBF1 5DA3 811F 4A01 DD75 D497 2A89 67F7 5A65
* remotes/amarkovic/tags/mips-queue-may-19-2019-v3:
BootLinuxSshTest: Test some userspace commands on Malta
target/mips: realign comments to fix checkpatch warnings
target/mips: add or remove space to fix checkpatch errors
linux-user: fix __NR_semtimedop undeclared error
mips: Decide to map PAGE_EXEC in map_address
target/mips: Refactor and fix INSERT.<B|H|W|D> instructions
target/mips: Refactor and fix COPY_U.<B|H|W> instructions
target/mips: Refactor and fix COPY_S.<B|H|W|D> instructions
target/mips: Fix MSA instructions ST.<B|H|W|D> on big endian host
target/mips: Fix MSA instructions LD.<B|H|W|D> on big endian host
target/mips: Make the results of MOD_<U|S>.<B|H|W|D> the same as on hardware
target/mips: Make the results of DIV_<U|S>.<B|H|W|D> the same as on hardware
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/4bade28288b1...4a1d38c44089
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] d2a40a: target/mips: Make the results of DIV_<U|S>.<B|H|W|...,
Peter Maydell <=