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
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
Stefan Lankes
49cc6ade16 some code cleanups 2015-07-12 10:38:40 +02:00
Stefan Lankes
8147a9b3bf optimizing system calls
- disable the option to call a system call via int 80
- reduce the number of instruction to store / restore the user-level context
2015-07-12 10:21:41 +02:00
Stefan Lankes
b254df8afa some code cleanups 2015-07-11 17:04:07 +02:00
Stefan Lankes
6926ccc644 the system call write consider the parameter length 2015-07-11 15:20:19 +02:00
Stefan Lankes
2ce695750a some code cleanups 2015-07-11 10:19:29 +02:00
Stefan Lankes
2f97bcfecb remove some debug messages 2015-07-11 09:58:38 +02:00
Stefan Lankes
6213310d7b add VMA_USER to specify regions, which are mapped into the user space 2015-07-11 09:54:04 +02:00
Stefan Lankes
07fd81de35 using the kernel stack by calling a system call
TODO: this version isn't optimzed!
2015-07-11 09:40:59 +02:00
Stefan Lankes
ab6b9d2035 disable tuning flags to create platform independent code 2015-07-11 09:04:11 +02:00
Stefan Lankes
9447f3df38 add jacobi example 2015-07-11 07:15:40 +02:00
Stefan Lankes
b9d8188dba add some debug messages 2015-07-11 07:15:23 +02:00
Stefan Lankes
cb566fc56e per default HermitCore doesn't support a graphic adapter
=> disable the option in the configuration file
2015-07-11 00:57:50 +02:00