| Summary: | yocto-bsp: several kernel configurations are ignored when creating a new bsp based on ARM | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] Meta-yocto | Reporter: | Alejandro Hernandez <alejandro.hernandez> |
| Component: | meta-yocto | Assignee: | Alejandro Hernandez <alejandro.hernandez> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium+ | CC: | daniela.plascencia, leonardo.sandoval.gonzalez, poky.bs.watcher, poky.watcher |
| Version: | 2.3 | ||
| Target Milestone: | 2.4 M1 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Alejandro Hernandez
2017-04-27 02:44:05 UTC
As mentioned all these warnings need to be analyzed one by one, here's why each CONFIG is missing:
--------------------------
CONFIG_SMP=y
Dependencies Missing:
- CPU_V6K or CPU_V7:
These are selected by setting:
CONFIG_ARCH_MULTI_V7=y
or
CONFIG_ARCH_MULTI_V6=7
BUT!, out ARM BSPs are based on armv4/v5 (via TUNEFEATURES), which are incompatible with SMP, we can either upgrade to armv6/v7 or simply avoid setting SMP for ARM based BSPs
- HAVE_SMP=y
This value is also set by setting:
CONFIG_ARCH_MULTI_V7=y
or
CONFIG_ARCH_MULTI_V6=7
--------------------------
CONFIG_SCHED_SMT=y
Dependencies Missing:
- CPU_V7
- SMP
Again, this would be fixed by selecting CONFIG_ARCH_MULTI_V7=y
--------------------------
CONFIG_NR_CPUS=64
According to Kconfig, this is the description for NR_CPUS:
config NR_CPUS
int "Maximum number of CPUs (2-32)"
range 2 32 supports 32
depends on SMP
default "4"
So, for starters this value is wrong since for ARM the maximum supported value is 32 and not 64 (I checked and once fixed, it will automatically be set to the maximum (32).
Since this one also depends on SMP=y, it would be fixed in the same fashion as the previous one, by using an ARM architecture (ARMv6 or ARMv7) that actually supports Symmetric Multiprocessing (SMP).
There needs to be a discussion on why we are using armv4/v5 (I'm not aware, there could be a good reason) and if we decide not to upgrade to V7 (preferrably), we need to make sure we avoid setting the previous values for BSPs based on this.
If we do decide to upgrade, a patch to kernel-meta would fix the problem.
|