From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 00/20] x86: Add CPU uclass and multi-core support for Minnowboard MAX
Date: Mon, 27 Apr 2015 16:48:03 -0600 [thread overview]
Message-ID: <1430174911-27538-1-git-send-email-sjg@chromium.org> (raw)
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. A CPU driver is
implemented for generic x86 and Baytrail. The Simple Firmware Interface is
used to provide 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'.
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
x86: Add support for the Simple Firmware Interface (SFI)
dm: Implement a CPU uclass
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 | 53 ++++
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 | 217 +++++++++++++
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/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 | 171 +++++++++++
arch/x86/lib/zimage.c | 7 +
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 +
include/linux/sfi.h | 139 +++++++++
lib/display_options.c | 54 +++-
47 files changed, 2191 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/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
create mode 100644 include/linux/sfi.h
--
2.2.0.rc0.207.ga3a616c
next reply other threads:[~2015-04-27 22:48 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-27 22:48 Simon Glass [this message]
2015-04-27 22:48 ` [U-Boot] [PATCH 01/20] Fix comment nits in board_f.c Simon Glass
2015-04-28 1:54 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 02/20] dm: core: Add a function to bind a driver for a device tree node Simon Glass
2015-04-27 22:48 ` [U-Boot] [PATCH 03/20] x86: Remove unwanted MMC debugging Simon Glass
2015-04-28 1:59 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 04/20] x86: Disable -Werror Simon Glass
2015-04-28 1:59 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 05/20] Move display_options functions to their own header Simon Glass
2015-04-28 2:10 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 06/20] Add print_freq() to display frequencies nicely Simon Glass
2015-04-28 4:13 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 07/20] x86: Add support for the Simple Firmware Interface (SFI) Simon Glass
2015-04-28 6:51 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 08/20] dm: Implement a CPU uclass Simon Glass
2015-04-28 7:24 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 09/20] Add a 'cpu' command to print CPU information Simon Glass
2015-04-28 7:34 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 10/20] x86: Add atomic operations Simon Glass
2015-04-28 7:38 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 11/20] x86: Add defines for fixed MTRRs Simon Glass
2015-04-28 7:45 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 12/20] x86: Add an mfence macro Simon Glass
2015-04-28 7:48 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 13/20] x86: Store the GDT pointer in global_data Simon Glass
2015-04-28 7:55 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 14/20] x86: Provide access to the IDT Simon Glass
2015-04-28 8:16 ` Bin Meng
2015-04-29 2:08 ` Simon Glass
2015-04-29 5:23 ` Bin Meng
2015-04-27 22:48 ` [U-Boot] [PATCH 15/20] x86: Add multi-processor init Simon Glass
2015-04-27 22:48 ` [U-Boot] [PATCH 16/20] x86: Add functions to set and clear bits on MSRs Simon Glass
2015-04-27 22:48 ` [U-Boot] [PATCH 17/20] x86: Allow CPUs to be set up after relocation Simon Glass
2015-04-27 22:48 ` [U-Boot] [PATCH 18/20] x86: Add a CPU driver for baytrail Simon Glass
2015-04-27 22:48 ` [U-Boot] [PATCH 19/20] x86: Tidy up the LAPIC init code Simon Glass
2015-04-27 22:48 ` [U-Boot] [PATCH 20/20] x86: Enable multi-core init for Minnowboard MAX Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1430174911-27538-1-git-send-email-sjg@chromium.org \
--to=sjg@chromium.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.