Commit graph

301 commits

Author SHA1 Message Date
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
Jeremy Soller 979d80a8c7 Fix locking in serial port 2016-08-17 17:24:10 -06:00
Jeremy Soller b756dd59eb Remove warnings 2016-08-17 16:54:48 -06:00
Jeremy Soller 78432b3875 Move frame allocation to two global functions, locking happens inside them 2016-08-17 16:26:43 -06:00
Jeremy Soller ebf9766ef5 Map kernel in AP, WIP 2016-08-17 15:47:54 -06:00
Jeremy Soller 27d5996abf Get the APs into rust code, set stack and page table in trampoline 2016-08-16 21:25:48 -06:00
Jeremy Soller a8948fb246 Hooks to get the other CPUs into long mode 2016-08-16 20:37:38 -06:00
Jeremy Soller 08900d56c8 Changes to allow for detection and init of ASPs 2016-08-16 18:04:15 -06:00
Jeremy Soller 7b2acdd79c Cleanup ACPI code, find lower tables 2016-08-16 12:16:32 -06:00
Jeremy Soller d383cfb595 Lazy static init of schemes 2016-08-16 11:04:14 -06:00
Jeremy Soller 7a1c263bc1 WIP: ACPI
Map and find ACPI tables, starting with RSDT
2016-08-15 18:37:58 -06:00
Jeremy Soller fda1ab2327 Global allocator, page table - protected by spinlock 2016-08-15 16:29:54 -06:00
Jeremy Soller 617516b949 Move main to start 2016-08-15 15:32:33 -06:00
Jeremy Soller 0c5221425b Remove bump allocator 2016-08-15 15:29:28 -06:00
Jeremy Soller eccb99d67d Use linked list allocator 2016-08-15 15:27:32 -06:00
Jeremy Soller 792ef0b3d2 Move heap, make it larger 2016-08-15 15:20:27 -06:00
Jeremy Soller 854ffaa435 Correct dependencies of kernel 2016-08-15 15:12:47 -06:00
Jeremy Soller 2a66a84a50 Cleanup, use spinlock for allocator 2016-08-15 15:01:24 -06:00
Jeremy Soller cc8fe85e6a GDT and IDT in kernel space
Paging constructs completed, remap kernel before jumping to kmain
Panic will do a stack trace
Remove SSE from none target
2016-08-15 14:34:20 -06:00
Jeremy Soller 465363f0a1 Add simple paging, use rust libcore and compile without sse 2016-08-15 11:30:14 -06:00
Jeremy Soller 9f0819dafb Bump allocator 2016-08-14 22:05:32 -06:00
Jeremy Soller 19077d69db WIP: Schemes 2016-08-14 21:38:32 -06:00
Jeremy Soller 8a6d9b8c9d Test for BadFile 2016-08-14 19:17:55 -06:00
Jeremy Soller d97e2e4b4a Add stdout/stderr tests 2016-08-14 18:22:50 -06:00
Jeremy Soller 4e270bb807 Add context and file structs 2016-08-14 18:16:56 -06:00
Jeremy Soller 49739d47e8 WIP: Exec 2016-08-14 16:07:41 -06:00
Jeremy Soller a490ff13ae Add syscall module 2016-08-14 15:58:35 -06:00
Jeremy Soller 29b6544d8f Add test architecture 2016-08-14 14:59:18 -06:00
ticki 1c9b6361c9 Merge branch 'master' of github.com:redox-os/kernel 2016-08-14 20:55:19 +02:00
ticki 740aabad90 Interrupt tables.
We add lookup table for interrupt descriptions containing information
about the CPU exceptions etc.
2016-08-14 20:54:23 +02:00
Jeremy Soller ef22aafb60 Add comment 2016-08-14 12:11:53 -06:00
Jeremy Soller b130f9a860 Magic to make interrupt functions easy to write 2016-08-14 12:08:42 -06:00
Jeremy Soller 2730144e2a Move arch to seperate crate 2016-08-14 11:45:47 -06:00
ticki 3967c0f291 Strongly typed virtual/physical memory seperation.
This minicommit introduces two newtpyes, `Physical` and `Virtual`,
respectively. These serves as a way to segregate the different forms of
addresses to avoid the issues we had in the old kernel.
2016-08-14 19:21:21 +02:00
ticki f8bd171efd Rename the src directory to kernel. 2016-08-14 18:42:32 +02:00
ticki 7b8ba1a118 Convert the Makefile to Cake.
This has been planned for a while.
2016-08-14 18:40:34 +02:00
ticki 938b1a73a4 Implement Default for TSS.
- Some documentation.
2016-08-14 18:10:28 +02:00
Jeremy Soller 42c9ba12dc Remove interrupt setup from asm bootloader, add io module, memcpy functions, and serial driver 2016-08-14 09:31:35 -06:00
Jeremy Soller 799b77d11a Interrupt handling! 2016-08-13 19:08:40 -06:00
Jeremy Soller dea137be73 WIP: IDT in rust 2016-08-13 18:58:31 -06:00
Jeremy Soller ae34f7b5db Merge branch 'master' of https://github.com/redox-os/kernel 2016-08-13 18:21:55 -06:00
Jeremy Soller d5902c5a20 Bootable kernel skeleton 2016-08-13 18:21:46 -06:00
ticki 00f098ee76 Merge branch 'master' of github.com:redox-os/kernel 2016-08-14 00:59:13 +02:00
Jeremy Soller 8f4aff05d5 Cleanup docs 2016-08-13 16:57:21 -06:00
ticki 2d3f08ae67 Merge branch 'master' of github.com:redox-os/kernel 2016-08-14 00:55:17 +02:00
ticki 8a8f31cb2e Add guidelines in the README.
This commits details the guidelines for contributing to the repository.
2016-08-14 00:53:13 +02:00
Jeremy Soller b41c6be0fb Add docs on syscalls 2016-08-13 16:53:05 -06:00
Jeremy Soller e90cd5c90a Add skeleton 2016-08-13 16:34:27 -06:00
Jeremy Soller 9af0cc2e22 Add license 2016-08-13 16:28:33 -06:00