[PULL 00/51] target-arm queue

Test asan passed
Test checkpatch passed
Test FreeBSD passed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu passed
Test docker-quick@centos7 passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191024162724.31675-1-peter.maydell@linaro.org
Maintainers: Thomas Huth <huth@tuxfamily.org>, Markus Armbruster <armbru@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, Eric Blake <eblake@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Laurent Vivier <laurent@vivier.eu>, Riku Voipio <riku.voipio@iki.fi>
There is a newer version of this series
hw/misc/Makefile.objs                |   1 +
hw/timer/Makefile.objs               |   1 +
tests/Makefile.include               |   5 +-
qapi/machine-target.json             |   6 +-
hw/net/fsl_etsec/etsec.h             |   1 -
include/hw/arm/aspeed.h              |   1 +
include/hw/arm/bcm2835_peripherals.h |   5 +-
include/hw/arm/bcm2836.h             |   4 +-
include/hw/arm/raspi_platform.h      |   1 +
include/hw/misc/bcm2835_thermal.h    |  27 ++
include/hw/timer/bcm2835_systmr.h    |  33 +++
include/qemu/bitops.h                |   1 +
target/arm/cpu.h                     | 105 +++++--
target/arm/helper.h                  |   4 +
target/arm/internals.h               |   9 +
target/arm/kvm_arm.h                 |  39 +++
hw/arm/aspeed.c                      |  23 ++
hw/arm/bcm2835_peripherals.c         |  30 +-
hw/arm/bcm2836.c                     |  44 +--
hw/arm/highbank.c                    |   3 +-
hw/arm/raspi.c                       |  14 +-
hw/dma/xilinx_axidma.c               |   9 +-
hw/gpio/aspeed_gpio.c                |   8 +-
hw/intc/armv7m_nvic.c                |  22 +-
hw/m68k/mcf5206.c                    |  15 +-
hw/misc/bcm2835_thermal.c            | 135 +++++++++
hw/net/fsl_etsec/etsec.c             |   9 +-
hw/timer/bcm2835_systmr.c            | 163 +++++++++++
hw/timer/grlib_gptimer.c             |  28 +-
hw/timer/milkymist-sysctl.c          |  25 +-
hw/timer/slavio_timer.c              |  32 ++-
hw/timer/xilinx_timer.c              |  13 +-
linux-user/aarch64/cpu_loop.c        |   1 +
linux-user/arm/cpu_loop.c            |   1 +
linux-user/syscall.c                 |   1 +
target/arm/cpu.c                     |  26 +-
target/arm/cpu64.c                   | 364 +++++++++++++++++++++--
target/arm/helper-a64.c              |   3 +
target/arm/helper.c                  | 403 +++++++++++++++++---------
target/arm/kvm.c                     |  25 +-
target/arm/kvm32.c                   |   6 +-
target/arm/kvm64.c                   | 325 ++++++++++++++++++---
target/arm/m_helper.c                |   6 +
target/arm/machine.c                 |   1 +
target/arm/monitor.c                 | 158 ++++++++++
target/arm/op_helper.c               |   4 +
target/arm/translate-a64.c           |  13 +-
target/arm/translate.c               |  33 ++-
tests/arm-cpu-features.c             | 540 +++++++++++++++++++++++++++++++++++
docs/arm-cpu-features.rst            | 317 ++++++++++++++++++++
hw/timer/trace-events                |   5 +
51 files changed, 2725 insertions(+), 323 deletions(-)
create mode 100644 include/hw/misc/bcm2835_thermal.h
create mode 100644 include/hw/timer/bcm2835_systmr.h
create mode 100644 hw/misc/bcm2835_thermal.c
create mode 100644 hw/timer/bcm2835_systmr.c
create mode 100644 tests/arm-cpu-features.c
create mode 100644 docs/arm-cpu-features.rst
[PULL 00/51] target-arm queue
Posted by Peter Maydell 4 years, 5 months ago
Probably the last arm pullreq before softfreeze...

The following changes since commit 58560ad254fbda71d4daa6622d71683190070ee2:

  Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.2-20191024' into staging (2019-10-24 16:22:58 +0100)

are available in the Git repository at:

  https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20191024

for you to fetch changes up to a01a4a3e85ae8f6fe21adbedc80f7013faabdcf4:

  hw/arm/highbank: Use AddressSpace when using write_secondary_boot() (2019-10-24 17:16:30 +0100)

----------------------------------------------------------------
target-arm queue:
 * raspi boards: some cleanup
 * raspi: implement the bcm2835 system timer device
 * raspi: implement a dummy thermal sensor
 * KVM: support providing SVE to the guest
 * misc devices: switch to ptimer transaction API
 * cache TB flag state to improve performance of cpu_get_tb_cpu_state
 * aspeed: Add an AST2600 eval board

----------------------------------------------------------------
Andrew Jones (9):
      target/arm/monitor: Introduce qmp_query_cpu_model_expansion
      tests: arm: Introduce cpu feature tests
      target/arm: Allow SVE to be disabled via a CPU property
      target/arm/cpu64: max cpu: Introduce sve<N> properties
      target/arm/kvm64: Add kvm_arch_get/put_sve
      target/arm/kvm64: max cpu: Enable SVE when available
      target/arm/kvm: scratch vcpu: Preserve input kvm_vcpu_init features
      target/arm/cpu64: max cpu: Support sve properties with KVM
      target/arm/kvm: host cpu: Add support for sve<N> properties

Cédric Le Goater (2):
      hw/gpio: Fix property accessors of the AST2600 GPIO 1.8V model
      aspeed: Add an AST2600 eval board

Peter Maydell (8):
      hw/net/fsl_etsec/etsec.c: Switch to transaction-based ptimer API
      hw/timer/xilinx_timer.c: Switch to transaction-based ptimer API
      hw/dma/xilinx_axidma.c: Switch to transaction-based ptimer API
      hw/timer/slavio_timer: Remove useless check for NULL t->timer
      hw/timer/slavio_timer.c: Switch to transaction-based ptimer API
      hw/timer/grlib_gptimer.c: Switch to transaction-based ptimer API
      hw/m68k/mcf5206.c: Switch to transaction-based ptimer API
      hw/watchdog/milkymist-sysctl.c: Switch to transaction-based ptimer API

Philippe Mathieu-Daudé (8):
      hw/misc/bcm2835_thermal: Add a dummy BCM2835 thermal sensor
      hw/arm/bcm2835_peripherals: Use the thermal sensor block
      hw/timer/bcm2835: Add the BCM2835 SYS_timer
      hw/arm/bcm2835_peripherals: Use the SYS_timer
      hw/arm/bcm2836: Make the SoC code modular
      hw/arm/bcm2836: Rename cpus[] as cpu[].core
      hw/arm/raspi: Use AddressSpace when using arm_boot::write_secondary_boot
      hw/arm/highbank: Use AddressSpace when using write_secondary_boot()

Richard Henderson (24):
      target/arm: Split out rebuild_hflags_common
      target/arm: Split out rebuild_hflags_a64
      target/arm: Split out rebuild_hflags_common_32
      target/arm: Split arm_cpu_data_is_big_endian
      target/arm: Split out rebuild_hflags_m32
      target/arm: Reduce tests vs M-profile in cpu_get_tb_cpu_state
      target/arm: Split out rebuild_hflags_a32
      target/arm: Split out rebuild_hflags_aprofile
      target/arm: Hoist XSCALE_CPAR, VECLEN, VECSTRIDE in cpu_get_tb_cpu_state
      target/arm: Simplify set of PSTATE_SS in cpu_get_tb_cpu_state
      target/arm: Hoist computation of TBFLAG_A32.VFPEN
      target/arm: Add arm_rebuild_hflags
      target/arm: Split out arm_mmu_idx_el
      target/arm: Hoist store to cs_base in cpu_get_tb_cpu_state
      target/arm: Add HELPER(rebuild_hflags_{a32, a64, m32})
      target/arm: Rebuild hflags at EL changes
      target/arm: Rebuild hflags at MSR writes
      target/arm: Rebuild hflags at CPSR writes
      target/arm: Rebuild hflags at Xscale SCTLR writes
      target/arm: Rebuild hflags for M-profile
      target/arm: Rebuild hflags for M-profile NVIC
      linux-user/aarch64: Rebuild hflags for TARGET_WORDS_BIGENDIAN
      linux-user/arm: Rebuild hflags for TARGET_WORDS_BIGENDIAN
      target/arm: Rely on hflags correct in cpu_get_tb_cpu_state

 hw/misc/Makefile.objs                |   1 +
 hw/timer/Makefile.objs               |   1 +
 tests/Makefile.include               |   5 +-
 qapi/machine-target.json             |   6 +-
 hw/net/fsl_etsec/etsec.h             |   1 -
 include/hw/arm/aspeed.h              |   1 +
 include/hw/arm/bcm2835_peripherals.h |   5 +-
 include/hw/arm/bcm2836.h             |   4 +-
 include/hw/arm/raspi_platform.h      |   1 +
 include/hw/misc/bcm2835_thermal.h    |  27 ++
 include/hw/timer/bcm2835_systmr.h    |  33 +++
 include/qemu/bitops.h                |   1 +
 target/arm/cpu.h                     | 105 +++++--
 target/arm/helper.h                  |   4 +
 target/arm/internals.h               |   9 +
 target/arm/kvm_arm.h                 |  39 +++
 hw/arm/aspeed.c                      |  23 ++
 hw/arm/bcm2835_peripherals.c         |  30 +-
 hw/arm/bcm2836.c                     |  44 +--
 hw/arm/highbank.c                    |   3 +-
 hw/arm/raspi.c                       |  14 +-
 hw/dma/xilinx_axidma.c               |   9 +-
 hw/gpio/aspeed_gpio.c                |   8 +-
 hw/intc/armv7m_nvic.c                |  22 +-
 hw/m68k/mcf5206.c                    |  15 +-
 hw/misc/bcm2835_thermal.c            | 135 +++++++++
 hw/net/fsl_etsec/etsec.c             |   9 +-
 hw/timer/bcm2835_systmr.c            | 163 +++++++++++
 hw/timer/grlib_gptimer.c             |  28 +-
 hw/timer/milkymist-sysctl.c          |  25 +-
 hw/timer/slavio_timer.c              |  32 ++-
 hw/timer/xilinx_timer.c              |  13 +-
 linux-user/aarch64/cpu_loop.c        |   1 +
 linux-user/arm/cpu_loop.c            |   1 +
 linux-user/syscall.c                 |   1 +
 target/arm/cpu.c                     |  26 +-
 target/arm/cpu64.c                   | 364 +++++++++++++++++++++--
 target/arm/helper-a64.c              |   3 +
 target/arm/helper.c                  | 403 +++++++++++++++++---------
 target/arm/kvm.c                     |  25 +-
 target/arm/kvm32.c                   |   6 +-
 target/arm/kvm64.c                   | 325 ++++++++++++++++++---
 target/arm/m_helper.c                |   6 +
 target/arm/machine.c                 |   1 +
 target/arm/monitor.c                 | 158 ++++++++++
 target/arm/op_helper.c               |   4 +
 target/arm/translate-a64.c           |  13 +-
 target/arm/translate.c               |  33 ++-
 tests/arm-cpu-features.c             | 540 +++++++++++++++++++++++++++++++++++
 docs/arm-cpu-features.rst            | 317 ++++++++++++++++++++
 hw/timer/trace-events                |   5 +
 51 files changed, 2725 insertions(+), 323 deletions(-)
 create mode 100644 include/hw/misc/bcm2835_thermal.h
 create mode 100644 include/hw/timer/bcm2835_systmr.h
 create mode 100644 hw/misc/bcm2835_thermal.c
 create mode 100644 hw/timer/bcm2835_systmr.c
 create mode 100644 tests/arm-cpu-features.c
 create mode 100644 docs/arm-cpu-features.rst

Re: [PULL 00/51] target-arm queue
Posted by Philippe Mathieu-Daudé 4 years, 5 months ago
On 10/24/19 6:26 PM, Peter Maydell wrote:
> Probably the last arm pullreq before softfreeze...
> 
> The following changes since commit 58560ad254fbda71d4daa6622d71683190070ee2:
> 
>    Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.2-20191024' into staging (2019-10-24 16:22:58 +0100)
> 
> are available in the Git repository at:
> 
>    https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20191024
> 
> for you to fetch changes up to a01a4a3e85ae8f6fe21adbedc80f7013faabdcf4:
> 
>    hw/arm/highbank: Use AddressSpace when using write_secondary_boot() (2019-10-24 17:16:30 +0100)
> 
> ----------------------------------------------------------------
> target-arm queue:
>   * raspi boards: some cleanup
>   * raspi: implement the bcm2835 system timer device
>   * raspi: implement a dummy thermal sensor
>   * KVM: support providing SVE to the guest
>   * misc devices: switch to ptimer transaction API
>   * cache TB flag state to improve performance of cpu_get_tb_cpu_state
>   * aspeed: Add an AST2600 eval board
> 
> ----------------------------------------------------------------
> Andrew Jones (9):
>        target/arm/monitor: Introduce qmp_query_cpu_model_expansion
>        tests: arm: Introduce cpu feature tests
>        target/arm: Allow SVE to be disabled via a CPU property
>        target/arm/cpu64: max cpu: Introduce sve<N> properties
>        target/arm/kvm64: Add kvm_arch_get/put_sve
>        target/arm/kvm64: max cpu: Enable SVE when available
>        target/arm/kvm: scratch vcpu: Preserve input kvm_vcpu_init features
>        target/arm/cpu64: max cpu: Support sve properties with KVM
>        target/arm/kvm: host cpu: Add support for sve<N> properties
> 
> Cédric Le Goater (2):
>        hw/gpio: Fix property accessors of the AST2600 GPIO 1.8V model
>        aspeed: Add an AST2600 eval board
> 
> Peter Maydell (8):
>        hw/net/fsl_etsec/etsec.c: Switch to transaction-based ptimer API
>        hw/timer/xilinx_timer.c: Switch to transaction-based ptimer API
>        hw/dma/xilinx_axidma.c: Switch to transaction-based ptimer API
>        hw/timer/slavio_timer: Remove useless check for NULL t->timer
>        hw/timer/slavio_timer.c: Switch to transaction-based ptimer API
>        hw/timer/grlib_gptimer.c: Switch to transaction-based ptimer API
>        hw/m68k/mcf5206.c: Switch to transaction-based ptimer API
>        hw/watchdog/milkymist-sysctl.c: Switch to transaction-based ptimer API
> 
> Philippe Mathieu-Daudé (8):
>        hw/misc/bcm2835_thermal: Add a dummy BCM2835 thermal sensor
>        hw/arm/bcm2835_peripherals: Use the thermal sensor block
>        hw/timer/bcm2835: Add the BCM2835 SYS_timer
>        hw/arm/bcm2835_peripherals: Use the SYS_timer
>        hw/arm/bcm2836: Make the SoC code modular
>        hw/arm/bcm2836: Rename cpus[] as cpu[].core
>        hw/arm/raspi: Use AddressSpace when using arm_boot::write_secondary_boot
>        hw/arm/highbank: Use AddressSpace when using write_secondary_boot()
> 
> Richard Henderson (24):
>        target/arm: Split out rebuild_hflags_common
>        target/arm: Split out rebuild_hflags_a64
>        target/arm: Split out rebuild_hflags_common_32
>        target/arm: Split arm_cpu_data_is_big_endian
>        target/arm: Split out rebuild_hflags_m32
>        target/arm: Reduce tests vs M-profile in cpu_get_tb_cpu_state
>        target/arm: Split out rebuild_hflags_a32
>        target/arm: Split out rebuild_hflags_aprofile
>        target/arm: Hoist XSCALE_CPAR, VECLEN, VECSTRIDE in cpu_get_tb_cpu_state
>        target/arm: Simplify set of PSTATE_SS in cpu_get_tb_cpu_state
>        target/arm: Hoist computation of TBFLAG_A32.VFPEN
>        target/arm: Add arm_rebuild_hflags
>        target/arm: Split out arm_mmu_idx_el
>        target/arm: Hoist store to cs_base in cpu_get_tb_cpu_state
>        target/arm: Add HELPER(rebuild_hflags_{a32, a64, m32})
>        target/arm: Rebuild hflags at EL changes
>        target/arm: Rebuild hflags at MSR writes
>        target/arm: Rebuild hflags at CPSR writes
>        target/arm: Rebuild hflags at Xscale SCTLR writes
>        target/arm: Rebuild hflags for M-profile
>        target/arm: Rebuild hflags for M-profile NVIC
>        linux-user/aarch64: Rebuild hflags for TARGET_WORDS_BIGENDIAN
>        linux-user/arm: Rebuild hflags for TARGET_WORDS_BIGENDIAN
>        target/arm: Rely on hflags correct in cpu_get_tb_cpu_state
> 
>   hw/misc/Makefile.objs                |   1 +
>   hw/timer/Makefile.objs               |   1 +
>   tests/Makefile.include               |   5 +-
>   qapi/machine-target.json             |   6 +-
>   hw/net/fsl_etsec/etsec.h             |   1 -
>   include/hw/arm/aspeed.h              |   1 +
>   include/hw/arm/bcm2835_peripherals.h |   5 +-
>   include/hw/arm/bcm2836.h             |   4 +-
>   include/hw/arm/raspi_platform.h      |   1 +
>   include/hw/misc/bcm2835_thermal.h    |  27 ++
>   include/hw/timer/bcm2835_systmr.h    |  33 +++
>   include/qemu/bitops.h                |   1 +
>   target/arm/cpu.h                     | 105 +++++--
>   target/arm/helper.h                  |   4 +
>   target/arm/internals.h               |   9 +
>   target/arm/kvm_arm.h                 |  39 +++
>   hw/arm/aspeed.c                      |  23 ++
>   hw/arm/bcm2835_peripherals.c         |  30 +-
>   hw/arm/bcm2836.c                     |  44 +--
>   hw/arm/highbank.c                    |   3 +-
>   hw/arm/raspi.c                       |  14 +-
>   hw/dma/xilinx_axidma.c               |   9 +-
>   hw/gpio/aspeed_gpio.c                |   8 +-
>   hw/intc/armv7m_nvic.c                |  22 +-
>   hw/m68k/mcf5206.c                    |  15 +-
>   hw/misc/bcm2835_thermal.c            | 135 +++++++++
>   hw/net/fsl_etsec/etsec.c             |   9 +-
>   hw/timer/bcm2835_systmr.c            | 163 +++++++++++
>   hw/timer/grlib_gptimer.c             |  28 +-
>   hw/timer/milkymist-sysctl.c          |  25 +-
>   hw/timer/slavio_timer.c              |  32 ++-
>   hw/timer/xilinx_timer.c              |  13 +-
>   linux-user/aarch64/cpu_loop.c        |   1 +
>   linux-user/arm/cpu_loop.c            |   1 +
>   linux-user/syscall.c                 |   1 +
>   target/arm/cpu.c                     |  26 +-
>   target/arm/cpu64.c                   | 364 +++++++++++++++++++++--
>   target/arm/helper-a64.c              |   3 +
>   target/arm/helper.c                  | 403 +++++++++++++++++---------
>   target/arm/kvm.c                     |  25 +-
>   target/arm/kvm32.c                   |   6 +-
>   target/arm/kvm64.c                   | 325 ++++++++++++++++++---
>   target/arm/m_helper.c                |   6 +
>   target/arm/machine.c                 |   1 +
>   target/arm/monitor.c                 | 158 ++++++++++
>   target/arm/op_helper.c               |   4 +
>   target/arm/translate-a64.c           |  13 +-
>   target/arm/translate.c               |  33 ++-
>   tests/arm-cpu-features.c             | 540 +++++++++++++++++++++++++++++++++++
>   docs/arm-cpu-features.rst            | 317 ++++++++++++++++++++
>   hw/timer/trace-events                |   5 +
>   51 files changed, 2725 insertions(+), 323 deletions(-)
>   create mode 100644 include/hw/misc/bcm2835_thermal.h
>   create mode 100644 include/hw/timer/bcm2835_systmr.h
>   create mode 100644 hw/misc/bcm2835_thermal.c
>   create mode 100644 hw/timer/bcm2835_systmr.c
>   create mode 100644 tests/arm-cpu-features.c
>   create mode 100644 docs/arm-cpu-features.rst
> 

If this pull ever fails, please consider fixing:

typo "device":
https://www.mail-archive.com/qemu-devel@nongnu.org/msg654117.html

Tested-by: Mark Cave-Ayland
https://www.mail-archive.com/qemu-devel@nongnu.org/msg653861.html


Re: [PULL 00/51] target-arm queue
Posted by Mark Cave-Ayland 4 years, 5 months ago
On 24/10/2019 19:18, Philippe Mathieu-Daudé wrote:

> On 10/24/19 6:26 PM, Peter Maydell wrote:
>> Probably the last arm pullreq before softfreeze...
>>
>> The following changes since commit 58560ad254fbda71d4daa6622d71683190070ee2:
>>
>>    Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.2-20191024' into
>> staging (2019-10-24 16:22:58 +0100)
>>
>> are available in the Git repository at:
>>
>>    https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20191024
>>
>> for you to fetch changes up to a01a4a3e85ae8f6fe21adbedc80f7013faabdcf4:
>>
>>    hw/arm/highbank: Use AddressSpace when using write_secondary_boot() (2019-10-24
>> 17:16:30 +0100)
>>
>> ----------------------------------------------------------------
>> target-arm queue:
>>   * raspi boards: some cleanup
>>   * raspi: implement the bcm2835 system timer device
>>   * raspi: implement a dummy thermal sensor
>>   * KVM: support providing SVE to the guest
>>   * misc devices: switch to ptimer transaction API
>>   * cache TB flag state to improve performance of cpu_get_tb_cpu_state
>>   * aspeed: Add an AST2600 eval board
>>
>> ----------------------------------------------------------------
>> Andrew Jones (9):
>>        target/arm/monitor: Introduce qmp_query_cpu_model_expansion
>>        tests: arm: Introduce cpu feature tests
>>        target/arm: Allow SVE to be disabled via a CPU property
>>        target/arm/cpu64: max cpu: Introduce sve<N> properties
>>        target/arm/kvm64: Add kvm_arch_get/put_sve
>>        target/arm/kvm64: max cpu: Enable SVE when available
>>        target/arm/kvm: scratch vcpu: Preserve input kvm_vcpu_init features
>>        target/arm/cpu64: max cpu: Support sve properties with KVM
>>        target/arm/kvm: host cpu: Add support for sve<N> properties
>>
>> Cédric Le Goater (2):
>>        hw/gpio: Fix property accessors of the AST2600 GPIO 1.8V model
>>        aspeed: Add an AST2600 eval board
>>
>> Peter Maydell (8):
>>        hw/net/fsl_etsec/etsec.c: Switch to transaction-based ptimer API
>>        hw/timer/xilinx_timer.c: Switch to transaction-based ptimer API
>>        hw/dma/xilinx_axidma.c: Switch to transaction-based ptimer API
>>        hw/timer/slavio_timer: Remove useless check for NULL t->timer
>>        hw/timer/slavio_timer.c: Switch to transaction-based ptimer API
>>        hw/timer/grlib_gptimer.c: Switch to transaction-based ptimer API
>>        hw/m68k/mcf5206.c: Switch to transaction-based ptimer API
>>        hw/watchdog/milkymist-sysctl.c: Switch to transaction-based ptimer API
>>
>> Philippe Mathieu-Daudé (8):
>>        hw/misc/bcm2835_thermal: Add a dummy BCM2835 thermal sensor
>>        hw/arm/bcm2835_peripherals: Use the thermal sensor block
>>        hw/timer/bcm2835: Add the BCM2835 SYS_timer
>>        hw/arm/bcm2835_peripherals: Use the SYS_timer
>>        hw/arm/bcm2836: Make the SoC code modular
>>        hw/arm/bcm2836: Rename cpus[] as cpu[].core
>>        hw/arm/raspi: Use AddressSpace when using arm_boot::write_secondary_boot
>>        hw/arm/highbank: Use AddressSpace when using write_secondary_boot()
>>
>> Richard Henderson (24):
>>        target/arm: Split out rebuild_hflags_common
>>        target/arm: Split out rebuild_hflags_a64
>>        target/arm: Split out rebuild_hflags_common_32
>>        target/arm: Split arm_cpu_data_is_big_endian
>>        target/arm: Split out rebuild_hflags_m32
>>        target/arm: Reduce tests vs M-profile in cpu_get_tb_cpu_state
>>        target/arm: Split out rebuild_hflags_a32
>>        target/arm: Split out rebuild_hflags_aprofile
>>        target/arm: Hoist XSCALE_CPAR, VECLEN, VECSTRIDE in cpu_get_tb_cpu_state
>>        target/arm: Simplify set of PSTATE_SS in cpu_get_tb_cpu_state
>>        target/arm: Hoist computation of TBFLAG_A32.VFPEN
>>        target/arm: Add arm_rebuild_hflags
>>        target/arm: Split out arm_mmu_idx_el
>>        target/arm: Hoist store to cs_base in cpu_get_tb_cpu_state
>>        target/arm: Add HELPER(rebuild_hflags_{a32, a64, m32})
>>        target/arm: Rebuild hflags at EL changes
>>        target/arm: Rebuild hflags at MSR writes
>>        target/arm: Rebuild hflags at CPSR writes
>>        target/arm: Rebuild hflags at Xscale SCTLR writes
>>        target/arm: Rebuild hflags for M-profile
>>        target/arm: Rebuild hflags for M-profile NVIC
>>        linux-user/aarch64: Rebuild hflags for TARGET_WORDS_BIGENDIAN
>>        linux-user/arm: Rebuild hflags for TARGET_WORDS_BIGENDIAN
>>        target/arm: Rely on hflags correct in cpu_get_tb_cpu_state
>>
>>   hw/misc/Makefile.objs                |   1 +
>>   hw/timer/Makefile.objs               |   1 +
>>   tests/Makefile.include               |   5 +-
>>   qapi/machine-target.json             |   6 +-
>>   hw/net/fsl_etsec/etsec.h             |   1 -
>>   include/hw/arm/aspeed.h              |   1 +
>>   include/hw/arm/bcm2835_peripherals.h |   5 +-
>>   include/hw/arm/bcm2836.h             |   4 +-
>>   include/hw/arm/raspi_platform.h      |   1 +
>>   include/hw/misc/bcm2835_thermal.h    |  27 ++
>>   include/hw/timer/bcm2835_systmr.h    |  33 +++
>>   include/qemu/bitops.h                |   1 +
>>   target/arm/cpu.h                     | 105 +++++--
>>   target/arm/helper.h                  |   4 +
>>   target/arm/internals.h               |   9 +
>>   target/arm/kvm_arm.h                 |  39 +++
>>   hw/arm/aspeed.c                      |  23 ++
>>   hw/arm/bcm2835_peripherals.c         |  30 +-
>>   hw/arm/bcm2836.c                     |  44 +--
>>   hw/arm/highbank.c                    |   3 +-
>>   hw/arm/raspi.c                       |  14 +-
>>   hw/dma/xilinx_axidma.c               |   9 +-
>>   hw/gpio/aspeed_gpio.c                |   8 +-
>>   hw/intc/armv7m_nvic.c                |  22 +-
>>   hw/m68k/mcf5206.c                    |  15 +-
>>   hw/misc/bcm2835_thermal.c            | 135 +++++++++
>>   hw/net/fsl_etsec/etsec.c             |   9 +-
>>   hw/timer/bcm2835_systmr.c            | 163 +++++++++++
>>   hw/timer/grlib_gptimer.c             |  28 +-
>>   hw/timer/milkymist-sysctl.c          |  25 +-
>>   hw/timer/slavio_timer.c              |  32 ++-
>>   hw/timer/xilinx_timer.c              |  13 +-
>>   linux-user/aarch64/cpu_loop.c        |   1 +
>>   linux-user/arm/cpu_loop.c            |   1 +
>>   linux-user/syscall.c                 |   1 +
>>   target/arm/cpu.c                     |  26 +-
>>   target/arm/cpu64.c                   | 364 +++++++++++++++++++++--
>>   target/arm/helper-a64.c              |   3 +
>>   target/arm/helper.c                  | 403 +++++++++++++++++---------
>>   target/arm/kvm.c                     |  25 +-
>>   target/arm/kvm32.c                   |   6 +-
>>   target/arm/kvm64.c                   | 325 ++++++++++++++++++---
>>   target/arm/m_helper.c                |   6 +
>>   target/arm/machine.c                 |   1 +
>>   target/arm/monitor.c                 | 158 ++++++++++
>>   target/arm/op_helper.c               |   4 +
>>   target/arm/translate-a64.c           |  13 +-
>>   target/arm/translate.c               |  33 ++-
>>   tests/arm-cpu-features.c             | 540 +++++++++++++++++++++++++++++++++++
>>   docs/arm-cpu-features.rst            | 317 ++++++++++++++++++++
>>   hw/timer/trace-events                |   5 +
>>   51 files changed, 2725 insertions(+), 323 deletions(-)
>>   create mode 100644 include/hw/misc/bcm2835_thermal.h
>>   create mode 100644 include/hw/timer/bcm2835_systmr.h
>>   create mode 100644 hw/misc/bcm2835_thermal.c
>>   create mode 100644 hw/timer/bcm2835_systmr.c
>>   create mode 100644 tests/arm-cpu-features.c
>>   create mode 100644 docs/arm-cpu-features.rst
>>
> 
> If this pull ever fails, please consider fixing:
> 
> typo "device":
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg654117.html
> 
> Tested-by: Mark Cave-Ayland
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg653861.html

Certainly it's not worth a re-spin just on account of a missing tag, I really just
wanted to confirm that the changes are good here :)


ATB,

Mark.