Compare commits

..

2 Commits

Author SHA1 Message Date
marv7000 a557fc78fd Add spdx 2026-10-19 20:03:05 +02:00
marv7000 b5bada597a start Mutex rework 2026-10-19 20:01:23 +02:00
86 changed files with 177 additions and 13 deletions
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
static inline void arch_cpu_pause() {
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/elf.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/types.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/mmio.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/init.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/irq.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/pmap.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/atomic.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
void arch_syscall_stub();
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
void tsc_init();
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
-1
View File
@@ -59,7 +59,6 @@ static void kernel_main_task(uintptr_t arg0) {
.envp = init_envp,
};
status = elf_load(&exec, &init_task);
vmo_unref(&init_file->object);
assert(status == 0, "Failed to load init process (%i)", status);
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdarg.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/init.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
extern struct pci_driver nvme_driver;
+2
View File
@@ -1 +1,3 @@
// SPDX-License-Identifier: ISC
#pragma once
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <bits/cpu.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
// TODO: Ensure bits are defining values right.
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/irq.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/percpu.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stddef.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/mman.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
// Attributes that affect data layout.
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/module.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/atomic.h>
+2 -2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
@@ -361,5 +363,3 @@ static inline uint32_t ELF64_R_SYM(uint64_t info) {
static inline uint32_t ELF64_R_TYPE(uint64_t info) {
return info & 0xFFFFFFFF;
}
errno_t elf_load(struct exec_info* info, struct task** out);
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h> // IWYU pragma: keep
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/alloc.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/types.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/initgraph.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#define list_head(type) \
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stddef.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
#include <zinnia/errno.h>
+6 -7
View File
@@ -1,11 +1,10 @@
// SPDX-License-Identifier: ISC
#pragma once
struct task;
#include <stdint.h>
struct mutex {
struct task* owner;
bool flag;
};
typedef uintptr_t mutex_t;
void mutex_lock(struct mutex* mutex);
void mutex_unlock(struct mutex* mutex);
void mutex_lock(mutex_t* mutex);
void mutex_unlock(mutex_t* mutex);
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/alloc.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/alloc.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/list.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/initgraph.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
void rcu_read_lock();
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/atomic.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/atomic.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/sched.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#define tailq_head(type) \
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <uapi/time.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/utils.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <stdint.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/compiler.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/alloc.h>
+5 -3
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
@@ -106,7 +108,7 @@ struct vfs_entry {
// The name of this entry.
char* name;
size_t name_len;
struct mutex lock;
mutex_t lock;
enum vfs_entry_state state;
// The inode this entry points to when present.
@@ -250,7 +252,7 @@ struct vfs_node {
const struct vfs_file_ops* file_ops;
struct vfs_super_block* sb;
struct mutex lock;
mutex_t lock;
void* priv;
ino_t id;
@@ -305,7 +307,7 @@ struct vfs_file {
enum vfs_file_position position_kind;
off_t position;
struct mutex lock;
mutex_t lock;
struct vfs_path path;
bool has_path;
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/hashmap.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/errno.h>
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: ISC
#pragma once
#include <zinnia/atomic.h>