qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 467409: target/arm: Install ARMISARegisters f


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 467409: target/arm: Install ARMISARegisters from kvm host
Date: Mon, 19 Nov 2018 10:10:43 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 4674097c32e22df0b6769e62ad455258a3444991
      
https://github.com/qemu/qemu/commit/4674097c32e22df0b6769e62ad455258a3444991
  Author: Richard Henderson <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M target/arm/kvm.c
    M target/arm/kvm_arm.h

  Log Message:
  -----------
  target/arm: Install ARMISARegisters from kvm host

The ID registers are replacing (some of) the feature bits.
We need (some of) these values to determine the set of data
to be handled during migration.

Signed-off-by: Richard Henderson <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 9d60dea960fd3a1438f01bc07f1967daba24067d
      
https://github.com/qemu/qemu/commit/9d60dea960fd3a1438f01bc07f1967daba24067d
  Author: Richard Henderson <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M target/arm/kvm64.c

  Log Message:
  -----------
  target/arm: Fill in ARMISARegisters for kvm64

Signed-off-by: Richard Henderson <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: b653c55fa73dc0e0024cae47bdeb5abfd0ec4cde
      
https://github.com/qemu/qemu/commit/b653c55fa73dc0e0024cae47bdeb5abfd0ec4cde
  Author: Richard Henderson <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M target/arm/kvm32.c

  Log Message:
  -----------
  target/arm: Introduce read_sys_reg32 for kvm32

Assert that the value to be written is the correct size.
No change in functionality here, just mirroring the same
function from kvm64.

Signed-off-by: Richard Henderson <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 3c3efcf7dac4ea91bfa06681e879185995fa113c
      
https://github.com/qemu/qemu/commit/3c3efcf7dac4ea91bfa06681e879185995fa113c
  Author: Richard Henderson <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M target/arm/kvm32.c

  Log Message:
  -----------
  target/arm: Fill in ARMISARegisters for kvm32

Signed-off-by: Richard Henderson <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 95a5db3ae5698b49c63144610ad02913e780c828
      
https://github.com/qemu/qemu/commit/95a5db3ae5698b49c63144610ad02913e780c828
  Author: Thomas Huth <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add entries for missing ARM boards

Add entries for the boards "mcimx6ul-evk", "mcimx7d-sabre", "raspi2",
"raspi3", "sabrelite", "vexpress-a15", "vexpress-a9" and "virt".
While we're at it, also adjust the "i.MX31" section a little bit,
so that the wildcards there do not match anymore for unrelated files
(e.g. the new hw/misc/imx6ul_ccm.c file).

Signed-off-by: Thomas Huth <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: dd5d693ecf5aa97f50ece9862b2a4cbe67b7c71b
      
https://github.com/qemu/qemu/commit/dd5d693ecf5aa97f50ece9862b2a4cbe67b7c71b
  Author: Seth Kintigh <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M hw/char/stm32f2xx_usart.c
    M hw/timer/stm32f2xx_timer.c

  Log Message:
  -----------
  hw/arm/stm32f205: Fix the UART and Timer region size

The UART and timer devices for the stm32f205 were being created
with memory regions that were too large. Use the size specified
in the chip datasheet.

The old sizes were so large that the devices would overlap with
each other in the SoC memory map, so this fixes a bug that
caused odd behavior and/or crashes when trying to set up multiple
UARTs.

Signed-off-by: Seth Kintigh <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
[PMM: rephrased commit message to follow our usual standard]
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 7760da729ac88f112f98f36395ac3b55fc9e4211
      
https://github.com/qemu/qemu/commit/7760da729ac88f112f98f36395ac3b55fc9e4211
  Author: Luc Michel <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M target/arm/op_helper.c

  Log Message:
  -----------
  target/arm: fix smc incorrectly trapping to EL3 when secure is off

This commit fixes a case where the CPU would try to go to EL3 when
executing an smc instruction, even though ARM_FEATURE_EL3 is false. This
case is raised when the PSCI conduit is set to smc, but the smc
instruction does not lead to a valid PSCI call.

QEMU crashes with an assertion failure latter on because of incoherent
mmu_idx.

This commit refactors the pre_smc helper by enumerating all the possible
way of handling an scm instruction, and covering the previously missing
case leading to the crash.

The following minimal test would crash before this commit:

.global _start
    .text
_start:
    ldr x0, =0xdeadbeef  ; invalid PSCI call
    smc #0

run with the following command line:

aarch64-linux-gnu-gcc -nostdinc -nostdlib -Wl,-Ttext=40000000 \
                -o test test.s

qemu-system-aarch64 -M virt,virtualization=on,secure=off \
              -cpu cortex-a57 -kernel test

Signed-off-by: Luc Michel <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: fcf5787c02f7f9ff9f314161631c347d6b69b904
      
https://github.com/qemu/qemu/commit/fcf5787c02f7f9ff9f314161631c347d6b69b904
  Author: Peter Maydell <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M hw/block/onenand.c

  Log Message:
  -----------
  hw/block/onenand: Fix off-by-one error allowing out-of-bounds read

An off-by-one error in a switch case in onenand_read() allowed
a misbehaving guest to read off the end of a block of memory.

NB: the onenand device is used only by the "n800" and "n810"
machines, which are usable only with TCG, not KVM, so this is
not a security issue.

Reported-by: Thomas Huth <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Suggested-by: Richard Henderson <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 9e6e9247a4cfc489b9c9f91b2f2d4a3dfa515446
      
https://github.com/qemu/qemu/commit/9e6e9247a4cfc489b9c9f91b2f2d4a3dfa515446
  Author: Peter Maydell <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M hw/block/onenand.c

  Log Message:
  -----------
  hw/block/onenand: use qemu_log_mask() for reporting

Update the onenand device to use qemu_log_mask() for reporting
guest errors and unimplemented features, rather than plain
fprintf() and hw_error().

(We leave the hw_error() in onenand_reset(), as that is
triggered by a failure to read the underlying block device
for the bootRAM, not by guest action.)

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden


  Commit: a00d7f2048c2a1a6a4487ac195c804c78adcf60e
      
https://github.com/qemu/qemu/commit/a00d7f2048c2a1a6a4487ac195c804c78adcf60e
  Author: Peter Maydell <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: list myself as maintainer for various Arm boards

In practice for most of the more-or-less orphan Arm board models,
I will review patches and put them in via the target-arm tree.
So list myself as an "Odd Fixes" status maintainer for them.

This commit downgrades these boards to "Odd Fixes":
 * Allwinner-A10
 * Exynos
 * Calxeda Highbank
 * Canon DIGIC
 * Musicpal
 * nSeries
 * Palm
 * PXA2xx

These boards were already "Odd Fixes":
 * Gumstix
 * i.MX31 (kzm)

Philippe Mathieu-Daudé has requested to be moved to R:
status for Gumstix now that I am listed as the M: contact.

Some boards are maintained, but their patches still go
via the target-arm tree, so add myself as a secondary
maintainer contact for those:
 * Xilinx Zynq
 * Xilinx ZynqMP
 * STM32F205
 * Netduino 2
 * SmartFusion2
 * Mecraft M2S-FG484
 * ASPEED BMCs
 * NRF51

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Message-id: address@hidden


  Commit: d304cf014bf9feec3dcd7ee65c75a7f52206ecdf
      
https://github.com/qemu/qemu/commit/d304cf014bf9feec3dcd7ee65c75a7f52206ecdf
  Author: Peter Maydell <address@hidden>
  Date:   2018-11-19 (Mon, 19 Nov 2018)

  Changed paths:
    M MAINTAINERS
    M hw/block/onenand.c
    M hw/char/stm32f2xx_usart.c
    M hw/timer/stm32f2xx_timer.c
    M target/arm/kvm.c
    M target/arm/kvm32.c
    M target/arm/kvm64.c
    M target/arm/kvm_arm.h
    M target/arm/op_helper.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20181119' 
into staging

target-arm queue:
 * various MAINTAINERS file updates
 * hw/block/onenand: use qemu_log_mask() for reporting
 * hw/block/onenand: Fix off-by-one error allowing out-of-bounds read
   on the n800 and n810 machine models
 * target/arm: fix smc incorrectly trapping to EL3 when secure is off
 * hw/arm/stm32f205: Fix the UART and Timer region size
 * target/arm: read ID registers for KVM guests so they can be
   used to gate "is feature X present" checks

# gpg: Signature made Mon 19 Nov 2018 15:56:44 GMT
# gpg:                using RSA key 3C2525ED14360CDE
# gpg: Good signature from "Peter Maydell <address@hidden>"
# gpg:                 aka "Peter Maydell <address@hidden>"
# gpg:                 aka "Peter Maydell <address@hidden>"
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* remotes/pmaydell/tags/pull-target-arm-20181119:
  MAINTAINERS: list myself as maintainer for various Arm boards
  hw/block/onenand: use qemu_log_mask() for reporting
  hw/block/onenand: Fix off-by-one error allowing out-of-bounds read
  target/arm: fix smc incorrectly trapping to EL3 when secure is off
  hw/arm/stm32f205: Fix the UART and Timer region size
  MAINTAINERS: Add entries for missing ARM boards
  target/arm: Fill in ARMISARegisters for kvm32
  target/arm: Introduce read_sys_reg32 for kvm32
  target/arm: Fill in ARMISARegisters for kvm64
  target/arm: Install ARMISARegisters from kvm host

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/e6ebbd46b6e5...d304cf014bf9
      **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]