diff options
author | danh-arm <dan.handley@arm.com> | 2016-03-09 08:45:23 +0000 |
---|---|---|
committer | danh-arm <dan.handley@arm.com> | 2016-03-09 08:45:23 +0000 |
commit | b6fc25e027ad63bb06a59f1eddebad85c4716097 (patch) | |
tree | d0275fac5d3bceb2a943e56cbc0c5899f54a7d0a | |
parent | 5e3120d152444137a8289249f506e1971859e493 (diff) | |
parent | 4e85e4fd11cab1b16b5ad1037fbdbd56a85d7d21 (diff) |
Merge pull request #541 from antonio-nino-diaz-arm/an/secondary-cpu-init
Initialize secondary CPUs during cold boot
-rw-r--r-- | docs/diagrams/default_reset_code.png | bin | 60028 -> 41796 bytes | |||
-rw-r--r-- | docs/diagrams/reset_code_flow.dia | bin | 4318 -> 4399 bytes | |||
-rw-r--r-- | docs/diagrams/reset_code_no_boot_type_check.png | bin | 59028 -> 42942 bytes | |||
-rw-r--r-- | docs/diagrams/reset_code_no_checks.png | bin | 51209 -> 39753 bytes | |||
-rw-r--r-- | docs/diagrams/reset_code_no_cpu_check.png | bin | 52471 -> 38566 bytes | |||
-rw-r--r-- | include/common/el3_common_macros.S | 21 |
6 files changed, 14 insertions, 7 deletions
diff --git a/docs/diagrams/default_reset_code.png b/docs/diagrams/default_reset_code.png Binary files differindex e7e0d855..d8675e4a 100644 --- a/docs/diagrams/default_reset_code.png +++ b/docs/diagrams/default_reset_code.png diff --git a/docs/diagrams/reset_code_flow.dia b/docs/diagrams/reset_code_flow.dia Binary files differindex 5de00dad..133c9cf6 100644 --- a/docs/diagrams/reset_code_flow.dia +++ b/docs/diagrams/reset_code_flow.dia diff --git a/docs/diagrams/reset_code_no_boot_type_check.png b/docs/diagrams/reset_code_no_boot_type_check.png Binary files differindex 8ce7e97a..23e865f6 100644 --- a/docs/diagrams/reset_code_no_boot_type_check.png +++ b/docs/diagrams/reset_code_no_boot_type_check.png diff --git a/docs/diagrams/reset_code_no_checks.png b/docs/diagrams/reset_code_no_checks.png Binary files differindex 8a02f0f8..26a179bc 100644 --- a/docs/diagrams/reset_code_no_checks.png +++ b/docs/diagrams/reset_code_no_checks.png diff --git a/docs/diagrams/reset_code_no_cpu_check.png b/docs/diagrams/reset_code_no_cpu_check.png Binary files differindex 8b05ea4d..4150dbef 100644 --- a/docs/diagrams/reset_code_no_cpu_check.png +++ b/docs/diagrams/reset_code_no_cpu_check.png diff --git a/include/common/el3_common_macros.S b/include/common/el3_common_macros.S index 6f7136f9..32df7d76 100644 --- a/include/common/el3_common_macros.S +++ b/include/common/el3_common_macros.S @@ -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: @@ -171,9 +171,19 @@ do_cold_boot: .endif /* _warm_boot_mailbox */ + /* --------------------------------------------------------------------- + * It is a cold boot. + * Perform any processor specific actions upon reset e.g. cache, TLB + * invalidations etc. + * --------------------------------------------------------------------- + */ + bl reset_handler + + el3_arch_init_common \_exception_vectors + .if \_secondary_cold_boot /* ------------------------------------------------------------- - * It is a cold boot. + * Check if this is a primary or secondary CPU cold boot. * The primary CPU will set up the platform while the * secondaries are placed in a platform-specific state until the * primary CPU performs the necessary actions to bring them out @@ -193,13 +203,10 @@ .endif /* _secondary_cold_boot */ /* --------------------------------------------------------------------- - * Perform any processor specific actions upon reset e.g. cache, TLB - * invalidations etc. + * Initialize memory now. Secondary CPU initialization won't get to this + * point. * --------------------------------------------------------------------- */ - bl reset_handler - - el3_arch_init_common \_exception_vectors .if \_init_memory bl platform_mem_init |