From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: [PATCH 1/2] xen: arm: implement generic multiboot compatibility strings Date: Fri, 6 Jun 2014 13:15:49 +0100 Message-ID: <1402056950-9732-1-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Ian Campbell , stefano.stabellini@eu.citrix.com, julien.grall@linaro.org, tim@xen.org, linaro-uefi@lists.linaro.org, Fu Wei List-Id: xen-devel@lists.xenproject.org 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 --- v2: Use multiboot,{kernel,ramdisk,module} --- xen/common/device_tree.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c index f0b17a3..48ae849 100644 --- a/xen/common/device_tree.c +++ b/xen/common/device_tree.c @@ -338,9 +338,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; @@ -433,7 +435,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); -- 1.9.0