[Android-virt] [PATCH 0/2] boot-wrapper: Support reading kernel/initrd via semihosting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch series adds support to the boot-wrapper for using the
semihosting ABI provided by the Fast Model to load the kernel and
initrd. This allows you to use a single unchanging AXF file and
simply start the model with different arguments to test different
kernels or pass a different command line to the kernel.

Instead of passing the model linux-system.axf, you pass it
linux-system-semi.axf and also the extra arguments:

 -C cluster.cpu0.semihosting-cmd_line="--kernel /path/to/uImage
 --initrd /path/to/initrd -- console=ttyAMA0 mem=512M ..."

The boot wrapper will interpret the --kernel and --initrd
argument as taking an option which is a (host system)
path, and pass the tail of the string following '--' to
the kernel as its command line.
    
The first patch in the series fixes a mismatch between what
the preprocessor and the assembler think they're doing when
building the boot-wrapper with compilers like the Ubuntu/Linaro
one which default to Thumb mode rather than ARM mode. Without
this fix the semihosting feature won't work because we'll emit
the wrong kind of SVC. Note that you'll probably need to update
your config.mk if you've got a customised one!


Peter Maydell (2):
  config-default.mk: Explicitly pass -marm when we want to build ARM mode
  boot-wrapper: Support reading kernel/initrd via semihosting

 Makefile          |   12 ++-
 boot.S            |  355 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 config-default.mk |    4 +-
 model.lds.S       |   12 ++-
 4 files changed, 378 insertions(+), 5 deletions(-)

-- 
1.7.5.4



[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux