Commit graph

3849 commits

Author SHA1 Message Date
Jeremy Soller ff4d06f678 More efficient iteration in graphics functions 2016-09-01 15:31:39 -06:00
Jeremy Soller 0ccfd2125a Improve efficiency of kernel console 2016-09-01 14:39:45 -06:00
ticki 04f6e7b558 Merge branch 'master' of github.com:redox-os/kernel 2016-09-01 21:36:32 +02:00
ticki ca7ec27a3e Add a rough draft of the sysscall interface.
Just a LaTeX document containing the basics of the syscall interface.
2016-09-01 21:35:30 +02:00
Jeremy Soller d7d61f82af Draw on VESA for console using ransid 2016-09-01 11:51:33 -06:00
Jeremy Soller 53c71d9183 Warnings removal 2016-09-01 11:14:47 -06:00
Jeremy Soller 543ef3d96f Add serial init and serial interrupts 2016-09-01 11:10:56 -06:00
Jeremy Soller 722d738254 Fix mouse position, map display on APs 2016-09-01 08:12:50 -06:00
Jeremy Soller 1e5d992ab5 Show mouse trail 2016-09-01 07:05:46 -06:00
Jeremy Soller 3b700191cf Set up fourth mouse packet 2016-08-31 22:31:51 -06:00
Jeremy Soller 555ad5fd92 Nearly complete PS/2 driver 2016-08-31 21:40:34 -06:00
Jeremy Soller f784e9a06a Fill in all exception and IRQ entries. Handle PIT, keyboard IRQs 2016-08-31 17:45:21 -06:00
ticki a9a8c2b340 Merge branch 'master' of github.com:redox-os/kernel 2016-08-31 17:02:47 +02:00
ticki 03e7f221a8 Add the Fd definition file.
Damn, I forgot to `git add` it.
2016-08-31 17:01:08 +02:00
Jeremy Soller 165485b721 Add file descriptor type 2016-08-30 16:27:10 -06:00
Jeremy Soller de761ce921 Merge branch 'master' of https://github.com/redox-os/kernel 2016-08-30 16:23:56 -06:00
Jeremy Soller d3dfff8d51 Improvements for context switching 2016-08-30 16:23:51 -06:00
ticki 94a1a0fa0c Newtype file descriptors.
To avoid various bugs regarding the typing of file descriptors, we
newtype them into a simple wrapper type.

- Document some stuff.
2016-08-29 11:58:31 +02:00
Jeremy Soller 3a232cc60f Merge branch 'master' of https://github.com/redox-os/kernel 2016-08-28 18:39:02 -06:00
Jeremy Soller 6e3f59ba8e Simple, unsafe context switch 2016-08-28 18:38:53 -06:00
Jeremy Soller d5e8a5a338 Merge pull request #1 from mus0u/patch-1
fix a couple of readme typos
2016-08-28 15:49:57 -06:00
mus0u a646ae4d03 fix a couple of readme typos 2016-08-28 16:37:40 -05:00
Jeremy Soller e24ccd4ead Back to x86_64, update rust 2016-08-27 19:47:08 -06:00
Jeremy Soller 6715d5c534 Arm! 2016-08-25 17:03:01 -06:00
Jeremy Soller c2a95c96d5 Fixes for real hardware 2016-08-24 20:31:59 -06:00
Jeremy Soller 234fb64999 Add display 2016-08-24 20:10:55 -06:00
Jeremy Soller c9d338715d Fix the build. Sorry 2016-08-24 19:30:14 -06:00
Jeremy Soller 2be7ccaec2 Arch context in kernel context 2016-08-24 10:35:42 -06:00
Jeremy Soller f6e57ff5d1 Add arch context, WIP switching 2016-08-22 19:56:35 -06:00
Jeremy Soller 4ced24e8d1 Setup TSS, using thread local storage 2016-08-22 14:53:03 -06:00
Jeremy Soller 3eca1e3451 Thread local TSS 2016-08-22 14:47:33 -06:00
Jeremy Soller 5b9c821ff5 Initialize contexts, add getpid 2016-08-20 14:32:45 -06:00
Jeremy Soller 3b8f396229 Context list class, static context ID magic 2016-08-20 13:43:35 -06:00
Jeremy Soller 9cd48a36a5 Allow OS X compilation 2016-08-20 09:44:14 -06:00
Jeremy Soller 7a59e08e70 Fix thread locals 2016-08-20 08:39:03 -06:00
Jeremy Soller 8ddd0ad3f0 WIP: Thread control block and TSS in kernel 2016-08-19 17:38:37 -06:00
Jeremy Soller 0501b2580d Setup independent page tables, map heap to a single location 2016-08-19 14:53:16 -06:00
Jeremy Soller 7aafc165ec Use x86 crate for definition of TSS and GDTR, WIP: loading TSS 2016-08-19 13:09:00 -06:00
Jeremy Soller 55a0154eac Switch to goblin as executable parser 2016-08-19 07:57:24 -06:00
Jeremy Soller 5588c38178 Add syscall handler, still work in progress
Add elf files
2016-08-18 19:44:31 -06:00
Jeremy Soller 71a17070b1 Remove clone from context 2016-08-18 09:02:31 -06:00
Jeremy Soller 490dd16776 Refactor context list 2016-08-18 08:30:45 -06:00
Jeremy Soller 2de2d4cac4 Cleanup schemes list, remove lazy_static 2016-08-18 08:10:08 -06:00
Jeremy Soller 0693540a5b Prepare for higher half - map entire lower 4 GB 2016-08-18 07:56:47 -06:00
Jeremy Soller 8ddddcec9f Print out more useful information about AP and BSP, create kmain_ap 2016-08-17 19:38:04 -06:00
Jeremy Soller 0d995bfb5c Keep track of AP count, allocate bigger AP stack, stack trace function 2016-08-17 19:34:33 -06:00
Jeremy Soller 26c86f8242 Set page table of AP to BSP, to allow mapping of heap to be shared 2016-08-17 19:06:33 -06:00
Jeremy Soller 48741e3b99 Do not map heap on AP, due to it being independent from the BSP heap. We need to adjust the mapping so that kernel mappings are shared accross processors, probably using higher half mapping for the kernel 2016-08-17 17:46:56 -06:00
Jeremy Soller ec1302bbe1 Remove debugging 2016-08-17 17:41:42 -06:00
Jeremy Soller b0797a5d8a Allocate a very small 4K stack for the other CPUs, increase count to 4 2016-08-17 17:40:18 -06:00