Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
24f0d0c
build: don't let LTO drop the functions the compiler calls itself
d-tatianin Sep 29, 2026
efd98e5
common/string: add strncmp()
d-tatianin Sep 29, 2026
47a9f4c
tests/arg_parser: include <cstdint>
d-tatianin Sep 29, 2026
83126f8
toolchain: pass brew's lld to clang with --ld-path
d-tatianin Sep 29, 2026
86e573f
build: add a baremetal target to --make-image
d-tatianin Sep 29, 2026
8386474
build: move the config making into scripts/config_layers.py
d-tatianin Sep 29, 2026
cfab682
build: make --arch apply to --config builds
d-tatianin Sep 29, 2026
9f2e9a1
build: stop --config from overwriting the build directory's config
d-tatianin Sep 29, 2026
cc067c9
build: introduce per-arch base configs
d-tatianin Sep 30, 2026
0aab1e7
build: add a debug-lite config preset and build it by default
d-tatianin Sep 30, 2026
3e8379c
scripts: add a lint check for the files in configs/
d-tatianin Sep 30, 2026
d478d01
build: add a release config preset
d-tatianin Sep 29, 2026
b6786e0
build: make --lint configure without building
d-tatianin Sep 29, 2026
da24567
ci: run the unit tests and the lint in jobs of their own
d-tatianin Sep 29, 2026
511daf4
ci: build the config presets instead of a CI-only config
d-tatianin Sep 29, 2026
37b36e0
build: validate the arch bitness and endianness in CMake
d-tatianin Sep 30, 2026
72ca457
memory: move MAX_PHYS_BITS into arch/memory.h
d-tatianin Sep 30, 2026
9d2c40a
arch: move the page and cache line sizes into Kconfig
d-tatianin Sep 30, 2026
c5edce4
build: use CONFIG_PAGE_SHIFT for max-page-size
d-tatianin Sep 30, 2026
f860cd3
types: reject an unknown ULTRA_ARCH_PHYS_ADDR_WIDTH
d-tatianin Oct 3, 2026
05fc8b4
types: add LITERAL_OF_TYPE() and CONST_OF_TYPE()
d-tatianin Sep 30, 2026
84d499a
arch_constants: make PAGE_SIZE and CACHE_LINE_SIZE a reg_t
d-tatianin Sep 30, 2026
ed801bd
build: enable -Wundef
d-tatianin Sep 30, 2026
ec83e22
arch/x86_64: read cr2 into a virt_addr_t
d-tatianin Oct 1, 2026
9b473de
everywhere: support -Wformat-signedness
d-tatianin Oct 1, 2026
98583b9
drivers/acpi: update uACPI to 6.1.1
d-tatianin Oct 2, 2026
36a9a0a
build: probe compiler flags with CheckCCompilerFlag
d-tatianin Oct 3, 2026
2192e1b
build: enable -Wformat-signedness
d-tatianin Oct 3, 2026
444e6c7
common/format: add %pPA for printing physical addresses
d-tatianin Oct 1, 2026
3a7c4da
everywhere: use %pPA for physical addresses
d-tatianin Oct 1, 2026
a2f9ddb
memory: print the early slot size with %zu
d-tatianin Oct 1, 2026
562ca47
everywhere: give every enum an explicit type
d-tatianin Oct 1, 2026
4a46a40
everywhere: print unsigned values with %u
d-tatianin Oct 1, 2026
4d89580
scripts: run clang once per source for every lint check
d-tatianin Oct 1, 2026
69b4f64
scripts: add a lint check for enums without a type
d-tatianin Oct 1, 2026
d89162e
scripts: add a lint check for format specifiers
d-tatianin Oct 1, 2026
92c3e7c
memory: introduce pfn_t, phys_to_pfn() and pfn_to_phys()
d-tatianin Oct 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions .github/configs/x86_64-ci.config

This file was deleted.

34 changes: 29 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,20 @@ jobs:
mypy *.py
mypy scripts/

lint-kernel:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: true

- name: Build the platform toolchain
run: "${{ github.workspace }}/build.py --toolchain clang --toolchain-only"

- name: Check the coding conventions
run: "${{ github.workspace }}/build.py --toolchain clang --lint"

build:
runs-on: ${{ matrix.os }}

Expand All @@ -40,6 +54,7 @@ jobs:
os: [ubuntu-latest, macos-latest]
arch: [x86_64]
toolchain: [gcc, clang]
preset: [debug-lite, release]
exclude:
# FIXME: the GCC build somehow ends up being corrupted with
# libexec/cc1 containing garbage data.
Expand Down Expand Up @@ -78,11 +93,20 @@ jobs:
key: ${{ steps.toolchain-cache.outputs.cache-primary-key }}

- name: Build the kernel
run: "${{ github.workspace }}/build.py --config ${{ github.workspace }}/.github/configs/${{ matrix.arch }}-ci.config --toolchain ${{ matrix.toolchain }} --no-tune-native"
run: "${{ github.workspace }}/build.py --arch ${{ matrix.arch }} --config ${{ matrix.preset }} --toolchain ${{ matrix.toolchain }} --no-tune-native"

unit-tests:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, macos-latest]

steps:
- uses: actions/checkout@v3
with:
submodules: true

- name: Run the userspace unit tests
run: "${{ github.workspace }}/build.py --unit-tests"

- if: ${{ matrix.toolchain == 'clang' && matrix.os == 'ubuntu-latest' }}
name: Check the coding conventions
run: "${{ github.workspace }}/build.py --config ${{ github.workspace }}/.github/configs/${{ matrix.arch }}-ci.config --toolchain ${{ matrix.toolchain }} --no-build --lint"
Loading
Loading