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

1778 commits

Author SHA1 Message Date
Stefan Lankes
d791d7b87e switch to a simpler example 2015-07-26 18:55:54 +02:00
Stefan Lankes
ebeba4c6f0 allocate memory outside the critical section 2015-07-26 18:50:32 +02:00
Stefan Lankes
fda8db0898 use APIC Id to determine if we have to send an IPI 2015-07-26 18:47:34 +02:00
Stefan Lankes
3f2c339da1 we have only to change CR3, if we switch the address space 2015-07-25 00:25:35 +02:00
Stefan Lankes
2f784b54aa add support of tickless scheduling 2015-07-25 00:21:57 +02:00
Stefan Lankes
d8503b4084 increase the maximum number of cores to 40 2015-07-24 23:20:56 +02:00
Stefan Lankes
a4cb86aaf0 system call have to check if a timer expires
=> maybe a reschedule is also required
2015-07-24 23:17:12 +02:00
Stefan Lankes
4f5c2a0734 enable x2APIC support 2015-07-24 22:59:41 +02:00
Stefan Lankes
8aa55a90dc prepare kernel to run on one core (without SMP suppor) 2015-07-24 21:12:05 +02:00
Stefan Lankes
42c1c06632 guarantee that the stack is aligned to 16 byte 2015-07-24 11:45:25 +02:00
Stefan Lankes
7757511e62 currently we didn't use LwIP => remove it 2015-07-24 07:11:50 +02:00
Stefan Lankes
45cae3f991 replace create_stack by a call of kmalloc 2015-07-24 06:45:43 +02:00
Stefan Lankes
f18d064084 add option to support cpu-aware optimization 2015-07-24 06:33:25 +02:00
Stefan Lankes
fce8249caf code cleanups, increasing the readability, add some comments 2015-07-24 06:27:46 +02:00
Stefan Lankes
8363fa22ea increase MAXVALUE to increase the computation time 2015-07-24 06:24:59 +02:00
Stefan Lankes
345db8913a some code cleanups to increase the readability 2015-07-24 06:24:10 +02:00
Stefan Lankes
0b958abf95 add inline function to check, if xsave is enabled 2015-07-24 06:22:08 +02:00
Stefan Lankes
6bb57b5e49 extend list of exceptions with SIMD Floating-Point and Virtualization Exception 2015-07-23 20:10:55 +02:00
Stefan Lankes
0366ac8496 use pushfq insteaf of push to determine RFLAGS 2015-07-22 20:20:49 +02:00
Stefan Lankes
8289b76cf9 rename function per_core_set into set_per_core 2015-07-21 18:44:13 +02:00
Stefan Lankes
8362e7bb1b some code cleanups 2015-07-21 18:22:10 +02:00
Stefan Lankes
fed1d028a2 useage of GS selector to determine "per core data"
=> redesign of the system call interface
=> set RSP0 in TSS by a context switch
2015-07-19 11:12:05 +02:00
Stefan Lankes
50bdff1a4f minor improvement by using builtin_expect 2015-07-19 11:05:27 +02:00
Stefan Lankes
ccbd363d6d add readable macros for the status flag 2015-07-19 11:02:22 +02:00
Stefan Lankes
97eb56e95d some code cleanups 2015-07-17 20:52:15 +02:00
Stefan Lankes
bffb6fc8af remove typo 2015-07-17 09:42:10 +02:00
Stefan Lankes
44739428c4 enable interrupts for user-space applications 2015-07-17 09:41:25 +02:00
Stefan Lankes
cce69cfe44 add support of sys_times (=> clock()) 2015-07-16 22:33:29 +02:00
Stefan Lankes
36c898dd88 add nicer output messages 2015-07-16 21:32:24 +02:00
Stefan Lankes
d1ac0b1b7d add stream benchmark 2015-07-16 21:31:07 +02:00
Stefan Lankes
fa73b14352 enable AVX support 2015-07-16 21:28:43 +02:00
Stefan Lankes
4987fac1ce some code cleanups 2015-07-15 23:43:11 +02:00
Stefan Lankes
6ecdfa6181 align buffer to store FPU registers 2015-07-15 23:42:17 +02:00
Stefan Lankes
104d588f03 now, every user task starts with the same rflags (0x1002) 2015-07-15 10:08:06 +02:00
Stefan Lankes
7556ee66e1 redesign of system call handling
- use a table to determine the address of the system call
- fix numbering of the system calls
2015-07-15 10:05:09 +02:00
Stefan Lankes
c4237945c1 add compiler flag -fno-var-tracking-assignments
workaround for a few gcc, which ignores the flags -mno-red-zone
2015-07-14 07:46:25 +02:00
Stefan Lankes
c301862cba use initd to create example tasks 2015-07-14 07:45:36 +02:00
Stefan Lankes
0644053a6f now, the page fault handler prints the rflags 2015-07-13 10:31:27 +02:00
Stefan Lankes
acb934437c add some additional error checks 2015-07-13 07:24:47 +02:00
Stefan Lankes
d0956766cd cosmetic changes 2015-07-13 07:24:11 +02:00
Stefan Lankes
f8bb56c63d enable NX and SMEP mode 2015-07-13 07:23:32 +02:00
Stefan Lankes
8db1094ce4 move cleanup code to correct position (do_exit) 2015-07-13 06:49:46 +02:00
Stefan Lankes
71418322da remove typo 2015-07-12 19:22:07 +02:00
Stefan Lankes
2e3ea8a692 add check for a context switch
system calls aren't triggered via interrupt
=> check with a system call if a context switch is required
2015-07-12 19:13:24 +02:00
Stefan Lankes
d17280079b remove typo 2015-07-12 19:12:10 +02:00
Stefan Lankes
13dae8f7c8 add space for the red zone 2015-07-12 19:10:37 +02:00
Stefan Lankes
9f3feddfd4 some code cleanups 2015-07-12 16:44:10 +02:00
Stefan Lankes
6ba3252012 stores the FPU registers not before another task want to use them 2015-07-12 16:39:27 +02:00
Stefan Lankes
6c16316374 remove typo 2015-07-12 16:36:23 +02:00
Stefan Lankes
969c67ccce fix handling of system calls
- miss understood the ABI manual
=> push the wrong registers on the stack
2015-07-12 16:34:50 +02:00