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 |
|