Commit Graph

1651 Commits

Author SHA1 Message Date
c35ed6570b LibC: Implement endiannes and ip address functions 2024-02-05 18:18:56 +02:00
d15cbb2d6a Kernel: Fix IPv4 header checksum calculation 2024-02-05 18:18:56 +02:00
b8cf6432ef BAN: Implement host_to_network_endian 2024-02-05 17:29:24 +02:00
89805fb092 dhcp-client: Use dprintln for debug printing 2024-02-05 01:24:45 +02:00
692cec8458 Kernel/Userspace/LibC: Implement basic dprintln for userspace 2024-02-05 01:24:09 +02:00
79897e77dc dhcp-client: Remove packet send test :D 2024-02-03 18:04:31 +02:00
649e9f4500 Kernel: ARP now replies to requests 2024-02-03 18:04:12 +02:00
3a6d31d3fa BAN: Add comparison for MAC 2024-02-03 18:03:27 +02:00
2138eeb87f Userspace: Implement super simple DHCP client 2024-02-03 02:41:06 +02:00
102aa50a41 BuildSystem: Use E1000E network controller in qemu 2024-02-03 02:40:15 +02:00
5cfe249945 Kernel: Cleanup network code and implement basic ARP request 2024-02-03 02:39:26 +02:00
a0138955cd Kernel: Implement barebones arp table 2024-02-03 01:50:10 +02:00
e1ffbb710b Kernel/LibC: Implement basic ioctl for network addresses 2024-02-03 01:50:10 +02:00
c18f72ceb9 BAN: Add more APIs for IPv4 address 2024-02-03 01:50:10 +02:00
bc1441a5eb LibC: add stropts.h 2024-02-02 14:29:20 +02:00
0f154c3173 Kernel: Implement basic recvfrom 2024-02-02 13:50:00 +02:00
7b287a1d5b BAN: Add types for IPv4 and MAC addresses 2024-02-02 13:48:07 +02:00
4b332b5d42 Kernel: Cleanup PCI code 2024-02-02 03:16:37 +02:00
ec2f21bb9f Kernel/LibC: Implement SYS_SENDTO 2024-02-02 03:16:01 +02:00
acd6c86f98 BAN: Add NetworkEndian to Endianness 2024-02-02 03:13:14 +02:00
ab150b458a Kernel/LibC: Implement basic socket binding 2024-02-02 01:31:58 +02:00
cf28ecd5a6 Kernel/LibC: Add SYS_SOCKET 2024-02-01 23:39:09 +02:00
99eed9c37a Kernel: Start work on network stack 2024-02-01 23:38:06 +02:00
f4e86028d0 Kernel: Write simple working E1000 and E1000E drivers 2024-02-01 22:08:59 +02:00
7cb71ec6fb test-sort: Test more algorithms and cleanup output format 2024-02-01 15:22:28 +02:00
d054e5b4b7 BAN: Implement basic radix sort for unsigned integers 2024-02-01 15:22:28 +02:00
c69efc040c Kernel: Scheduler now uses the new LinkedList API for moving threads
Scheduler doesn't have to depend on the fact that allocations should
work when same amount of memory is just deallocated
2024-02-01 15:22:28 +02:00
c4bf1641bd BAN: Add cool API for LinkedList
You can now move elements between LinkedLists without allocations or
deallocations. Same node moves from source to destination
2024-02-01 14:19:02 +02:00
9213dd13bc dd: Improve output format
Include written bytes and speed with units
2024-02-01 00:06:46 +02:00
4273f43be1 BAN: Move placement new to its own file and fix includes 2024-01-31 23:55:41 +02:00
139bb5c2a5 Kernel: Fix linker script
I have no idea why rodata was executable :D
2024-01-30 17:32:50 +02:00
95e861bcdd Kernel: Optimize all SpinLocks. All locking operations are atomic 2024-01-30 12:39:37 +02:00
ca8e7b40bc Kernel: Implement SpinLock without CriticalScope
This actually is not even spinlock since it yields the current
thread. It will become one when I get to SMP though...
2024-01-30 01:21:15 +02:00
cc79f55817 BAN: Add compare_exchange to atomic 2024-01-30 01:21:15 +02:00
a1faa836c5 Kernel: Hack NVMe controller to work :) 2024-01-30 01:06:00 +02:00
1f8aaa6fba Toolchain: Add insmod all_video to uefi grub
This allows getting GOP framebuffer... This was all it took
2024-01-26 00:50:04 +02:00
6bfe833aa5 Kernel: Parse RSDP from multiboot headers if exists 2024-01-26 00:49:42 +02:00
0408aa9bbc BAN: Implement is_unsigned* traits and (un)?signed_integral concepts 2024-01-25 14:17:23 +02:00
210b24b6e3 AOC2023: Delete file that should not be committed... 2024-01-24 15:53:38 +02:00
dfe5a2d665 All: Cleanup all files
Add newline to end of files and remove whitespace from end of lines
2024-01-24 15:53:38 +02:00
3441f63298 Kernel: Don't panic kernel if no interrupt could be reserved 2024-01-24 14:34:59 +02:00
2cee2a85e6 Kernel: DevFS now stores all devices
This allows removing hack in PCI that was required to keep NVMe
controller alive.
2024-01-24 14:33:50 +02:00
5001fa58e0 Kernel: Fix wait syscall with atomics 2024-01-24 14:32:52 +02:00
d2cf7c7a5c BAN: Implement basic Atomic class that wraps gcc builtins 2024-01-24 14:30:04 +02:00
e544e6a62d LibC: Implement floating point parsing to *scanf functions 2024-01-24 11:54:12 +02:00
606a7cb313 LibC: Implement almost POSIX compliant *scanf functions
Only wchar strings and floating point values are not parsed
2024-01-24 10:33:12 +02:00
de4fdcd898 BAN: Implement is_base_of and integral_constant to Traits 2024-01-22 16:59:14 +02:00
2c471a89d0 LibC: Add compile option to libc to stop optimizing string.h 2024-01-17 19:44:29 +01:00
a5660b95b2 BAN: String don't memcpy with nullptr 2024-01-17 19:04:40 +01:00
54a92293da Kernel: Implement NVMe driver
I'm  actually able to boot this os fine on own laptop now!
2024-01-17 08:26:58 +01:00