Commit graph

234 commits

Author SHA1 Message Date
TheOddGarlic 6bc74e896c allocate DMA frame 2022-08-17 13:29:34 +03:00
TheOddGarlic 3836416891 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 f5c4db98f9 Devices: Add block devices 2022-08-17 13:29:34 +03:00
TheOddGarlic ed68ef9fa0 PCI: add INTEL_PIIX4_IDE device 2022-08-17 13:29:34 +03:00
TheOddGarlic b8f0074aa0 PCI: revision id, programming interface byte and device ID 2022-08-17 13:29:33 +03:00
TheOddGarlic 86b0ac95aa ATA: configure qemu to boot from an IDE drive 2022-08-17 13:29:33 +03:00
TheOddGarlic 5d1b4ed55d ATA: get rid of x86_ata
We'll be using our own implementation.
2022-08-17 13:29:30 +03:00
TheOddGarlic 030a5812f7 make stuff use the new VFS interface 2022-08-08 08:22:58 +03:00
TheOddGarlic 8e487e1697 VFS: fix little oopsie 2022-08-08 08:22:58 +03:00
TheOddGarlic 0cc1aaa64f VFS: path resolution 2022-08-08 08:22:55 +03:00
TheOddGarlic 960da43383 NOT ONE, but TWO deadlocks fixed! 2022-08-08 08:21:35 +03:00
TheOddGarlic 70342c5f46 VFS: move stuff into a VirtualFileSystem struct 2022-08-08 08:21:35 +03:00
TheOddGarlic b01ce11fab recursively walk directories 2022-08-08 08:21:35 +03:00
TheOddGarlic e766229b58 VFS+Ext2: many simplifications and filesystem initialisation 2022-08-08 08:21:35 +03:00
TheOddGarlic 52cd72a949 Ext2: find_dir implementation 2022-08-08 08:21:35 +03:00
TheOddGarlic e21b34a3e7 Ext2: read_dir implementation 2022-08-08 08:21:35 +03:00
TheOddGarlic 8c9521e893 VFS: simplify everything 2022-08-08 08:21:35 +03:00
TheOddGarlic 91c1783b99 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 600a81adf7 vfs: FsNode::release() implementation and weak ref to VFS node in file descriptors 2022-08-08 08:21:35 +03:00
TheOddGarlic 2a163a55ee 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 cdb6632f98 vfs+ext2: full implementation of FsNode::open() 2022-08-08 08:21:35 +03:00
TheOddGarlic aa3667714b vfs: documentation and a few minor changes 2022-08-08 08:21:35 +03:00
TheOddGarlic 9ed5ffc521 vfs: FsNode::new() 2022-08-08 08:21:35 +03:00
TheOddGarlic 52ff9f8a3c vfs: remove name from VFS nodes 2022-08-08 08:21:35 +03:00
TheOddGarlic 31a3feb6a0 vfs: move operations into trait StorageDevice, hold StorageDevices in KERNEL_STATE 2022-08-08 08:21:35 +03:00
TheOddGarlic 9462350de7 vfs: readdir and finddir operations in FsNode 2022-08-08 08:21:35 +03:00
TheOddGarlic c63fbabc42 feat: start VFS implementation 2022-08-08 08:21:35 +03:00
Erin cd8e6e4b3b 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.

— Erin
2022-08-07 23:42:23 +02:00
Elfein Landers 77189e9e3c error fix 2022-08-06 21:24:40 -07:00
Elfein Landers d3b8b2e12a corrected constant to match documentation 2022-08-06 20:59:31 -07:00
Elfein Landers 1b67d8eaba documented 2022-08-06 20:56:08 -07:00
Elfein Landers f2ecb95beb Merge branch 'master' of https://git.ablecorp.us/able/ableos 2022-08-06 20:44:37 -07:00
Elfein Landers 2bd5ffb4eb Documenting a bit in interrupts 2022-08-06 20:43:23 -07:00
Elfein Landers f0ca90ae25 turned magic number into constant 2022-08-06 20:32:22 -07:00
Elfein Landers 1ce64c6e35 update kilotime to be simpler + feature change 2022-08-06 20:31:32 -07:00
able e768c308e6 port clparse 2022-08-06 22:12:48 -05:00
able e8221f8513 kupdate 2022-08-06 08:16:08 -05:00
able 4518e7ef5e pci work 2022-08-06 06:48:40 -05:00
able 88df078d56 test framework layout 2022-08-05 06:22:23 -05:00
able 2200b5bbda prelim work on VGA 2022-08-05 01:14:13 -05:00
able 8c511e6550 Merge pull request 'feat: repbuild2' (#21) from theoddgarlic/ableos:repbuild2 into master
Reviewed-on: https://git.ablecorp.us:443/able/ableos/pulls/21
2022-08-03 07:19:05 +00:00
TheOddGarlic 0ec08d7460 feat: repbuild2 minimum viable product 2022-08-03 10:11:51 +03:00
able dabe817e58 Merge pull request 'Fix dependency issues, switch to my fork of toml, get rid of shadeable and temporarily get rid of repbuild' (#20) from theoddgarlic/ableos:dependencies into master
Reviewed-on: https://git.ablecorp.us:443/able/ableos/pulls/20
2022-08-03 07:10:17 +00:00
able ce765f2488 fix backspace 2022-08-03 02:09:34 -05:00
TheOddGarlic da42059b61 fix cargo check std error, temporarily get rid of repbuild 2022-08-02 14:16:24 +03:00
TheOddGarlic b3721bca19 handle dependencies, get rid of shadeable 2022-08-02 14:13:29 +03:00
TheOddGarlic a480d93276 Bump hashbrown, switch to my toml fork 2022-08-02 14:13:29 +03:00
able 1ca1594f66 simplification 2022-08-02 06:00:21 -05:00
able 834287cdd6 very good and cool updates to BuiltinShell 2022-08-02 04:14:01 -05:00
able becc123d1f changing the colors of the bg and fg 2022-08-02 01:52:03 -05:00