Commit graph

2851 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