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
a715e157d4
Make all perCPU mappings available in all contexts - this will allow APs to pick up threads
2016-10-23 09:13:12 -06:00
Jeremy Soller
9c2a45d0bf
Mark kernel memory global
2016-10-16 16:18:01 -06:00
Jeremy Soller
224c43f761
Orbital ( #16 )
...
* Port previous ethernet scheme
* Add ipd
* Fix initfs rebuilds, use QEMU user networking addresses in ipd
* Add tcp/udp, netutils, dns, and network config
* Add fsync to network driver
* Add dns, router, subnet by default
* Fix e1000 driver. Make ethernet and IP non-blocking to avoid deadlocks
* Add orbital server, WIP
* Add futex
* Add orbutils and orbital
* Update libstd, orbutils, and orbital
Move ANSI key encoding to vesad
* Add orbital assets
* Update orbital
* Update to add login manager
* Add blocking primitives, block for most things except waitpid, update orbital
* Wait in waitpid and IRQ, improvements for other waits
* Fevent in root scheme
* WIP: Switch to using fevent
* Reorganize
* Event based e1000d driver
* Superuser-only access to some network schemes, display, and disk
* Superuser root and irq schemes
* Fix orbital
2016-10-13 17:21:42 -06:00
Jeremy Soller
5d7b0a3889
Enable interrupt flag in userspace
2016-10-06 20:52:24 -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
70a2faa0c7
Correctly position stack in higher half
2016-09-19 08:46:11 -06:00
Jeremy Soller
d5766c092f
Remove debug breaks
2016-09-17 09:19:55 -06:00
Jeremy Soller
aa7e38882b
Map display in kernel shared memory
2016-09-15 08:50:29 -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
83bc8a0da5
Higher-half kernel mapping. Unmap where possible, freeing up lower memory
2016-09-14 20:47:55 -06:00
Jeremy Soller
ce50faf7ca
Allow cloning of kernel threads. Userspace breaks potentially due to stack aliasing
2016-09-13 20:06:39 -06:00
Jeremy Soller
31fdc8f175
Cleanup usermode jump
2016-09-12 17:52:38 -06:00
Jeremy Soller
ea8b9189a3
Pass page table of BSP to AP
2016-09-12 15:50:16 -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
bed09d0518
Allow thread control block to be moved
2016-09-11 18:25:05 -06:00
Jeremy Soller
842826c1b0
Implement sched_yield, enable interrupts in userspace
2016-09-10 19:18:59 -06:00
Jeremy Soller
bd7bca30fa
Remove debugging messages, launch elf on APs
2016-09-10 19:03:31 -06:00
Jeremy Soller
ce717ff277
Reorganize kernel memory mappings
2016-09-10 18:48:27 -06:00
Jeremy Soller
5d97fd75c7
Fix crash in libstd
2016-09-09 17:25:56 -06:00
Jeremy Soller
3cd846a756
Update rust, use redox branch to prepare for libstd
2016-09-09 15:48:54 -06:00
Jeremy Soller
fcec69efdc
remove bochs breaks
2016-09-08 15:53:45 -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
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
53c71d9183
Warnings removal
2016-09-01 11:14:47 -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
d3dfff8d51
Improvements for context switching
2016-08-30 16:23:51 -06:00
Jeremy Soller
6e3f59ba8e
Simple, unsafe context switch
2016-08-28 18:38:53 -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
4ced24e8d1
Setup TSS, using thread local storage
2016-08-22 14:53:03 -06:00
Jeremy Soller
3eca1e3451
Thread local TSS
2016-08-22 14:47:33 -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
5588c38178
Add syscall handler, still work in progress
...
Add elf files
2016-08-18 19:44:31 -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