Able
efb1a98bc6
add a pci device view on boot
2022-11-30 01:47:15 -06:00
Able
7aee7ab371
changing color parsing from \0 to \1a
2022-11-23 02:32:12 -06:00
Able
25c2a72fd1
fix echo command and add traces to vfs
2022-11-23 01:55:09 -06:00
ondra05
ed0c0ad43f
Threw stuff from the microkernel. Start of moving core parts there.
2022-11-07 20:29:42 +01:00
ondra05
444bbb7bd1
removed module that I forgot to remove + 1.65 stuff
2022-11-05 01:40:38 +01:00
ondra05
5818182028
update
2022-10-29 19:53:08 +02:00
ondra05
27bda3a403
fixed sound
2022-10-29 19:20:23 +02:00
ondra05
8d0b756b42
merge
2022-08-28 22:04:55 +02:00
ondra05
7e0c645003
fixed qr code
2022-08-21 11:45:28 +02:00
TheOddGarlic
d27b3bd931
IDE: Implement writing using Bus Mastering DMA
2022-08-17 17:19:27 +03:00
TheOddGarlic
777888aae2
IDE: Add LBA28 addressing support
...
LBA28 is obsolete at this point, but we prefer to use it over LBA48
whenever we can because LBA28 is faster.
2022-08-17 15:29:50 +03:00
TheOddGarlic
21de068685
IDE: clean everything up
2022-08-17 13:29:34 +03:00
TheOddGarlic
775ded8e23
IDE: Rename PiixIde to PciIde, use it for all IDE controllers
...
If the controller is not a known PCI IDE controller, then we warn about
the controller during PCI device discovery. :^)
2022-08-17 13:29:34 +03:00
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
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
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