Commit graph

66 commits

Author SHA1 Message Date
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
67b8ca111a a few cleanups 2014-12-04 20:33:28 +01:00
Stefan Lankes
e9960dc78e get_current_stack set CR3 => required for a context switch 2014-12-03 23:10:32 +01:00
2cf3c89a40 fixed syntax errors and compiler warnings in new branch 2014-11-28 03:20:31 +01:00
1a20a9fb45 Merge branch 'paging' into paging-fork
Conflicts:
	arch/x86/mm/page.c
2014-11-28 02:45:05 +01:00
2189214003 removed obsolescent variable 2014-11-28 02:28:33 +01:00
883756d0b4 improved documentation 2014-11-28 02:26:40 +01:00
95791bb12c made pagefault handler more verbose 2014-11-28 02:15:49 +01:00
d289601a0e smaller cleanups 2014-11-28 02:15:15 +01:00
b33107eef7 removed userspace fork/kill support to separate branch 2014-11-28 02:00:35 +01:00
a471243f83 added first version of userspace fork/kill support to new branch 2014-11-28 01:42:41 +01:00
58876ffe05 simplified code, fixed smaller bugs 2014-11-28 01:39:56 +01:00
84fb712308 removed unnecessary TLB flush 2014-08-21 22:26:19 +02:00
d190d4c46c create self-reference directly in assembler .data section 2014-08-21 22:25:45 +02:00
fbf55178c1 added first version of paging code
(only page_map() works for now)
2014-08-21 20:17:02 +02:00
9b4714113a added functions to handle TLB invalidation and control register access 2014-08-21 20:14:59 +02:00
e514ae24f8 added some preprocessor macros for upcoming paging code 2014-08-21 20:13:55 +02:00
838ad909c6 replaced multiboot_init() by global pointer in entry.asm 2014-06-30 12:15:52 +02:00
ee3166c21b enabled paging by using a transparent idendity paging during boot 2014-06-30 01:47:33 +02:00
2621c0b261 fixed comment capitalization, style and indentions 2014-06-30 01:46:59 +02:00
153447482a added headers for paging code 2014-06-30 00:15:20 +02:00
92c90c299a added bitmap initialization based on Multiboot infos 2014-06-30 00:10:04 +02:00