Commit graph

134 commits

Author SHA1 Message Date
Stefan Lankes
5a5ddb35e2 add missing address and graphic field of the multiboot header 2014-12-22 23:21:57 +01:00
e4d215d3d3 Merge branch 'master' of github.com:stv0g/eduOS 2014-12-20 00:48:15 +01:00
90937daeb5 fixes wrong return value of page_map(), fixes #2y 2014-12-20 00:47:07 +01:00
Stefan Lankes
0192f70338 Merge branch 'stage6' of https://github.com/RWTH-OS/eduOS into stage6
Conflicts:
	Makefile.example
	arch/x86/kernel/uart.c
2014-12-19 22:05:15 +01:00
Stefan Lankes
dc8232374f some cleanups 2014-12-19 21:50:26 +01:00
Stefan Lankes
44cc72b94e code cleanups, remove debug messages 2014-12-19 21:41:33 +01:00
Stefan Lankes
15073197a9 fix issue in the configuration of the UART device 2014-12-19 21:38:42 +01:00
daniel-k
dd961f8558 extent uart driver with stubs for additional interrupts and also look for
qemu's pci-serial-2x and pci-serial-4x devices
2014-12-19 17:05:01 +01:00
daniel-k
bc9c1098d2 adjust qemu commandline to enable serial communication with telnet 2014-12-19 17:01:12 +01:00
daniel-k
19f871579d Don't strip debug symbols of elf to use as symbol-file in gdb (fix crashing
gdb 7.7.1 on Ubuntu). Add debug-eclipse target and use target-specific CFLAGS
for debug targets.
2014-12-19 11:42:05 +01:00
daniel-k
2df269eac0 fix typo in Makefile example 2014-12-19 11:42:05 +01:00
Stefan Lankes
a945d498d7 reduce the number of interrupts, some cleanups 2014-12-19 11:36:09 +01:00
Stefan Lankes
dabd33f37c add helper functions to determine if the pci device use MMIO or IO ports 2014-12-19 11:35:24 +01:00
Stefan Lankes
75b39829f8 use flag PG_GLOBAL to map the video memory 2014-12-14 23:41:24 +01:00
Stefan Lankes
8cc32095af some cleanup 2014-12-14 23:40:08 +01:00
Stefan Lankes
1936c4b3eb remove typo in a comment 2014-12-13 18:47:02 +01:00
Stefan Lankes
4a9440dd62 redesign of the IO interface
- all messages are stored in a ring buffer
- new devices (e.g. UART) are able to print previous messages
2014-12-13 18:00:35 +01:00
Stefan Lankes
7a15541d82 add function to detect processor features 2014-12-13 17:56:46 +01:00
Stefan Lankes
926f818e83 reduce the number of debug messages 2014-12-13 17:55:29 +01:00
Stefan Lankes
ad291c5294 add new function to determin if a device supports MMIO 2014-12-13 17:53:42 +01:00
Stefan Lankes
3725b1f6d0 minor modifications in atomic_int32_inc/_dec
=> now, the functions returns also the current counter
2014-12-13 15:14:31 +01:00
Stefan Lankes
3d84f776be preperation to support memory mapped io 2014-12-12 14:44:21 +01:00
Stefan Lankes
e97f08d2ea add Daniel to the author list 2014-12-12 13:59:23 +01:00
Stefan Lankes
020a89e706 remove typo 2014-12-11 22:47:18 +01:00
Stefan Lankes
13e594d16e improve some comments 2014-12-11 22:45:23 +01:00
Stefan Lankes
168c8a30ab create task to handle incoming messages 2014-12-11 22:43:45 +01:00
Stefan Lankes
41ab209d83 add mailbox system 2014-12-11 22:30:06 +01:00
Stefan Lankes
c2947fbb88 add missing header 2014-12-11 22:28:45 +01:00
Stefan Lankes
9ae03d14d5 cosmetic changes 2014-12-09 22:35:38 +01:00
Stefan Lankes
e3042f167a add missing copyright statement 2014-12-09 22:32:59 +01:00
Stefan Lankes
9d7bd72ed1 add missing list of pciids 2014-12-09 10:52:47 +01:00
Stefan Lankes
df0b192e21 add basic support of an UART device 2014-12-09 10:09:03 +01:00
Stefan Lankes
8648ca0dfe add more details in the README 2014-12-05 09:43:55 +01:00
Stefan Lankes
b92ec13995 some code cleanups 2014-12-05 09:38:50 +01:00
Stefan Lankes
f6a5f75725 fix wrong calculation of active tasks 2014-12-05 09:29:10 +01:00
Stefan Lankes
5ec1a4e98e add Steffen in the copyright statement
=> he complety redesign my paging implementation
=> clearly better than my previous version
2014-12-05 07:29:38 +01:00
Stefan Lankes
2eaa7589ee enable cache for our user-level task 2014-12-05 07:26:24 +01:00
Stefan Lankes
4f6792e3c2 Merge remote-tracking branch 'stv0g/stage5' into stage5 2014-12-04 22:24:58 +01:00
Stefan Lankes
c0d69c96be add demo of a user-level process
dirty hack, map the function userfoo and its stack to user space
2014-12-04 22:19:18 +01:00
42571eb4eb added proper accounting of user used page frames 2014-12-04 21:44:02 +01:00
5c4e1cee4f add PG_PRESENT by default 2014-12-04 21:38:41 +01:00
Stefan Lankes
49016fc0c2 get_pages uses the algorithm "first fit", but starts now at the last hit 2014-12-04 21:04:22 +01:00
09acfdfdf3 rewrite of page_map_{copy,drop} functions 2014-12-04 20:42:58 +01:00
18378417a7 added new custom paging flag to mark page table entries which are used for self-references 2014-12-04 20:41:39 +01:00
27274dad67 added proper locking primitives for 'per task' page tables 2014-12-04 20:35:19 +01:00
67b8ca111a a few cleanups 2014-12-04 20:33:28 +01:00
Stefan Lankes
370997f516 copy default task's cr3 register to the PCB 2014-12-03 23:39:13 +01:00
Stefan Lankes
e9960dc78e get_current_stack set CR3 => required for a context switch 2014-12-03 23:10:32 +01:00
Stefan Lankes
04290f885d fix wrong pointer check 2014-12-02 23:37:43 +01:00
Stefan Lankes
455de5f846 add crosscompile prefix to environment variable GDB 2014-12-02 23:04:54 +01:00