Lines Matching refs:function
11 - Implementing a platform-specific function or variable,
77 platform-specific architecture setup function, ``blX_plat_arch_setup()``, and uses
143 function.
640 behaviour of the ``assert()`` function (for example, to save memory).
712 This function is called with the MMU and caches disabled
713 (``SCTLR_EL3.M`` = 0 and ``SCTLR_EL3.C`` = 0). The function is responsible for
717 BL31 initialization. If it's a cold reset then this function must return zero.
719 This function does not follow the Procedure Call Standard used by the
722 function.
724 This function fulfills requirement 1 and 3 listed above.
730 this function is not required on such platforms.
739 This function is called with the MMU and data caches disabled. It is responsible
742 allow entry into the OS. This function must not return.
750 This function fulfills requirement 2 above.
754 function is not required on such platforms.
764 This function identifies whether the current CPU is the primary CPU or a
771 distinguish between primary and secondary CPUs and implementing this function is
782 This function is called before any access to data is made by the firmware, in
793 This function is mandatory when Trusted Board Boot is enabled. It returns a
810 In case the function returns a hash of the key:
819 The function returns 0 on success. Any other value is treated as error by the
820 Trusted Board Boot. The function also reports extra information related
829 When this flag is set, the function does not need to
843 This function is mandatory when Trusted Board Boot is enabled. It returns the
850 The function returns 0 on success. Any other value means the counter value could
861 This function is mandatory when Trusted Board Boot is enabled. It sets a new
866 The function returns 0 on success. Any other value means the counter value could
877 This function is optional when Trusted Board Boot is enabled. If this
886 The function returns 0 on success. Any other value means the counter value
904 This function is used to return the address of the platform *address-map* table,
916 This function returns *true* if the platform has any trusted devices capable of
927 This function returns *true* if platform uses peripherals whose DMA is not
944 This function returns the total number of SMMUs in the platform.
954 This function returns an array of SMMU addresses and the actual number of SMMUs
965 This function returns the address of plat_drtm_dma_prot_features_t structure
978 This function returns the maximum size of DMA protected regions table in
989 This function returns the address of *plat_drtm_tpm_features_t* structure
1001 This function returns the size normal-world DCE of the platform.
1011 This function returns the size of implementation defined DLME region
1022 This function returns the size of TCB hash table of the platform.
1032 This function returns the Maximum number of TCB hashes recorded by the
1044 This function validates that given region is within the Non-Secure region
1045 of DRAM. This function takes a region start address and size an input
1056 This function writes a 64 bit error code received as input into
1067 This function reads a 64 bit error code from the non-volatile storage
1070 Common mandatory function modifications
1084 This function returns the index of the calling CPU which is used as a
1086 per-CPU stacks). This function will be invoked very early in the
1087 initialization sequence which mandates that this function should be
1089 runtime environment. This function can clobber x0 - x8 and must preserve
1092 This function plays a crucial role in the power domain topology framework in
1104 This function validates the ``MPIDR`` of a CPU and converts it to an index,
1106 case the ``MPIDR`` is invalid, this function returns -1. This function will only
1120 This function is invoked during Mbed TLS library initialisation to get a heap,
1125 A helper function can be found in `drivers/auth/mbedtls/mbedtls_common.c` in
1128 the function simply returns the address and size of this "pre-allocated" heap.
1137 On success the function should return 0 and a negative error code otherwise.
1149 This function provides a symmetric key (either SSK or BSSK depending on
1163 On success the function should return 0 and a negative error code otherwise.
1175 This function is mandatory when PSA_FWU_SUPPORT is enabled.
1181 images rely on this function call.
1183 In Arm platforms, this function is used to set an I/O policy of the FIP image,
1195 This function is mandatory when PSA_FWU_SUPPORT is enabled. It is
1206 This function provides a means to retrieve such dynamic information to set
1209 image relies on this function call.
1223 This function is mandatory when PSA_FWU_SUPPORT is enabled. It provides the
1231 from a different bank. This function then returns the bank that the platform
1249 This function sets the current stack pointer to the normal memory stack that
1251 stack for the primary CPU, the UP version of the function is used. The size
1255 Common implementations of this function for the UP and MP BL images are
1267 This function returns the base address of the normal memory stack that
1269 stack for the primary CPU, the UP version of the function is used. The size
1273 Common implementations of this function for the UP and MP BL images are
1287 state (secure/non-secure), the exception type, and so on. This function is
1296 For AArch64, this function receives the exception type as its argument.
1301 For AArch32, this function receives the exception mode as its argument.
1313 A platform may need to do additional initialization after reset. This function
1347 recovery actions (for example, reset the system). This function must not return.
1370 situation from which it cannot recover. This function must not return,
1386 This function is used by the platform to resets the system. It can be used
1388 in case of DRTM implementation this function reset the system after
1389 writing the DRTM error code in the non-volatile storage. This function
1400 This function returns pointer to the list of images that the platform has
1401 populated to load. This function is invoked in BL2 to load the
1412 This function returns a pointer to the shared memory that the platform has
1414 function is invoked in BL2 to pass this information to the next BL
1425 This function returns a random value that is used to initialize the canary used
1444 This function flushes to main memory all the image params that are passed to
1445 next image. This function is invoked in BL2 to flush this information
1456 This function defines the prefix string corresponding to the `log_level` to be
1471 This function returns soc version which mainly consist of below fields
1487 This function returns soc revision in below format
1501 This function returns SMC_ARCH_CALL_SUCCESS if the platform supports
1502 the SMCCC function specified in the argument; otherwise returns
1515 - This function indicates whether cache management operations should be
1518 - The function must not clobber x1, x2 and x3. It's also not safe to rely on
1568 This function executes with the MMU and data caches disabled. It is only called
1571 On Arm standard platforms, this function:
1590 This function performs any platform-specific and architectural setup that the
1594 In Arm standard platforms, this function enables the MMU.
1596 This function helps fulfill requirement 2 above.
1606 This function executes with the MMU and data caches enabled. It is responsible
1613 In Arm standard platforms, this function initializes the storage abstraction
1616 This function helps fulfill requirement 4 above.
1626 This function should only be called on the cold boot path. It executes with the
1627 MMU and data caches enabled. The pointer returned by this function must point to
1640 This function helps fulfill requirements 4 and 5 above.
1650 This function is called prior to exiting BL1 in response to the
1654 structure passed from BL2. This function runs with MMU disabled.
1664 This function allows platforms to override ``ep_info`` for the given ``image_id``.
1676 This and the following function must be overridden to enable the FWU feature.
1678 BL1 calls this function after platform setup to identify the next image to be
1684 platforms override this function to detect if firmware update is required, and
1695 BL1 calls this function to get the image descriptor information ``image_desc_t``
1711 This function can be used by the platforms to update/use image information
1712 corresponding to ``image_id``. This function is invoked in BL1, both in cold
1723 This function can be used by the platforms to update/use image information
1724 corresponding to ``image_id``. This function is invoked in BL1, both in cold
1727 The default weak implementation of this function calculates the amount of
1742 BL1 calls this function when the FWU process is complete. It must not return.
1743 The platform may override this function to take platform specific action, for
1757 BL1 calls this function while handling FWU related SMCs, more specifically when
1763 This function can safely assume that the value resulting from the addition of
1767 This function must return 0 on success, a non-null error code otherwise.
1769 The default implementation of this function asserts therefore platforms must
1776 using the ``platform_is_primary_cpu()`` function. BL1 passed control to BL2 at
1794 This function executes with the MMU and data caches disabled. It is only called
1805 On Arm standard platforms, this function also:
1822 This function executes with the MMU and data caches disabled. It is only called
1825 The purpose of this function is to perform any architectural initialization
1828 On Arm standard platforms, this function enables the MMU.
1838 This function may execute with the MMU and data caches enabled if the platform
1842 The purpose of this function is to perform any platform initialization
1845 In Arm standard platforms, this function performs security setup, including
1857 This function can be used by the platforms to update/use image information
1858 for given ``image_id``. This function is currently invoked in BL2 before
1869 This function can be used by the platforms to update/use image information
1870 for given ``image_id``. This function is currently invoked in BL2 after
1881 This optional function performs any BL2 platform initialization
1895 This optional function passes to the next boot source in the redundancy
1898 This function moves the current boot redundancy source to the next
1926 This function executes with the MMU and data caches disabled. It is only called
1927 by the primary CPU. This function receives four parameters which can be used
1930 On Arm standard platforms, this function does the following:
1949 This function executes with the MMU and data caches disabled. It is only called
1952 The purpose of this function is to perform any architectural initialization
1955 On Arm standard platforms, this function enables the MMU.
1965 This function is called prior to exiting BL2 and run the next image.
1967 operations before transferring control to the next image. This function
1981 implemented by the platform specific ``bl2u_plat_handle_scp_bl2u()`` function.
1999 This function executes with the MMU and data caches disabled. It is only
2000 called by the primary CPU. The arguments to this function is the address
2018 This function executes with the MMU and data caches disabled. It is only
2021 The purpose of this function is to perform any architectural initialization
2033 This function may execute with the MMU and data caches enabled if the platform
2037 The purpose of this function is to perform any platform initialization
2040 In Arm standard platforms, this function performs security setup, including
2052 This function is used to perform any platform-specific actions required to
2057 This function returns 0 on success, a negative error code otherwise.
2058 This function is included if SCP_BL2U_BASE is defined.
2064 determined in BL1 using the ``platform_is_primary_cpu()`` function. BL1 passes
2102 This function executes with the MMU and data caches disabled. It is only called
2122 The function runs through the `bl_param_t` list and extracts the entry point
2140 This function executes with the MMU and data caches disabled. It is only called
2143 The purpose of this function is to perform any architectural initialization
2146 On Arm standard platforms, this function enables the MMU.
2156 This function may execute with the MMU and data caches enabled if the platform
2160 The purpose of this function is to complete platform initialization so that both
2161 BL31 runtime services and normal world software can function correctly.
2163 On Arm standard platforms, this function does the following:
2198 The purpose of this function is allow the platform to perform any BL31 runtime
2200 implementation of this function will invoke ``console_switch_state()`` to switch
2211 This function may execute with the MMU and data caches enabled if the platform
2214 This function is called by ``bl31_main()`` to retrieve information provided by
2217 state. This function must return a pointer to the ``entry_point_info`` structure
2229 This function returns the Platform attestation token.
2231 The parameters of the function are:
2234 this function. The buffer must be big enough to hold the Platform
2238 function returns the platform token length in this parameter.
2245 The function returns 0 on success, -EINVAL on failure.
2255 This function returns the delegated realm attestation key which will be used to
2259 The parameters of the function are:
2262 by this function. The buffer must be big enough to hold the
2266 function returns the attestation key length in this parameter.
2271 The function returns 0 on success, -EINVAL on failure.
2281 This function returns the size of the shared area between EL3 and RMM (or 0 on
2293 When ENABLE_RME is enabled, this function populates a boot manifest for the
2296 When ENABLE_RME is disabled, this function is not used.
2306 This function enables the MMU. The boot code calls this function with MMU and
2307 caches disabled. This function should program necessary registers to enable
2310 The function must honor flags passed in the first argument. These flags are
2314 On DynamIQ systems, this function must not use stack while enabling MMU, which
2315 is how the function in xlat table library version 2 is implemented.
2325 This function returns the 128-bit value which can be used to program ARMv8.3
2330 This function is only needed if ARMv8.3 pointer authentication is used in the
2341 This function is used by the architecture setup code to retrieve the counter
2406 This function validates the entry point address of the event handler provided by
2408 The function ensures that the address is valid in the client translation regime.
2413 The function must return ``0`` for successful validation, or ``-1`` upon failure.
2415 The default implementation always returns ``0``. On Arm platforms, this function
2435 events are masked on the PE, the dispatcher implementation invokes the function
2456 the hardware after ``plat_entropy_setup`` function is called. This value must
2472 This function is expected to do platform-specific initialization of any TRNG
2485 This function writes entropy into storage provided by the caller. If no entropy
2508 power management operations required for the PSCI implementation to function
2574 invokes this function for each parent power domain that is resumed and it
2590 The PSCI generic code uses this function to let the platform participate in
2591 state coordination during a power management operation. The function is passed
2594 power domain level ``lvl`` (first argument) within the power domain. The function
2615 This function returns a pointer to the byte array containing the power domain
2633 This function may execute with the MMU and data caches enabled if the platform
2637 This function is called by PSCI initialization code. Its purpose is to let
2645 ``plat/arm/board/fvp/fvp_pm.c`` as an example. For each PSCI function that the
2649 function in a platform port, the operation should be removed from this
2675 This optional function performs the platform specific actions to check if
2708 This is an optional function that is only compiled into the build if the build
2711 If implemented, this function allows the platform to perform platform specific
2712 validations based on hardware states. The generic code expects this function to
2719 This optional function may be used as a performance optimization to replace
2722 calls this function when suspending to a power down state, and it guarantees
2728 specific actions in that function with data caches enabled, it may be more
2729 efficient to move those actions to this function. When HW_ASSISTED_COHERENCY
2731 moving platform specific actions to this function.
2777 This is an optional function and, if implemented, is expected to perform
2779 CPU to powerdown. Since this function is invoked outside the PSCI locks,
2785 the CPU power domain and its parent power domain levels. This function must
2789 If this function is not implemented by the platform, PSCI generic
2795 This function is called by the PSCI implementation after the calling CPU is
2809 This optional function is called by the PSCI implementation after the calling
2812 function gives the flexibility to perform any platform-specific actions safely,
2822 This function is called by the PSCI implementation after the calling CPU is
2834 suspend, their context must be restored in this function in the reverse order
2840 This function is called by PSCI implementation in response to a ``SYSTEM_OFF``
2847 This function is called by PSCI implementation in response to a ``SYSTEM_RESET``
2854 This function is called by the PSCI implementation during the ``CPU_SUSPEND``
2864 This function is called by the PSCI implementation during the ``CPU_SUSPEND``,
2873 This function is called by the PSCI implementation during the ``SYSTEM_SUSPEND``
2883 This is an optional function and, if implemented, is invoked by the PSCI
2886 ``PLAT_MAX_PWR_LVL_STATES`` - 1. This function is only needed if the platform
2894 This is an optional function and, if implemented, verifies the ``power_state``
2900 is similar to the ``validate_power_state`` function described above and is
2904 function is not implemented, then the generic implementation relies on
2905 ``validate_power_state`` function to translate the ``power_state``.
2907 This function can also be used in case the platform wants to support local
2914 This is an optional function. If implemented this function is intended to return
2929 This is an optional function. If implemented this function is
2934 function must return ``PSCI_E_NOT_SUPPORTED``. For architectural
2937 in `PSCI`_. On success this function will not return.
2942 This is an optional function. If implemented it enables or disables the
2951 This is an optional function. If implemented it returns the current
2959 This is an optional function. If implemented it checks if a memory
3032 handler function. ``INTR_TYPE_INVAL`` is returned when there is no interrupt
3111 This function in Arm standard platforms using GICv2, reads the *Interrupt
3117 from EL3, the function reads the system register ``ICC_IAR0_EL1``, *Interrupt
3118 Acknowledge Register group 0*. If the API is invoked from S-EL1, the function
3196 cannot be recovered from. This function assumes that it is invoked from a C
3208 be recovered from. This function in turn prints backtrace (if enabled) and calls
3294 This function is invoked by the runtime exception handling framework for the
3296 function is to attempt to resolve the cause of External Abort and return;
3312 This function must be implemented if a platform expects Firmware First handling
3324 This function is invoked by the RAS framework when an External Abort of
3326 Uncontainable errors, the intention of this function is to initiate orderly
3329 This function must be implemented in assembly.
3333 The default implementation of this function calls
3345 This function is invoked by the RAS framework when another External Abort is
3348 this function is to initiate orderly shutdown of the system, and is not expected
3351 This function must be implemented in assembly.
3355 The default implementation of this function calls
3365 This function is invoked when an External Abort is received while executing in
3366 EL3. Due to its critical nature, the intention of this function is to initiate
3369 This function must be implemented in assembly.
3371 The default implementation of this function calls
3383 This function is invoked by BL31's exception handler when there is a synchronous
3405 This function needs to be implemented by a platform if it enables FEAT_RNG_TRAP.
3416 This function is invoked by BL31's exception handler when there is a synchronous
3436 This function needs to be implemented by a platform if it enables
3501 ``load_image()`` function in ``bl_common.c``.
3517 function that is called on platform initialization. The semi-hosting driver