aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/intel/smm/gen1/smi.h
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2018-01-25 20:03:42 +0100
committerArthur Heymans <arthur@aheymans.xyz>2019-01-22 12:16:18 +0000
commitedbf5d913819726a09cd56bace2d13e74b560ab1 (patch)
treecd33c998831b53e838e255565aba3b97fdbc8a69 /src/cpu/intel/smm/gen1/smi.h
parentd30894b835eb466e6e46c64317edf96e5554b138 (diff)
cpu/intel/model_206ax: Use parallel MP init
This patch adds a few southbridge calls needed for parallel MP init. Moves the smm_relocate() function to smm/gen1/smi.h, since that is where this function is defined now. Tested on Thinkpad X220, shaves off ~30ms on a 2 core, 4 threads CPU. Change-Id: Ia1d547ed4a3cb6746a0222c3e54e94e5848b0dd7 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/25618 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/cpu/intel/smm/gen1/smi.h')
-rw-r--r--src/cpu/intel/smm/gen1/smi.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/cpu/intel/smm/gen1/smi.h b/src/cpu/intel/smm/gen1/smi.h
index cc6811fd63..6d08bb3684 100644
--- a/src/cpu/intel/smm/gen1/smi.h
+++ b/src/cpu/intel/smm/gen1/smi.h
@@ -11,6 +11,10 @@
* GNU General Public License for more details.
*/
+#include <device/device.h>
+
+void bsp_init_and_start_aps(struct bus *cpu_bus);
+
/* These helpers are for performing SMM relocation. */
void southbridge_smm_init(void);
void southbridge_trigger_smi(void);
@@ -21,3 +25,12 @@ int cpu_get_apic_id_map(int *apic_id_map);
void northbridge_write_smram(u8 smram);
bool cpu_has_alternative_smrr(void);
+
+/* parallel MP helper functions */
+void smm_info(uintptr_t *perm_smbase, size_t *perm_smsize,
+ size_t *smm_save_state_size);
+void smm_initialize(void);
+void southbridge_smm_clear_state(void);
+void smm_relocation_handler(int cpu, uintptr_t curr_smbase,
+ uintptr_t staggered_smbase);
+void smm_relocate(void);