Jeremy Soller
4fc9283aff
Remove rd/wrfsbase
2016-10-31 18:04:28 -06:00
Jeremy Soller
149b0297a4
Smp ( #23 )
...
* Fire up multiple processors
* Use IPIs to wake up secondary processors
* Much better exception information
* Modifications to show more information on fault
* WIP: Use real libstd
* Add TLS (not complete)
* Add random function, export getpid, cleanup
* Do not spin APs until new context
* Update rust
* Update rust
* Use rd/wrfsbase
* Implement TLS
* Implement compiler builtins and update rust
* Update rust
* Back to Redox libstd
* Update rust
2016-10-31 10:49:00 -06:00
Jeremy Soller
64cc730eac
Time ( #11 )
...
* WIP: Time syscalls
* Count time from PIT using low tickrate
* Implement realtime
* Implement nanosleep with a tight loop
2016-10-06 20:50:14 -06:00
Jeremy Soller
5757f3436e
Clone grants
2016-09-20 22:14:08 -06:00
Jeremy Soller
e110ab81b8
WIP: VESA driver. Make initfs generated by code
2016-09-20 21:52:45 -06:00
Jeremy Soller
941fc0b494
Grant to allow passing data to scheme handler
2016-09-20 14:50:04 -06:00
Jeremy Soller
0b3be623fc
Move PS/2 driver to userspace
2016-09-19 17:19:49 -06:00
Jeremy Soller
727647dbf1
Seperate PS/2 keyboard and mouse driver
2016-09-19 09:43:30 -06:00
Jeremy Soller
cfbaccf4d2
Complete execve - add argument support using safe ABI
2016-09-17 21:44:50 -06:00
Jeremy Soller
4e78a12002
Do not halt on page fault, do a stack dump
2016-09-17 08:13:09 -06:00
Jeremy Soller
33e098c124
Fix implementation of clone and exec. Now the init process can load and execute the pci driver
2016-09-15 08:35:07 -06:00
Jeremy Soller
c000820d72
Move kernel heap into kernel PML4, now a single PML4 needs to be copied to initialize a new table
2016-09-14 21:28:09 -06:00
Jeremy Soller
6e16298e71
WIP: Copy usermode stack
2016-09-13 21:27:27 -06:00
Jeremy Soller
3f9012b931
Restore page fault handler
2016-09-13 20:35:01 -06:00
Jeremy Soller
dc87afd2ac
Fix userspace clone by clobbering all variables on clone
2016-09-13 20:31:45 -06:00
Jeremy Soller
6d675fc43a
Map kernel TLS to general area
2016-09-12 15:02:03 -06:00
Jeremy Soller
11eddfecd1
Cleanup PML4 entries, pass correct cpu ID to trampoline
2016-09-12 13:06:00 -06:00
Jeremy Soller
44e8b99b46
Implement exec
...
Implement brk
2016-09-10 22:06:09 -06:00
Jeremy Soller
ce717ff277
Reorganize kernel memory mappings
2016-09-10 18:48:27 -06:00
Jeremy Soller
fcec69efdc
remove bochs breaks
2016-09-08 15:53:45 -06:00
Jeremy Soller
a5d79d7957
Nographic mode, fix userspace transition by setting kernel TLS back on syscall
2016-09-08 15:45:26 -06:00
Jeremy Soller
fb0df8530d
Debug reads writes better, set up stdio for BSP
2016-09-07 21:32:09 -06:00
Jeremy Soller
850792bbf1
Load a very simple ELF and launch it in usermode
2016-09-07 21:16:30 -06:00
Jeremy Soller
486b11eb1c
Force scancode set, combine keyboard packets
2016-09-02 14:47:56 -06:00
Jeremy Soller
f45958f449
Fix stack trace, WIP usermode
2016-09-02 12:27:45 -06:00
Jeremy Soller
f14569e313
Only one AP can start at a time
2016-09-01 17:08:43 -06:00
Jeremy Soller
0ccfd2125a
Improve efficiency of kernel console
2016-09-01 14:39:45 -06:00
Jeremy Soller
d7d61f82af
Draw on VESA for console using ransid
2016-09-01 11:51:33 -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
f784e9a06a
Fill in all exception and IRQ entries. Handle PIT, keyboard IRQs
2016-08-31 17:45:21 -06:00
Jeremy Soller
234fb64999
Add display
2016-08-24 20:10:55 -06:00
Jeremy Soller
f6e57ff5d1
Add arch context, WIP switching
2016-08-22 19:56:35 -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
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
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
08900d56c8
Changes to allow for detection and init of ASPs
2016-08-16 18:04:15 -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
eccb99d67d
Use linked list allocator
2016-08-15 15:27:32 -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