Commit Graph

1809 Commits

Author SHA1 Message Date
132286895f Kernel: Implement Socket inodes for tmpfs 2024-02-07 15:57:45 +02:00
454bee3f02 LibC: Fix sockaddr_un implementation 2024-02-07 15:57:45 +02:00
41cad88d6e Kernel/LibC: Implement dummy syscalls for accept, connect, listen 2024-02-07 15:57:45 +02:00
40e341b0ee BAN: Remove unstable hash map and set
These can now be implemented safely with new linked list api
2024-02-06 17:35:15 +02:00
5da59c9151 Kernel: Make better abstractions for networking 2024-02-06 16:45:39 +02:00
f804e87f7d Kernel: Implement basic gateway for network interfaces 2024-02-05 18:18:56 +02:00
dd3641f054 Kernel: Cleanup ARPTable code
Packet process is now killed if ARPTable dies.

ARP wait loop now just reschecules so timeout actually works.
2024-02-05 18:18:56 +02:00
b2291ce162 Kernel/BAN: Fix network strucute endianness 2024-02-05 18:18:56 +02:00
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