summaryrefslogtreecommitdiff
path: root/src/kernel/arch/amd64/driver/rtl8139.c
AgeCommit message (Collapse)Author
2024-08-17kernel: split the kernel/user inputs in VfsReqdzwdz
I think I've done this refactor in the opposite direction a few years ago. This is mostly meant to prepare me for setxattr, which requires two inputs - coincidentally, one is already going to be a kernel input, and the other will be an user input, so it works out. I also just didn't like the previous way it worked, this feels cleaner.
2024-07-14kernel: make the adhoc VfsQueue queues use ReqQueue insteaddzwdz
I'm still not sure if I should use sys/queue.h for this. But yeah, this is more consistent, and it will also let me switch over to O(1) insertions later on.
2024-07-14kernel: rework postqueuedzwdz
Keeping its old name for now to make things easier for myself. This might just be replaced by sys/queue.h soon.
2024-05-05net: expose the rtl mac to userland, make the netstack use itdzwdz
2024-05-04kernel/rtl8139: prepare for /dev/eth/macdzwdz
2023-09-11*: rename /kdev/ to /dev/dzwdz
2023-09-03misc: remove old debug printsdzwdz
the rtl8139 mac wasn't being read correctly anyways, and the init stuff wasn't revelant in ages. the rest is relatively useful
2023-08-06kernel: put every driver in /kdev/dzwdz
there's no real reason for bootstrap to be doing that, and this brings it closer to only doing the elf loading
2023-02-23fix: misc warningsdzwdz
2023-01-25kernel/driver: consolidate most header files into driver.hdzwdz
2023-01-25kernel/irq: use a lookup table for irqsdzwdz
2023-01-25kernel: consolidate some header filesdzwdz
2023-01-25style: typedef structs, shorter namespacesdzwdz
I've wanted to do this for a while, and since I've just had a relatively large refactor commit (pcpy), this is as good of a time as any. Typedefing structs was mostly inspired by Plan 9's coding style. It makes some lines of code much shorter at basically no expense. Everything related to userland kept old-style struct definitions, so as not to force that style onto other people. I also considered changing SCREAMING_ENUM_FIELDS to NicerLookingCamelcase, but I didn't, just in case that'd be confusing.
2023-01-25kernel/virt: replace the virt_cpy api with a more foolproof onedzwdz
2022-08-28kernel/driver: add postqueue_join / postqueue_popdzwdz
2022-08-28kernel/vfs: minor vfs_request / vfs_root_register reworkdzwdz
* changed vfs_root_register's name because the _mount didn't add anything * removed the old pointless vfs_backend_tryaccept calls from drivers * because of that, i could remove the vfs_backend globals * replaced the horrible BACKEND_KERN macro * all vfs_backends are now stored on the heap
2022-08-21amd64/rtl8139: fix incorrect ring buffer wrapping readsdzwdz
I was reading from the buffer as if the WRAP flag was enabled, but it actually isn't supported with a 64K buffer. Besides, if it worked correctly, then the code for updating the ring position would land in the wrong place, because it didn't take WARP into account.
2022-08-17amd64/rtl8139: don't trust the card to have packets available on irqdzwdz
2022-08-17user/net: respond to pingsdzwdz
2022-08-17user/net: answer to ARPdzwdz
2022-08-17amd64/rtl8139: txdzwdz
2022-08-17amd64/rtl8139: expose CRC when reading packetsdzwdz
2022-08-17amd64: rtl8139 driver with basic rx supportdzwdz