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

Staging branch for merging 5.10 kernel changes, gnupg2.4 and flashrom 1.3 (testing needed) #1398

Merged
merged 37 commits into from
Jul 4, 2023

Commits on Jun 27, 2023

  1. config/linux-x230-*: migrate from 4.14 to 5.10 + add CONFIG_DRM_FBDEV…

    …_LEAK_PHYS_SMEM=y
    
    It was impossible to use directly 4.14 defconfig and apply it to 5.10.
    Saving 4.14 in oldconfig, then editing in 5.10 was necessary.
    - E1000E module (as kernel module support...) was lost in conversion and needed to be added back.
    
    Also tuned things up:
    - legacy-flash has no RETPOLINE, no security policy at all. Has expected usb controllers modules, exFAT and bare minimal support for flashrom.
      - IMPORTANT: CONFIG_X86_IOPL_IOPERM kernel option is required by flashrom
    - legacy adds sata, retpoline, additional modules (ethernet), security policy related material on top of legacy-flash config
    - maximized adds MMC card support, mousedev+synaptic (to report presence through oem-system-info-xx30), thin provisioning+snapshot support
    - tuned with linux.prompt_for_new_config_options_for_kernel_version_bump
    
    Current storage format is oldconfig from now on for proper analysis. If needed, once can save back in defconfig prior of bumping to newer version.
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    7e6987a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e14d7c3 View commit details
    Browse the repository at this point in the history
  3. config/linux-qemu.config : add CONFIG_DRM_BOCHS=y and CONFIG_FB_SIMPL…

    …E=y for basic qemu-coreboot board config
    
    advanced qemu-coreboot-*-tpm*-* boards enables virtio qemu/kvm through command line option.
    qemu-coreboot-* (whiptail or fbwhiptail) basic boards are using bochs gpu emulation, provided through qemu
    
    linux-qemu.config, if shared as of now, needs to provide both virtio (no need of FB_SIMPLE because DRM) and BOCHS+SIMPLE_FB
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    5fce7bf View commit details
    Browse the repository at this point in the history
  4. config/coreboot-* : adapt i915drmfb driven boards framebuffer require…

    …ments
    
    - add additional kernel boot params for i915 where needed:
      - adds : drm_kms_helper.drm_leak_fbdev_smem=1 i915.enable_fbc=0 ( to permit kexec into vesa fb of kexec'ed kernel for i915 driven gpus without framebuffer compression, leaking smem fbdev address for kexec to pickup )
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    f2d0a6a View commit details
    Browse the repository at this point in the history
  5. config/coreboot-qemu-fbwhiptail: extend CBFS_SIZE to 0x7E7FFF to acco…

    …modate additioaally added DRM+FB for testing
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    c84a0f7 View commit details
    Browse the repository at this point in the history
  6. modules/ coreboot+linux: add helpers to edit config in place + save i…

    …n oldconfig/defconfig formats
    
    both linux/coreboot:
    - save_in_defconfig_format_in_place : takes whatever coreboot config file for a make BOARD=xyz statement and saves it in defconfig
    - save_in_oldefconfig_format_in_place : takes whatever coreboot config file for a make BOARD=xyz statement and saves it in oldefconfig
    
    linux:
    - linux.prompt_for_new_config_options_for_kernel_version_bump:
      - The most useful helper as of now when doing kernel version bump.
      - Requires to save current kernel config in oldconfig (make BOARD=xyz linux.save_in_oldefconfig_format_in_place) first, then bump kernel version in board config and then use that helper to review new options and save in tree.
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    13daaa1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e8bc003 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e022284 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f34d2dd View commit details
    Browse the repository at this point in the history
  10. config/linux* saved in oldconfig format to ease boards comparison for…

    … same kernel versions and across versions
    
    kgpe-d16 linux configs: converted to oldconfig as well
    TODO: talos-2
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    dbc931e View commit details
    Browse the repository at this point in the history
  11. Remove qemu-coreboot and qemu-coreboot-fbwhiptail board+coreboot configs

    qemu-coreboot-*-tpm* boards are way more feature rich to test/develops Heads
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    cc9a482 View commit details
    Browse the repository at this point in the history
  12. linux configs for intel: select proper CPU and trust CPU randomization

    CONFIG_MCORE2=y
    CONFIG_RANDOM_TRUST_CPU=y
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    00e7156 View commit details
    Browse the repository at this point in the history
  13. Adding bootspashes by @ThePlexus and @d-dwid posted under linuxboot#1402

    
    
    Selects blobs/ThePlexus-bootsplash-1024x768.jpg under blobs/bootsplash-1024x768.jpg (symlink used in coreboot configs)
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    cdd0c6f View commit details
    Browse the repository at this point in the history
  14. coreboot configs: sandy/ivy/haswell : readd libgfxinit and bootsplash…

    … requirements
    
    Remove CONFIG_NO_GFX_INIT from configs having CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE=y
    Add CONFIG_BOOTSPLASH_IMAGE from configs having CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE=y
    Add CONFIG_LINEAR_FRAMEBUFFER from configs having CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE=y
    Set BOOTSPLASH parameters to match bootsplash and jpeg requirements
     +CONFIG_LINEAR_FRAMEBUFFER_MAX_HEIGHT=768
     +CONFIG_LINEAR_FRAMEBUFFER_MAX_WIDTH=1024
     +CONFIG_BOOTSPLASH=y
    
    Others paramaters defined per board default setting with coreboot.save_oldconfig_in_place helper
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    5710eaf View commit details
    Browse the repository at this point in the history
  15. t440p p8z77-m_pro: pass to coreboot 4.19 and with comparable lockdown…

    … config to x230 + fix vbt path
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    da4c306 View commit details
    Browse the repository at this point in the history
  16. CircleCI config: remove generic qemu-coreboot/qemu-coreboot-fbwhiptai…

    …l and reorgagnize per coreboot ver
    
    add coreboot 4.19 builddir into save_cache
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    252c9df View commit details
    Browse the repository at this point in the history
  17. WiP: linux config global tweaks overhaul, unifying kernel configs and…

    … keeping important board related perks
    
    CONFIG_PREEMPT_NONE=y: Remove preemptiveness for servers. Under heads, we are single tasking. No point having this big thing in kernel https://lwn.net/Articles/746780/
    IO scheduler: only enable CONFIG_MQ_IOSCHED_DEADLINE=y since we want maximum throughput and do not have concurrent tasks
    CONFIG_CPU_ISOLATION=y : Enable CPU Isolation accross all boards: this permits to make sure that the kernel tasks running on a CPU are not distrurbed bu user tasks
    CONFIG_MULTIUSER not defined: Removing cluttering since we are single root user under Heads anyway
    CONFIG_IO_URING=y : limit number of copy operations between kernel and user space from apps
    CONFIG_ZONE_DMA not defined: relevant for older hardware (less then 32bit addressing space)
    CONFIG_X86_MPPARSE not defined: relevant for older smp systems
    CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is enabled and SCHEDUTIL is disabled: we want performance with CPU sched with deadline IO.
    CONFIG_PERF_EVENTS_INTEL_UNCORE and CONFIG_PERF_EVENTS_INTEL_CSTATE not defined: we want max perf on Heads
    CONFIG_X86_VSYSCALL_EMULATION not defined: no need for syscall emulation under Heads
    CONFIG_SECCOMP not defined : usefull if BPF is enabled and used.
    CONFIG_ACPI_SPCR_TABLE=y : usefull for serial redirection table and earlycon
    CONFIG_PCI_MMCONFIG CONFIG_MMCONF_FAM10H unset but for kgpe-d16 which is either fam10h of fam15h
    CONFIG_DM_SNAPSHOT=y CONFIG_DM_THIN_PROVISIONING=y so that recovery shell can provide LVM/DM functionality in later PR.
    CONFIG_EXFAT_FS=y so that exfat preformated thumb drives can work out of the box
    Adjust CONFIG_HW_RANDOM per platform, removing CONFIG_HW_RANDOM_TIMERIOMEM
    Only support processor family needed per board (AMD only AMD, Intel only Intel, removing CONFIG_CPU_SUP_HYGON CONFIG_CPU_SUP_HYGON CONFIG_CPU_SUP_CENTAUR CONFIG_CPU_SUP_ZHAOXIN CONFIG_CPU_SUP_ZHAOXIN everywhere
    qemu: support both AMD and INTEL as an exception for the above.
    
    Removed unused compiled modules unpacked under modules.cpio
    Removed not needed crypto modules compiled in or as modules, reviewed from linuxboot#1396 (comment) :
    CONFIG_CRYPTO=y
    CONFIG_CRYPTO_ALGAPI=y
    CONFIG_CRYPTO_ALGAPI2=y
    CONFIG_CRYPTO_AEAD=y
    CONFIG_CRYPTO_AEAD2=y
    CONFIG_CRYPTO_SKCIPHER=y
    CONFIG_CRYPTO_SKCIPHER2=y
    CONFIG_CRYPTO_HASH=y
    CONFIG_CRYPTO_HASH2=y
    CONFIG_CRYPTO_RNG=y
    CONFIG_CRYPTO_RNG2=y
    CONFIG_CRYPTO_AKCIPHER2=y
    CONFIG_CRYPTO_KPP2=y
    CONFIG_CRYPTO_ACOMP2=y
    CONFIG_CRYPTO_MANAGER=y
    CONFIG_CRYPTO_MANAGER2=y
    CONFIG_CRYPTO_USER=y
    CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
    CONFIG_CRYPTO_NULL=y
    CONFIG_CRYPTO_NULL2=y
    CONFIG_CRYPTO_CRYPTD=y
    CONFIG_CRYPTO_AUTHENC=y
    CONFIG_CRYPTO_SIMD=y
    CONFIG_CRYPTO_GLUE_HELPER_X86=y
    CONFIG_CRYPTO_CBC=y
    CONFIG_CRYPTO_ECB=y
    CONFIG_CRYPTO_XTS=y
    CONFIG_CRYPTO_ESSIV=y
    CONFIG_CRYPTO_HMAC=y
    CONFIG_CRYPTO_CRC32C=y
    CONFIG_CRYPTO_CRC32C_INTEL=y
    CONFIG_CRYPTO_MD5=y
    CONFIG_CRYPTO_SHA1=y
    CONFIG_CRYPTO_SHA1_SSSE3=y
    CONFIG_CRYPTO_SHA256_SSSE3=y
    CONFIG_CRYPTO_SHA512_SSSE3=y
    CONFIG_CRYPTO_SHA256=y
    CONFIG_CRYPTO_SHA512=y
    CONFIG_CRYPTO_AES_NI_INTEL=y
    CONFIG_CRYPTO_USER_API=y
    CONFIG_CRYPTO_USER_API_HASH=y
    CONFIG_CRYPTO_USER_API_SKCIPHER=y
    CONFIG_CRYPTO_USER_API_RNG=y
    CONFIG_CRYPTO_USER_API_AEAD=y
    CONFIG_CRYPTO_HASH_INFO=y
    CONFIG_CRYPTO_LIB_AES=y
    CONFIG_CRYPTO_LIB_SHA256=y
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    4d75855 View commit details
    Browse the repository at this point in the history
  18. Makefile: point default board to qemu-coreboot-fbwhiptail-tpm1 so aut…

    …ocompletion still works
    
    removal of qemu-coreboot board made autocomplete apparition of modules helpers vanish
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    a4f5965 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    14e7a76 View commit details
    Browse the repository at this point in the history
  20. linux-x230-legacy.config: Disable network related option while leavin…

    …g CONFIG_NET active (crypto need)
    
    Since legacy boards do not have e1000e as opposed to maximized builds (no network), we also deactivate:
    +# CONFIG_INET is not set
    +# CONFIG_ETHTOOL_NETLINK is not set
    +# CONFIG_NETDEVICES is not set
    
    This makes gpg24 and newer flashrom bump possible
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    6245339 View commit details
    Browse the repository at this point in the history
  21. libgpg-error 1.46

    198.15 -> 277.69 kB
    saper authored and tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    7cef74b View commit details
    Browse the repository at this point in the history
  22. libksba 1.4.0 -> 1.6.3

    676.03 -> 408.95 kB \o/
    saper authored and tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    7c51116 View commit details
    Browse the repository at this point in the history
  23. libassuan 2.5.3 -> 2.5.5

    741.81 -> 502.42 kB
    saper authored and tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    b97f34e View commit details
    Browse the repository at this point in the history
  24. libgcrypt 1.8.6 -> 1.10.1

    562.01 -> 783.14 kB
    saper authored and tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    1518292 View commit details
    Browse the repository at this point in the history
  25. gnupg 2.2.21 -> 2.4.0

    830.63 -> 917.89 kB
    saper authored and tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    d4ade89 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    fda8848 View commit details
    Browse the repository at this point in the history
  27. libgcrypt: disconnect tests from the build

    Tests require libgpg-error library built for the host machine
    which we do not nessarily have in the build environment.
    saper authored and tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    74e60fb View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    c20c2bc View commit details
    Browse the repository at this point in the history
  29. With gpg 2.3+ user name can be empty

    saper authored and tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    b849cc0 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    e14b869 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    58d5a29 View commit details
    Browse the repository at this point in the history
  32. modules/flashrom: Update to 1776bb46

    Update flashrom - in particular, this includes support for new chipsets
    like Jasper Lake.
    
    CONFIG_INTERAL_X86 was created so CONFIG_INTERNAL could apply to other
    platforms, enable it for x86.
    
    The default build target now requires sphinx, just build flashrom
    itself.
    
    Update flashrom_progress - filter out noise in newer flashrom that
    chokes the progress bar implementation, make size detection more
    robust, improve progress bar implementation slightly.
    
    Signed-off-by: Jonathon Hall <[email protected]>
    Co-signed by: Thierry Laurion <[email protected].
    JonathonHall-Purism authored and tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    a1be4e4 View commit details
    Browse the repository at this point in the history
  33. flashrom: remove DUMMY and AST1100 by default on both x86/ppc64, leav…

    …e MTD only for ppc64, have AST1100 enablement configurable for kgpe-d16 (patch not in)
    tlaurion committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    979c9dd View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2023

  1. config/linux-*: remove CPU_ISOLATION since no observable gains as is …

    …without dynticks and isolcpus
    tlaurion committed Jun 28, 2023
    Configuration menu
    Copy the full SHA
    08d865e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    30cc112 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    92e29c4 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2023

  1. untested boards: move and rename untested boards, while still buildin…

    …g them with CircleCI if they were currently built.
    
    Non-impactful action, first step for linuxboot#1421 based on participation in testing of linuxboot#1398 and prior non-tested PRs.
    
    EDIT: last minute readd of x220-maximized boards (x220-maximized and x220-hotp-maximized boards).
     x220 is still UNTESTED (legacy, manually extracting ifs, me and gbe).
    
    EDIT: last minute readd of t440p-maximized boards (t440p-maximized and t440p-hotp-maximized boards).
    
    Thanks to @srgrint for lat minute report that t440p and x220 were tested
    ----
    
    Traces of commands used:
    ls qemu-linuxboot* leopard* r630* s2600wf* tioga* winterfell* t420* t520* t440p* w530* kgpe* p8z77* x220* x230-maximized-fhd_edp* | grep ":" | awk -F ":" {'print $1'}| while read board; do mv $board/$board.config $board/UNTESTED_$board.config; done
    ls qemu-linuxboot* leopard* r630* s2600wf* tioga* winterfell* t420* t520* t440p* w530* kgpe* p8z77* x220* x230-maximized-fhd_edp* | grep ":" | awk -F ":" {'print $1'}| while read dir; do mv $dir UNTESTED_$dir; done
    ls UNTESTED* | grep ":" | awk -F ":" {'print $1'}| awk -F "UNTESTED_" {'print $2'} | while read line; do sed 's/'"$line"'/UNTESTED_'"$line"'/g' ../.circleci/config.yml -i ; done
    
    quick fix of circleci:
    sed -i 's/UNTESTED_UNTESTED/UNTESTED/g' ../.circleci/config.yml
    sed -i 's/UNTESTED_UNTESTED/UNTESTED/g' ../.circleci/config.yml
    sed -i 's/UNTESTED_UNTESTED/UNTESTED/g' ../.circleci/config.yml
    
    Modify p8z77-m_pro-tpm1 hotp board config to include to their maximized counterpart
    tlaurion committed Jul 4, 2023
    Configuration menu
    Copy the full SHA
    f8cb3db View commit details
    Browse the repository at this point in the history