[prev in list] [next in list] [prev in thread] [next in thread]
List: xen-cvs
Subject: [xen master] xen/arm: setup: nr_banks should be unsigned int
From: patchbot () xen ! org
Date: 2022-05-25 23:12:02
Message-ID: E1nu0Ac-0006Rp-Cv () xenbits ! xenproject ! org
[Download RAW message or body]
commit 49399b101e38fb2c11478c849ffdaaace8e318a8
Author: Julien Grall <jgrall@amazon.com>
AuthorDate: Tue May 24 16:38:15 2022 -0700
Commit: Stefano Stabellini <stefano.stabellini@xilinx.com>
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@amazon.com>
Reviewed-by: Wei Chen <Wei.Chen@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic