1194 Commits

Author SHA1 Message Date
Baptiste Wicht
dbffaf89dd Publish PCI devices in sysfs 2016-07-03 18:59:22 +02:00
Baptiste Wicht
aa8a6ffb23 Support for : in keyboard 2016-07-03 18:58:04 +02:00
Baptiste Wicht
83cdf86326 Basic PCI detection 2016-07-03 18:46:20 +02:00
Baptiste Wicht
8819bb196f Support for I/O functions inl/outl 2016-07-03 18:46:13 +02:00
Baptiste Wicht
d409f09000 Enable network controller 2016-07-03 18:44:22 +02:00
Baptiste Wicht
f335186c80 Add comment 2016-07-03 16:37:32 +02:00
Baptiste Wicht
160b78e168 Protect the kernel with Stack Smashing Protection 2016-07-03 16:22:10 +02:00
Baptiste Wicht
27dc7e25a0 Fix race condition in wait_for_termination
If preempted, it was possible for a process to be waiting forever
2016-07-03 15:59:54 +02:00
Baptiste Wicht
1c3af14f35 Exposes ATA information 2016-07-03 15:59:29 +02:00
Baptiste Wicht
3c38ead19f Protect kernel allocations
This code is absolutely not-reentrant
2016-07-03 13:24:43 +02:00
Baptiste Wicht
e66314ae96 Save ALL registers
For some reasons, some registers were not saved :(
2016-07-03 13:24:18 +02:00
Baptiste Wicht
64c1312b28 Interrupt lock
This lock disable interrupts for the duration of the lock, thus
protecting non-reentrant code path
2016-07-03 13:23:47 +02:00
Baptiste Wicht
f7ba2bbe2d Improve logging 2016-07-03 13:23:12 +02:00
Baptiste Wicht
9ceb950642 Log faults
In case of VESA problems, the error will be present in the log as
well
2016-07-03 13:21:26 +02:00
Baptiste Wicht
f47f6d30e7 Rename variable to avoid collision 2016-07-03 13:21:01 +02:00
Baptiste Wicht
b08ca6458f Add get_phys() function 2016-07-03 11:55:59 +02:00
Baptiste Wicht
f1df24d78a Preliminary support for Ctrl+C 2016-07-02 17:19:14 +02:00
Baptiste Wicht
34161e5ac3 Retab 2016-07-02 16:52:43 +02:00
Baptiste Wicht
44f94684f3 Better ATA delays 2016-07-02 16:50:45 +02:00
Baptiste Wicht
c06802ed30 Cleanup asm 2016-07-02 16:44:36 +02:00
Baptiste Wicht
40049a75cf Update license copyright 2016-07-02 16:42:45 +02:00
Baptiste Wicht
c1dd302b08 Clean 2016-07-02 16:39:52 +02:00
Baptiste Wicht
be8eaf1493 Save the idle_pid 2016-07-02 16:34:02 +02:00
Baptiste Wicht
9cf3300665 Clean asserts 2016-07-02 16:33:05 +02:00
Baptiste Wicht
c3f68682fa Fix include 2016-07-02 16:31:22 +02:00
Baptiste Wicht
e0c17d79a1 Small improvement in handling of the input 2016-07-02 16:30:09 +02:00
Baptiste Wicht
2df7dac536 Refinement 2016-07-02 16:28:10 +02:00
Baptiste Wicht
64b2e8d77a Add a way to get RFLAGS register value 2016-07-02 16:27:01 +02:00
Baptiste Wicht
b3f1b9bbcc Interrupt handling
Intel interrupt gates are automatically disabling the interrupts.
So it is not necessary to disable them on IRQs and ISRs, but it is
necessary to enable them in system calls
2016-07-02 16:23:25 +02:00
Baptiste Wicht
ca1a2fdcc2 Comment 2016-07-02 16:12:09 +02:00
Baptiste Wicht
1f1b319bb4 Cleanup 2016-07-02 16:09:00 +02:00
Baptiste Wicht
1a0586d7b6 Cleanup and improve scheduling 2016-07-02 15:50:49 +02:00
Baptiste Wicht
e2a7f90342 Safer ATA driver 2016-07-02 15:37:09 +02:00
Baptiste Wicht
ea4fbf9a92 Better synchronization primitives 2016-07-02 15:36:58 +02:00
Baptiste Wicht
c2bdf94e5d Remove note 2016-07-02 15:05:29 +02:00
Baptiste Wicht
7d7b131911 Qemu debugging via serial port 2016-07-02 15:05:08 +02:00
Baptiste Wicht
9efd6430c2 Basic serial support 2016-07-02 15:04:00 +02:00
Baptiste Wicht
cda223cc11 Empty keyboard buffer after enabling the IRQ 2016-07-02 14:48:28 +02:00
Baptiste Wicht
d3db4cfa97 Review order 2016-07-02 14:27:28 +02:00
Baptiste Wicht
f4e031d047 Review logging
Cleanup
Integrate virtual debugging
2016-07-02 14:08:53 +02:00
Baptiste Wicht
6beff2c17b New debugging capabilities
While in Bochs, print to the Bochs console
2016-07-02 14:02:55 +02:00
Baptiste Wicht
74122d013e Cleanup 2016-07-02 13:56:23 +02:00
Baptiste Wicht
37205c99ea Activate 0xe9 port hack for debugging purpose 2016-07-02 13:33:36 +02:00
Baptiste Wicht
1286e75791 Refactor 2016-07-02 13:33:17 +02:00
Baptiste Wicht
20dee4d16c Add top() function 2016-07-01 21:06:27 +02:00
Baptiste Wicht
d1a7e2f26a Fix bugs in the scheduler 2016-06-30 21:03:01 +02:00
Baptiste Wicht
60a721a05b Add note 2016-06-30 21:01:32 +02:00
Baptiste Wicht
03c060af34 Simplify mutex 2016-06-30 21:01:11 +02:00
Baptiste Wicht
1ea3f90f4e More safety for spinlock 2016-06-30 20:59:52 +02:00
Baptiste Wicht
3df6abb169 Add simple Bochs target 2016-06-30 20:59:21 +02:00