Message ID | 723eb07ff8e7b7c64cede2f2e48452138541abc6.1463069453.git.alistair.francis@xilinx.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 05/12/2016 10:13 AM, Alistair Francis wrote: > Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> > --- > V4: > - Re-write to be more comprehensive > > docs/generic-loader.txt | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 56 insertions(+) > create mode 100644 docs/generic-loader.txt > +Loading Memory Values > +--------------------------- Worth matching ---- line length to the line above? > + > +NOTE: The loader device supports other options (see the next section) but they > + do not apply to setting memory values and will be ignored. Ignoring invalid option combinations is not as friendly as outright rejecting them. > + > +Loading Files > +--------------------------- And again > +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: > + > + -device loader,file=<file>,addr=<addr>,cpu-num=<cpu-num>,force-raw=<raw> > + > + <file> - A file to be loaded into memory > + <addr> - The addr in memory that the file should be loaded. This is > + ignored if you are using an ELF (unless force-raw is true). > + This is requried if you aren't loading an ELF. s/requried/required/ > + <cpu-num> - This specifices the CPU that should be used. This is an s/specifices/specifies/ > + optional argument and will cause the CPU's PC to be set to > + where the image is stored. This option should only be used > + for the boot image. > + <force-raw> - Forces the file to be treated as a raw image. This can be > + used to specificy the load address of ELF files. s/specificy/specify/ > + > +An example of loading an ELF file which CPU0 will boot is shown below: > + -device loader,file=./images/boot.elf,cpu-num=0 >
On Thu, May 12, 2016 at 9:24 AM, Eric Blake <eblake@redhat.com> wrote: > On 05/12/2016 10:13 AM, Alistair Francis wrote: >> Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> >> --- >> V4: >> - Re-write to be more comprehensive >> >> docs/generic-loader.txt | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 56 insertions(+) >> create mode 100644 docs/generic-loader.txt > >> +Loading Memory Values >> +--------------------------- > > Worth matching ---- line length to the line above? Good point, fixed. > >> + >> +NOTE: The loader device supports other options (see the next section) but they >> + do not apply to setting memory values and will be ignored. > > Ignoring invalid option combinations is not as friendly as outright > rejecting them. Ok, I have added stricter checking to cover most invalid use cases. > > >> + >> +Loading Files >> +--------------------------- > > And again Fixed. > >> +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: >> + >> + -device loader,file=<file>,addr=<addr>,cpu-num=<cpu-num>,force-raw=<raw> >> + >> + <file> - A file to be loaded into memory >> + <addr> - The addr in memory that the file should be loaded. This is >> + ignored if you are using an ELF (unless force-raw is true). >> + This is requried if you aren't loading an ELF. > > s/requried/required/ Fixed > >> + <cpu-num> - This specifices the CPU that should be used. This is an > > s/specifices/specifies/ Fixed > >> + optional argument and will cause the CPU's PC to be set to >> + where the image is stored. This option should only be used >> + for the boot image. >> + <force-raw> - Forces the file to be treated as a raw image. This can be >> + used to specificy the load address of ELF files. > > s/specificy/specify/ Fixed. Thanks for reading the patch. Alistair > >> + >> +An example of loading an ELF file which CPU0 will boot is shown below: >> + -device loader,file=./images/boot.elf,cpu-num=0 >> > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >
diff --git a/docs/generic-loader.txt b/docs/generic-loader.txt new file mode 100644 index 0000000..b748f2a --- /dev/null +++ b/docs/generic-loader.txt @@ -0,0 +1,56 @@ +Copyright (c) 2016 Xilinx Inc. + +This work is licensed under the terms of the GNU GPL, version 2 or later. See +the COPYING file in the top-level directory. + + +The 'loader' device allows the user to load multiple images or values into +QEMU at startup. + +Loading Memory Values +--------------------------- +The loader device allows memory values to be set from the command line. This +can be done by following the syntax below: + + -device loader,addr=<addr>,data=<data>,data-len=<len> + -device loader,addr=<addr>,cpu-num=<cpu-num> + +NOTE: The loader device supports other options (see the next section) but they + do not apply to setting memory values and will be ignored. + It is also possible to mix the commands above, e.g. include the cpu-num + argument with the data argument. + + <addr> - The address to store the data or the value to set the CPUs PC + <data> - The value to be written to the addr. The maximum size of the + data is 8 bytes. + <data-len> - The length of the data in bytes. This argument must be included + if the data argument is. + <data-be> - Set to true if the data to be stored on the guest should be + written as big endian data. The default is to write little + endian data. + <cpu-num> - This will cause the CPU to be reset and the PC to be set to + the value of addr. + +An example of loading value 0x8000000e to address 0xfd1a0104 is: + -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 + +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: + + -device loader,file=<file>,addr=<addr>,cpu-num=<cpu-num>,force-raw=<raw> + + <file> - A file to be loaded into memory + <addr> - The addr in memory that the file should be loaded. This is + ignored if you are using an ELF (unless force-raw is true). + This is requried if you aren't loading an ELF. + <cpu-num> - This specifices the CPU that should be used. This is an + optional argument and will cause the CPU's PC to be set to + where the image is stored. This option should only be used + for the boot image. + <force-raw> - Forces the file to be treated as a raw image. This can be + used to specificy the load address of ELF files. + +An example of loading an ELF file which CPU0 will boot is shown below: + -device loader,file=./images/boot.elf,cpu-num=0
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> --- V4: - Re-write to be more comprehensive docs/generic-loader.txt | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 docs/generic-loader.txt