Commit graph

73 commits

Author SHA1 Message Date
Imbus
f6e543b64d Free the freelist allocation in start.c test, better logging messages 2025-10-01 02:53:03 +02:00
Imbus
cc24fb66eb Test hexdump in start.c 2025-10-01 02:52:20 +02:00
Imbus
795cf84a07 Fix format specifier that doesnt exist in neptune 2025-10-01 02:51:37 +02:00
Imbus
1ed4b57882 hexdump.[ch]: utility function for dumping memory regions as hex 2025-10-01 02:48:32 +02:00
Imbus
f4342ab221 ctype.h: include isprint 2025-10-01 02:48:03 +02:00
Imbus
802ac9c012 Seed badrand with an rtc read xored with itself (its called BADrand for a reason) 2025-10-01 02:42:45 +02:00
Imbus
0dbb13fea0 Extend badrand with badrand_buf 2025-10-01 02:41:09 +02:00
Imbus
2fd62c52b4 Replace __sync compiler intrinsics with 'modern' __atomic 2025-10-01 02:40:30 +02:00
Imbus
9d6c9a8bc5 Initial RTC driver for google goldfish 2025-10-01 02:40:06 +02:00
Imbus
111d41d610 Buddy bugfix 2025-10-01 02:39:49 +02:00
Imbus
435b712f25 Freelist testing in start 2025-09-09 12:10:05 +02:00
Imbus
9df66792f2 Limits 2025-09-09 12:09:57 +02:00
Imbus
323522b03c Memcmp 2025-09-09 12:09:53 +02:00
Imbus
c72bce50ac max_align_t 2025-09-09 11:20:27 +02:00
Imbus
700828676b Some more stdint types and defines 2025-09-09 11:20:13 +02:00
Imbus
6b12606d82 Freelist that seems to behave 2025-09-09 11:11:28 +02:00
Imbus
6cb84f5081 stdalign 2025-09-08 09:24:50 +02:00
Imbus
ca0b25d110 Update freelist 2025-09-08 09:16:40 +02:00
Imbus
d583dbaced Initial implementation of a freelist. blocks contain a header 2025-09-08 05:03:40 +02:00
Imbus
f01b71f4a6 next_power_of_two bit hack function 2025-09-08 05:02:38 +02:00
Imbus
e9f2eef252 String: strncmp, strncpy 2025-09-08 00:45:41 +02:00
Imbus
8316c9f6ae Remove original kalloc free-list memory allocator entirely for now 2025-09-06 02:40:05 +02:00
Imbus
90c63ab41e Buddy allocator 2025-09-06 02:37:09 +02:00
Imbus
21d55031d9 memory.h: sweep algorithm for checking regions 2025-09-06 02:36:29 +02:00
Imbus
e762502c33 Include stdio in assert.h 2025-09-06 02:36:04 +02:00
Imbus
7301205e1f Add newline to panic macro 2025-09-06 02:09:48 +02:00
Imbus
57be90da84 kernel.ld: slight rewrite, use memory regions for ram instead of static offset 2025-09-06 00:54:38 +02:00
Imbus
89197a0b07 assert.h: assert & assert_msg panic macros 2025-09-06 00:13:24 +02:00
Imbus
dac4f9de43 Repairing PANIC macro, now handles VA_ARGS properly 2025-09-06 00:12:58 +02:00
Imbus
2eba11bb3f stdlib: abs, labs, llabs 2025-09-05 23:43:08 +02:00
Imbus
9bd5fdfa45 Include stdlib in string.h 2025-09-05 23:32:15 +02:00
Imbus
291d0797e3 stdlib.h: define EXIT_SUCCESS and EXIT_FAILURE 2025-09-05 23:32:03 +02:00
Imbus
851424f3cb stdint.h: typedefs for signed integers (int8_t, i8, e.t.c.) 2025-09-05 23:31:39 +02:00
Imbus
78e4ad9885 Slab outline 2025-09-04 17:57:59 +02:00
Imbus
129b29eaf3 Likely/unlikely 2025-09-04 05:00:09 +02:00
Imbus
4ee23cd145 stddef.h: size_t 2025-09-04 05:00:02 +02:00
Imbus
a02c1fcebd Use compiler builtins for spin_unlock, correct initialization for spinlock_init 2025-09-02 04:43:55 +02:00
Imbus
e15b705eda Enable pop_off and push_off in spinlocks 2025-09-02 04:30:00 +02:00
Imbus
595ae0a8e2 Clean up string.c, remove unused duplicates 2025-09-02 04:29:24 +02:00
Imbus
f98500001c Fix include in endian.h 2025-09-02 04:29:05 +02:00
Imbus
4ed3650089 Correcting header guards across the kernel 2025-09-02 03:27:36 +02:00
Imbus
8d126a6dfd Add boot message about how to exit qemu 2025-09-02 03:16:38 +02:00
Imbus
f52f670eca Add slick banner on boot 2025-09-02 03:07:52 +02:00
Imbus
9790807355 Todo 2025-09-02 02:51:34 +02:00
Imbus
8839f06fd2 Formatting 2025-09-02 02:47:51 +02:00
Imbus
68f3353fbd Bug: fix incorrect reference level 2025-09-02 02:44:21 +02:00
Imbus
5596841482 Handle panic through kvprintf instead 2025-09-02 02:37:00 +02:00
Imbus
e30cc4c3d0 Better documentation for kprintf/stdio 2025-09-02 02:30:25 +02:00
Imbus
ee6c75d905 Documentation in kprintf 2025-09-02 02:24:45 +02:00
Imbus
4c96aac02c Badrand pseudo random number generator, emphasis on pseudo 2025-09-02 01:59:24 +02:00