| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At the moment, ImageBuilder assumes that all addresses/sizes are
32-bit max. It sets #{address,size}-cells to 0x2 and puts 0x0 as the
value for the first cell. Because of that, we cannot specify
MEMORY_START and MEMORY_END to be above 32-bits (e.g. to place the images
in the upper memory bank).
Add support to properly handle 64-bit addresses/sizes:
- add function split_into_halves to split the value passed as a first
argument into upper and lower halves. These are then set as values for
variables passed respectively as the second and third argument,
- add function split_addr_size to split address and size and form a
string to be passed to dt_set as data argument for reg property.
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
[stefano: simplify split_into_halves]
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently ImageBuilder can compile and merge partial dts obtained from
a repository specified using PASSTHROUGH_DTS_REPO. With the recent
changes done in the lopper, we can use it to generate partial dts
automatically (to some extent as this is still an early support).
Introduce LOPPER_PATH option to specify a path to a lopper.py script,
the main script in the Lopper repository, that if set, will invoke lopper
to generate partial dts for the passthrough devices specified in
DOMU_PASSTHROUGH_PATHS.
Introduce LOPPER_CMD option to specify custom command line arguments
(if needed) for lopper's extract assist.
Example usage:
LOPPER_PATH="/home/user/lopper/lopper.py"
DOMU_PASSTHROUGH_PATHS[0]="/axi/spi@ff0f0000 /axi/serial@ff010000"
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently function sanity_check_partial_dts from scripts/common takes
three arguments where the last two (repo, dir) are used always in
conjuction to form a path to a directory storing partial dts. Modify the
function to take only two arguments where the second one is to be a path
to a directory storing partial dts. This will help reusing this function
in the future to perform sanity checks on partial dts that do not
originate from a repository.
Modify compile_merge_partial_dts to take this change into account.
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Ayan Kumar Halder <ayankuma@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
| |
Xen commit 942ac5fc15ec ("xen/arm, device-tree: Make static-mem
use #{address,size}-cells") dropped these custom properties in favor of
reusing regular #{address/size}-cells from the chosen node for the
xen,static-mem property. Reflect this change in ImageBuilder.
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Get rid of references to XEN_PASSTHROUGH_PATHS, as there is no such option
and it should be replaced with DOMU_PASSTHROUGH_PATHS[number].
Update PASSTHROUGH_DTS_REPO example. The directory storing partial device
trees is now device-trees-2021.2/zcu102 instead of device-trees-2021.2.
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Ayan Kumar Halder <ayankuma@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce support for creating boot-time cpupools in the device tree and
assigning them to dom0less domUs. Add the following options:
- CPUPOOL[number]="cpu@1,...,cpu@N scheduler" to specify the
list of cpus' node names and the scheduler to be used to create cpupool
- NUM_CPUPOOLS to specify the number of cpupools to create
- DOMU_CPUPOOL[number]="<id>" to specify the id of the cpupool to
assign to domU
Example usage:
CPUPOOL[0]="cpu@1,cpu@2 null"
DOMU_CPUPOOL[0]=0
NUM_CPUPOOLS=1
The above example will create a boot-time cpupool (id=0) with 2 cpus:
cpu@1, cpu@2 and the null scheduler. It will assign the cpupool with
id=0 to domU0.
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When dealing with device trees, we need to have a solution to add
custom phandles to the nodes we create/modify. Add a global variable
phandle_next to act as a countdown counter starting with the highest
valid phandle value 0xfffffffe. Add a new function get_next_phandle
to get a value of the next available phandle and set it to a variable
whose name is passed as a first argument. The global counter will be
decremented with each call to this function.
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
|
|
|
|
|
|
|
| |
The new option allows to disable "xen,enhanced" for individual domUs.
Useful to boot old unpatched kernels.
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
file, the boot command (i.e. "booti") will not by added to the
generated script, to allow the user to customize the u-boot env
or the device-tree after executing the script commands and before
actually booting.
Added commands to store the addresses where the Xen image and
device-tree file are loaded, in 'host_kernel_addr' and 'host_fdt_addr'
variables, if BOOTCMD = "none".
The `booti` command can then be executed as part of the 'bootcmd' variable
in u-boot, which should contain:
1. fetching the generated u-boot script
2. executing the script
3. running `booti ${host_kernel_addr} - ${host_fdt_addr}` command
Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
user to specify the path to a text file that contains, on each line,
u-boot commands that will be added to the generated script as
"fixups", before the boot command.
The file specified by the APPEND_EXTRA_CMDS variable parameter will be
copied as-is in the generated script.
Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
| |
Signed-off-by: Jackson Smith <rsmith@RiversideResearch.org>
Signed-off-by: Jason Shuhua Lei <lei56@purdue.edu>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added support for prepending path to file names in the final generated
u-boot script, for the use-case where we have the files in a separate
folder that can be accessed with a given $LOAD_CMD.
For example, we can have "fatload mmc 0:2" as LOAD_CMD but the
files would need to be loaded from the /boot folder within the 2nd
partition, not from the root ("/"). By specifying the "-p <path>"
parameter when running the script, paths like "/boot" can be
automatically prepended to the generated u-boot commands used
to load the files in board's memory.
Also added the support to disk_image script, to enable generating
a FAT partition with the binaries deployed in a custom folder
within it, if the "-p" parameter is specified.
Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before enabling true dom0less configuration, the script was failing instantly
if DOM0_KERNEL parameter was not specified. This behaviour has changed and
this needs to be communicated to the user.
Mention in README.md that for dom0less configurations, the parameter
DOM0_KERNEL is optional.
If DOM0_KERNEL is not set, check that no other dom0 specific parameters are
specified by the user. Fail the script early with an appropriate error
message, if it was invoked with erroneous configuration settings.
Change message "Dom0 kernel is not specified, continue with dom0less setup."
to "Dom0 kernel is not specified, continue with true dom0less setup."
to refer more accurately to a dom0less setup without dom0.
Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Direct mapping for dom0less VMs is disabled by default in XEN and can be
enabled through the 'direct-map' property.
Add a new config parameter DOMU_DIRECT_MAP to be able to enable or disable
direct mapping, i.e set to 1 for enabling and to 0 for disabling.
This parameter is optional. Direct mapping is enabled by default for all
dom0less VMs with static allocation.
The property 'direct-map' is a boolean property. Boolean properties are true
if present and false if missing.
Add a new data_type 'bool' in function dt_set() to setup a boolean property.
Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
| |
When the parameter DOM0_KERNEL is not specified and NUM_DOMUS is not 0,
instead of failing the script, just skip any dom0 specific setup.
This way the script can be used to boot XEN in dom0less mode.
Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It enables the usage of PV drivers with dom0less guests.
Adding xen,enhanced has the potential side-effect of causing older
unpatched versions of Linux to break at boot. If your Linux kernel is
affected, consider upgrading kernel, or removing "xen,enhanced" by hand
from the generated boot.source.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Ayan Kumar Halder <ayankuma@amd.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Generate the coloring information for Xen, dom0 and domUs based on
information on the config file.
Cache coloring is not upstreaming but it was published to xen-devel
already. It is very useful to be able to provide a cache coloring
configuration via config file instead of manually editing boot.source.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new config parameter to configure a dom0less VM with static allocation.
DOMU_STATIC_MEM[number]="baseaddr1 size1 ... baseaddrN sizeN"
The parameter specifies the host physical address regions to be statically
allocated to the VM. Each region is defined by its start address and size.
For instance,
DOMU_STATIC_MEM[0]="0x30000000 0x10000000 0x50000000 0x20000000"
indicates that the host memory regions [0x30000000, 0x40000000) and
[0x50000000, 0x70000000) are statically allocated to the first dom0less VM.
Since currently it is not possible for a VM to have a mix of both statically
and non-statically allocated memory regions, when DOMU_STATIC_MEM is specified,
adjust VM's memory size to equal the amount of statically allocated memory.
[stefano: add check for DOMU_MEM != DOMU_STATIC_MEM]
Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit b9e2809fce57 introduced support for symlinks when specified in
the config file for one of the binaries, but it breaks if there is a
symlink in one of the parent directories.
This patch fixes the behavior by doing the following:
- get the absolute "real" path of the target file using realpath, not
resolving symlinks for the parameter path (parents still get resolved)
- get the absolute "real" path of the current directory using realpath
This is necessary so that the two paths match in terms of symlinks
resolution.
- strip the base directory from the absolute path.
The result is the target file with a path relative to the current
directory without symlink resolution, but correctly handling the case
where symlinks are presents in the parent directories.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Tested-by: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
|
|
|
|
|
|
|
| |
Add a CONTRIBUTING.md file to explain how to contribute patches to the
project.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Skipped symbolic links resolving, since the file
names that we pass via configs are symlinks, but we want the
tool to generate a script with the exact same names that we
pass to it.
Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Reviewed-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This way, ImageBuilder can generate an SD card image with BOOT.BIN
bootable on Xilinx ZCU102 systems.
Retain the ability to generate a GPT partition table with a GPT
config option.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Tested-by: Andrea Stevanato <andrea.stevanato@santannapisa.it>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If BOOT_CMD is specified as "bootm" it requires a uImage to boot.
Automatically generate a $XEN.ub binary using mkimage and specifying the
right loading address.
Also remove "u-boot legacy uImage" from the allowed Xen binary types
because we cannot easily check that the uImage was built with the right
address.
Note that "ARM OpenFirmware" is the type returned by certain versions of
"file" utility for a Xen arm32 binary.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Ayan Kumar Halder <ayankuma@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
With BOOT_CMD, one can specify the boot command used by the imagebuilder.
The valid values are 'booti', 'bootm' and 'bootefi'.
Also, removed EFI option. This is now covered by BOOT_CMD.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
For armv7 based platforms, xen binary needs to be converted to uboot legacy image
format. For example
mkimage -A arm -T kernel -C none -a 0x40e00000 -e 0x40e00000 -d xen-4.17-unstable xen.ub
Our uboot-script should be able to recognize these images.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
With certain boards the only way possible to load the boot images, is
from the usb partition which has been formatted with FAT filesystem.
Thus, added support to load images from the usb device with a FAT
partition.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
system-device-tree
Lopper parses the device tree for a "xen" label. It parses the sub nodes
to determine the DOM0_VCPUS, DOM0_MEM, NUM_DOMUS, DOMU_VCPUS[],
DOMU_MEM[] and DOMU_PASSTHROUGH_PATHS[]
As an example, consider the following snippet of system-device-tree
xen: domain@2 {
compatible = "openamp,domain-v1","openamp,hypervisor-v1";
cpus = <&cpus_a72 0x3 0x00000002>;
memory = <0x0 0x500000 0x0 0x7fb00000>;
dom0: domain@3 {
compatible = "openamp,domain-v1","xen,domain-v2";
cpus = <&cpus_a72 0x3 0x00000001>;
memory = <0x0 0x501000 0x0 0x3faff000>;
};
linux1: domain@4 {
compatible = "openamp,domain-v1","xen,domain-v2";
cpus = <&cpus_a72 0x3 0x00000001>;
memory = <0x0 0x501000 0x0 0x3faff000>;
access = <&mmc0 0x0>;
};
linux2: domain@5 {
compatible = "openamp,domain-v1","xen,domain-v2";
cpus = <&cpus_a72 0x3 0x00000001>;
memory = <0x0 0x40000000 0x0 0x40000000>;
firewallconfig = <&linux1 1 0>;
};
};
python3 _path_to_/lopper.py -f --enhanced -i path_to_/lop-xen.dts device-trees/system-device-tree-xen.dts > config
The contents of the 'config' will be as follows :-
NUM_DOMUS=2
DOM0_VCPUS = 2
DOM0_MEM = 1018
DOMU_VCPUS[0] = 2
DOMU_MEM[0] = 1018
DOMU_PASSTHROUGH_PATHS[0] = "/bus@f1000000/sdhci@f1050000"
DOMU_VCPUS[1] = 2
DOMU_MEM[1] = 1024
This is provided as the input configuration file for the imagebuilder.
Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
[stefano: minor style and grammar fixes]
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Added some explanation for the usage of DOMU_PASSTHROUGH_PATHS[number].
This is valid the two cases:
1. DOMU_NOBOOT[number] is specified
2. PASSTHROUGH_DTS_REPO is specified
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduced the new config options :-
DOM0_MEM - To specify the amount of memory (in MB) that is assigned
to Dom0.
DOM0_VCPUS - To specify the count of virtual CPUs for Dom0.
These options are used to set XEN_CMD.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
It should be possible to run disk_image when the user has specified
neither DOMU_PASSTHROUGH_PATHS nor DOMU_PASSTHROUGH_DTB. In such a
scenario, the script should not update the relevant portions of domU.cfg.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
domU.cfg has been updated with the following propereties:-
1. iomem - This corresponds to the "xen,reg" property. It obtains
mfn, num_pages and gfn.
2. dtdev - This corresponds to the "xen,path" property. This is set
only if "xen,force-assign-without-iommu" is not present.
3. irqs - This corresponds to the "interrupts" property. One needs to
add 32 to the interrupt value. This is due to initial 32 interrupts
being reserved by GIC for special purposes.
The corresponding properties are obtained from partial dtb.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to uboot-script-gen, disk_image invokes compile_merge_partial_dts
to generate the domU partial dtbs. It copies the dtbs to /etc/xen.
Added functions to cleanup the temporary files.
Also removed 'set -e'. This was causing the script to terminate if any
of the functions returned non zero. In our approach, the functions in
common script will return 1 (on failure), and the caller (ie disk_image)
will check the return code and do the appropriate cleanup.
Moreover, 'set -e' cannot be relied upon to terminate the script if
any function returns error. Thus, it is not very useful.
Details :- https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If there is any error in compile_merge_partial_dts() and
sanity_check_partial_dts(), it should return 1 to the caller.
The caller will then check the return and call cleanup_and_return_err()
(which terminates the script).
This is to prevent compile_merge_partial_dts() and
sanity_check_partial_dts() terminating the script.
The reason being these functions can get invoked from
disk_image (in the future) which may require some additional
cleanup.
Also, moved cleanup_and_return_err() to uboot-script-gen as the
cleanup is specific to the script.
Ensure that we preseve the directory containing the partial dtbs only
when the dtbs were generated successfully. Else, we delete it.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One should copy the device tree to a temporary file and then make any
change (so as to enable merging of multiple device trees).
In this case, the change is to remove the marker (/dts-v1/;) from all
the device trees except the first one to be merged. DTC expects the
marker to be present only once.
Also, i, j, tmpdts and file should be set to local. This will avoid
name collision.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extract some of the functions from uboot-script-gen into common.
This will be sourced by disk_image(in subsequent patch) which will
invoke the functions for generating dtb.
common will have access to all the environment variables defined in
the Imagebuilder config file as described in README.md
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
DOMU_KERNEL[] needs to be defined in the config file. If this is not
defined, then the user has specified an incorrect number for
NUM_DOMUS.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One can specify the repository and the directory holding the partial
device trees via the config option PASSTHROUGH_DTS_REPO. This can be
either a git url or a local directory containing the partial device trees.
Also, the passthrough devices for each DOMU are specified via
DOMU_PASSTHROUGH_PATHS config option.
Imagebuilder will compile the partial device trees. The underlying
assumption is that the name of the partial device tree should
match to the name of the device specified in DOMU_PASSTHROUGH_PATHS.
For example (in case of git repo) :-
PASSTHROUGH_DTS_REPO="git@github.com:Xilinx/xen-passthrough-device-trees.git device-trees-2021.2"
DOMU_PASSTHROUGH_PATHS[0]="/axi/serial@ff010000 /axi/mmc@ff170000"
(This tells imagebuilder to clone the repo and use serial@ff010000.dts
and mmc@ff170000.dts from device-trees-2021.2 folder, to compile and generate
a partial dtb for DOMU[0].
If the files are absent, it will give an error.
Also, if the files mismatching values for #address-cells and #size-cells, it
will give an error.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
Add an option 'XEN_PASSTHROUGH_PATHS' to the imagebuilder config file.
It takes a list of device paths (separated by spaces) which needs to be
marked with xen,passthrough.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The default assignment of domU bootargs has been moved from
add_device_tree_kernel() to xen_config(). This is done to mantain
consistency with other DomU defaults.
Reported-by: Brian Woods <brian.woods@xilinx.com>
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The user can specify the bootargs for domU in the config file as
follows:-
DOMU_CMD[x]="<cmd line params>"
As an example,
DOMU_CMD[0]="console=ttyPS0 earlycon console=ttyPS0,115200
console=ttyAMA0 clk_ignore_unused rdinit=/sbin/init root=/dev/ram0
init=/bin/sh"
If the user does not specify this, then the default command line param is:-
"console=ttyAMA0"
Also, updated the README.md.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
[stefano: improve README]
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Yocto generates *.cpio images. Thus, it can be a valid type of rootfs
image.
Also, when an invalid rootfs image is detected, the script should exit
immediately
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
"petalinux-boot --qemu" when used with a sd image, expects the image to
be of size which is power of 2. Thus, one needs to provide an option to
disk_image to create images aligned to the next power of two.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
| |
Secure boot on uboot expects the last PE image loaded be the signed
image used. Simply move Xen to the bottom of the load order (other than
device trees and bitstreams) and it enables Xen to boot.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
| |
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
| |
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
Make it possible to use imagebuilder with baremetal Linux. This allows
baremetal Linux to be booted in the various ways Xen is now (individual
files with a script, fit with a script and fit via a config).
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
For later add Linux support, restructure the code so it's easier to add
various other OSs configurartions.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
| |
Also add [-f] to the help message as it was missing.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
Reducing what's needed in the CLI arguments to a minimum to streamline
usage. The current behavior does not change and setting it on the CLI
arguments will overwrite what's in the config file.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
Make it so that EFI enablement can be configured in the config file for
uboot-script gen.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|