diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2016-10-17 19:41:23 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2016-10-17 19:41:23 +0100 |
commit | 2d02ac10b6644d71c88cc7943e74d7ad6674fff1 (patch) | |
tree | 28f11b0787b3fd3fb4b85881feead80f9ad76c81 /docs/generic-loader.txt | |
parent | 0975b8b823a888d474fa33821dfe84e6904db197 (diff) | |
parent | 041ac05672993ff33a15f8017c0f729ca6dfad73 (diff) |
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20161017' into staging
target-arm:
* target-arm: kvm: use AddressSpace-specific listener
* aspeed: add SMC controllers
* hw/arm/boot: allow using a command line specified dtb without a kernel
* hw/dma/pl080: Fix bad bit mask
* hw/intc/arm_gic_kvm: Fix build on aarch64 with some compilers
* hw/arm/virt: fix ACPI tables for ITS
* tests: add a m25p80 test
* tests: cleanup ptimer-test
* pxa2xx: Auto-assign name for i2c bus in i2c_init_bus
* target-arm: handle tagged addresses in A64 code
* target-arm: Fix masking of PC lower bits when doing exception returns
* target-arm: Implement dummy MDCCINT_EL1
* target-arm: Add trace events for the generic timers
* hw/intc/arm_gicv3: Fix ICC register tracepoints
* hw/char/pl011: Add trace events
# gpg: Signature made Mon 17 Oct 2016 19:39:42 BST
# gpg: using RSA key 0x3C2525ED14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
# gpg: aka "Peter Maydell <pmaydell@gmail.com>"
# gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>"
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE
* remotes/pmaydell/tags/pull-target-arm-20161017: (25 commits)
hw/char/pl011: Add trace events
hw/intc/arm_gicv3: Fix ICC register tracepoints
target-arm: Add trace events for the generic timers
target-arm: Implement dummy MDCCINT_EL1
Fix masking of PC lower bits when doing exception returns
target-arm: Comments added to identify cases in a switch
target-arm: Code changes to implement overwrite of tag field on PC load
target-arm: Infrastucture changes to enable handling of tagged address loading into PC
pxa2xx: Auto-assign name for i2c bus in i2c_init_bus.
tests: cleanup ptimer-test
tests: add a m25p80 test
hw/arm/virt: no ITS on older machine types
hw/arm/virt-acpi-build: fix MADT generation
hw/intc/arm_gic_kvm: Fix build on aarch64
hw/dma/pl080: Fix bad bit mask (PL080_CONF_M1 | PL080_CONF_M1)
hw/arm/boot: allow using a command line specified dtb without a kernel
aspeed: add support for the SMC segment registers
aspeed: create mapping regions for the maximum number of slaves
aspeed: add support for the AST2500 SoC SMC controllers
aspeed: extend the number of host SPI controllers
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'docs/generic-loader.txt')
-rw-r--r-- | docs/generic-loader.txt | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/docs/generic-loader.txt b/docs/generic-loader.txt index 8fcb550414..31bbcd42f6 100644 --- a/docs/generic-loader.txt +++ b/docs/generic-loader.txt @@ -8,7 +8,7 @@ The 'loader' device allows the user to load multiple images or values into QEMU at startup. Loading Data into Memory Values ---------------------- +------------------------------- The loader device allows memory values to be set from the command line. This can be done by following the syntax below: @@ -36,7 +36,7 @@ An example of loading value 0x8000000e to address 0xfd1a0104 is: -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 Setting a CPU's Program Counter ---------------------- +------------------------------- The loader device allows the CPU's PC to be set from the command line. This can be done by following the syntax below: @@ -55,9 +55,10 @@ An example of setting CPU 0's PC to 0x8000 is: -device loader,addr=0x8000,cpu-num=0 Loading Files ---------------------- -The loader device also allows files to be loaded into memory. This can be done -similarly to setting memory values. The syntax is shown below: +------------- +The loader device also allows files to be loaded into memory. It can load raw +files and ELF executable files. Raw files are loaded verbatim. ELF executable +files are loaded by an ELF loader. The syntax is shown below: -device loader,file=<file>[,addr=<addr>][,cpu-num=<cpu-num>][,force-raw=<raw>] @@ -72,8 +73,8 @@ similarly to setting memory values. The syntax is shown below: for the boot image. This will also cause the image to be written to the specified CPU's address space. If not specified, the default is CPU 0. - <force-raw> - Forces the file to be treated as a raw image. This can be - used to specify the load address of ELF files. + <force-raw> - Setting force-raw=on forces the file to be treated as a raw + image. This can be used to load ELF files as if they were raw. All values are parsed using the standard QemuOps parsing. This allows the user to specify any values in any format supported. By default the values @@ -82,3 +83,10 @@ with a '0x'. An example of loading an ELF file which CPU0 will boot is shown below: -device loader,file=./images/boot.elf,cpu-num=0 + +Restrictions and ToDos +---------------------- + - At the moment it is just assumed that if you specify a cpu-num then you + want to set the PC as well. This might not always be the case. In future + the internal state 'set_pc' (which exists in the generic loader now) should + be exposed to the user so that they can choose if the PC is set or not. |