[U-Boot] [PATCH v2 33/40] ARM: cache-cp15: Use more accurate types
Simon Glass
sjg at chromium.org
Wed Aug 27 20:57:42 CEST 2014
Hi Thierry,
On 26 August 2014 09:34, Thierry Reding <thierry.reding at gmail.com> wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> size_t is the canonical type to represent variables that contain a size.
> Use it instead of signed integer. Physical addresses can be larger than
> 32-bit, so use a more appropriate type for them as well. phys_addr_t is
> a type that is 32-bit on systems that use 32-bit addresses and 64-bit if
> the system is 64-bit or uses a form of physical address extension to use
> a larger address space on 32-bit systems. Using these types the same API
> can be implemented on a wider range of systems.
>
> Signed-off-by: Thierry Reding <treding at nvidia.com>
> ---
> arch/arm/include/asm/system.h | 2 +-
> arch/arm/lib/cache-cp15.c | 6 +++---
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
> index d51ba668f323..fb31a8faf2b1 100644
> --- a/arch/arm/include/asm/system.h
> +++ b/arch/arm/include/asm/system.h
> @@ -200,7 +200,7 @@ enum {
> * \param size size of memory region to change
> * \param option dcache option to select
> */
> -void mmu_set_region_dcache_behaviour(u32 start, int size,
> +void mmu_set_region_dcache_behaviour(phys_addr_t start, size_t size,
> enum dcache_option option);
>
> /**
> diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
> index 5fdfdbfca541..e6c1c83e5758 100644
> --- a/arch/arm/lib/cache-cp15.c
> +++ b/arch/arm/lib/cache-cp15.c
> @@ -47,15 +47,15 @@ __weak void mmu_page_table_flush(unsigned long start, unsigned long stop)
> debug("%s: Warning: not implemented\n", __func__);
> }
>
> -void mmu_set_region_dcache_behaviour(u32 start, int size,
> +void mmu_set_region_dcache_behaviour(phys_addr_t start, size_t size,
> enum dcache_option option)
> {
> u32 *page_table = (u32 *)gd->arch.tlb_addr;
> - u32 upto, end;
> + unsigned long upto, end;
>
> end = ALIGN(start + size, MMU_SECTION_SIZE) >> MMU_SECTION_SHIFT;
> start = start >> MMU_SECTION_SHIFT;
> - debug("%s: start=%x, size=%x, option=%d\n", __func__, start, size,
> + debug("%s: start=%pa, size=%zu, option=%d\n", __func__, &start, size,
The &start seems counter-intuitive. Can it not just be 'start'?
> option);
> for (upto = start; upto < end; upto++)
> set_section_dcache(upto, option);
> --
> 2.0.4
>
Regards,
Simon
More information about the U-Boot
mailing list