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
Stefan Lankes
04a0dfb114
enable the support of the system call "fork"
...
remove obsolete file
2011-04-18 15:03:35 +02:00
Jacek Galowicz
b9b7841dc3
Moved IDT related structs from idt.c to idt.h.
2011-04-15 15:08:41 +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
0fbf2df5ac
use inline assembler to load the IDT
2011-04-08 10:45:26 -07:00
Stefan Lankes
e3e06fe523
set APICID of the boot processor to 0
2011-04-08 16:02:29 +02:00
Stefan Lankes
ab78beb859
cosemtic changes
2011-04-08 16:02:28 +02:00
Stefan Lankes
ea5b7e4930
reset APIC before timer initialization
2011-04-08 16:02:01 +02:00
Stefan Lankes
e96a549349
more accurate calculation of the processor frequency
2011-04-08 16:01:54 +02:00
Stefan Lankes
e599063dd2
cosmetic changes
2011-04-05 11:37:20 +02:00
Stefan Lankes
b46664b375
increasing the readability
2011-04-05 11:33:41 +02:00
Stefan Lankes
e8abd6f336
minor improvements and cosmetic changes to increase the readability
2011-04-05 02:00:02 -07:00
Jacek Galowicz
f411498368
Commented another bunch of header files.
2011-04-04 18:12:08 +02:00
Jacek Galowicz
dfe2c817de
Continued the small documentation journey.
...
Edited Doxyfile - will show static functions and vars now, because some
of them were interesting for documentation.
2011-04-04 11:27:49 +02:00
Jacek Galowicz
60fd07542f
Documented GDT and IDT files and optimized doxygen-output by fixing
...
__attribute__ misparsings as structure names
2011-04-03 20:46:53 +02:00
Stefan Lankes
f14c693e10
fix bug in the routine, which calculates the apic timer frequecy
2011-04-01 00:24:03 -07:00
Stefan Lankes
fb215aca47
redesign of the SCC bootloader and rename kernel file to metalsvm.elf
2011-03-31 12:50:42 -07:00
Stefan Lankes
017233d7df
use .text instead of .code section
2011-03-31 12:38:04 -07:00
Stefan Lankes
f9ec7ccadc
redesign of the SCC's init routines
2011-03-25 20:28:43 +01:00
Stefan Lankes
1a141d9dc9
create a separate directory for SCC specific code
2011-03-24 07:13:55 +01:00
Stefan Lankes
de9fb1fc65
use for debugging the normal C callig convention!
...
=> no using of compiler flags -fomit-frame-pointer
=> definition of the macro WITH_FRAME_POINTER
2011-03-22 22:11:43 +01:00
Stefan Lankes
ed29ee444a
minor optimization in our assembler code
2011-03-08 14:39:21 +01:00
Stefan Lankes
6613b13c1c
cosmetic changes
2011-03-07 20:04:44 +01:00
Stefan Lankes
ec5c78fbb3
remove compiler warnings
2011-03-04 23:33:58 +01:00
Stefan Lankes
c21b1bf8a2
remove compiler warnings
2011-03-04 22:42:41 +01:00
Stefan Lankes
56ee331596
add nested spinlocks
...
- required to avoid deadlocks
2011-03-04 11:38:40 +01:00
Stefan Lankes
464f31a53b
optimize the system call fork
...
- add a function to copy a physical page
=> reduce the using of vm_alloc and vm_free
2011-03-03 09:13:00 +01:00
Stefan Lankes
a27150b923
Fix bug in system call "fork"
...
- issues: memory leak
2011-03-02 23:08:01 +01:00
Stefan Lankes
5ce3ed9338
First steps to support the system calls "fork" and "wait"
...
- Currently, the system call "fork" doesn't work and has a memory leak
- However, it is a good starting point for further developments.
2011-03-02 13:49:36 +01:00
Stefan Lankes
cf078ec359
add a function to read the instruction pointer
2011-03-02 06:28:50 +01:00
Stefan Lankes
6772524b08
change copyright statement
...
=> using of a public domain license
2011-03-02 05:32:25 +01:00
Stefan Lankes
16efb49204
remove obsolete function arguments
2011-02-24 10:15:58 +01:00
Stefan Lankes
31ad08b7ae
Remap lapic and ioapic to the kernel space + some cosmetic changes
2011-02-21 08:36:06 +01:00