Commit graph

87 commits

Author SHA1 Message Date
Stefan Lankes
532c631f85 map multiboot info during boot straping into the address space
required to support mmio devices as output device during startup
2015-01-17 18:36:32 +01:00
Stefan Lankes
83ea776de8 remove conflict 2015-01-17 16:46:14 +01:00
Stefan Lankes
bdebe44a26 Merge branch 'stage5' into stage6
Conflicts:
	arch/x86/include/asm/page.h
	arch/x86/kernel/entry.asm
	arch/x86/mm/page.c
2015-01-17 16:45:06 +01:00
Stefan Lankes
7f8e4d2934 remove obsolte code and switch back to Steffen's revised page handling 2015-01-17 16:17:20 +01:00
Stefan Lankes
f1dd432a53 merge Steffen's heap implementation into eduOS 2015-01-12 22:35:08 +01:00
Stefan Lankes
9af10f2f53 fix bug in the calculation of the number of gdt entries
Signed-off-by: Stefan Lankes <slankes@eonerc.rwth-aachen.de>
2015-01-04 04:54:57 +01:00
Stefan Lankes
7228ff3b12 fix bug in the calculation of the number of gdt entries
Signed-off-by: Stefan Lankes <slankes@eonerc.rwth-aachen.de>
2015-01-04 04:54:02 +01:00
Stefan Lankes
87668dd5cc support of high addresses by early printing via UART 2014-12-29 12:18:55 +01:00
Stefan Lankes
211fa113f0 add helper function to map a page frame into the boot page table 2014-12-29 12:17:18 +01:00
Stefan Lankes
2e75a39295 increasing the readability 2014-12-29 12:11:15 +01:00
Stefan Lankes
83a4832d15 usage of the boot paramter to establish an early output device 2014-12-29 00:15:03 +01:00
Stefan Lankes
c26a8fa4f8 extend the function pci_get_device_info to determine a device with a specific IO address 2014-12-29 00:13:57 +01:00
Stefan Lankes
21b6fdf309 add macro to determine if the bootloader append a cmdline string 2014-12-29 00:12:12 +01:00
Stefan Lankes
eaaaaeb4bd Merge branch 'stage5' into stage6 2014-12-28 19:19:09 +01:00
Stefan Lankes
6eefe8f2bd disable FPU support 2014-12-28 19:18:13 +01:00
Stefan Lankes
f0c0a764ea Merge branch 'stage5' into stage6 2014-12-27 23:28:25 +01:00
Stefan Lankes
03cf4a4f94 fix wrong page attributes 2014-12-27 23:21:49 +01:00
Stefan Lankes
239ee0c051 fix wrong initialization of CR4 2014-12-27 23:20:45 +01:00
Stefan Lankes
840a28465d remove obsolete graphic field 2014-12-23 07:52:21 +01:00
Stefan Lankes
5a5ddb35e2 add missing address and graphic field of the multiboot header 2014-12-22 23:21:57 +01:00
9a2cb452e5 fixes wrong return value of page_map(), fixes #2y
Signed-off-by: Stefan Lankes <slankes@eonerc.rwth-aachen.de>
2014-12-20 07:33:13 +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
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
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
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
168c8a30ab create task to handle incoming messages 2014-12-11 22:43: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
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
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
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