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
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