diff --git a/arch/x86_64/gdt.c b/arch/x86_64/gdt.c index bd0c333..cc24f64 100644 --- a/arch/x86_64/gdt.c +++ b/arch/x86_64/gdt.c @@ -1,6 +1,6 @@ #include #include -#include +#include #include #include #include diff --git a/arch/x86_64/include/bits/types.h b/arch/x86_64/include/bits/types.h index 08807f1..c8dca4f 100644 --- a/arch/x86_64/include/bits/types.h +++ b/arch/x86_64/include/bits/types.h @@ -3,4 +3,3 @@ #include typedef uint64_t phys_t; -typedef uint64_t virt_t; diff --git a/boot/cmdline.c b/boot/cmdline.c index dac4b43..34371fb 100644 --- a/boot/cmdline.c +++ b/boot/cmdline.c @@ -1,8 +1,8 @@ #include #include #include -#include -#include +#include +#include // Defined in linker script. extern const struct cmdline_option* __ld_cmdline_start[]; diff --git a/boot/limine/entry.c b/boot/limine/entry.c index 31e0e7a..2928462 100644 --- a/boot/limine/entry.c +++ b/boot/limine/entry.c @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include "limine.h" [[__initdata_sorted("limine.0")]] diff --git a/core/console.c b/core/console.c index fc0d4d9..be4e6b5 100644 --- a/core/console.c +++ b/core/console.c @@ -1,7 +1,7 @@ #include #include #include -#include +#include extern struct console* const __ld_console_start[]; extern struct console* const __ld_console_end[]; diff --git a/core/elf.c b/core/elf.c index 997a417..edd03b3 100644 --- a/core/elf.c +++ b/core/elf.c @@ -11,7 +11,7 @@ #include #include #include -#include +#include struct exec_info { struct vma* space; diff --git a/core/lib/stdlib.c b/core/lib/stdlib.c index 611991c..17ec99d 100644 --- a/core/lib/stdlib.c +++ b/core/lib/stdlib.c @@ -1,6 +1,6 @@ #include -#include -#include +#include +#include static void reverse(char* s) { int i, j; diff --git a/core/lib/string.c b/core/lib/string.c index b38095a..e07ed06 100644 --- a/core/lib/string.c +++ b/core/lib/string.c @@ -2,7 +2,7 @@ #include #include #include -#include +#include [[__hot]] size_t strlen(const char* str) { diff --git a/core/mem/init.c b/core/mem/init.c index d808c65..7ba512f 100644 --- a/core/mem/init.c +++ b/core/mem/init.c @@ -5,7 +5,7 @@ #include #include #include -#include +#include extern uint8_t __ld_text_start[]; extern uint8_t __ld_text_end[]; diff --git a/core/mem/pmap.c b/core/mem/pmap.c index 7187c52..ae4d88c 100644 --- a/core/mem/pmap.c +++ b/core/mem/pmap.c @@ -4,7 +4,7 @@ #include #include #include -#include +#include // TODO: For now, we assume that we can do generic PTE lookups on every arch that has a MMU. static_assert(CONFIG_HAVE_MMU_GENERIC); diff --git a/core/mem/pmm.c b/core/mem/pmm.c index 9619e80..3ba9c7f 100644 --- a/core/mem/pmm.c +++ b/core/mem/pmm.c @@ -5,7 +5,7 @@ #include #include #include -#include +#include uintptr_t mem_hhdm_base = 0; diff --git a/core/mem/slab.c b/core/mem/slab.c index 9f3d7fc..7dd4927 100644 --- a/core/mem/slab.c +++ b/core/mem/slab.c @@ -2,7 +2,7 @@ #include #include #include -#include +#include typedef struct { size_t num_pages; // Amount of pages connected to this slab. diff --git a/core/mem/vmo.c b/core/mem/vmo.c index eab22fc..88db73a 100644 --- a/core/mem/vmo.c +++ b/core/mem/vmo.c @@ -3,7 +3,7 @@ #include #include #include -#include +#include errno_t vmo_read(struct vmo* obj, uintptr_t offset, void* buf, size_t len, size_t* actual_read) { const size_t page_size = arch_mem_page_size(); diff --git a/core/print.c b/core/print.c index 331ac7f..918b13e 100644 --- a/core/print.c +++ b/core/print.c @@ -5,8 +5,8 @@ #include #include #include -#include -#include +#include +#include typedef void (*log_fn_t)(void* ctx, const char* buf, size_t len); diff --git a/core/sched/sched_dumb.c b/core/sched/sched_dumb.c index e37b835..012f5b9 100644 --- a/core/sched/sched_dumb.c +++ b/core/sched/sched_dumb.c @@ -13,7 +13,7 @@ #include #include #include -#include +#include static void idle_func(uintptr_t) { while (1) { diff --git a/include/stdarg.h b/include/stdarg.h deleted file mode 100644 index af6bebe..0000000 --- a/include/stdarg.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -typedef __builtin_va_list va_list; -#define va_start(v, l) __builtin_va_start(v, l) -#define va_end(v) __builtin_va_end(v) -#define va_arg(v, T) __builtin_va_arg(v, T) -#define va_copy(d, s) __builtin_va_copy(d, s) diff --git a/include/stddef.h b/include/stddef.h deleted file mode 100644 index 803d089..0000000 --- a/include/stddef.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -typedef unsigned long size_t; -typedef signed long ssize_t; - -#define offsetof(type, member) __builtin_offsetof(type, member) -#define unreachable() __builtin_unreachable() diff --git a/include/stdint.h b/include/stdint.h deleted file mode 100644 index ad5745c..0000000 --- a/include/stdint.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -typedef __INT8_TYPE__ int8_t; -typedef __UINT8_TYPE__ uint8_t; -#define INT8_MAX __INT8_MAX__ -#define UINT8_MAX __UINT8_MAX__ - -typedef __INT16_TYPE__ int16_t; -typedef __UINT16_TYPE__ uint16_t; -#define INT16_MAX __INT16_MAX__ -#define UINT16_MAX __UINT16_MAX__ - -typedef __INT32_TYPE__ int32_t; -typedef __UINT32_TYPE__ uint32_t; -#define INT32_MAX __INT32_MAX__ -#define UINT32_MAX __UINT32_MAX__ - -typedef __INT64_TYPE__ int64_t; -typedef __UINT64_TYPE__ uint64_t; -#define INT64_MAX __INT64_MAX__ -#define UINT64_MAX __UINT64_MAX__ - -typedef __INTPTR_TYPE__ intptr_t; -typedef __UINTPTR_TYPE__ uintptr_t; -#define INTPTR_MAX __INTPTR_MAX__ -#define UINTPTR_MAX __UINTPTR_MAX__ diff --git a/include/uapi/types.h b/include/uapi/types.h index 24495b2..60b5440 100644 --- a/include/uapi/types.h +++ b/include/uapi/types.h @@ -4,6 +4,7 @@ #include +typedef intptr_t __ssize_t; typedef int64_t __off_t; typedef __off_t __off64_t; typedef uintptr_t __blksize_t; diff --git a/include/zinnia/hashmap.h b/include/zinnia/hashmap.h index 66bf342..b8b94f9 100644 --- a/include/zinnia/hashmap.h +++ b/include/zinnia/hashmap.h @@ -4,7 +4,7 @@ #include #include #include -#include +#include #define hashmap(K, V) \ struct { \ diff --git a/include/stdlib.h b/include/zinnia/stdlib.h similarity index 100% rename from include/stdlib.h rename to include/zinnia/stdlib.h diff --git a/include/string.h b/include/zinnia/string.h similarity index 100% rename from include/string.h rename to include/zinnia/string.h diff --git a/include/zinnia/types.h b/include/zinnia/types.h index 4716ef1..ea97d7d 100644 --- a/include/zinnia/types.h +++ b/include/zinnia/types.h @@ -5,8 +5,8 @@ #include ASSERT_TYPE(phys_t); -ASSERT_TYPE(virt_t); +typedef __ssize_t ssize_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __blksize_t blksize_t; diff --git a/include/zinnia/vec.h b/include/zinnia/vec.h index d2207e1..8f36630 100644 --- a/include/zinnia/vec.h +++ b/include/zinnia/vec.h @@ -3,7 +3,7 @@ #include #include #include // IWYU pragma: keep -#include // IWYU pragma: keep +#include // IWYU pragma: keep #define vec(T) \ struct { \ diff --git a/include/zinnia/virt.h b/include/zinnia/virt.h index 5690cb1..31f520d 100644 --- a/include/zinnia/virt.h +++ b/include/zinnia/virt.h @@ -30,9 +30,9 @@ uintptr_t vm_page_addr(struct page* page); // Allocator for virtual memory. struct vm_alloc { - virt_t start_page; - virt_t end_page; - virt_t next_fit; + uintptr_t start_page; + uintptr_t end_page; + uintptr_t next_fit; hashmap(int, void); }; diff --git a/meson.build b/meson.build index 9b12c51..0442e38 100644 --- a/meson.build +++ b/meson.build @@ -39,7 +39,6 @@ add_project_arguments( '-ffunction-sections', '-fdata-sections', '-ffreestanding', - '-nostdinc', # We provide our own headers. '-fno-stack-protector', language: 'c', ) diff --git a/syscalls/uname.c b/syscalls/uname.c index 28bcaba..d8964e0 100644 --- a/syscalls/uname.c +++ b/syscalls/uname.c @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include static struct spinlock uname_lock = {};