Commit graph

290 commits

Author SHA1 Message Date
Stefan Lankes
30f84a4007 fix bug in irq handling 2011-07-30 17:28:09 +02:00
Marian Ohligs
4b258871be Merge branch 'master' into ohligs 2011-07-27 10:36:51 +02:00
Marian Ohligs
55e0e971be merge master 2011-07-27 10:28:01 +02:00
Simon Pickartz
f344f65769 mailbox-system thread-safe now 2011-07-23 12:27:08 -07:00
Stefan Lankes
ff2b9da103 do not longer search a MP table, if MAX_CORES is set to 1 2011-07-22 21:17:15 +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
a422926dda cosmetic changes 2011-07-19 09:23:55 +02:00
Stefan Lankes
d05ffcacac we use the same handler for exceptions and interrupts => interrupts has to push a virtual error code on the stack 2011-07-19 09:10:12 +02:00
Stefan Lankes
b1c5bf67c2 use a more robust method to find the MP table 2011-07-19 07:36:24 +02:00
Stefan Lankes
d203a070f4 add IPI support to flush the TLB on the other cores 2011-07-19 07:16:49 +02:00
Stefan Lankes
85768e6f58 fix bug in APIC code
=> before we enable the interrupts,  we map the APIC registers
2011-07-18 15:51:26 +02:00
Simon Pickartz
6e14d56de8 mailbox does not support sendings to own mailbox 2011-07-18 01:14:18 -07:00
Stefan Lankes
da8b078184 align timer_ticks to a cache line 2011-07-18 09:32:52 +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
Stefan Lankes
ba1cbc97c8 on a SMP system, only the boot processor increases the timer value 2011-07-18 09:10:23 +02:00
Stefan Lankes
35ec905b7e move processor initialization code into the function cpu_init 2011-07-18 09:01:35 +02:00
Stefan Lankes
18ce8eff11 some code cleanups 2011-07-15 09:22:31 +02:00
Stefan Lankes
a61607d2e7 add additional error messages 2011-07-12 10:26:50 -07:00
Stefan Lankes
ff1bc7c470 remove typo 2011-07-11 23:42:25 -07:00
Marian Ohligs
7b63bf1d27 !!!!! -> increasing the offset has to be done inside the fs/chardriver.
- rewrite the initrd_read/write, char_driver r/w. Now all functions use fildes_t instead of vfs_node_t structs.
- eleminate some compiler warnings
- some changes in open, to reduce compiler warnings. This function isn't working yet!
2011-07-05 14:50:25 +02:00
Stefan Lankes
5cd3d7557a fine tuning to increase the performance of the mailbox example 2011-07-02 03:13:24 -07:00
Simon Pickartz
39b79506bf Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm into mailbox_integration 2011-06-22 19:51:21 +02:00
Marian Ohligs
2a23f30963 Merge branch 'master' into ohligs 2011-06-12 12:02:24 +02:00
Simon Pickartz
f6fed124b6 use interrupts+anylength_call now 2011-06-09 04:23:17 -07:00
Stefan Lankes
9085bb67e4 fix typo 2011-06-09 08:29:06 +02:00
Stefan Lankes
393808e198 fix bug in the initializtion of the BSS section
- DO NOT LONGER USE the compiler flag "-fno-zero-initialized-in-bss"
2011-06-09 08:18:12 +02:00
Generic account for RWTHAachen Students
fbd30d8f5a testing mail_check 2011-06-08 09:23:05 -07:00
Generic account for RWTHAachen Students
bba87c8e27 bug fix in mail_ping 2011-06-07 05:53:16 -07:00
Marian Ohligs
d92515f02a Merge branch 'master' into ohligs 2011-05-30 22:48:00 +02:00
Jacek Galowicz
7fdb044e9a Encapsulated FPU restore instructions.
There is a new procedure restore_fpu_state() in
arch/x86/include/asm/tasks_types.
Will need this code in lguest, too.
2011-05-30 11:22:54 +02:00
Marian Ohligs
83f5a4c426 Merge branch 'master' into ohligs
Conflicts:
	.gitignore
2011-05-29 11:20:49 +02:00
Stefan Lankes
cdd16a2b9f add the SSE support
=> context switch stores also the SSE registers
2011-05-28 23:35:46 +02:00
Jacek Galowicz
394befa3a8 Color management for procedures using vga_putchar
As seen in some BSD operating systems, you can now push and pop foreground and background colors onto a stack to change the colors you see on the screen whenever kprintf/kputchar is used.

This could become useful if one wants to see kernel space kprintfs in other colors than user space printfs or error messages in red and other debugging purposes.

Beware: This is just a small and dirty hack which protects the colorstack with locks and so on. But on task switching the color will not be switched. That makes different colors for different colors persistent for all the time difficult/impossible. But I considered adding colors to the task structures a bit overdone for a small debugging-help.

[Sorry for those commit-and-pull-back-mails. Forgot that I had this stuff on the master branch while pushing my own branch onto the server.]
2011-05-25 09:26:00 +02:00
Marian Ohligs
3cf6180196 fix some strange behavior with backspace 2011-05-24 00:56:21 +02:00
Marian Ohligs
8651593758 bug fix in fb.c 2011-05-23 13:42:26 +02:00
Marian Ohligs
4f0bc05a74 add basic support of scanf, get ... 2011-05-23 12:56:14 +02:00
Stefan Lankes
08f5153257 add the support of inter core interrupts 2011-05-17 08:13:20 -07:00
Stefan Lankes
ea4a7477c5 set CR0's MP flag to monitor the coprocessor 2011-04-21 19:46:55 +02:00
Stefan Lankes
a563c756ee fix bug in the setup of the caching strategy 2011-04-21 09:33:49 -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
Jacek Galowicz
a9c4b5ddc0 Encapsulated IDT-/GDT-descriptor configuring code into helper functions. 2011-04-21 07:31:45 +02:00
Stefan Lankes
4fc507bc6b fix bug in the TSS initialization for a new task, which is a copy of the current task 2011-04-18 12:18:59 -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
68281c8ad0 cosmetic changes, minor code optimization 2011-04-18 15:10:24 +02:00
Stefan Lankes
47f37e3b00 use memory barriers instead of read memory barriers to determine the current TSC
=> more accurate caclculation of the timer frequency
+ minor cosmetic changes
2011-04-18 15:07:45 +02:00
Stefan Lankes
624afd187c by entering a system call, we need also to push the segment descriptor on the stack 2011-04-18 15:05:27 +02:00