Arm U-boot将在单核上运行?

Arm U-boot将在单核上运行?,arm,embedded-linux,u-boot,smp,Arm,Embedded Linux,U Boot,Smp,我正在开发基于TI Jacinot6(ARM CortexA15)的主板。我了解U-boot源代码。 根据start.S文件,执行以下汇编指令以禁用一级I/D缓存和TLB。此说明来自start.s() 根据ARM文件,CortexA15有4个核。 上面的代码将禁用正在运行的内核上的缓存和TLB,那么其他内核的缓存和TLB呢。U-boot源是否只在一个内核上运行?如果是,那么其他核心将如何被禁用 U-boot源是否只在一个内核上运行 U-Boot二进制文件(不是源文件)仅在一个处理器内核上执行。

我正在开发基于TI Jacinot6(ARM CortexA15)的主板。我了解U-boot源代码。 根据start.S文件,执行以下汇编指令以禁用一级I/D缓存和TLB。此说明来自start.s()


根据ARM文件,CortexA15有4个核。 上面的代码将禁用正在运行的内核上的缓存和TLB,那么其他内核的缓存和TLB呢。U-boot源是否只在一个内核上运行?如果是,那么其他核心将如何被禁用

U-boot源是否只在一个内核上运行

U-Boot二进制文件(不是源文件)仅在一个处理器内核上执行。
引导加载程序的功能不需要并行处理。
此外,Linux内核希望在启动时只启用一个内核

如果是,那么其他核心将如何被禁用


通常在处理器/系统复位后,仅启用一个内核;其他一切都处于静止或禁用状态

那么内核将在引导时启用其他内核

假设操作系统支持SMP(对称多处理器),那么它将在初始化过程中启用其他内核

您可以共享内核源代码链接(git)吗?它支持其他内核

对于ARM Cortex-A9四核(A15可能类似),Linux内核输出:

Booting Linux on physical CPU 0x0
Linux version 3.10.60+wandboard_1.0.2+1.0.0-wandboard (root@host) (gcc version 4.8.3 (crosstool-NG 1.19.0) ) #7 SMP Mon Dec 29 18:49:06 PST 2014
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX6 Quad/DualLite (Device Tree), model: Wandboard Quad based on Freescale i.MX6 Quad
...  
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B
...
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x804bdd30 - 0x804bdd88
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
...
Linux内核在中开始执行其C代码。
调用的第二个过程是ARM版本的,它负责在物理CPU上引导Linux…消息文本

start\u kernel()的末尾,将调用ARM版本的check\u bugs(),它负责
CPU:测试写入缓冲区一致性:…
消息文本


start_kernel();其他一切都处于静止或禁用状态。检查您提到的ARM文档。U-Boot将仅在一个内核上执行“根据ARM文档CortexA15有4个内核”-您确定吗?Cortex-A15设计可能支持每个集群最多4个内核的配置,但我在TI网站上看到的一切都表明Jacinto 6实现了双核配置。@sawdust感谢您提供的信息。那么内核将在引导时启用其他内核?请共享启用其他内核的内核源链接(git)。@不像CortexA15有4个内核,如图所示@。Jacinto 6有CortexA15和Cortex M4,请分享TI链接,解释Jacinto 6使用两个内核运行。
Booting Linux on physical CPU 0x0
Linux version 3.10.60+wandboard_1.0.2+1.0.0-wandboard (root@host) (gcc version 4.8.3 (crosstool-NG 1.19.0) ) #7 SMP Mon Dec 29 18:49:06 PST 2014
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX6 Quad/DualLite (Device Tree), model: Wandboard Quad based on Freescale i.MX6 Quad
...  
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B
...
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x804bdd30 - 0x804bdd88
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
...