[Qemu-devel] [PATCH v3 0/7] arm: add Cortex M0 CPU model and hex file loader

Stefan Hajnoczi posted 7 patches 5 years, 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180725085944.11856-1-stefanha@redhat.com
Test checkpatch passed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu passed
Test docker-quick@centos7 passed
There is a newer version of this series
MAINTAINERS                                  |   6 +
configure                                    |   4 +
hw/arm/Makefile.objs                         |   2 +-
tests/Makefile.include                       |   2 +
include/hw/arm/{armv7m.h => arm-m-profile.h} |  39 ++-
include/hw/arm/arm.h                         |  11 +-
include/hw/arm/iotkit.h                      |   4 +-
include/hw/arm/msf2-soc.h                    |   4 +-
include/hw/arm/stm32f205_soc.h               |   4 +-
include/hw/loader.h                          |  31 ++
hw/arm/{armv7m.c => arm-m-profile.c}         |  99 ++++---
hw/arm/iotkit.c                              |   2 +-
hw/arm/mps2-tz.c                             |   4 +-
hw/arm/mps2.c                                |  11 +-
hw/arm/msf2-soc.c                            |   3 +-
hw/arm/msf2-som.c                            |   4 +-
hw/arm/netduino2.c                           |   4 +-
hw/arm/stellaris.c                           |   8 +-
hw/arm/stm32f205_soc.c                       |   3 +-
hw/core/loader.c                             | 280 +++++++++++++++++++
target/arm/cpu.c                             |  11 +
tests/hexloader-test.c                       |  56 ++++
default-configs/arm-softmmu.mak              |   1 +
tests/hex-loader-check-data/test.hex         |  12 +
24 files changed, 522 insertions(+), 83 deletions(-)
rename include/hw/arm/{armv7m.h => arm-m-profile.h} (64%)
rename hw/arm/{armv7m.c => arm-m-profile.c} (76%)
create mode 100644 tests/hexloader-test.c
create mode 100644 tests/hex-loader-check-data/test.hex
[Qemu-devel] [PATCH v3 0/7] arm: add Cortex M0 CPU model and hex file loader
Posted by Stefan Hajnoczi 5 years, 8 months ago
v3:
 * Rename ARMv7MState to ARMMProfileState so a single class can cater for
   ARMv6-M, ARMv7-M, and ARMv8-M [Peter]
 * Make bitbanding optional via a qdev property [Peter]
 * Add hex file loader patches to reduce dependencies in upcoming patch series
 * Implement rollback if hex file loader fails partway through [Peter]
 * Update hex file loader test case to use an ARMv7-M board since hex file
   loading is only done for ARM M Profile boards

This series contains the prerequistes for the "microbit" machine type that Joel
Stanley has written.  I have combined the Cortex M0 CPU model and hex loader
work into one series to reduce the dependencies in upcoming patch series from
Joel, Julia, and Steffen.

This patch series:
 * Renames ARMv7MState to ARMMProfileState since it's already used for ARMv8-M
   and soon ARMv6-M.
 * Adds a "cortex-m0" cpu type which can be used with ARMMProfileState.  This
   works thanks to Julia's Cortex M0 emulation patches, which are now all
   merged.
 * Adds Su Hang's Intel HEX file format loader so that micro:bit and other
   microcontroller firmware images can be run using -kernel.  The micro:bit
   development tools typically only emit .hex files and not ELFs.

Stefan Hajnoczi (5):
  hw/arm: rename armv7m_load_kernel()
  hw/arm: rename TYPE_ARMV7M to TYPE_ARM_M_PROFILE
  hw/arm: make bitbanded IO optional on ARM M Profile
  target/arm: add "cortex-m0" CPU model
  loader: add rom transaction API

Su Hang (2):
  loader: Implement .hex file loader
  Add QTest testcase for the Intel Hexadecimal

 MAINTAINERS                                  |   6 +
 configure                                    |   4 +
 hw/arm/Makefile.objs                         |   2 +-
 tests/Makefile.include                       |   2 +
 include/hw/arm/{armv7m.h => arm-m-profile.h} |  39 ++-
 include/hw/arm/arm.h                         |  11 +-
 include/hw/arm/iotkit.h                      |   4 +-
 include/hw/arm/msf2-soc.h                    |   4 +-
 include/hw/arm/stm32f205_soc.h               |   4 +-
 include/hw/loader.h                          |  31 ++
 hw/arm/{armv7m.c => arm-m-profile.c}         |  99 ++++---
 hw/arm/iotkit.c                              |   2 +-
 hw/arm/mps2-tz.c                             |   4 +-
 hw/arm/mps2.c                                |  11 +-
 hw/arm/msf2-soc.c                            |   3 +-
 hw/arm/msf2-som.c                            |   4 +-
 hw/arm/netduino2.c                           |   4 +-
 hw/arm/stellaris.c                           |   8 +-
 hw/arm/stm32f205_soc.c                       |   3 +-
 hw/core/loader.c                             | 280 +++++++++++++++++++
 target/arm/cpu.c                             |  11 +
 tests/hexloader-test.c                       |  56 ++++
 default-configs/arm-softmmu.mak              |   1 +
 tests/hex-loader-check-data/test.hex         |  12 +
 24 files changed, 522 insertions(+), 83 deletions(-)
 rename include/hw/arm/{armv7m.h => arm-m-profile.h} (64%)
 rename hw/arm/{armv7m.c => arm-m-profile.c} (76%)
 create mode 100644 tests/hexloader-test.c
 create mode 100644 tests/hex-loader-check-data/test.hex

-- 
2.17.1


Re: [Qemu-devel] [PATCH v3 0/7] arm: add Cortex M0 CPU model and hex file loader
Posted by Stefan Hajnoczi 5 years, 8 months ago
Based-on: https://git.linaro.org/people/pmaydell/qemu-arm.git target-arm.for-3.1