qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 4a1672: target/arm: Use M_REG_NUM_BANKS rathe


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 4a1672: target/arm: Use M_REG_NUM_BANKS rather than hardco...
Date: Fri, 15 Sep 2017 10:58:32 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 4a16724f06ead684a5962477a557c26c677c2729
      
https://github.com/qemu/qemu/commit/4a16724f06ead684a5962477a557c26c677c2729
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M target/arm/cpu.h

  Log Message:
  -----------
  target/arm: Use M_REG_NUM_BANKS rather than hardcoding 2

Use a symbolic constant M_REG_NUM_BANKS for the array size for
registers which are banked by M profile security state, rather
than hardcoding lots of 2s.

Suggested-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Message-id: address@hidden


  Commit: dc3c4c14f0f12854dbd967be3486f4db4e66d25b
      
https://github.com/qemu/qemu/commit/dc3c4c14f0f12854dbd967be3486f4db4e66d25b
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M target/arm/cpu.c
    M target/arm/helper.c
    M target/arm/internals.h
    M target/arm/op_helper.c

  Log Message:
  -----------
  target/arm: Clear exclusive monitor on v7M reset, exception entry/exit

For M profile we must clear the exclusive monitor on reset, exception
entry and exception exit.  We weren't doing any of these things; fix
this bug.

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


  Commit: c6158878650c01b2c753b2ea7d0967c8fe5ca59e
      
https://github.com/qemu/qemu/commit/c6158878650c01b2c753b2ea7d0967c8fe5ca59e
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: Get PRECISERR and IBUSERR the right way round

For a bus fault, the M profile BFSR bit PRECISERR means a bus
fault on a data access, and IBUSERR means a bus fault on an
instruction access. We had these the wrong way around; fix this.

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


  Commit: 22a9c26af62f9772b7c0512e88f97d0d1f2e0872
      
https://github.com/qemu/qemu/commit/22a9c26af62f9772b7c0512e88f97d0d1f2e0872
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/intc/armv7m_nvic.c

  Log Message:
  -----------
  nvic: Don't apply group priority mask to negative priorities

In several places we were unconditionally applying the
nvic_gprio_mask() to a priority value. This is incorrect
if the priority is one of the fixed negative priority
values (for NMI and HardFault), so don't do it.

This bug would have caused both NMI and HardFault to be
considered as the same priority and so NMI wouldn't
correctly preempt HardFault.

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


  Commit: 7115cdf5782922611bcc44c89eec5990db7f6466
      
https://github.com/qemu/qemu/commit/7115cdf5782922611bcc44c89eec5990db7f6466
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: Remove unnecessary '| 0xf0000000' from do_v7m_exception_exit()

In do_v7m_exception_exit(), there's no need to force the high 4
bits of 'type' to 1 when calling v7m_exception_taken(), because
we know that they're always 1 or we could not have got to this
"handle return to magic exception return address" code. Remove
the unnecessary ORs.

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


  Commit: 4d1e7a4745c050f7ccac49a1c01437526b5130b5
      
https://github.com/qemu/qemu/commit/4d1e7a4745c050f7ccac49a1c01437526b5130b5
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M target/arm/helper.c
    M target/arm/internals.h

  Log Message:
  -----------
  target/arm: Add and use defines for EXCRET constants

The exception-return magic values get some new bits in v8M, which
makes some bit definitions for them worthwhile.

We don't use the bit definitions for the switch on the low bits
which checks the return type for v7M, because this is defined
in the v7M ARM ARM as a set of valid values rather than via
per-bit checks.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Message-id: address@hidden


  Commit: 351e527a613147aa2a2e6910f92923deef27ee48
      
https://github.com/qemu/qemu/commit/351e527a613147aa2a2e6910f92923deef27ee48
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: Rename 'type' to 'excret' in do_v7m_exception_exit()

In the v7M and v8M ARM ARM, the magic exception return values are
referred to as EXC_RETURN values, and in QEMU we use V7M_EXCRET_*
constants to define bits within them. Rename the 'type' variable
which holds the exception return value in do_v7m_exception_exit()
to excret, making it clearer that it does hold an EXC_RETURN value.

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


  Commit: aff3f0f150769ec4f97c6e2cefe91c4a0377b548
      
https://github.com/qemu/qemu/commit/aff3f0f150769ec4f97c6e2cefe91c4a0377b548
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/arm/Makefile.objs
    R hw/arm/xlnx-ep108.c
    A hw/arm/xlnx-zcu102.c

  Log Message:
  -----------
  xlnx-ep108: Rename to ZCU102

The EP108 is a early access development board. Now that silicon is in
production people have access to the ZCU102. Let's rename the internal
QEMU files and variables to use the ZCU102.

There is no functional change here as the EP108 is still a valid board
option.

Signed-off-by: Alistair Francis <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: b70cf33f030e0fc965b3a02d91c2195e0572ea46
      
https://github.com/qemu/qemu/commit/b70cf33f030e0fc965b3a02d91c2195e0572ea46
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/arm/xlnx-zcu102.c

  Log Message:
  -----------
  xlnx-zcu102: Manually create the machines

In preperation for future work let's manually create the Xilnx machines.
This will allow us to set properties for the machines in the future.

Signed-off-by: Alistair Francis <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: b7436e94ded250b92aaa03bd72eab2279aba197b
      
https://github.com/qemu/qemu/commit/b7436e94ded250b92aaa03bd72eab2279aba197b
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/arm/xlnx-zcu102.c

  Log Message:
  -----------
  xlnx-zcu102: Add a machine level secure property

Add a machine level secure property. This defaults to false and can be
set to true using this machine command line argument:
    -machine xlnx-zcu102,secure=on

This follows what the ARM virt machine does.

This property only applies to the ZCU102 machine. The EP108 machine does
not have this property.

Signed-off-by: Alistair Francis <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 1946809ece906d517e96fdcb0b39c5e63916fb5a
      
https://github.com/qemu/qemu/commit/1946809ece906d517e96fdcb0b39c5e63916fb5a
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/arm/xlnx-zcu102.c
    M hw/arm/xlnx-zynqmp.c
    M include/hw/arm/xlnx-zynqmp.h

  Log Message:
  -----------
  xlnx-zcu102: Add a machine level virtualization property

Add a machine level virtualization property. This defaults to false and can be
set to true using this machine command line argument:
    -machine xlnx-zcu102,virtualization=on

This follows what the ARM virt machine does.

This property only applies to the ZCU102 machine. The EP108 machine does
not have this property.

Signed-off-by: Alistair Francis <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: da69de00763c1bc221149f6618ef2c8f81e9f49a
      
https://github.com/qemu/qemu/commit/da69de00763c1bc221149f6618ef2c8f81e9f49a
  Author: Alistair Francis <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/arm/xlnx-zcu102.c

  Log Message:
  -----------
  xlnx-zcu102: Mark the EP108 machine as deprecated

The EP108 is the same as the ZCU102, mark it as deprecated as we don't
need two machines.

Signed-off-by: Alistair Francis <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: dddbba9943ef6a81c8702e4a50cb0a8b1a4201fe
      
https://github.com/qemu/qemu/commit/dddbba9943ef6a81c8702e4a50cb0a8b1a4201fe
  Author: Jaroslaw Pelczar <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M target/arm/translate-a64.c

  Log Message:
  -----------
  AArch64: Fix single stepping of ERET instruction

Previously when single stepping through ERET instruction via GDB
would result in debugger entering the "next" PC after ERET instruction.
When debugging in kernel mode, this will also cause unintended behavior,
because debugger will try to access memory from EL0 point of view.

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


  Commit: 37e29a64254bf82a1901784fcca17c25f8164c2f
      
https://github.com/qemu/qemu/commit/37e29a64254bf82a1901784fcca17c25f8164c2f
  Author: Richard Henderson <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M target/arm/translate-a64.c

  Log Message:
  -----------
  target/arm: Avoid an extra temporary for store_exclusive

Instead of copying addr to a local temp, reuse the value (which we
have just compared as equal) already saved in cpu_exclusive_addr.

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


  Commit: 70bfdce6a1263fd06144ecc1c3727c44e562d89b
      
https://github.com/qemu/qemu/commit/70bfdce6a1263fd06144ecc1c3727c44e562d89b
  Author: Pranavkumar Sawargaonkar <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/pci-host/gpex.c
    M include/hw/pci-host/gpex.h

  Log Message:
  -----------
  hw/pci-host/gpex: Set INTx index/gsi mapping

To implement INTx to gsi routing we need to pass the gpex host
bridge the gsi associated to each INTx index. Let's introduce
irq_num array and gpex_set_irq_num setter function.

Signed-off-by: Pranavkumar Sawargaonkar <address@hidden>
Signed-off-by: Tushar Jagad <address@hidden>
Signed-off-by: Eric Auger <address@hidden>
Tested-by: Feng Kan <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: c9bb8e16080d189a0c393a1061b427993516ae2b
      
https://github.com/qemu/qemu/commit/c9bb8e16080d189a0c393a1061b427993516ae2b
  Author: Pranavkumar Sawargaonkar <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/arm/virt.c

  Log Message:
  -----------
  hw/arm/virt: Set INTx/gsi mapping

Let's provide the GPEX host bridge with the INTx/gsi mapping. This is
needed for INTx/gsi routing.

Signed-off-by: Pranavkumar Sawargaonkar <address@hidden>
Signed-off-by: Tushar Jagad <address@hidden>
Signed-off-by: Eric Auger <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Tested-by: Feng Kan <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: d464814ae729f3200234ff74d5f050ddad4f1f20
      
https://github.com/qemu/qemu/commit/d464814ae729f3200234ff74d5f050ddad4f1f20
  Author: Pranavkumar Sawargaonkar <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/pci-host/gpex.c

  Log Message:
  -----------
  hw/pci-host/gpex: Implement PCI INTx routing

Now we are able to retrieve the gsi from the INTx pin, let's
enable intx_to_irq routing. From that point on, irqfd becomes
usable along with INTx when assigning a PCIe device.

Signed-off-by: Pranavkumar Sawargaonkar <address@hidden>
Signed-off-by: Tushar Jagad <address@hidden>
Signed-off-by: Eric Auger <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Tested-by: Feng Kan <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: ce3bc112cdb1d462e2d52eaa17a7314e7f3af504
      
https://github.com/qemu/qemu/commit/ce3bc112cdb1d462e2d52eaa17a7314e7f3af504
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/arm/mps2.c

  Log Message:
  -----------
  mps2-an511: Fix wiring of UART overflow interrupt lines

Fix an error that meant we were wiring every UART's overflow
interrupts into the same inputs 0 and 1 of the OR gate,
rather than giving each its own input.

Cc: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Message-id: address@hidden


  Commit: d28e29a92585e94264628b1b27262fe2d7573f51
      
https://github.com/qemu/qemu/commit/d28e29a92585e94264628b1b27262fe2d7573f51
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-14 (Thu, 14 Sep 2017)

  Changed paths:
    M hw/arm/Makefile.objs
    M hw/arm/mps2.c
    M hw/arm/virt.c
    R hw/arm/xlnx-ep108.c
    A hw/arm/xlnx-zcu102.c
    M hw/arm/xlnx-zynqmp.c
    M hw/intc/armv7m_nvic.c
    M hw/pci-host/gpex.c
    M include/hw/arm/xlnx-zynqmp.h
    M include/hw/pci-host/gpex.h
    M target/arm/cpu.c
    M target/arm/cpu.h
    M target/arm/helper.c
    M target/arm/internals.h
    M target/arm/op_helper.c
    M target/arm/translate-a64.c

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

target-arm queue:
 * v7M: various code cleanups
 * v7M: set correct BFSR bits on bus fault
 * v7M: clear exclusive monitor on reset and exception entry/exit
 * v7M: don't apply priority mask to negative priorities
 * zcu102: support 'secure' and 'virtualization' machine properties
 * aarch64: fix ERET single stepping
 * gpex: implement PCI INTx routing
 * mps2-an511: fix UART overflow interrupt line wiring

# gpg: Signature made Thu 14 Sep 2017 18:50:48 BST
# gpg:                using RSA key 0x3C2525ED14360CDE
# 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-20170914:
  mps2-an511: Fix wiring of UART overflow interrupt lines
  hw/pci-host/gpex: Implement PCI INTx routing
  hw/arm/virt: Set INTx/gsi mapping
  hw/pci-host/gpex: Set INTx index/gsi mapping
  target/arm: Avoid an extra temporary for store_exclusive
  AArch64: Fix single stepping of ERET instruction
  xlnx-zcu102: Mark the EP108 machine as deprecated
  xlnx-zcu102: Add a machine level virtualization property
  xlnx-zcu102: Add a machine level secure property
  xlnx-zcu102: Manually create the machines
  xlnx-ep108: Rename to ZCU102
  target/arm: Rename 'type' to 'excret' in do_v7m_exception_exit()
  target/arm: Add and use defines for EXCRET constants
  target/arm: Remove unnecessary '| 0xf0000000' from do_v7m_exception_exit()
  nvic: Don't apply group priority mask to negative priorities
  target/arm: Get PRECISERR and IBUSERR the right way round
  target/arm: Clear exclusive monitor on v7M reset, exception entry/exit
  target/arm: Use M_REG_NUM_BANKS rather than hardcoding 2

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


Compare: https://github.com/qemu/qemu/compare/3dabde1128b6...d28e29a92585

reply via email to

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