Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

neonvm-kernel: reduce difference between configs #1248

Merged
merged 1 commit into from
Feb 20, 2025

Conversation

mikhail-sakhnov
Copy link
Contributor

@mikhail-sakhnov mikhail-sakhnov commented Feb 7, 2025

Take amd64 config, drop all x86,intel or amd related options. Add minimum set of variables required to build and boot on arm.

Diff is impossible to read, because it is 5k lines of dropped arm kernel config.

However, actual changes are the following:

  • Delete options having x86, amd or intel in the name
  • add following options to the end of the config
CONFIG_ARM=y
CONFIG_ARM_VIRT=y
CONFIG_ARCH_VIRT=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_ECAM=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_ARM_GIC=y
CONFIG_ARM_GIC_V3=y
CONFIG_HAVE_ARM_ARCH_TIMER=y
CONFIG_ARM_PSCI=y
CONFIG_HAVE_SMP=y
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
CONFIG_ARM_LPAE=y
CONFIG_VFP=y
CONFIG_RTC_DRV_PL031=y

Absolute minimum I see as required:

  • CONFIG_ARM, CONFIG_ARM_VIRT, CONFIG_ARCH_VIRT are generic options to specify we run on ARM in QEMU.

  • CONFIG_PCI_ECAM, CONFIG_PCI_HOST_GENERIC, CONFIG_SERIAL_AMBA_PL011, CONFIG_SERIAL_AMBA_PL011_CONSOLE are required to have serial port available.

-CONFIG_ARM_GIC support for interruptions.

The rest is either to be on pair with amd config or I found them useful potentially with large computers or they were mentioned in different sources as nice to have with qemu based emulation.

Based on top of the #1141 to trigger test run, both PRs are required for the e2e tests on arm.

#1196

This 877293b (#1248) commit has kernel related changes.

@mikhail-sakhnov mikhail-sakhnov force-pushed the misha/reduce-kernel-config-size branch from 7a4cecf to 877293b Compare February 7, 2025 13:57
Copy link

github-actions bot commented Feb 7, 2025

No changes to the coverage.

HTML Report

Click to open

@mikhail-sakhnov mikhail-sakhnov marked this pull request as ready for review February 7, 2025 15:02
@mikhail-sakhnov mikhail-sakhnov self-assigned this Feb 11, 2025
Copy link
Member

@sharnoff sharnoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it works, it works — looking forward to further improvements down the line :)

Maybe worth running make menuconfig on the ARM config to canonicalize it first

@mikhail-sakhnov mikhail-sakhnov force-pushed the misha/reduce-kernel-config-size branch from 877293b to 2b0c9d8 Compare February 12, 2025 16:49
@Omrigan Omrigan changed the base branch from main to misha/e2e-tests-on-arm February 17, 2025 11:08
@Omrigan Omrigan changed the base branch from misha/e2e-tests-on-arm to main February 17, 2025 11:09
Take amd64 config, drop all x86,intel or amd related options.
Add minimum set of variables required to build and boot on arm.

Signed-off-by: Mikhail Sakhnov <[email protected]>
@mikhail-sakhnov mikhail-sakhnov force-pushed the misha/reduce-kernel-config-size branch from 2b0c9d8 to 674afff Compare February 20, 2025 13:25
@Omrigan
Copy link
Contributor

Omrigan commented Feb 20, 2025

BTW, is it possible for us to have the same config for x86 and arm? Just enable everything which is needed by either one.

@mikhail-sakhnov
Copy link
Contributor Author

@Omrigan I think yes, there is a separate issue to handle config difference correctly #1093

This PR has slightly different scope - to reduce initially large and fat config.

@mikhail-sakhnov mikhail-sakhnov merged commit 8b00056 into main Feb 20, 2025
32 checks passed
@mikhail-sakhnov mikhail-sakhnov deleted the misha/reduce-kernel-config-size branch February 20, 2025 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants