Commit Graph

283 Commits (892b3e7250b3b3d5d9eb59a72049a815a7bbcbdf)

Author SHA1 Message Date
TheOddGarlic 892b3e7250 working IDE DMA implementation 2022-08-17 13:29:34 +03:00
TheOddGarlic 445b5f5f5c PCI: device discovery 2022-08-17 13:29:34 +03:00
TheOddGarlic 428a8e8b73 PCI: a lot of refactoration 2022-08-17 13:29:34 +03:00
TheOddGarlic 54140d153f IDE device discovery 2022-08-17 13:29:34 +03:00
TheOddGarlic e9d58c67ad ATA device detection 2022-08-17 13:29:34 +03:00
TheOddGarlic 8b105cb8a7 progress, i guess 2022-08-17 13:29:34 +03:00
TheOddGarlic b65a3be19d allocate 16 frames for DMA 2022-08-17 13:29:34 +03:00
TheOddGarlic 641d154219 allocate DMA frame 2022-08-17 13:29:34 +03:00
TheOddGarlic daea5b0183 PCI: add PIIX3_IDE to supported devices
PIIX4_IDE and PIIX3_IDE are similar enough that we can have one driver
for both.
2022-08-17 13:29:34 +03:00
TheOddGarlic 272cf525af Devices: Add block devices 2022-08-17 13:29:34 +03:00
TheOddGarlic 8c1f80b7e6 PCI: add INTEL_PIIX4_IDE device 2022-08-17 13:29:34 +03:00
TheOddGarlic bc1a0a721f PCI: revision id, programming interface byte and device ID 2022-08-17 13:29:33 +03:00
TheOddGarlic 6265560ccf ATA: configure qemu to boot from an IDE drive 2022-08-17 13:29:33 +03:00
TheOddGarlic 1c7df74de5 ATA: get rid of x86_ata
We'll be using our own implementation.
2022-08-17 13:29:30 +03:00
ondra05 920074f902 OOOO MIGHTY CLIPPY, WE SUMMON YOU!!! 2022-08-10 21:47:33 +02:00
ondra05 404d2aad3e Added spawner 2022-08-09 01:32:42 +02:00
able 489bcc69c2 Merge pull request 'VFS implementation' (#22) from theoddgarlic/ableos:vfs into master
Reviewed-on: https://git.ablecorp.us:443/able/ableos/pulls/22
2022-08-08 05:25:07 +00:00
TheOddGarlic 0272b8b239 make stuff use the new VFS interface 2022-08-08 08:22:58 +03:00
TheOddGarlic dc5b9f08f4 VFS: fix little oopsie 2022-08-08 08:22:58 +03:00
TheOddGarlic f67e9b2372 VFS: path resolution 2022-08-08 08:22:55 +03:00
TheOddGarlic fa45737901 NOT ONE, but TWO deadlocks fixed! 2022-08-08 08:21:35 +03:00
TheOddGarlic 315df05532 VFS: move stuff into a VirtualFileSystem struct 2022-08-08 08:21:35 +03:00
TheOddGarlic 1e45f08c8f recursively walk directories 2022-08-08 08:21:35 +03:00
TheOddGarlic cc464c4ec3 VFS+Ext2: many simplifications and filesystem initialisation 2022-08-08 08:21:35 +03:00
TheOddGarlic e6aa9a3651 Ext2: find_dir implementation 2022-08-08 08:21:35 +03:00
TheOddGarlic 379b4deb91 Ext2: read_dir implementation 2022-08-08 08:21:35 +03:00
TheOddGarlic d8802f0968 VFS: simplify everything 2022-08-08 08:21:35 +03:00
TheOddGarlic e53d855fa6 vfs+ext2: initial FsNode::read() implementation
The VFS side of things for read() should be done, however due to my
limited ext2 knowledge, I've not implemented partially reading a file,
and in this state only full files can be read.
2022-08-08 08:21:35 +03:00
TheOddGarlic 8a175132d8 vfs: FsNode::release() implementation and weak ref to VFS node in file descriptors 2022-08-08 08:21:35 +03:00
TheOddGarlic dd9ea18f09 vfs: rename FsNode::close() to FsNode::release()
FsNode::close() will instead become a method that takes a closes a file descriptor, while release() will close the whole VFS node.
2022-08-08 08:21:35 +03:00
TheOddGarlic 72883e847b vfs+ext2: full implementation of FsNode::open() 2022-08-08 08:21:35 +03:00
TheOddGarlic 92ac2e9b9a vfs: documentation and a few minor changes 2022-08-08 08:21:35 +03:00
TheOddGarlic fd832dbb26 vfs: FsNode::new() 2022-08-08 08:21:35 +03:00
TheOddGarlic 81fc36df8b vfs: remove name from VFS nodes 2022-08-08 08:21:35 +03:00
TheOddGarlic a1f6bae9df vfs: move operations into trait StorageDevice, hold StorageDevices in KERNEL_STATE 2022-08-08 08:21:35 +03:00
TheOddGarlic 330c3cc7c2 vfs: readdir and finddir operations in FsNode 2022-08-08 08:21:35 +03:00
TheOddGarlic 95004ae7aa feat: start VFS implementation 2022-08-08 08:21:35 +03:00
ondra05 1b51942a12 So I have two news for you. One good and one bad.
We have async, but we got rid of the preëmptive sched... wait, that's two good news, anyways, have a nice day.

— Ondra
2022-08-07 23:42:23 +02:00
Elfein Landers 6b0b5c0453 fix warning 2022-08-06 22:24:11 -07:00
Elfein Landers cb1bf8ed5c error fix 2022-08-06 21:24:40 -07:00
Elfein Landers 90aed0cdad corrected constant to match documentation 2022-08-06 20:59:31 -07:00
Elfein Landers a314f8ab99 documented 2022-08-06 20:56:08 -07:00
Elfein Landers 175ad8a534 Merge branch 'master' of https://git.ablecorp.us/able/ableos 2022-08-06 20:44:37 -07:00
Elfein Landers ffa70b68ce Documenting a bit in interrupts 2022-08-06 20:43:23 -07:00
Elfein Landers e86bbfcfe5 turned magic number into constant 2022-08-06 20:32:22 -07:00
Elfein Landers cbcdfbb5f2 update kilotime to be simpler + feature change 2022-08-06 20:31:32 -07:00
able 61aea9b284 Merge pull request 'clparse' (#26) from clparse into master
Reviewed-on: https://git.ablecorp.us:443/able/ableos/pulls/26
2022-08-07 03:13:26 +00:00
able 7571266898 port clparse 2022-08-06 22:12:48 -05:00
able 350d09a694 kupdate 2022-08-06 08:16:08 -05:00
able c97b43002f pci work 2022-08-06 06:48:40 -05:00