diff options
author | Soby Mathew <soby.mathew@arm.com> | 2016-06-16 14:52:04 +0100 |
---|---|---|
committer | Soby Mathew <soby.mathew@arm.com> | 2016-07-18 17:52:15 +0100 |
commit | 4c0d03907652fdf9c66a02cec9ea7137ccccd2e9 (patch) | |
tree | 3ab28ec623c7e252dc38a222ea9f88d6856d25de /docs | |
parent | aadb1350eed3c18aec6cd999519cef55d93678b3 (diff) |
Rework type usage in Trusted Firmware
This patch reworks type usage in generic code, drivers and ARM platform files
to make it more portable. The major changes done with respect to
type usage are as listed below:
* Use uintptr_t for storing address instead of uint64_t or unsigned long.
* Review usage of unsigned long as it can no longer be assumed to be 64 bit.
* Use u_register_t for register values whose width varies depending on
whether AArch64 or AArch32.
* Use generic C types where-ever possible.
In addition to the above changes, this patch also modifies format specifiers
in print invocations so that they are AArch64/AArch32 agnostic. Only files
related to upcoming feature development have been reworked.
Change-Id: I9f8c78347c5a52ba7027ff389791f1dad63ee5f8
Diffstat (limited to 'docs')
-rw-r--r-- | docs/porting-guide.md | 6 | ||||
-rw-r--r-- | docs/psci-pd-tree.md | 2 | ||||
-rw-r--r-- | docs/rt-svc-writers-guide.md | 20 |
3 files changed, 14 insertions, 14 deletions
diff --git a/docs/porting-guide.md b/docs/porting-guide.md index 23033d52..8dad4a05 100644 --- a/docs/porting-guide.md +++ b/docs/porting-guide.md @@ -545,7 +545,7 @@ reset vector code to perform the above tasks. ### Function : plat_get_my_entrypoint() [mandatory when PROGRAMMABLE_RESET_ADDRESS == 0] Argument : void - Return : unsigned long + Return : uintptr_t This function is called with the called with the MMU and caches disabled (`SCTLR_EL3.M` = 0 and `SCTLR_EL3.C` = 0). The function is responsible for @@ -748,7 +748,7 @@ provided in [plat/common/aarch64/platform_up_stack.S] and ### Function : plat_get_my_stack() Argument : void - Return : unsigned long + Return : uintptr_t This function returns the base address of the normal memory stack that has been allocated for the current CPU. For BL images that only require a @@ -966,7 +966,7 @@ This function helps fulfill requirements 4 and 5 above. ### Function : bl1_init_bl2_mem_layout() [optional] - Argument : meminfo *, meminfo *, unsigned int, unsigned long + Argument : meminfo *, meminfo * Return : void BL1 needs to tell the next stage the amount of secure RAM available diff --git a/docs/psci-pd-tree.md b/docs/psci-pd-tree.md index 6ae686d8..c253905c 100644 --- a/docs/psci-pd-tree.md +++ b/docs/psci-pd-tree.md @@ -203,7 +203,7 @@ typedef struct non_cpu_pwr_domain_node { } non_cpu_pd_node_t; typedef struct cpu_pwr_domain_node { - unsigned long mpidr; + u_register_t mpidr; /* Index of the parent power domain node */ unsigned int parent_node; diff --git a/docs/rt-svc-writers-guide.md b/docs/rt-svc-writers-guide.md index 40cee147..856e8feb 100644 --- a/docs/rt-svc-writers-guide.md +++ b/docs/rt-svc-writers-guide.md @@ -124,12 +124,12 @@ initialization and call handler functions. * `_smch` is the SMC handler function with the `rt_svc_handle` signature: - typedef uint64_t (*rt_svc_handle)(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); Details of the requirements and behavior of the two callbacks is provided in the following sections. @@ -189,12 +189,12 @@ SMC calls for a service are forwarded by the framework to the service's SMC handler function (`_smch` in the service declaration). This function must have the following signature: - typedef uint64_t (*rt_svc_handle)(uint32_t smc_fid, - uint64_t x1, uint64_t x2, - uint64_t x3, uint64_t x4, - void *reserved, - void *handle, - uint64_t flags); + 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, + u_register_t flags); The handler is responsible for: |