Remove "AMD P-State Self Test" as it's only for debugging. Adjust some
forced settings as X86_INTEL_PSTATE may be unset if SCHED_MC unset.
Mention X86 Platform Specific Device Drivers may provide platform
profile support (actually more powerful than CPUFreq).
Also fix a glitch in kernel-config.py so it won't mark "'" as hotkey
anymore.
CRYPTO_DH is automatically set if KEY_DH_OPERATIONS is set, so there is
no need to mention it. CRYPTO_LIB_CHACHA20POLY1305 is needed to be y
or BIG_KEYS won't show up.
This is a preparation for GRUB 2.12. With GRUB 2.12 EFI stub is the
recommended way to boot x86 (32-bit or 64-bit) kernels with UEFI, and
the old way is only kept as fallback.
In Linux 6.6, we can select DRM_FBDEV_EMULATION without FB, so FB is no
longer needed. And now FRAMEBUFFER_CONSOLE is not enforced (even if FB
is selected), so we need to select it manually.
Intel and AMD microcode support is now always enabled on x86[_64] and
CONFIG_MICROCODE is now hidden, thus remove amd-ucode and intel-ucode
kernel configuration info.
The other changes seem trivial.
We were saying "-jN means using N cores (or N threads)". This is
completely wrong. "-jN" only tells the building system to run N jobs
simultaneously, but each job can start their own subprocesses or threads
and there is no way for the building system to know how many
subprocesses or threads a job will start.
This caused a lot of misunderstandings and encouraged users to wrongly
blame building systems.
Fix the description of -jN, and add how to use cgroup to control the
usage of CPU cores and system RAM.
On a systemd-based system, systemd is the cgroup manager and manually
operating on cgroups may puzzle systemd. So use systemd-run for
creating and setting up cgroup. On a sysv-based system create and set
up the cgroup manually.
I guess Ken forgot a "git add" here :).
And the entry for NAMESPACES should be "-*-", not "[*]". It's because
we assume everyone is not setting EXPERT.
The special parse_choice function is just duplicating code unnecessary
and it has some flaws. Remove it and handle choice's with parse_config
too.
All kernel.xml files regenerated and there is no change.
It's almost a plain "conversion". Exceptions:
- In elogind, [CGROUPS] is dropped because it's in LFS now.
- In libusb, move the kernel configuration to match the layout of other
packages.
For example:
menu "Power management and ACPI options"
config ARCH_SUPPORTS_ACPI
bool
config ACPI
bool
depends on ARCH_SUPPORTS_ACPI
prompt "ACPI (Advanced Configuration and Power Interface) Support"
endmenu
If ACPI=y, we need to "backward propagate" it to ARCH_SUPPORTS_ACPI, in
order to further mark the menu used. Otherwise the ACPI menu won't show
up.
1. Don't throw unspecified entries too early. Doing so caused various
rendering glitches. And we can now also check if an entry is
selected but it's parent not.
2. "menu"s in Kconfig can also have dependencies...
Some pre-existing .toml data files are found problematic after the
change, fix them and regenerate all rendered -kernel.xml files.
This is stupid and it will cause meaningless diffs in version control
(like this commit does :( ).
Remove the kernel version from the generated XML files. Add
kernel.version file into git to track the kernel version.
I don't know these FS very well so I did not change things, except:
- "SCSI_LOW_LEVEL" should be "SCSI_LOWLEVEL" (without the "_" between
"LOW" and "LEVEL").
- RAID append mode is deprecated, so I removed it.
And I've fixed some issues in kernel-config.py as well.