[PATCH v2 00/25] x86: Enhance MTRR functionality to support multiple CPUs
Simon Glass
sjg at chromium.org
Sun Jun 14 18:59:33 CEST 2020
At present MTRRs are mirrored to the secondary CPUs only once, as those
CPUs are started up. But U-Boot may add more MTRRs later, e.g. if it
decides that a video console must be set up.
This series enhances the x86 multi-processor support to allow MTRRs to
be updated at any time. It also updates the 'mtrr' command to support
setting the MTRRs on CPUs other than the boot CPU.
Changes in v2:
- Add comments to explain what start_aps() does
- Drop change to include/dm/uclass.h
- Mention error return in get_bsp()
- Add more comments
- Add a comment to run_ap_work()
- Rename mtrr_save_all() to mtrr_read_all()
- Add a new patch to avoid enabling SMP in SPL
- Add new patch to add AP_DEFAULT_BASE to coral's memory map
- Rename function to mtrr_write_all()
- Keep things building by temporarily renaming the function in cmd/
- Drop the renamed mtrr_set_valid_() instead of mtrr_set_valid()
- Add a new patch with more comments
Simon Glass (25):
x86: mp_init: Switch to livetree
x86: Move MP code into mp_init
x86: mp_init: Avoid declarations in header files
x86: mp_init: Switch parameter names in start_aps()
x86: mp_init: Drop the num_cpus static variable
x86: mtrr: Fix 'ensable' typo
x86: mp_init: Set up the CPU numbers at the start
x86: mp_init: Adjust bsp_init() to return more information
x86: cpu: Remove unnecessary #ifdefs
x86: mp: Support APs waiting for instructions
global_data: Add a generic global_data flag for SMP state
x86: Set the SMP flag when MP init is complete
x86: mp: Allow running functions on multiple CPUs
x86: mp: Park CPUs before running the OS
x86: mp: Add iterators for CPUs
x86: mtrr: Use MP calls to list the MTRRs
x86: Don't enable SMP in SPL
x86: coral: Update the memory map
x86: mtrr: Update MTRRs on all CPUs
x86: mtrr: Add support for writing to MTRRs on any CPU
x86: mtrr: Update the command to use the new mtrr calls
x86: mtrr: Restructure so command execution is in one place
x86: mtrr: Update 'mtrr' to allow setting MTRRs on any CPU
x86: mp: Add more comments to the module
x86: mtrr: Enhance 'mtrr' command to list MTRRs on any CPU
arch/x86/cpu/Makefile | 2 +-
arch/x86/cpu/cpu.c | 63 ++--
arch/x86/cpu/i386/cpu.c | 26 +-
arch/x86/cpu/mp_init.c | 520 ++++++++++++++++++++++----
arch/x86/cpu/mtrr.c | 149 ++++++++
arch/x86/include/asm/mp.h | 132 ++++++-
arch/x86/include/asm/mtrr.h | 51 +++
cmd/x86/mtrr.c | 148 +++++---
doc/board/google/chromebook_coral.rst | 1 +
include/asm-generic/global_data.h | 1 +
10 files changed, 904 insertions(+), 189 deletions(-)
--
2.27.0.290.gba653c62da-goog
More information about the U-Boot
mailing list