mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
xen: arm: implement generic multiboot compatibility strings
This causes Xen to accept the more generic names specified in http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/Multiboot as of 2014-06-06. These names are more generic than those proposed by Andre in http://thread.gmane.org/gmane.linux.linaro.announce.boot/326 and those used in earlier drafts of the /Multiboot wiki page. This will allow bootloaders to not special case Xen (or at least to reduce the amount which is required). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Julien Grall <julien.grall@linaro.org>
This commit is contained in:
1 parent
964fd5a99c
commit
a860dfeec0
1 file changed
+6
-3
@@ -340,9 +340,11 @@ static void __init process_multiboot_node(const void *fdt, int node,
|
||||
struct dt_mb_module *mod;
|
||||
int len;
|
||||
|
||||
if ( fdt_node_check_compatible(fdt, node, "xen,linux-zimage") == 0 )
|
||||
if ( fdt_node_check_compatible(fdt, node, "xen,linux-zimage") == 0 ||
|
||||
fdt_node_check_compatible(fdt, node, "multiboot,kernel") == 0 )
|
||||
nr = MOD_KERNEL;
|
||||
else if ( fdt_node_check_compatible(fdt, node, "xen,linux-initrd") == 0)
|
||||
else if ( fdt_node_check_compatible(fdt, node, "xen,linux-initrd") == 0 ||
|
||||
fdt_node_check_compatible(fdt, node, "multiboot,ramdisk") == 0 )
|
||||
nr = MOD_INITRD;
|
||||
else if ( fdt_node_check_compatible(fdt, node, "xen,xsm-policy") == 0 )
|
||||
nr = MOD_XSM;
|
||||
@@ -435,7 +437,8 @@ static int __init early_scan_node(const void *fdt,
|
||||
{
|
||||
if ( device_tree_node_matches(fdt, node, "memory") )
|
||||
process_memory_node(fdt, node, name, address_cells, size_cells);
|
||||
else if ( device_tree_node_compatible(fdt, node, "xen,multiboot-module" ) )
|
||||
else if ( device_tree_node_compatible(fdt, node, "xen,multiboot-module" ) ||
|
||||
device_tree_node_compatible(fdt, node, "multiboot,module" ))
|
||||
process_multiboot_node(fdt, node, name, address_cells, size_cells);
|
||||
else if ( depth == 1 && device_tree_node_matches(fdt, node, "chosen") )
|
||||
process_chosen_node(fdt, node, name, address_cells, size_cells);
|
||||
|
||||