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