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 |
|
Jeremy Soller
|
465363f0a1
|
Add simple paging, use rust libcore and compile without sse
|
2016-08-15 11:30:14 -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 |
|