[U-Boot] [PATCH v3 0/5] x86: Add CPU uclass and multi-core support for Minnowboard MAX
Simon Glass
sjg at chromium.org
Thu Apr 30 07:11:10 CEST 2015
Hi Bin,
On 29 Apr 2015 10:26 pm, "Simon Glass" <sjg at chromium.org> wrote:
>
> This series adds a new CPU uclass which is intended to be useful on any
> architecture. So far it has a very simple interface and a command to show
> CPU details.
>
> This series also introduces multi-core init for x86. It is implemented and
> enabled on Minnowboard MAX, a single/dual-core Atom board. The CPU uclass
is
> implemented for x86 and the Simple Firmware Interface provides these
details
> to the kernel, since ACPI is not yet available.
>
> With these changes Minnowboard MAX can boot into Linux with both cores
> enabled.
>
> This series is available at u-boot-x86 branch 'cpu-working'.
>
> Changes in v3:
> - Rename CONFIG_STACK_SIZE to CONFIG_AP_STACK_SIZE
> - Remove sipi_vector_location and sipi_vector_location_size variables
> - Remove annoying /* 1ms */ comments
> - Rename sipi.S to sipi_vector.S
> - Correct 'ap_start32' to 'ap_start'
> - Use macros for cr0 bit fields
> - Correct style in a multi-line comment
> - Use UCODE_HEADER_LEN instead of 48
> - Remove unnecessary underscores in MP_FR_BLOCK_APS and MP_FR_NOBLOCK_APS
> - Use 'cpu number' instead of 'coreboot cpu number'
> - Remove a stray blank line in sipi.h
> - Enhance comment for @microcode_lock
> - Rename SMM_DEFAULT_BASE/SIZE to AP_DEFAULT_BASE/SIZE and drop smm.h
> - Use data32 instead of our own 'o32'
> - Move NUM_FIXED_MTRRS to mtrr.h
> - Avoid using asmlinkage on ap_init()
> - Add msr_clrbits_64() too
> - Collect all new MSRs into msr-index.h
> - Spell 'BayTrail' like so
> - Make set_max_freq() static
I did not sort out the secondary CPU init in this series. I will take a
look.
>
> Changes in v2:
> - Correct 'I2C uclass' typo
> - Add blank line in x86_cpu_get_desc()
>
> Simon Glass (5):
> x86: Add multi-processor init
> x86: Add functions to set and clear bits on MSRs
> x86: Allow CPUs to be set up after relocation
> x86: Add a CPU driver for baytrail
> x86: Enable multi-core init for Minnowboard MAX
>
> arch/x86/Kconfig | 30 ++
> arch/x86/cpu/Makefile | 2 +
> arch/x86/cpu/baytrail/Makefile | 1 +
> arch/x86/cpu/baytrail/cpu.c | 205 +++++++++
> arch/x86/cpu/cpu.c | 38 ++
> arch/x86/cpu/ivybridge/car.S | 1 +
> arch/x86/cpu/ivybridge/model_206ax.c | 4 +-
> arch/x86/cpu/mp_init.c | 496
++++++++++++++++++++++
> arch/x86/cpu/sipi_vector.S | 216 ++++++++++
> arch/x86/dts/minnowmax.dts | 20 +
> arch/x86/include/asm/arch-ivybridge/microcode.h | 3 -
> arch/x86/include/asm/arch-ivybridge/model_206ax.h | 2 -
> arch/x86/include/asm/cpu.h | 14 +
> arch/x86/include/asm/mp.h | 94 ++++
> arch/x86/include/asm/msr-index.h | 22 +-
> arch/x86/include/asm/msr.h | 28 ++
> arch/x86/include/asm/mtrr.h | 6 +-
> arch/x86/include/asm/processor.h | 3 +
> arch/x86/include/asm/sipi.h | 86 ++++
> arch/x86/include/asm/turbo.h | 3 -
> arch/x86/include/asm/u-boot-x86.h | 2 +
> common/board_r.c | 2 +-
> configs/minnowmax_defconfig | 4 +
> 23 files changed, 1268 insertions(+), 14 deletions(-)
> create mode 100644 arch/x86/cpu/baytrail/cpu.c
> create mode 100644 arch/x86/cpu/mp_init.c
> create mode 100644 arch/x86/cpu/sipi_vector.S
> create mode 100644 arch/x86/include/asm/mp.h
> create mode 100644 arch/x86/include/asm/sipi.h
>
> --
> 2.2.0.rc0.207.ga3a616c
>
Regards,
Simon
More information about the U-Boot
mailing list