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

[xen master] xen/arm: un-break build with clang



commit 647377ea06b86d7356f5975e4780b9a6a81c188e
Author:     Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
AuthorDate: Tue May 30 11:59:33 2023 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue May 30 11:59:33 2023 +0200

    xen/arm: un-break build with clang
    
    clang doesn't like extern with __attribute__((__used__)):
    
      ./arch/arm/include/asm/setup.h:171:8: error: 'used' attribute ignored 
[-Werror,-Wignored-attributes]
      extern DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
             ^
      ./arch/arm/include/asm/lpae.h:273:29: note: expanded from macro 
'DEFINE_BOOT_PAGE_TABLE'
      lpae_t __aligned(PAGE_SIZE) __section(".data.page_aligned")               
    \
                                  ^
      ./include/xen/compiler.h:71:27: note: expanded from macro '__section'
      #define __section(s)      __used __attribute__((__section__(s)))
                                ^
      ./include/xen/compiler.h:104:39: note: expanded from macro '__used'
      #define __used         __attribute__((__used__))
                                            ^
    
    Simplify the declarations by getting rid of the macro (and thus the
    __aligned/__section/__used attributes) in the header. No functional change
    intended as the macro/attributes are present in the respective definitions 
in
    xen/arch/arm/mm.c.
    
    Fixes: 1c78d76b67e1 ("xen/arm64: mm: Introduce helpers to 
prepare/enable/disable the identity mapping")
    Signed-off-by: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
    Acked-by: Julien Grall <jgrall@xxxxxxxxxx>
---
 xen/arch/arm/include/asm/setup.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index fe17cb0a4a..19dc637d55 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -168,13 +168,13 @@ u32 device_tree_get_u32(const void *fdt, int node,
 int map_range_to_domain(const struct dt_device_node *dev,
                         uint64_t addr, uint64_t len, void *data);
 
-extern DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
+extern lpae_t boot_pgtable[XEN_PT_LPAE_ENTRIES];
 
 #ifdef CONFIG_ARM_64
-extern DEFINE_BOOT_PAGE_TABLE(boot_first_id);
+extern lpae_t boot_first_id[XEN_PT_LPAE_ENTRIES];
 #endif
-extern DEFINE_BOOT_PAGE_TABLE(boot_second_id);
-extern DEFINE_BOOT_PAGE_TABLE(boot_third_id);
+extern lpae_t boot_second_id[XEN_PT_LPAE_ENTRIES];
+extern lpae_t boot_third_id[XEN_PT_LPAE_ENTRIES];
 
 /* Find where Xen will be residing at runtime and return a PT entry */
 lpae_t pte_of_xenaddr(vaddr_t);
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.