[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/7] arm: add Cortex M0 CPU model and hex file lo
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v3 0/7] arm: add Cortex M0 CPU model and hex file loader |
Date: |
Wed, 25 Jul 2018 09:59:37 +0100 |
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
- [Qemu-devel] [PATCH v3 0/7] arm: add Cortex M0 CPU model and hex file loader,
Stefan Hajnoczi <=