Commit graph

557 commits

Author SHA1 Message Date
9018781eee replaced old kfree() calls with new signature 2013-11-20 14:11:19 +01:00
a972efe288 Merge branch 'vma_kernel' into vogel
Conflicts:
	kernel/tasks.c
2013-11-20 14:00:04 +01:00
de33962e9d removed old vm_alloc()/vm_free() which have been replaced by vma_alloc()/vma_free() 2013-11-20 13:22:09 +01:00
af5fa15d8d fixed possible wrap-around in tlb_flush functions 2013-11-20 12:04:55 +01:00
aa1730919e standardized comment format and code cleanup 2013-11-20 12:03:24 +01:00
421e7ec66e added missing multiboot #defines 2013-11-20 11:20:52 +01:00
ec171dfcce implemented map_region() (more testing needed; will propably replaced by a iterative solution) 2013-11-14 13:12:35 +01:00
892154c9f1 implemented drop_page_map() (more testing needed) 2013-11-14 13:09:56 +01:00
bbb8c5c186 implemented copy_page_frame() (more testing needed) 2013-11-14 13:09:31 +01:00
92b2badf71 implemented copy_page_map() (more testing needed) 2013-11-14 13:08:56 +01:00
cdcd9e7d20 implemented create_page_map() 2013-11-14 12:25:52 +01:00
14938ef7e1 added some helper functions to for the recursive mapping structures 2013-11-14 12:25:07 +01:00
4b485f5733 implemented virt_to_phys() 2013-11-14 12:23:42 +01:00
9441d21d89 more cleanup of old 32bit code relicts, typos and indention 2013-11-14 12:22:52 +01:00
90d884ec8d changed naming of 64bit boot paging tables according to 32bit boot tables
calculate required boot page tables as a function of KERNEL_SPACE
2013-10-25 12:02:04 +02:00
fca96e9851 unified paging preprocessor #defines and naming scheme 2013-10-24 12:36:05 +02:00
d59676dbf5 more work to make our assembly initialization more beautiful 2013-10-17 21:35:13 +02:00
3e73d6384e fixed regression 2013-10-17 13:09:20 +02:00
3be25b99d2 reorganized 64bit paging initialization 2013-10-17 11:36:02 +02:00
403c529e8b fixed copy&paste bug and moved cpu initialization in cpu_init() 2013-10-16 17:50:37 +02:00
Steffen Vogel
9b47b3ef45 refactored paging code to be more universial and suitable for 64bit paging 2013-10-16 17:50:37 +02:00
f361783f4b Merge branch 'cleanup' into vogel 2013-10-16 17:34:18 +02:00
dac9b20c18 some comments cleaned up 2013-10-16 13:42:58 +02:00
e757ac5c08 Merge branch 'qemu_uart' into vogel 2013-10-10 11:42:27 +02:00
5424397b47 debug kernel messages over virtual uart port in qemu
use 'telnet localhost 12346' to listen
2013-10-10 11:39:41 +02:00
Steffen Vogel
3c8de24349 fixed some typos, added comments and some code cleanup 2013-10-10 11:09:36 +02:00
1fc3e40c4e fixed some typos, added comments and some code cleanup 2013-10-10 11:09:36 +02:00
Stefan Lankes
859c11e399 add RCCE test 2012-09-11 23:50:39 -07:00
Stefan Lankes
941a7006a4 backport of the 32bit code 2012-09-10 15:37:45 +02:00
Stefan Lankes
da30b95e9d minor optimizations and code cleanups 2012-09-10 05:34:18 -07:00
Stefan Lankes
e1c3ddbc8d use irqsave page directory lock to avoid deadlocks 2012-09-10 13:41:00 +02:00
Stefan Lankes
4131221b9a By entering/leaving the kernel, DS and ES registers will be saved/restored. 2012-08-24 20:21:21 +02:00
Stefan Lankes
67d2e0e633 remove obsolete and wrong line
- do not use reschedule in an interrupt handler!
2012-08-10 20:16:19 +02:00
Stefan Lankes
e2550fbdb2 avoid deadlock by disabling interrupts in map_region
- the page_fault handler uses also map_region and implicitly its spinlock
- risk of a deadlock
2012-08-01 21:12:55 +02:00
Stefan Lankes
8a7463883a disable IOAPIC's timer and add helper function to determine the version of the IOAPIC 2012-08-01 09:51:20 +02:00
Stefan Lankes
b49f2ef08a determine all six IO base addresses 2012-08-01 09:50:07 +02:00
Stefan Lankes
3e01fbad68 add a more flexible interface to determine PCI information
=> now, we determine also the size of the IO address space
2012-07-26 09:07:20 +02:00
Stefan Lankes
bb467767d0 enable the SMP support on systems with a X2APIC 2012-07-22 22:19:50 +02:00
Stefan Lankes
7f7dd4585f add the support of ELF64 2012-07-22 20:12:24 +02:00
Stefan Lankes
8b91ff3fff remove some compiler warnings 2012-07-22 20:10:16 +02:00
Stefan Lankes
84945aee64 add MSR and X2APIC support 2012-07-22 13:16:17 +02:00
Stefan Lankes
e0a112bc2a remove obsolete check for APIC support 2012-07-22 13:13:46 +02:00
Stefan Lankes
c0a96953b4 only if CONFIG_VGA is defined, VGA will be mapped into the kernel space 2012-07-22 10:56:03 +02:00
Stefan Lankes
cbd5b5be83 disable the cache for VGA 2012-07-22 10:46:07 +02:00
Stefan Lankes
4775e5e11e use static stacks only for the idle tasks
=> all other stacks will be created on demand
2012-07-19 22:07:59 +02:00
Stefan Lankes
ae1216f757 user a read barrier instead of a normal barrier to serialize calls of rdtsc 2012-07-19 08:28:23 +02:00
Stefan Lankes
6462e2b0fd remove typo 2012-07-19 00:31:08 +02:00
Stefan Lankes
89c792cc03 fix bug in the calculation of esp0 2012-07-19 00:17:31 +02:00
Stefan Lankes
09ec6dcc3a some code cleanups
=> simplify the handling of FPU exceptions
2012-07-18 20:56:23 +02:00
Stefan Lankes
dadc4ce7ed set task switched flag to support applications, which require FPU support 2012-07-18 20:54:04 +02:00