Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame] | 1 | Optional Modifications |
Jimmy Brisson | a48f507 | 2020-04-02 15:19:16 -0500 | [diff] [blame] | 2 | ====================== |
| 3 | |
| 4 | The following are helper functions implemented by the test framework that |
| 5 | perform common platform-specific tasks. A platform may choose to override these |
| 6 | definitions. |
| 7 | |
| 8 | Function : platform_get_stack() |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame] | 9 | ------------------------------- |
Jimmy Brisson | a48f507 | 2020-04-02 15:19:16 -0500 | [diff] [blame] | 10 | |
| 11 | :: |
| 12 | |
| 13 | Argument : unsigned long |
| 14 | Return : unsigned long |
| 15 | |
| 16 | This function returns the base address of the memory stack that has been |
| 17 | allocated for the CPU specified by MPIDR. The size of the stack allocated to |
| 18 | each CPU is specified by the platform defined constant ``PLATFORM_STACK_SIZE``. |
| 19 | |
| 20 | Common implementation of this function is provided in |
| 21 | ``plat/common/aarch64/platform_mp_stack.S``. |
| 22 | |
| 23 | Function : tftf_platform_end() |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame] | 24 | ------------------------------ |
Jimmy Brisson | a48f507 | 2020-04-02 15:19:16 -0500 | [diff] [blame] | 25 | |
| 26 | :: |
| 27 | |
| 28 | Argument : void |
| 29 | Return : void |
| 30 | |
| 31 | This function performs any operation required by the platform to properly finish |
| 32 | the test session. |
| 33 | |
| 34 | The default implementation sends an EOT (End Of Transmission) character on the |
| 35 | UART. This can be used to automatically shutdown the FVP models. When running on |
| 36 | real hardware, the UART output may be parsed by an external tool looking for |
| 37 | this character and rebooting the platform for example. |
| 38 | |
| 39 | Function : tftf_plat_reset() |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame] | 40 | ---------------------------- |
Jimmy Brisson | a48f507 | 2020-04-02 15:19:16 -0500 | [diff] [blame] | 41 | |
| 42 | :: |
| 43 | |
| 44 | Argument : void |
| 45 | Return : void |
| 46 | |
| 47 | This function resets the platform. |
| 48 | |
| 49 | The default implementation uses the ARM watchdog peripheral (`SP805`_) to |
| 50 | generate a watchdog timeout interrupt. This interrupt remains deliberately |
| 51 | unserviced, which eventually asserts the reset signal. |
| 52 | |
Soby Mathew | 2c2810f | 2024-11-15 17:11:24 +0000 | [diff] [blame] | 53 | Function : plat_pcie_get_info_table() |
| 54 | ---------------------------- |
| 55 | |
| 56 | :: |
| 57 | |
| 58 | Argument : void |
| 59 | Return : struct pcie_info_table * |
| 60 | |
| 61 | This function returns the pointer to `pcie_info_table` structure |
| 62 | correponding to the platform. This needs to be implemented |
| 63 | only if the platform want to run PCIe related tests. |
| 64 | |
Jimmy Brisson | a48f507 | 2020-04-02 15:19:16 -0500 | [diff] [blame] | 65 | -------------- |
| 66 | |
| 67 | *Copyright (c) 2019, Arm Limited. All rights reserved.* |
| 68 | |
| 69 | .. _SP805: https://static.docs.arm.com/ddi0270/b/DDI0270.pdf |