Hi Simon, On Wed, Apr 29, 2015 at 10:25 AM, Simon Glass <[email protected]> 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 v2: > - Use capitals for the header guard > - Change 'print' to 'Print' in comment > - Correct bugs in number output > - Change header guard to capital letters > - Change get_info() in function comment to cpu_get_info() > - Rename CONFIG_SFI to CONFIG_GENERATE_SFI_TABLE and move within Kconfig > - Correct Kconfig help indentation and text > - Drop SFI_BASE config option > - Always build sfi.o > - Use SFI_TABLE_MAX_ENTRIES instead of 16 and ARRAY_SIZE() > - Make get_entry_start() static > - Use table_compute_checksum() to computer checksum > - Add a few blank lines > - Move patch to after the CPU uclass patch > - Drop the RTC table as it is not needed > - Move SFI calling code to write_tables() > - Remove IDLE table > - Remove SFI_SYST_SEARCH_BEGIN and SFI_SYST_SEARCH_END > - Move '__packed' to immediately after 'struct' > - Add SFI_DEV_TYPE_SD and convert to enum > - Remove #ifdef CONFIG_SFI from hedaer file > - Move sfi.h header file to arch/x86/include/asm > - Remove unnecessary \t\n after mfence assembler instruction >
This is quick! :) I have not finished reviewing the v1. I will continue reviewing the v2. > Simon Glass (20): > Fix comment nits in board_f.c > dm: core: Add a function to bind a driver for a device tree node > x86: Remove unwanted MMC debugging > x86: Disable -Werror > Move display_options functions to their own header > Add print_freq() to display frequencies nicely > dm: Implement a CPU uclass > x86: Add support for the Simple Firmware Interface (SFI) > Add a 'cpu' command to print CPU information > x86: Add atomic operations > x86: Add defines for fixed MTRRs > x86: Add an mfence macro > x86: Store the GDT pointer in global_data > x86: Provide access to the IDT > 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: Tidy up the LAPIC init code > x86: Enable multi-core init for Minnowboard MAX > > arch/x86/Kconfig | 39 +++ > arch/x86/cpu/Makefile | 2 + > arch/x86/cpu/baytrail/Makefile | 1 + > arch/x86/cpu/baytrail/cpu.c | 206 +++++++++++++ > arch/x86/cpu/baytrail/valleyview.c | 1 - > arch/x86/cpu/config.mk | 2 +- > arch/x86/cpu/cpu.c | 38 +++ > arch/x86/cpu/interrupts.c | 5 + > arch/x86/cpu/ivybridge/model_206ax.c | 4 +- > arch/x86/cpu/lapic.c | 20 +- > arch/x86/cpu/mp_init.c | 507 > +++++++++++++++++++++++++++++++ > arch/x86/cpu/sipi.S | 215 +++++++++++++ > arch/x86/dts/minnowmax.dts | 20 ++ > arch/x86/include/asm/arch-baytrail/msr.h | 30 ++ > arch/x86/include/asm/atomic.h | 115 +++++++ > arch/x86/include/asm/cpu.h | 19 ++ > arch/x86/include/asm/global_data.h | 1 + > arch/x86/include/asm/interrupt.h | 2 + > arch/x86/include/asm/lapic.h | 7 - > arch/x86/include/asm/mp.h | 94 ++++++ > arch/x86/include/asm/msr.h | 19 ++ > arch/x86/include/asm/mtrr.h | 14 + > arch/x86/include/asm/sfi.h | 137 +++++++++ > arch/x86/include/asm/sipi.h | 79 +++++ > arch/x86/include/asm/smm.h | 14 + > arch/x86/include/asm/u-boot-x86.h | 2 + > arch/x86/lib/Makefile | 1 + > arch/x86/lib/sfi.c | 154 ++++++++++ > arch/x86/lib/tables.c | 5 + > common/Kconfig | 8 + > common/Makefile | 1 + > common/board_f.c | 9 +- > common/board_r.c | 2 +- > common/cmd_cpu.c | 113 +++++++ > configs/minnowmax_defconfig | 4 + > drivers/Kconfig | 2 + > drivers/Makefile | 1 + > drivers/core/lists.c | 9 +- > drivers/cpu/Kconfig | 8 + > drivers/cpu/Makefile | 7 + > drivers/cpu/cpu-uclass.c | 61 ++++ > include/common.h | 16 +- > include/cpu.h | 84 +++++ > include/display_options.h | 59 ++++ > include/dm/lists.h | 16 + > include/dm/uclass-id.h | 1 + > lib/display_options.c | 51 +++- > 47 files changed, 2151 insertions(+), 54 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.S > create mode 100644 arch/x86/include/asm/arch-baytrail/msr.h > create mode 100644 arch/x86/include/asm/atomic.h > create mode 100644 arch/x86/include/asm/mp.h > create mode 100644 arch/x86/include/asm/sfi.h > create mode 100644 arch/x86/include/asm/sipi.h > create mode 100644 arch/x86/include/asm/smm.h > create mode 100644 arch/x86/lib/sfi.c > create mode 100644 common/cmd_cpu.c > create mode 100644 drivers/cpu/Kconfig > create mode 100644 drivers/cpu/Makefile > create mode 100644 drivers/cpu/cpu-uclass.c > create mode 100644 include/cpu.h > create mode 100644 include/display_options.h > > -- Regards, Bin _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

