Also added support for pipes and managed to integrate PicoTCP into the kernel (ran in userland before). I have a very limited BSD socket API layer right now, but I still managed to get a "telnet" server working.
Next up, porting dropbear π
Xelix news: Managed to fix the PCI issues I've been having (by making PCI interrupts non-reentrant for now), wrote a driver for Ne2000 NICs and hooked that up to PicoTCP.
Suddenly: Internet! Next up, figuring out how to expose all this properly as BSD sockets in userland.
https://github.com/lutoma/xelix/commit/ecebb05c2c726e8b78330553d085f2b108e48a0e #osdev
Tried booting Xelix in VirtualBox for the first time in ages. Looks like it's not very happy with the new interrupt handling. I think it fires a nested interrupt right after initialization where QEMU doesn't, and that triggers one of the several reentrancy issues still scattered throughout the code. #osdev
In related news, spent a lot of time making context switching more stable and improving the ext2 driver recently. Ported pciutils/lspci earlier today and it's starting to feel like a real UNIXβ’. #osdev
Well I guess at least the page fault handler works. Now to find out what corrupts task memory. I'm 90% certain it's because I'm not allocating the stack properly, but who knows. #osdev
π€ beep boop
EU politics, code and some other stuff too. Run http://fnordserver.eu