[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] xen/arm: setup: nr_banks should be unsigned int
commit 49399b101e38fb2c11478c849ffdaaace8e318a8 Author: Julien Grall <jgrall@xxxxxxxxxx> AuthorDate: Tue May 24 16:38:15 2022 -0700 Commit: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx> CommitDate: Tue May 24 16:40:19 2022 -0700 xen/arm: setup: nr_banks should be unsigned int It is not possible to have a negative number of banks. So switch to unsigned int. The type change is also propagated to any users of nr_banks that were using "int" (there are not that many). Note that fdt_num_mem_rsv() can actually returns a negative value in case of an error. So the return should be checked before assigning the result to an unsigned variable. Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx> Reviewed-by: Wei Chen <Wei.Chen@xxxxxxx> Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- xen/arch/arm/domain_build.c | 9 +++++---- xen/arch/arm/efi/efi-dom0.c | 4 ++-- xen/arch/arm/include/asm/setup.h | 6 +++--- xen/arch/arm/setup.c | 17 +++++++++++++---- 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index e7510dec90..7ddd16c26d 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -115,7 +115,8 @@ static bool __init insert_11_bank(struct domain *d, struct page_info *pg, unsigned int order) { - int res, i; + unsigned int i; + int res; mfn_t smfn; paddr_t start, size; @@ -268,7 +269,7 @@ static void __init allocate_memory_11(struct domain *d, const unsigned int min_order = get_order_from_bytes(MB(4)); struct page_info *pg; unsigned int order = get_allocation_size(kinfo->unassigned_mem); - int i; + unsigned int i; bool lowmem = true; unsigned int lowmem_bitsize = min(32U, arch_get_dma_bitsize()); @@ -1026,8 +1027,8 @@ static int __init make_memory_node(const struct domain *d, int addrcells, int sizecells, struct meminfo *mem) { - int res, i; - int reg_size = addrcells + sizecells; + unsigned int i; + int res, reg_size = addrcells + sizecells; int nr_cells = 0; /* Placeholder for memory@ + a 64-bit number + \0 */ char buf[24]; diff --git a/xen/arch/arm/efi/efi-dom0.c b/xen/arch/arm/efi/efi-dom0.c index 494420eaa2..aae0f97911 100644 --- a/xen/arch/arm/efi/efi-dom0.c +++ b/xen/arch/arm/efi/efi-dom0.c @@ -34,14 +34,14 @@ /* Constant to indicate "Xen" in unicode u16 format */ static const CHAR16 xen_efi_fw_vendor[] = {0x0058, 0x0065, 0x006E, 0x0000}; -size_t __init estimate_efi_size(int mem_nr_banks) +size_t __init estimate_efi_size(unsigned int mem_nr_banks) { size_t size; size_t est_size = sizeof(EFI_SYSTEM_TABLE); size_t ect_size = sizeof(EFI_CONFIGURATION_TABLE); size_t emd_size = sizeof(EFI_MEMORY_DESCRIPTOR); size_t fw_vendor_size = sizeof(xen_efi_fw_vendor); - int acpi_mem_nr_banks = 0; + unsigned int acpi_mem_nr_banks = 0; if ( !acpi_disabled ) acpi_mem_nr_banks = bootinfo.acpi.nr_banks; diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h index 7a1e1d6798..2bb01ecfa8 100644 --- a/xen/arch/arm/include/asm/setup.h +++ b/xen/arch/arm/include/asm/setup.h @@ -30,7 +30,7 @@ struct membank { }; struct meminfo { - int nr_banks; + unsigned int nr_banks; struct membank bank[NR_MEM_BANKS]; }; @@ -93,7 +93,7 @@ extern domid_t max_init_domid; void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len); -size_t estimate_efi_size(int mem_nr_banks); +size_t estimate_efi_size(unsigned int mem_nr_banks); void acpi_create_efi_system_table(struct domain *d, struct membank tbl_add[]); @@ -109,7 +109,7 @@ void create_dom0(void); void discard_initial_modules(void); void fw_unreserved_regions(paddr_t s, paddr_t e, - void (*cb)(paddr_t, paddr_t), int first); + void (*cb)(paddr_t, paddr_t), unsigned int first); size_t boot_fdt_info(const void *fdt, paddr_t paddr); const char *boot_fdt_cmdline(const void *fdt); diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index d5d0792ed4..ea1f5ee3d3 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -201,9 +201,17 @@ static void __init processor_id(void) static void __init dt_unreserved_regions(paddr_t s, paddr_t e, void (*cb)(paddr_t, paddr_t), - int first) + unsigned int first) { - int i, nr = fdt_num_mem_rsv(device_tree_flattened); + unsigned int i, nr; + int rc; + + rc = fdt_num_mem_rsv(device_tree_flattened); + if ( rc < 0 ) + panic("Unable to retrieve the number of reserved regions (rc=%d)\n", + rc); + + nr = rc; for ( i = first; i < nr ; i++ ) { @@ -249,7 +257,8 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e, } void __init fw_unreserved_regions(paddr_t s, paddr_t e, - void (*cb)(paddr_t, paddr_t), int first) + void (*cb)(paddr_t, paddr_t), + unsigned int first) { if ( acpi_disabled ) dt_unreserved_regions(s, e, cb, first); @@ -643,7 +652,7 @@ static void __init setup_mm(void) paddr_t s, e; unsigned long ram_pages; unsigned long heap_pages, xenheap_pages, domheap_pages; - int i; + unsigned int i; const uint32_t ctr = READ_CP32(CTR); if ( !bootinfo.mem.nr_banks ) -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |