Commit graph

134 commits

Author SHA1 Message Date
Stefan Lankes
296e8e98f4 the idle priority doesn't longer possess an own runqueue
only the idle task uses this priority class
2011-08-17 14:49:12 +02:00
Stefan Lankes
4c9855c83a redesign of the scheduler, defining of a runqueue per core
=> Currently, we work stealing isn't supported
2011-08-17 13:51:19 +02:00
Marian Ohligs
27b7c6aa6e add networkI/O (unstable) 2011-08-10 18:56:40 +02:00
Marian Ohligs
5c7e9f38ec Merge branch 'master' into ohligs
Conflicts:
	.gitignore
	kernel/syscall.c
	kernel/tasks.c
	kernel/tests.c
	newlib/examples/Makefile
2011-08-10 16:57:17 +02:00
Stefan Lankes
20b074d81c add additional error messages 2011-08-10 09:55:59 -07:00
Stefan Lankes
5d9f361174 add system calls to map the user-level socket library to LwIP sockets 2011-08-10 08:15:53 +02:00
Marian Ohligs
cdc6707852 Merge branch 'master' into ohligs
- one more bug: block_task is missing

Conflicts:
	include/metalsvm/tasks_types.h
	kernel/main.c
	kernel/tasks.c
2011-08-06 17:51:48 +02:00
Stefan Lankes
a179ded21b redesign of the timers, support of timeouts in mailboxes and semaphores 2011-08-06 15:55:34 +02:00
Stefan Lankes
452aa3b1d1 cosmetic changes and add some scheduling statistics 2011-08-03 19:37:05 +02:00
Marian Ohligs
8fcf9514ca Merge branch 'master' into ohligs 2011-08-03 16:56:55 +02:00
Stefan Lankes
22dab59699 minor changes in the scheduler routine to relalize a fair round-robin scheduling 2011-08-03 15:10:58 +02:00
Marian Ohligs
032bba3a95 - some chmod changes 2011-08-02 15:58:20 +02:00
Marian Ohligs
c3d912bee1 - minor optimization in main.c and tasks.c 2011-08-02 13:01:28 +02:00
Marian Ohligs
c7012f7bc0 - enable flags O_RDONLY O_WRONLY and O_RDWR 2011-08-02 11:57:14 +02:00
Marian Ohligs
3bc6844833 Merge branch 'master' into ohligs 2011-08-02 11:14:39 +02:00
Stefan Lankes
026d5e264c use table_lock to avoid GPs during a task switch 2011-08-02 10:24:17 +02:00
Stefan Lankes
744abc36c8 minor optimization on single core systems 2011-08-02 07:07:16 +02:00
Marian Ohligs
429c2a99d7 Merge branch 'master' into ohligs 2011-08-01 22:35:04 +02:00
Stefan Lankes
d5bfc4f28c avoid races on SMP systems
=> signalizes with a new flag, that a task switch is finished
2011-08-01 22:01:39 +02:00
Marian Ohligs
94a98c5950 Merge branch 'master' into ohligs
Conflicts:
	kernel/tasks.c
2011-07-30 19:21:25 +02:00
Stefan Lankes
f76f4ac70d fix wrong initialization of current_task 2011-07-30 17:36:21 +02:00
Marian Ohligs
55e0e971be merge master 2011-07-27 10:28:01 +02:00
Marian Ohligs
a14ba26991 Merge branch 'master' into ohligs
Conflicts:
	kernel/tasks.c
	kernel/tests.c
2011-07-21 15:05:32 +02:00
Stefan Lankes
ab37b024b0 simply the scheduler => move code from entry.asm to timer.c 2011-07-21 09:59:29 +02:00
Stefan Lankes
e57a447fda minor changes in using the per_core macro, add additional output messages by an exception & cosmetic changes 2011-07-20 09:47:46 +02:00
Stefan Lankes
20c944b099 avoid a task migration during the calculation of the current task
=> temporary clearing the IF flag
2011-07-20 08:24:24 +02:00
Stefan Lankes
dfa928de78 reduce the number of function calls to determine the core id 2011-07-19 21:22:54 +02:00
Stefan Lankes
e595fae384 add SMP support
- this is experimental version
- by setting MAX_CORES to 1, you are to disable the SMP support
2011-07-18 09:14:28 +02:00
Marian Ohligs
3d74f1b514 - rewrite the read_fs and write_fs. Now both functions use fildes_t instead of vfs_node_t structs.
INFO:	typedef struct fildes {
        	vfs_node_t* 	node;
        	off_t 		offset;
		int 		flags;
		int 		mode;
	} fildes_t;

- merge fs_types.h and fs.h into one file fs.h
2011-07-01 18:04:00 +02:00
Marian Ohligs
58353723e1 fix typo 2011-06-12 12:22:18 +02:00
Marian Ohligs
16ac07a8ca fix bug in tasks.c 2011-06-12 12:18:54 +02:00
Marian Ohligs
5c9ff18204 fixing a bug with fork 2011-05-24 18:41:24 +02:00
Marian Ohligs
1f74434a46 Merge branch 'master' into ohligs 2011-05-18 12:50:41 +02:00
Stefan Lankes
08f5153257 add the support of inter core interrupts 2011-05-17 08:13:20 -07:00
Marian Ohligs
6c45e03d0e Merge branch 'master' into ohligs
Conflicts:
	fs/initrd.c
2011-04-26 16:52:52 +02:00
Marian Ohligs
ef59f6cb8d Merge branch 'master' into ohligs
Conflicts:
	kernel/tasks.c
2011-04-23 11:09:56 +02:00
Marian Ohligs
02f7fecc61 first stdin, stout, stderr implementation (still buggy) 2011-04-23 11:04:32 +02:00
Stefan Lankes
29ab43f289 First steps to realize Inter-Core-Communication via RCCE 2011-04-23 00:13:12 -07:00
Stefan Lankes
f3b620a9be add rudimental support of the system call times
- no full support of the POSIX API
- however, the libc function clock works correctly
2011-04-21 10:13:58 +02:00
Stefan Lankes
0c411fd702 add basic support of sbrk and fix bug in saving of the fpu context 2011-04-21 07:32:20 +02:00
Stefan Lankes
7cb05d8f4a first version to support the FPU
- seems to work
- currently, we didn't support SIMD instructions
2011-04-21 07:32:10 +02:00
Marian Ohligs
e765e16eb1 fixed a bug in create_user_task 2011-04-21 01:05:47 +02:00
Marian Ohligs
40ce1fe457 manual merge old readwrite branch 2011-04-21 00:25:05 +02:00
Stefan Lankes
faa41e25e2 add basic support of sbrk and fix bug in saving of the fpu context 2011-04-20 21:23:22 +02:00
Stefan Lankes
7e0179f5f7 first version to support the FPU
- seems to work
- currently, we didn't support SIMD instructions
2011-04-20 15:16:22 +02:00
Stefan Lankes
bd703f6be4 avoid compiler errors by using MAX_CORES = 1 2011-04-18 06:44:17 -07:00
Stefan Lankes
68564c3238 Merge branch 'tests'
Conflicts:
	include/metalsvm/spinlock.h
	include/metalsvm/spinlock_types.h
	kernel/tasks.c
2011-04-18 15:36:22 +02:00
Stefan Lankes
e94c31d03b add a new IRQ save spinlock implementation
- avoids a deadlock
- usable in a interrupt handler
2011-04-18 15:12:18 +02:00
Stefan Lankes
b5908af744 Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm into doxygen
Conflicts:
	.gitignore
	arch/x86/include/asm/apic.h
	arch/x86/include/asm/page.h
	arch/x86/include/asm/processor.h
	arch/x86/kernel/idt.c
2011-04-14 08:40:52 +02:00
Stefan Lankes
c43efee104 use HALT instead of NOP 2011-04-08 16:02:18 +02:00