Andreas Kling
c818773983
IDEDiskDevice: Add support for DMA reads.
...
I've only tested this with the PIIX3 chipset QEMU emulates, but it works
pretty well here. GCC compile times are cut roughly in half :^)
2019-05-19 03:46:50 +02:00
Andreas Kling
3cba2a8a78
Kernel: Add a beep() syscall that beeps the PC speaker.
...
Hook this up in Terminal so that the '\a' character generates a beep.
Finally emit an '\a' character in the shell line editing code when
backspacing at the start of the line.
2019-05-15 21:40:41 +02:00
Andreas Kling
dae8eb6454
Kernel: Add support for the PS/2 mouse wheel if detected.
2019-05-13 19:48:14 +02:00
Andreas Kling
2470fdcd9b
Kernel: Make Socket inherit from File.
2019-05-03 20:42:43 +02:00
Andreas Kling
c3b7ace3e0
Kernel: Assign Lock names in class member initializers.
2019-05-02 03:28:20 +02:00
Andreas Kling
8cbb7f101f
Kernel: Have File virtuals take a FileDescriptor& rather than a Process&.
...
This will allow us to implement different behaviors depending on the role
of the descriptor a File is being accessed through.
2019-04-29 13:58:40 +02:00
Andreas Kling
0a0d739e98
Kernel: Make FIFO inherit from File.
2019-04-29 04:55:54 +02:00
Andreas Kling
e886337a67
Kernel: Make ProcessTracer inherit from File.
2019-04-28 15:02:55 +02:00
Andreas Kling
d7cf841d3d
Kernel: Add a comment block about the Device class.
2019-04-24 02:37:57 +02:00
Andreas Kling
ca9ed13643
Kernel: Simplify Device::open().
2019-04-24 02:20:14 +02:00
Andreas Kling
f042b3adeb
Kernel: Make the right shift key work.
...
I never realized the right shift key wasn't hooked up since my left pinky
always hovers over the left shift key, ready to rock.
2019-04-23 20:47:45 +02:00
Andreas Kling
243e1d8462
Kernel: Use rep insw/outsw for IDE transfers.
...
There are much faster ways to do disk transfers, but I'm not implementing
those today. In the meantime, this is slightly nicer. :^)
2019-04-23 03:45:55 +02:00
Andreas Kling
37498c1566
Kernel: Send IDE flush command after writing sectors.
2019-04-23 03:16:47 +02:00
Andreas Kling
11e7ce60e5
Kernel: Use IDE LBA addressing instead of the long-obsolete C/H/S.
2019-04-23 02:26:51 +02:00
Andreas Kling
2d7cad6a16
Kernel: Make sure we don't use any FPU/MMX/SSE instructions.
2019-04-22 23:38:33 +02:00
Andreas Kling
3817f5f619
Kernel+LibC: Add a DebugLogDevice that forwards everything to I/O port 0xe9.
...
This is then used to implement the userspace dbgprintf() in a far more
efficient way than what we had before. :^)
2019-04-18 16:08:52 +02:00
Andreas Kling
644c887594
Kernel: Move FIFO into FileSystem/ and Socket+LocalSocket into Net/.
2019-04-06 20:29:48 +02:00
Andreas Kling
a58d7fd8bb
Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress.
2019-04-06 14:29:29 +02:00
Andreas Kling
b9738fa8ac
Kernel: Move VM-related files into Kernel/VM/.
...
Also break MemoryManager.{cpp,h} into one file per class.
2019-04-03 15:13:07 +02:00
Andreas Kling
58c4d41c5f
Kernel: Remove Limits.h
2019-04-03 13:18:42 +02:00
Andreas Kling
ab43658c55
Kernel: Move devices into Kernel/Devices/.
2019-04-03 12:36:40 +02:00