diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/bl31/cpu_data.h | 12 | ||||
-rw-r--r-- | include/bl31/runtime_svc.h | 18 | ||||
-rw-r--r-- | include/bl31/services/psci.h | 28 | ||||
-rw-r--r-- | include/common/bl_common.h | 55 | ||||
-rw-r--r-- | include/common/context_mgmt.h | 6 | ||||
-rw-r--r-- | include/drivers/arm/gic_v3.h | 5 | ||||
-rw-r--r-- | include/drivers/arm/gicv3.h | 5 | ||||
-rw-r--r-- | include/lib/stdlib/machine/_stdint.h | 15 | ||||
-rw-r--r-- | include/plat/arm/common/plat_arm.h | 16 | ||||
-rw-r--r-- | include/plat/common/platform.h | 2 |
10 files changed, 85 insertions, 77 deletions
diff --git a/include/bl31/cpu_data.h b/include/bl31/cpu_data.h index 2b506c73..3a1db5c7 100644 --- a/include/bl31/cpu_data.h +++ b/include/bl31/cpu_data.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2015, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -78,9 +78,9 @@ ******************************************************************************/ typedef struct cpu_data { void *cpu_context[2]; - uint64_t cpu_ops_ptr; + uintptr_t cpu_ops_ptr; #if CRASH_REPORTING - uint64_t crash_buf[CPU_DATA_CRASH_BUF_SIZE >> 3]; + u_register_t crash_buf[CPU_DATA_CRASH_BUF_SIZE >> 3]; #endif struct psci_cpu_data psci_svc_cpu_data; #if PLAT_PCPU_DATA_SIZE @@ -123,14 +123,14 @@ void init_cpu_ops(void); #define get_cpu_data_by_index(_ix, _m) _cpu_data_by_index(_ix)->_m #define set_cpu_data_by_index(_ix, _m, _v) _cpu_data_by_index(_ix)->_m = _v -#define flush_cpu_data(_m) flush_dcache_range((uint64_t) \ +#define flush_cpu_data(_m) flush_dcache_range((uintptr_t) \ &(_cpu_data()->_m), \ sizeof(_cpu_data()->_m)) -#define inv_cpu_data(_m) inv_dcache_range((uint64_t) \ +#define inv_cpu_data(_m) inv_dcache_range((uintptr_t) \ &(_cpu_data()->_m), \ sizeof(_cpu_data()->_m)) #define flush_cpu_data_by_index(_ix, _m) \ - flush_dcache_range((uint64_t) \ + flush_dcache_range((uintptr_t) \ &(_cpu_data_by_index(_ix)->_m), \ sizeof(_cpu_data_by_index(_ix)->_m)) diff --git a/include/bl31/runtime_svc.h b/include/bl31/runtime_svc.h index 03f906ef..adafcee4 100644 --- a/include/bl31/runtime_svc.h +++ b/include/bl31/runtime_svc.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2015, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -66,14 +66,14 @@ typedef int32_t (*rt_svc_init_t)(void); * can be accessed using the handle pointer. The cookie parameter is reserved * for future use */ -typedef uint64_t (*rt_svc_handle_t)(uint32_t smc_fid, - uint64_t x1, - uint64_t x2, - uint64_t x3, - uint64_t x4, +typedef uintptr_t (*rt_svc_handle_t)(uint32_t smc_fid, + u_register_t x1, + u_register_t x2, + u_register_t x3, + u_register_t x4, void *cookie, void *handle, - uint64_t flags); + u_register_t flags); typedef struct rt_svc_desc { uint8_t start_oen; uint8_t end_oen; @@ -127,8 +127,8 @@ CASSERT(RT_SVC_DESC_HANDLE == __builtin_offsetof(rt_svc_desc_t, handle), \ * Function & variable prototypes ******************************************************************************/ void runtime_svc_init(void); -extern uint64_t __RT_SVC_DESCS_START__; -extern uint64_t __RT_SVC_DESCS_END__; +extern uintptr_t __RT_SVC_DESCS_START__; +extern uintptr_t __RT_SVC_DESCS_END__; void init_crash_reporting(void); #endif /*__ASSEMBLY__*/ diff --git a/include/bl31/services/psci.h b/include/bl31/services/psci.h index 20aa52e9..b6d6d4ea 100644 --- a/include/bl31/services/psci.h +++ b/include/bl31/services/psci.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2015, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -296,13 +296,13 @@ typedef struct plat_psci_ops { * migrate capability etc. ******************************************************************************/ typedef struct spd_pm_ops { - void (*svc_on)(uint64_t target_cpu); - int32_t (*svc_off)(uint64_t __unused); - void (*svc_suspend)(uint64_t max_off_pwrlvl); - void (*svc_on_finish)(uint64_t __unused); - void (*svc_suspend_finish)(uint64_t max_off_pwrlvl); - int32_t (*svc_migrate)(uint64_t from_cpu, uint64_t to_cpu); - int32_t (*svc_migrate_info)(uint64_t *resident_cpu); + void (*svc_on)(u_register_t target_cpu); + int32_t (*svc_off)(u_register_t __unused); + void (*svc_suspend)(u_register_t max_off_pwrlvl); + void (*svc_on_finish)(u_register_t __unused); + void (*svc_suspend_finish)(u_register_t max_off_pwrlvl); + int32_t (*svc_migrate)(u_register_t from_cpu, u_register_t to_cpu); + int32_t (*svc_migrate_info)(u_register_t *resident_cpu); void (*svc_system_off)(void); void (*svc_system_reset)(void); } spd_pm_ops_t; @@ -328,14 +328,14 @@ int psci_features(unsigned int psci_fid); void __dead2 psci_power_down_wfi(void); void psci_entrypoint(void); void psci_register_spd_pm_hook(const spd_pm_ops_t *); -uint64_t psci_smc_handler(uint32_t smc_fid, - uint64_t x1, - uint64_t x2, - uint64_t x3, - uint64_t x4, +uintptr_t psci_smc_handler(uint32_t smc_fid, + u_register_t x1, + u_register_t x2, + u_register_t x3, + u_register_t x4, void *cookie, void *handle, - uint64_t flags); + u_register_t flags); /* PSCI setup function */ int psci_setup(void); diff --git a/include/common/bl_common.h b/include/common/bl_common.h index 646a8172..3aa08360 100644 --- a/include/common/bl_common.h +++ b/include/common/bl_common.h @@ -137,6 +137,7 @@ #include <cassert.h> #include <stdint.h> #include <stddef.h> +#include <types.h> #include <utils.h> /* To retain compatibility */ /* @@ -144,28 +145,28 @@ * BL images */ #if SEPARATE_CODE_AND_RODATA -extern unsigned long __TEXT_START__; -extern unsigned long __TEXT_END__; -extern unsigned long __RODATA_START__; -extern unsigned long __RODATA_END__; +extern uintptr_t __TEXT_START__; +extern uintptr_t __TEXT_END__; +extern uintptr_t __RODATA_START__; +extern uintptr_t __RODATA_END__; #else -extern unsigned long __RO_START__; -extern unsigned long __RO_END__; +extern uintptr_t __RO_START__; +extern uintptr_t __RO_END__; #endif #if IMAGE_BL2 -extern unsigned long __BL2_END__; +extern uintptr_t __BL2_END__; #elif IMAGE_BL2U -extern unsigned long __BL2U_END__; +extern uintptr_t __BL2U_END__; #elif IMAGE_BL31 -extern unsigned long __BL31_END__; +extern uintptr_t __BL31_END__; #elif IMAGE_BL32 -extern unsigned long __BL32_END__; +extern uintptr_t __BL32_END__; #endif /* IMAGE_BLX */ #if USE_COHERENT_MEM -extern unsigned long __COHERENT_RAM_START__; -extern unsigned long __COHERENT_RAM_END__; +extern uintptr_t __COHERENT_RAM_START__; +extern uintptr_t __COHERENT_RAM_END__; #endif @@ -174,21 +175,21 @@ extern unsigned long __COHERENT_RAM_END__; * memory is available for its use and how much is already used. ******************************************************************************/ typedef struct meminfo { - uint64_t total_base; + uintptr_t total_base; size_t total_size; - uint64_t free_base; + uintptr_t free_base; size_t free_size; } meminfo_t; typedef struct aapcs64_params { - unsigned long arg0; - unsigned long arg1; - unsigned long arg2; - unsigned long arg3; - unsigned long arg4; - unsigned long arg5; - unsigned long arg6; - unsigned long arg7; + u_register_t arg0; + u_register_t arg1; + u_register_t arg2; + u_register_t arg3; + u_register_t arg4; + u_register_t arg5; + u_register_t arg6; + u_register_t arg7; } aapcs64_params_t; /*************************************************************************** @@ -284,7 +285,7 @@ CASSERT(ENTRY_POINT_INFO_ARGS_OFFSET == \ __builtin_offsetof(entry_point_info_t, args), \ assert_BL31_args_offset_mismatch); -CASSERT(sizeof(unsigned long) == +CASSERT(sizeof(uintptr_t) == __builtin_offsetof(entry_point_info_t, spsr) - \ __builtin_offsetof(entry_point_info_t, pc), \ assert_entrypoint_and_spsr_should_be_adjacent); @@ -292,8 +293,8 @@ CASSERT(sizeof(unsigned long) == /******************************************************************************* * Function & variable prototypes ******************************************************************************/ -unsigned long page_align(unsigned long, unsigned); -unsigned long image_size(unsigned int image_id); +uintptr_t page_align(uintptr_t, unsigned); +size_t image_size(unsigned int image_id); int load_image(meminfo_t *mem_layout, unsigned int image_id, uintptr_t image_base, @@ -307,8 +308,8 @@ int load_auth_image(meminfo_t *mem_layout, extern const char build_message[]; extern const char version_string[]; -void reserve_mem(uint64_t *free_base, size_t *free_size, - uint64_t addr, size_t size); +void reserve_mem(uintptr_t *free_base, size_t *free_size, + uintptr_t addr, size_t size); void print_entry_point_info(const entry_point_info_t *ep_info); diff --git a/include/common/context_mgmt.h b/include/common/context_mgmt.h index a76ecbe3..8a38ee5d 100644 --- a/include/common/context_mgmt.h +++ b/include/common/context_mgmt.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2015, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -63,9 +63,9 @@ void cm_init_context_by_index(unsigned int cpu_idx, void cm_prepare_el3_exit(uint32_t security_state); void cm_el1_sysregs_context_save(uint32_t security_state); void cm_el1_sysregs_context_restore(uint32_t security_state); -void cm_set_elr_el3(uint32_t security_state, uint64_t entrypoint); +void cm_set_elr_el3(uint32_t security_state, uintptr_t entrypoint); void cm_set_elr_spsr_el3(uint32_t security_state, - uint64_t entrypoint, uint32_t spsr); + uintptr_t entrypoint, uint32_t spsr); void cm_write_scr_el3_bit(uint32_t security_state, uint32_t bit_pos, uint32_t value); diff --git a/include/drivers/arm/gic_v3.h b/include/drivers/arm/gic_v3.h index a1b6f1b3..c5360ff4 100644 --- a/include/drivers/arm/gic_v3.h +++ b/include/drivers/arm/gic_v3.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -41,6 +41,7 @@ #include <mmio.h> #include <stdint.h> +#include <types.h> /* GICv3 Re-distributor interface registers & shifts */ @@ -74,7 +75,7 @@ /******************************************************************************* * Function prototypes ******************************************************************************/ -uintptr_t gicv3_get_rdist(uintptr_t gicr_base, uint64_t mpidr); +uintptr_t gicv3_get_rdist(uintptr_t gicr_base, u_register_t mpidr); /******************************************************************************* * GIC Redistributor interface accessors diff --git a/include/drivers/arm/gicv3.h b/include/drivers/arm/gicv3.h index ae6fd917..e915c072 100644 --- a/include/drivers/arm/gicv3.h +++ b/include/drivers/arm/gicv3.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -170,6 +170,7 @@ #ifndef __ASSEMBLY__ #include <stdint.h> +#include <types.h> #define gicv3_is_intr_id_special_identifier(id) \ (((id) >= PENDING_G1S_INTID) && ((id) <= GIC_SPURIOUS_INTERRUPT)) @@ -234,7 +235,7 @@ * a hash function. Otherwise, the "Processor Number" field will be used to * access the array elements. ******************************************************************************/ -typedef unsigned int (*mpidr_hash_fn)(unsigned long mpidr); +typedef unsigned int (*mpidr_hash_fn)(u_register_t mpidr); typedef struct gicv3_driver_data { uintptr_t gicd_base; diff --git a/include/lib/stdlib/machine/_stdint.h b/include/lib/stdlib/machine/_stdint.h index e36c6598..9a4f35fd 100644 --- a/include/lib/stdlib/machine/_stdint.h +++ b/include/lib/stdlib/machine/_stdint.h @@ -30,6 +30,11 @@ * $FreeBSD$ */ +/* + * Portions copyright (c) 2016, ARM Limited and Contributors. + * All rights reserved. + */ + #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ @@ -38,12 +43,12 @@ #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) -#define INT64_C(c) (c ## L) +#define INT64_C(c) (c ## LL) #define UINT8_C(c) (c) #define UINT16_C(c) (c) #define UINT32_C(c) (c ## U) -#define UINT64_C(c) (c ## UL) +#define UINT64_C(c) (c ## ULL) #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) @@ -60,19 +65,19 @@ #define INT8_MIN (-0x7f-1) #define INT16_MIN (-0x7fff-1) #define INT32_MIN (-0x7fffffff-1) -#define INT64_MIN (-0x7fffffffffffffffL-1) +#define INT64_MIN (-0x7fffffffffffffffLL-1) /* Maximum values of exact-width signed integer types. */ #define INT8_MAX 0x7f #define INT16_MAX 0x7fff #define INT32_MAX 0x7fffffff -#define INT64_MAX 0x7fffffffffffffffL +#define INT64_MAX 0x7fffffffffffffffLL /* Maximum values of exact-width unsigned integer types. */ #define UINT8_MAX 0xff #define UINT16_MAX 0xffff #define UINT32_MAX 0xffffffffU -#define UINT64_MAX 0xffffffffffffffffUL +#define UINT64_MAX 0xffffffffffffffffULL /* * ISO/IEC 9899:1999 diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h index 06912eba..0ffdb5c0 100644 --- a/include/plat/arm/common/plat_arm.h +++ b/include/plat/arm/common/plat_arm.h @@ -45,15 +45,15 @@ /* * Utility functions common to ARM standard platforms */ -void arm_setup_page_tables(unsigned long total_base, - unsigned long total_size, - unsigned long code_start, - unsigned long code_limit, - unsigned long rodata_start, - unsigned long rodata_limit +void arm_setup_page_tables(uintptr_t total_base, + size_t total_size, + uintptr_t code_start, + uintptr_t code_limit, + uintptr_t rodata_start, + uintptr_t rodata_limit #if USE_COHERENT_MEM - , unsigned long coh_start, - unsigned long coh_limit + , uintptr_t coh_start, + uintptr_t coh_limit #endif ); diff --git a/include/plat/common/platform.h b/include/plat/common/platform.h index 390721f2..1d2a3739 100644 --- a/include/plat/common/platform.h +++ b/include/plat/common/platform.h @@ -83,7 +83,7 @@ uint32_t plat_interrupt_type_to_line(uint32_t type, /******************************************************************************* * Optional common functions (may be overridden) ******************************************************************************/ -unsigned long plat_get_my_stack(void); +uintptr_t plat_get_my_stack(void); void plat_report_exception(unsigned long); int plat_crash_console_init(void); int plat_crash_console_putc(int c); |