[PATCH 00/22] x86: Enhance MTRR functionality to support multiple CPUs
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Fri May 22 12:54:57 CEST 2020
On Thu, May 21, 2020 at 08:23:04PM -0600, Simon Glass wrote:
> 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.
Hmm... Why do you need MTRR if CPU supports PAT?
>
>
> Simon Glass (22):
> 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: 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: mtrr: Enhance 'mtrr' command to list MTRRs on any CPU
>
> arch/x86/cpu/cpu.c | 63 ++---
> arch/x86/cpu/i386/cpu.c | 26 +--
> arch/x86/cpu/mp_init.c | 377 +++++++++++++++++++++++++-----
> arch/x86/cpu/mtrr.c | 149 ++++++++++++
> arch/x86/include/asm/mp.h | 118 ++++++++--
> arch/x86/include/asm/mtrr.h | 51 ++++
> cmd/x86/mtrr.c | 148 ++++++++----
> include/asm-generic/global_data.h | 1 +
> include/dm/uclass.h | 2 +-
> 9 files changed, 751 insertions(+), 184 deletions(-)
>
> --
> 2.27.0.rc0.183.gde8f92d652-goog
>
--
With Best Regards,
Andy Shevchenko
More information about the U-Boot
mailing list