| #
ec786cbc |
| 19-May-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Merge pull request #78 from jeenuv:tf-issues-148
|
| #
2da8d8bf |
| 12-May-2014 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
Add build configuration for timer save/restore
At present, non-secure timer register contents are saved and restored as part of world switch by BL3-1. This effectively means that the non-secure time
Add build configuration for timer save/restore
At present, non-secure timer register contents are saved and restored as part of world switch by BL3-1. This effectively means that the non-secure timer stops, and non-secure timer interrupts are prevented from asserting until BL3-1 switches back, introducing latency for non-secure services. Often, secure world might depend on alternate sources for secure interrupts (secure timer or platform timer) instead of non-secure timers, in which case this save and restore is unnecessary.
This patch introduces a boolean build-time configuration NS_TIMER_SWITCH to choose whether or not to save and restore non-secure timer registers upon world switch. The default choice is made not to save and restore them.
Fixes ARM-software/tf-issues#148
Change-Id: I1b9d623606acb9797c3e0b02fb5ec7c0a414f37e
show more ...
|
| #
e35c4045 |
| 15-May-2014 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
Reorganize build options
At present, various build options are initialized at various places in the Makefile. This patch gathers all build option declarations at the top of the Makefile and assigns
Reorganize build options
At present, various build options are initialized at various places in the Makefile. This patch gathers all build option declarations at the top of the Makefile and assigns them default values.
Change-Id: I9f527bc8843bf69c00cb754dc60377bdb407a951
show more ...
|
| #
289e0dad |
| 16-May-2014 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
Introduce convenience functions to build
This patch introduces two convenience functions to the build system:
- assert_boolean: asserts that a given option is assigned either 0 or 1 as values
Introduce convenience functions to build
This patch introduces two convenience functions to the build system:
- assert_boolean: asserts that a given option is assigned either 0 or 1 as values
- add_define: helps add/append macro definitions to build tool command line. This also introduces the variable DEFINES which is used to collect and pass all relevant configurations to build tools
Change-Id: I3126894b034470d39858ebb3bd183bda681c7126
show more ...
|
| #
a43d431b |
| 07-Apr-2014 |
Soby Mathew <soby.mathew@arm.com> |
Rework BL3-1 unhandled exception handling and reporting
This patch implements the register reporting when unhandled exceptions are taken in BL3-1. Unhandled exceptions will result in a dump of regis
Rework BL3-1 unhandled exception handling and reporting
This patch implements the register reporting when unhandled exceptions are taken in BL3-1. Unhandled exceptions will result in a dump of registers to the console, before halting execution by that CPU. The Crash Stack, previously called the Exception Stack, is used for this activity. This stack is used to preserve the CPU context and runtime stack contents for debugging and analysis.
This also introduces the per_cpu_ptr_cache, referenced by tpidr_el3, to provide easy access to some of BL3-1 per-cpu data structures. Initially, this is used to provide a pointer to the Crash stack.
panic() now prints the the error file and line number in Debug mode and prints the PC value in release mode.
The Exception Stack is renamed to Crash Stack with this patch. The original intention of exception stack is no longer valid since we intend to support several valid exceptions like IRQ and FIQ in the trusted firmware context. This stack is now utilized for dumping and reporting the system state when a crash happens and hence the rename.
Fixes ARM-software/tf-issues#79 Improve reporting of unhandled exception
Change-Id: I260791dc05536b78547412d147193cdccae7811a
show more ...
|
| #
408c3768 |
| 06-May-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #48 from danh-arm/dh/major-refactoring
dh/major refactoring
|
| #
bee82417 |
| 15-Apr-2014 |
Dan Handley <dan.handley@arm.com> |
Remove vpath usage in makefiles
Remove all usage of the vpath keyword in makefiles as it was prone to mistakes. Specify the relative paths to source files instead.
Also reorder source files in make
Remove vpath usage in makefiles
Remove all usage of the vpath keyword in makefiles as it was prone to mistakes. Specify the relative paths to source files instead.
Also reorder source files in makefiles alphabetically.
Fixes ARM-software/tf-issues#121
Change-Id: Id15f60655444bae60e0e2165259efac71a50928b
show more ...
|
| #
35e98e55 |
| 09-Apr-2014 |
Dan Handley <dan.handley@arm.com> |
Make use of user/system includes more consistent
Make codebase consistent in its use of #include "" syntax for user includes and #include <> syntax for system includes.
Fixes ARM-software/tf-issues
Make use of user/system includes more consistent
Make codebase consistent in its use of #include "" syntax for user includes and #include <> syntax for system includes.
Fixes ARM-software/tf-issues#65
Change-Id: If2f7c4885173b1fd05ac2cde5f1c8a07000c7a33
show more ...
|
| #
4ecca339 |
| 09-Apr-2014 |
Dan Handley <dan.handley@arm.com> |
Move include and source files to logical locations
Move almost all system include files to a logical sub-directory under ./include. The only remaining system include directories not under ./include
Move include and source files to logical locations
Move almost all system include files to a logical sub-directory under ./include. The only remaining system include directories not under ./include are specific to the platform. Move the corresponding source files to match the include directory structure.
Also remove pm.h as it is no longer used.
Change-Id: Ie5ea6368ec5fad459f3e8a802ad129135527f0b3
show more ...
|
| #
9c2c763d |
| 15-Apr-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #36 from athoelke/at/gc-sections-80
Using GCC --gc-sections to eliminate unused code and data
|
| #
dccc537a |
| 18-Mar-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Use --gc-sections during link
All common functions are being built into all binary images, whether or not they are actually used. This change enables the use of -ffunction-sections, -fdata-sections
Use --gc-sections during link
All common functions are being built into all binary images, whether or not they are actually used. This change enables the use of -ffunction-sections, -fdata-sections and --gc-sections in the compiler and linker to remove unused code and data from the images.
Change-Id: Ia9f78c01054ac4fa15d145af38b88a0d6fb7d409
show more ...
|
| #
8d2296f3 |
| 21-Mar-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Build system: Trigger dependency checking only for build targets
The Makefile used to specify a blacklist of rules for which dependency checking must not be triggered. This list included cleaning r
Build system: Trigger dependency checking only for build targets
The Makefile used to specify a blacklist of rules for which dependency checking must not be triggered. This list included cleaning rules only, whereas all other non-build targets (e.g. help, checkpatch, etc.) should also be included.
This approach seems a bit fragile because it is easy to forget some non-building rules in the blacklist, as the experience showed us. It is more robust to specify a whitelist of rules for which dependency checking is required.
Fixes ARM-software/tf-issues#112
Change-Id: I030c405abb35972a726a5200396430316d18f963
show more ...
|
| #
08c7ed0f |
| 21-Mar-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Build system: Remove last traces of 'PLAT=all'
It used to be possible to build all bootloader binaries for all platforms using 'PLAT=all'. This feature has been removed but there are still some tr
Build system: Remove last traces of 'PLAT=all'
It used to be possible to build all bootloader binaries for all platforms using 'PLAT=all'. This feature has been removed but there are still some traces of its existence. This patch removes them.
Change-Id: Ic671a5c20c5b64acbd0a912d2e4db8f9d9574610
show more ...
|
| #
9f98aa1a |
| 11-Mar-2014 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
Specify image entry in linker script
At present, the entry point for each BL image is specified via the Makefiles and provided on the command line to the linker. When using a link script the entry p
Specify image entry in linker script
At present, the entry point for each BL image is specified via the Makefiles and provided on the command line to the linker. When using a link script the entry point should rather be specified via the ENTRY() directive in the link script.
This patch updates linker scripts of all BL images to specify the entry point using the ENTRY() directive. It also removes the --entry flag passed to the linker through Makefile.
Fixes issue ARM-software/tf-issues#66
Change-Id: I1369493ebbacea31885b51185441f6b628cf8da0
show more ...
|
| #
64f6ea9b |
| 28-Feb-2014 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
Implement ARM Standard Service
This patch implements ARM Standard Service as a runtime service and adds support for call count, UID and revision information SMCs. The existing PSCI implementation is
Implement ARM Standard Service
This patch implements ARM Standard Service as a runtime service and adds support for call count, UID and revision information SMCs. The existing PSCI implementation is subsumed by the Standard Service calls and all PSCI calls are therefore dispatched by the Standard Service to the PSCI handler.
At present, PSCI is the only specification under Standard Service. Thus call count returns the number of PSCI calls implemented. As this is the initial implementation, a revision number of 0.1 is returned for call revision.
Fixes ARM-software/tf-issues#62
Change-Id: I6d4273f72ad6502636efa0f872e288b191a64bc1
show more ...
|
| #
4bfc2d21 |
| 13-Feb-2014 |
Jon Medhurst <tixy@linaro.org> |
Enable platforms to omit some bootloaders
If a platform doesn't specify a BLx_SOURCE variable, then building of the corresponding bootloader isn't attempted. Also allow BL3-3 to be omitted from the
Enable platforms to omit some bootloaders
If a platform doesn't specify a BLx_SOURCE variable, then building of the corresponding bootloader isn't attempted. Also allow BL3-3 to be omitted from the FIP.
Note, this change also removes support for PLAT=all and the 'fip' target from the 'all' recipe.
Fixes ARM-software/tf-issues#30
Change-Id: Ibdfead0440256eaf364617ecff65290ca6fe6240 Signed-off-by: Jon Medhurst <tixy@linaro.org>
show more ...
|
| #
fb052462 |
| 17-Feb-2014 |
Jon Medhurst <tixy@linaro.org> |
Generate build time and date message at link time.
So it updates each time a bootloader changes, not just when bl*_main.c files are recompiled.
Fixes ARM-software/tf-issues#33
Change-Id: Ie8e1a7bd
Generate build time and date message at link time.
So it updates each time a bootloader changes, not just when bl*_main.c files are recompiled.
Fixes ARM-software/tf-issues#33
Change-Id: Ie8e1a7bd7e1913d2e96ac268606284f76af8c5ab Signed-off-by: Jon Medhurst <tixy@linaro.org>
show more ...
|
| #
6d55d109 |
| 12-Feb-2014 |
Jon Medhurst <tixy@linaro.org> |
Update Makefiles to get proper dependency checking working.
This change requires all platforms to now specify a list of source files rather than object files.
New source files should preferably be
Update Makefiles to get proper dependency checking working.
This change requires all platforms to now specify a list of source files rather than object files.
New source files should preferably be specified by using the path as well and we should add this in the future for all files so we can remove use of vpath. This is desirable because vpath hides issues like the fact that BL2 currently pulls in a BL1 file bl1/aarch64/early_exceptions.S and if in the future we added bl2/aarch64/early_exceptions.S then it's likely only one of the two version would be used for both bootloaders.
This change also removes the 'dump' build target and simply gets bootloaders to always generate a dump file. At the same time the -x option is added so the section headers and symbols table are listed.
Fixes ARM-software/tf-issues#11
Change-Id: Ie38f7be76fed95756c8576cf3f3ea3b7015a18dc Signed-off-by: Jon Medhurst <tixy@linaro.org>
show more ...
|
| #
8aa559c0 |
| 21-Feb-2014 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
Revert accidental removal of BL2 from help message
Commit 375f538a7 in Github accidentally removed the BL2 targets from the Makefile help message. This patch reverts that change.
Change-Id: I825a9a
Revert accidental removal of BL2 from help message
Commit 375f538a7 in Github accidentally removed the BL2 targets from the Makefile help message. This patch reverts that change.
Change-Id: I825a9abe5b4ba0f15d02879dda1056912e2ad60c
show more ...
|
| #
2f2cef46 |
| 19-Feb-2014 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
Cleanup FIP build targets and messages
At present the fip.bin depends on phony targets for BL images, resulting in unconditional remake of fip.bin. Also the build messages doesn't match with the res
Cleanup FIP build targets and messages
At present the fip.bin depends on phony targets for BL images, resulting in unconditional remake of fip.bin. Also the build messages doesn't match with the rest of build system.
This patch modifies the fip.bin dependencies to the actual BL binary images so that fip.bin is remade only when the component images are rebuilt/modified. The build messages and FIP Makefile are modified to match the style of rest of the build system.
Change-Id: I8dd08666ff766d106820a5b4b037c2161bcf140f
show more ...
|
| #
375f538a |
| 18-Feb-2014 |
Achin Gupta <achin.gupta@arm.com> |
Add Test Secure Payload Dispatcher (TSPD) service
This patch adds the TSPD service which is responsible for managing communication between the non-secure state and the Test Secure Payload (TSP) exec
Add Test Secure Payload Dispatcher (TSPD) service
This patch adds the TSPD service which is responsible for managing communication between the non-secure state and the Test Secure Payload (TSP) executing in S-EL1.
The TSPD does the following:
1. Determines the location of the TSP (BL3-2) image and passes control to it for initialization. This is done by exporting the 'bl32_init()' function.
2. Receives a structure containing the various entry points into the TSP image as a response to being initialized. The TSPD uses this information to determine how the TSP should be entered depending on the type of operation.
3. Implements a synchronous mechanism for entering into and returning from the TSP image. This mechanism saves the current C runtime context on top of the current stack and jumps to the TSP through an ERET instruction. The TSP issues an SMC to indicate completion of the previous request. The TSPD restores the saved C runtime context and resumes TSP execution.
This patch also introduces a Make variable 'SPD' to choose the specific SPD to include in the build. By default, no SPDs are included in the build.
Change-Id: I124da5695cdc510999b859a1bf007f4d049e04f3 Co-authored-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
show more ...
|
| #
0a9f7473 |
| 09-Feb-2014 |
Achin Gupta <achin.gupta@arm.com> |
Move PSCI to runtime services directory
This patch creates a 'services' directory and moves the PSCI under it. Other runtime services e.g. the Secure Payload Dispatcher service will be placed under
Move PSCI to runtime services directory
This patch creates a 'services' directory and moves the PSCI under it. Other runtime services e.g. the Secure Payload Dispatcher service will be placed under the same directory in the future.
Also fixes issue ARM-software/tf-issues#12
Change-Id: I187f83dcb660b728f82155d91882e961d2255068
show more ...
|
| #
a0cd989d |
| 09-Feb-2014 |
Achin Gupta <achin.gupta@arm.com> |
Factor out translation table setup in ARM FVP port
This patch factors out the ARM FVP specific code to create MMU translation tables so that it is possible for a boot loader stage to create a differ
Factor out translation table setup in ARM FVP port
This patch factors out the ARM FVP specific code to create MMU translation tables so that it is possible for a boot loader stage to create a different set of tables instead of using the default ones. The default translation tables are created with the assumption that the calling boot loader stage executes out of secure SRAM. This might not be true for the BL3_2 stage in the future.
A boot loader stage can define the `fill_xlation_tables()` function as per its requirements. It returns a reference to the level 1 translation table which is used by the common platform code to setup the TTBR_EL3.
This patch is a temporary solution before a larger rework of translation table creation logic is introduced.
Change-Id: I09a075d5da16822ee32a411a9dbe284718fb4ff6
show more ...
|
| #
7421b465 |
| 01-Feb-2014 |
Achin Gupta <achin.gupta@arm.com> |
Add runtime services framework
This patch introduces the framework to enable registration and initialisation of runtime services. PSCI is registered and initialised as a runtime service. Handling of
Add runtime services framework
This patch introduces the framework to enable registration and initialisation of runtime services. PSCI is registered and initialised as a runtime service. Handling of runtime service requests will be implemented in subsequent patches.
Change-Id: Id21e7ddc5a33d42b7d6e455b41155fc5441a9547
show more ...
|
| #
f58ad36f |
| 10-Jan-2014 |
Harry Liebel <Harry.Liebel@arm.com> |
Add Firmware Image Package creation tool
This tool can be used to create a Firmware Image Packages (FIP). These FIPs store a combined set of firmware images with a Table of Contents (ToC) that can b
Add Firmware Image Package creation tool
This tool can be used to create a Firmware Image Packages (FIP). These FIPs store a combined set of firmware images with a Table of Contents (ToC) that can be loaded by the firmware from platform storage.
- Add uuid.h from FreeBSD. - Use symbolic links to shared headers otherwise unwanted headers and definitions are pulled in. - A FIP is created as part of the default FVP build. - A BL3-3 image(e.g. UEFI) must be provided.
Change-Id: Ib73feee181df2dba68bf6abec115a83cfa5e26cb
show more ...
|