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

NET branch #141

Merged
merged 76 commits into from
Nov 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
5d7c06f
icmp: Fix csum in echo reply
heatd Sep 18, 2024
7514b80
printk: Add %pI4 support
heatd Sep 18, 2024
3974dac
x86/isr: Break when printing a bad stack
heatd Sep 18, 2024
f59b601
net: Rework neighbours
heatd Sep 18, 2024
437fcb3
netif: Fix RX path
heatd Sep 18, 2024
c0ad04d
vterm: Escape sequence fixes
heatd Sep 23, 2024
2280b72
vterm: Add box-drawing support
heatd Sep 24, 2024
960589a
vterm: Implement bright colours using bold
heatd Sep 24, 2024
0624d89
vterm: Optimize down-scrolling
heatd Sep 24, 2024
b283574
fbdev: Add simple fbdev implementation
heatd Jul 11, 2024
bc88345
namei: Add proper d_path implementation
heatd Oct 22, 2024
f38c5c8
smp: Fix sync_call double-free
heatd Nov 10, 2024
b81ea4a
mm/reclaim: Avoid LRU lock horribleness by batching unrefs
heatd Nov 10, 2024
6c492da
ubsan: Do a WARN() when not panicking
heatd Nov 10, 2024
c9280a9
pipe: Handle named pipe O_NONBLOCK
heatd Nov 10, 2024
eb46afd
mm/kasan: Add physical page shadowing
heatd Nov 10, 2024
cc3627a
vfs: Implement FINBIO for all file descriptors
heatd Nov 10, 2024
d03faba
mm/slab: Fix mutex declaration
heatd Nov 10, 2024
22af172
mm/slab: Switch to the page allocator by default
heatd Nov 10, 2024
9131269
mm/slab: Don't WARN when magazine refilling fails halfway through
heatd Nov 10, 2024
4cb053f
mm/slab: Fix KASAN freeing
heatd Nov 10, 2024
af291c9
mm/slab: Move preemption reenabling in reclaim down
heatd Nov 10, 2024
babef63
namei: Fix namei_lookup_parentat symlink traversal
heatd Nov 10, 2024
1645cc6
wait_queue: Fix current state setting when waiting
heatd Nov 10, 2024
ac44d25
process: Serialize waiting for children under children_lock
heatd Nov 10, 2024
417209a
process: Inherit umask
heatd Nov 10, 2024
6ef2bc2
mm/swap: Small fix plus debugging
heatd Nov 10, 2024
a8641fc
poll: Fix missing wakeups
heatd Nov 10, 2024
97f4c57
path: Const-ify a function's arguments
heatd Nov 10, 2024
a3a8493
tmpfs: Fix inode leak
heatd Nov 10, 2024
09182a6
vterm: Further reduce console_cell
heatd Nov 10, 2024
3278acf
ext2: Various fixes
heatd Nov 10, 2024
58a9b84
signal: Fix warning
heatd Nov 10, 2024
d4efd17
radix: Make the slab cache VMALLOC
heatd Nov 10, 2024
23acc10
kcsan: Enable weak memory instrumentation
heatd Nov 10, 2024
4769e94
memory: Add zap_page_range
heatd Nov 10, 2024
c9d58f2
mm: Add madvise
heatd Nov 10, 2024
5700526
io-queue: Reinitialize the list in submit_batch
heatd Nov 11, 2024
13001bf
mm/slab: Correct pass gfp flags to alloc_pages
heatd Nov 11, 2024
2f7ed11
mm/pagealloc: Fix buddy merging for highmem zones
heatd Nov 11, 2024
77a71d8
mm: Add reclaim for order > 0 allocations
heatd Nov 11, 2024
dfaac1b
file: Rework fd table allocations to avoid allocating under fdlock
heatd Nov 11, 2024
be3112c
process: Allocating struct process with GFP_KERNEL
heatd Nov 11, 2024
9ec9e90
ext2: Add GFP_NOFS to most big allocations
heatd Nov 11, 2024
f4f9a2d
readahead: Add block device support for readahead
heatd Nov 17, 2024
832c445
vm_obj: Properly truncate pages
heatd Nov 17, 2024
75cf5cf
filemap: Add a retry loop for truncation
heatd Nov 17, 2024
9cdc3f4
namei: Actually enforce umask on file creation
heatd Nov 17, 2024
9c59d43
block: Add write_begin and write_end
heatd Nov 17, 2024
aa6ac14
file: Fix getcwd() freeing a stack buffer
heatd Nov 17, 2024
6fdf56a
page: Add BUFFER flag accessors
heatd Nov 17, 2024
5c99607
block: Add BLKFLSBUF ioctl
heatd Nov 17, 2024
8d059cc
ext2: Replace a CHECK with CHECK_PAGE
heatd Nov 17, 2024
d3be07f
ext2: Simply WARN on i_blocks != 0
heatd Nov 17, 2024
1edeb53
nvme: Add block request dumping on error
heatd Nov 17, 2024
799f645
nvme: Actually batch sqe's instead of calling device_io_submit
heatd Nov 17, 2024
d06d9db
github: Update {download, upload}-artifact to v4
heatd Nov 17, 2024
6dcb98a
Compile time fixen
heatd Nov 29, 2024
81c624c
kernlog: Make printk_buf's initialization constinit
heatd Nov 29, 2024
91eabf5
slab: Add krealloc and kreallocarray
heatd Nov 29, 2024
fb3a3b4
x86: Rework some efi booting bits
heatd Nov 29, 2024
f49b6f6
efi: SetVirtualAddressMap() fixes
heatd Nov 29, 2024
e729c1e
namei: Rework dot-dot following on mounts
heatd Nov 29, 2024
f8cacb4
block: Turn off TSA for write_begin and write_end
heatd Nov 29, 2024
d1607c4
filemap: Turn off TSA for write_begin/end/write_iter
heatd Nov 29, 2024
e6983a9
ext2: buffer related fixes
heatd Nov 29, 2024
4c643a4
anon: Handle page faults under the page table lock
heatd Nov 29, 2024
435cae0
vm: Replace the vm_lock with a vm rwlock
heatd Nov 29, 2024
2f2f610
printk: Add ipv6 address printing with %pI6
heatd Nov 29, 2024
b398676
sched: Add job stealing
heatd Nov 29, 2024
f08b2ce
netif: Rework the RX signaling and handling
heatd Nov 29, 2024
7ebad86
tty: Add a proper implementation of TIOCSPGRP
heatd Nov 29, 2024
506f65c
exec: Enlargen the stack and max args by quite a lot
heatd Nov 29, 2024
e073498
e1000: Loose fixes
heatd Nov 29, 2024
03304ce
x86: Fix CONFIG_VERBOSE_SEGV
heatd Nov 29, 2024
ae506c2
netctl: Add more error checking and more verbosity
heatd Nov 29, 2024
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
3 changes: 2 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ AllowShortLoopsOnASingleLine: false
DerivePointerAlignment: true
PointerAlignment: Right
ColumnLimit: 100
ForEachMacros: ['list_for_every','list_for_every_safe','list_for_every_rcu','mt_for_each']
ForEachMacros: ['list_for_every','list_for_every_safe','list_for_every_rcu','mt_for_each','list_for_each_entry',
'list_for_each_entry_safe', 'list_for_each_entry_rcu']
IncludeBlocks: Regroup
IndentExternBlock: NoIndent
IncludeCategories:
Expand Down
46 changes: 23 additions & 23 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:


- name: Download the x86_64-onyx-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: x86_64-onyx-linux
Expand All @@ -54,19 +54,19 @@ jobs:
./scripts/create_disk_image.sh disk-image.img --bootable efi

- name: Upload a Build Artifact(Onyx.iso)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx ISO
path: Onyx.iso

- name: Upload a Build Artifact(kernel/vmonyx)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: vmonyx
path: kernel/vmonyx

- name: Upload a Build Artifact(Disk image)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Disk-image.img
path: disk-image.img
Expand All @@ -89,7 +89,7 @@ jobs:

# Runs a single command using the runners shell
- name: Download the onyx-llvm-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: onyx-llvm-linux
Expand All @@ -115,19 +115,19 @@ jobs:
./scripts/create_disk_image.sh disk-image-llvm.img --bootable efi

- name: Upload a Build Artifact(Onyx.iso)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx-iso-llvm
path: Onyx.iso

- name: Upload a Build Artifact(kernel/vmonyx)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: vmonyx-llvm
path: kernel/vmonyx

- name: Upload a Build Artifact(disk-image-llvm)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Disk-image-llvm.img
path: disk-image-llvm.img
Expand All @@ -147,7 +147,7 @@ jobs:


- name: Download the riscv64-onyx-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: riscv64-onyx-linux
Expand Down Expand Up @@ -176,7 +176,7 @@ jobs:
zstd -T0 -15 riscv64-onyx-image.tar

- name: Upload the riscv64 boot image
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx boot image (riscv64)
path: riscv64-onyx-image.tar.zst
Expand All @@ -199,7 +199,7 @@ jobs:

# Runs a single command using the runners shell
- name: Download the onyx-llvm-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: onyx-llvm-linux
Expand Down Expand Up @@ -229,7 +229,7 @@ jobs:
zstd -T0 -15 riscv64-onyx-image-llvm.tar

- name: Upload the riscv64 boot image (LLVM)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx boot image (riscv64) (llvm)
path: riscv64-onyx-image-llvm.tar.zst
Expand Down Expand Up @@ -295,7 +295,7 @@ jobs:
zstd -T0 -15 minimal-sysroot-${{ matrix.target_arch }}.tar

- name: Upload the minimal sysroot
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: minimal-sysroot-${{ matrix.target_arch }}
path: minimal-sysroot-${{ matrix.target_arch }}.tar.zst
Expand All @@ -322,7 +322,7 @@ jobs:
submodules: "recursive"

- name: Download the minimal sysroot
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4

- name: Extract minimal sysroot
run: |
Expand Down Expand Up @@ -413,7 +413,7 @@ jobs:
mv ${{ env.toolchain_id_no_os }} toolchain_binaries-${{ matrix.toolchain }}

- name: Upload the toolchain
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: ${{ env.toolchain_id }}
path: ${{ env.toolchain_id }}.tar.zst
Expand All @@ -434,7 +434,7 @@ jobs:


- name: Download the arm64-onyx-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: arm64-onyx-linux
Expand Down Expand Up @@ -463,7 +463,7 @@ jobs:
zstd -T0 -15 arm64-onyx-image.tar

- name: Upload the arm64 boot image
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx boot image (arm64)
path: arm64-onyx-image.tar.zst
Expand All @@ -487,7 +487,7 @@ jobs:

# Runs a single command using the runners shell
- name: Download the onyx-llvm-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: onyx-llvm-linux
Expand Down Expand Up @@ -517,7 +517,7 @@ jobs:
zstd -T0 -15 arm64-onyx-image-llvm.tar

- name: Upload the arm64 boot image (LLVM)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx boot image (arm64) (llvm)
path: arm64-onyx-image-llvm.tar.zst
Expand All @@ -537,7 +537,7 @@ jobs:


- name: Download the x86_64-onyx-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: x86_64-onyx-linux
Expand Down Expand Up @@ -582,7 +582,7 @@ jobs:

# Runs a single command using the runners shell
- name: Download the onyx-llvm-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: onyx-llvm-linux
Expand Down Expand Up @@ -625,7 +625,7 @@ jobs:


- name: Download the riscv64-onyx-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: riscv64-onyx-linux
Expand Down Expand Up @@ -669,7 +669,7 @@ jobs:

# Runs a single command using the runners shell
- name: Download the onyx-llvm-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: onyx-llvm-linux
Expand Down
38 changes: 19 additions & 19 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
python-version: '3.11.0' # Require the same version of python as Onyx builds, in order to ease the build

- name: Download the x86_64-onyx-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: x86_64-onyx-linux
Expand All @@ -51,19 +51,19 @@ jobs:
./scripts/create_disk_image.sh disk-image.img --bootable efi

- name: Upload a Build Artifact(Onyx.iso)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx ISO
path: Onyx.iso

- name: Upload a Build Artifact(kernel/vmonyx)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: vmonyx
path: kernel/vmonyx

- name: Upload a Build Artifact(Disk image)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Disk-image.img
path: disk-image.img
Expand All @@ -86,7 +86,7 @@ jobs:

# Runs a single command using the runners shell
- name: Download the onyx-llvm-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: onyx-llvm-linux
Expand All @@ -113,19 +113,19 @@ jobs:
./scripts/create_disk_image.sh disk-image-llvm.img --bootable efi

- name: Upload a Build Artifact(Onyx.iso)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx-iso-llvm
path: Onyx.iso

- name: Upload a Build Artifact(kernel/vmonyx)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: vmonyx-llvm
path: kernel/vmonyx

- name: Upload a Build Artifact(disk-image-llvm)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Disk-image-llvm.img
path: disk-image-llvm.img
Expand All @@ -145,7 +145,7 @@ jobs:


- name: Download the riscv64-onyx-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: riscv64-onyx-linux
Expand Down Expand Up @@ -174,7 +174,7 @@ jobs:
zstd -T0 -15 riscv64-onyx-image.tar

- name: Upload the riscv64 boot image
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx boot image (riscv64)
path: riscv64-onyx-image.tar.zst
Expand All @@ -197,7 +197,7 @@ jobs:

# Runs a single command using the runners shell
- name: Download the onyx-llvm-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: onyx-llvm-linux
Expand Down Expand Up @@ -227,7 +227,7 @@ jobs:
zstd -T0 -15 riscv64-onyx-image-llvm.tar

- name: Upload the riscv64 boot image (LLVM)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx boot image (riscv64) (llvm)
path: riscv64-onyx-image-llvm.tar.zst
Expand Down Expand Up @@ -292,7 +292,7 @@ jobs:
zstd -T0 -15 minimal-sysroot-${{ matrix.target_arch }}.tar

- name: Upload the minimal sysroot
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: minimal-sysroot-${{ matrix.target_arch }}
path: minimal-sysroot-${{ matrix.target_arch }}.tar.zst
Expand All @@ -319,7 +319,7 @@ jobs:
submodules: "recursive"

- name: Download the minimal sysroot
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4

- name: Extract minimal sysroot
run: |
Expand Down Expand Up @@ -410,7 +410,7 @@ jobs:
mv ${{ env.toolchain_id_no_os }} toolchain_binaries-${{ matrix.toolchain }}

- name: Upload the toolchain
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: ${{ env.toolchain_id }}
path: ${{ env.toolchain_id }}.tar.zst
Expand All @@ -430,7 +430,7 @@ jobs:


- name: Download the arm64-onyx-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: arm64-onyx-linux
Expand Down Expand Up @@ -459,7 +459,7 @@ jobs:
zstd -T0 -15 arm64-onyx-image.tar

- name: Upload the arm64 boot image
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx boot image (arm64)
path: arm64-onyx-image.tar.zst
Expand All @@ -483,7 +483,7 @@ jobs:

# Runs a single command using the runners shell
- name: Download the onyx-llvm-linux toolchain
uses: actions/download-artifact@v2.0.8
uses: actions/download-artifact@v4
with:
# Artifact name
name: onyx-llvm-linux
Expand Down Expand Up @@ -513,7 +513,7 @@ jobs:
zstd -T0 -15 arm64-onyx-image-llvm.tar

- name: Upload the arm64 boot image (LLVM)
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v4
with:
name: Onyx boot image (arm64) (llvm)
path: arm64-onyx-image-llvm.tar.zst
2 changes: 1 addition & 1 deletion kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ CFLAGS:=$(CFLAGS) -MMD -ffreestanding -fbuiltin -Wall -Wextra -fstack-protector-

ifneq ($(ONYX_USING_CLANG), yes)
# TODO: Find suitable alternatives for clang
CFLAGS:=$(CFLAGS) -Wno-format-truncation -Wshadow-compatible-local
CFLAGS:=$(CFLAGS) -Wno-format-truncation -Wshadow-compatible-local -Wno-narrowing

# Note: We need to define _GLIBCXX_INCLUDE_NEXT_C_HEADERS so the shenanigans in the
# compiler (in this case, only GCC)'s stdlib.h C++ wrappers get bypassed. If we let stdlib.h include cstdlib,
Expand Down
Loading
Loading