1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-09 00:00:03 +01:00
Commit graph

1566 commits

Author SHA1 Message Date
Stefan Lankes
7b54dca40f set task to invalid after freeing of all allocated data 2015-08-28 08:00:54 +02:00
Stefan Lankes
2a55eb781b use kernel_stack and kernel_end to determine the size of the kernel 2015-08-28 07:59:02 +02:00
Stefan Lankes
a48e28f88f set present bit in the PML4 entries 2015-08-28 07:56:56 +02:00
Stefan Lankes
987ea13265 create a seperate stack for interrupts 2015-08-28 07:55:49 +02:00
Stefan Lankes
6c707f6595 remove user-level permissions in the boot pdpt & pgd
=> new tasks don't copy the kernel entries
2015-08-28 07:53:02 +02:00
Stefan Lankes
5a7cb4e4e0 Using memor clobber for serialization
Volatile isn't enough to prevent the compiler from reordering the
read/write functions for the control registers and messing everything
up. => We use a memory clobber to serialize the code.
2015-08-28 07:40:44 +02:00
Stefan Lankes
64e0357ea0 use the new IPI number to trigger a TLB shootdown 2015-08-26 09:10:02 +02:00
Stefan Lankes
0e579d1aec for the registeration of cpu, the apic id is required
=> use apic_cpu_id to determine id
2015-08-26 09:06:39 +02:00
Stefan Lankes
1aeda86d90 remove obsolte file 2015-08-26 00:19:18 +02:00
Stefan Lankes
4805e62467 use generic numbers for the IPIs (shutdown, TLB shootdown) 2015-08-20 14:15:52 +02:00
Stefan Lankes
a04bde011f add the support to shutdown HermitCore 2015-08-20 13:03:54 +02:00
Stefan Lankes
5d2d317e34 add one byte to the buffer of the kernel messages
- guarantees that at least one byte contains the end of string character
2015-08-19 23:17:58 +02:00
Stefan Lankes
fc790b44ca add the possibility to map more than 2 MB byte into the boot page table
- this feature is required for larger images
- however, the image should be smaller than 1020 MB (=510*2 MB)
2015-08-19 23:13:57 +02:00
Stefan Lankes
98a09ede87 enable lto, rename example file 2015-08-19 07:35:29 +02:00
Stefan Lankes
21ab90dcbd add C++ support 2015-08-18 22:00:38 +02:00
Stefan Lankes
8cccb0cee4 Merge branch 'master' of github.com:RWTH-OS/HermitCore 2015-08-18 09:15:50 +02:00
Stefan Lankes
d80e444998 add current demo configuration
- used to configure a minimal test kernel
2015-08-18 09:14:28 +02:00
Stefan Lankes
35f27afba0 Remove typo 2015-08-18 00:16:28 +02:00
Stefan Lankes
d117d351ae intialize pthread library via pthread_init 2015-08-17 23:58:04 +02:00
Stefan Lankes
8f723584ac remove typo 2015-08-17 23:03:40 +02:00
Stefan Lankes
bf3c9258b9 add missing data segemnet for 32bit applications 2015-08-17 17:07:34 +02:00
Stefan Lankes
462c6c4a24 remove obsolete flag -ftls-model=initial-exec 2015-08-17 15:05:54 +02:00
Stefan Lankes
eafdc290c2 some code cleanups 2015-08-17 13:51:23 +02:00
Stefan Lankes
7ee756ada3 remove obsolete flag -ftls-model=initial-exec 2015-08-17 13:00:25 +02:00
Stefan Lankes
91682c7cac some code cleanups 2015-08-17 12:59:39 +02:00
Stefan Lankes
f302750ddc resuing of newlib's impure_ptr for the main thread 2015-08-17 12:58:02 +02:00
Stefan Lankes
9d23a19de9 add some debug messages 2015-08-17 12:55:02 +02:00
Stefan Lankes
88890ebfb6 prepare kernel to support canceled wait for a semaphore 2015-08-17 12:53:20 +02:00
Stefan Lankes
213e4518d1 frees the memory of a finished task after the switch to the next task 2015-08-17 12:51:39 +02:00
Stefan Lankes
b8ecff4e4d remove typo 2015-08-17 12:49:33 +02:00
Stefan Lankes
03111d7ef1 dump all registers by an unhandled page fault 2015-08-17 12:47:46 +02:00
Stefan Lankes
9c272ba688 some code cleanups 2015-08-17 12:46:17 +02:00
Stefan Lankes
2d11d94940 remove obsolete line 2015-08-17 12:39:25 +02:00
Stefan Lankes
d57181f84a add some comments, fix stack missalignment 2015-08-14 21:06:16 +02:00
Stefan Lankes
62d6cd53aa add some notes to the list of TODOs 2015-08-13 22:28:43 +02:00
Stefan Lankes
919d1d14aa revise APIC code, add rdtscp support
- fix bug by a TLB shoot down
- fix bug in x2APIC code, read APIC ID correctly
2015-08-13 22:26:04 +02:00
Stefan Lankes
ea68816194 dump also the CORE_ID by an exception 2015-08-13 22:23:50 +02:00
Stefan Lankes
b1c6daea27 ignore static libraries 2015-08-12 23:16:26 +02:00
Stefan Lankes
cf0350a97b remove binary 2015-08-12 23:15:41 +02:00
Stefan Lankes
3f2f634d96 switch to the OpenMP version of stream 2015-08-12 21:01:20 +02:00
Stefan Lankes
faef78bdba add libgomp
- derived from the orginal libgomp
- remove ACC support
- remove the support of target devices
2015-08-12 21:00:11 +02:00
Stefan Lankes
d1f3f2282b use a constant address to map kernel information 2015-08-12 20:59:03 +02:00
Stefan Lankes
579feaa64f set new page table entry before we flush the TLB 2015-08-12 20:58:08 +02:00
Stefan Lankes
ecc71937fa add the support of Unix semaphores 2015-08-12 20:52:51 +02:00
Stefan Lankes
ce8cb7fba4 use crti.o & crtn.o to call the constructors and destructors 2015-08-12 20:37:14 +02:00
Stefan Lankes
929cb5f9bf add some outpurt messages to document the build process 2015-08-11 10:25:19 +02:00
Stefan Lankes
e03c0e09ea revise build system
- build a bootstrap compiler
- afterwards we build newlib and the final gcc
2015-08-11 09:39:17 +02:00
Stefan Lankes
592d99462c store gs register before we swap it with the kernel version 2015-08-10 14:10:27 +02:00
Stefan Lankes
90178d2bb4 add the support of the compiler flag "-pthread" 2015-08-10 12:32:04 +02:00
Stefan Lankes
123c3e8387 remove obsolete files 2015-08-09 22:03:21 +02:00