Commit graph

290 commits

Author SHA1 Message Date
4f5e2ce13b heading towards merging the 32/64 paging code 2014-05-14 18:56:15 +02:00
ff130c4538 moved VMA initialization of APIC and MultiProcessing related stuff to apic.c 2014-05-14 18:01:58 +02:00
44f6905e4d added missing vma region 2014-05-14 17:43:20 +02:00
6f5a7157bb rewrite of multiprocessing table parsing 2014-05-14 17:43:03 +02:00
8287ab79d3 fixed SMP with new paging code 2014-05-14 15:17:34 +02:00
c1e52dc8c2 updated PMC driver 2014-05-14 15:12:02 +02:00
d358a78e56 added comments and @author 2014-05-14 15:11:02 +02:00
ab35409aac the LAPIC page should be marked as not executable 2014-04-15 16:57:03 +02:00
00127d06cf some cleanup 2014-04-15 16:28:02 +02:00
6bd2f64687 set PG_GLOBAL flag on pagetables
this leads to global self-mapped page tables
and therefore reduces to effect of TLB shootdowns.
2014-04-15 16:27:16 +02:00
273137f2e7 fixed sys_fork and sys_execve for new paging code 2014-02-18 13:12:19 +01:00
3203d53a83 another rewrite of the paging code without nested functions 2014-02-18 13:08:22 +01:00
61ec065da1 some smaller codestyle improvements 2014-02-18 13:03:52 +01:00
39bb5e8d56 fixed mapping for APIC and IOAPIC 2014-02-18 11:06:13 +01:00
d51237f3f2 fixed missing page map: Multiboot mmap_* fields are not required to be on the same page as the Multiboot info structure itself 2014-02-07 10:56:04 +01:00
93cfc43c55 fixed little bug in bit mask 2014-02-07 10:54:27 +01:00
0e6f7b1e32 added more exception names 2014-01-30 14:38:08 +01:00
a755ac5d5e implemented Performance Monitoring Counters and added a simple test benchmark 2014-01-30 14:36:22 +01:00
a3d621142a added paging and memory related CPUID feature flags 2014-01-28 11:09:00 +01:00
f0f3a6d4f6 added seperate x86 UART routines for HW debugging (115200 baud, 8N1) 2014-01-28 11:07:09 +01:00
af9bda06f8 renamed mmu.h to memory.h as its not related to the MMU and contains
prototypes for memory.c
2014-01-09 16:20:18 +01:00
d5f60ef542 fixed two smaller bugs and some compiler warnings 2014-01-09 16:12:13 +01:00
a00177ec09 adapted c runtime and syscalls to x86-64 ABI calling convention 2014-01-09 14:04:02 +01:00
269bffc208 unified comment fontcase 2014-01-09 13:41:22 +01:00
494ee1299a unified and extended pagefault exception handler
some cleanup
2014-01-09 13:32:00 +01:00
4514080014 enable global pages for the kernelspace 2013-12-03 15:54:58 +01:00
fff2708c5a move page map setup to arch_paging_init() 2013-12-03 15:52:16 +01:00
9018781eee replaced old kfree() calls with new signature 2013-11-20 14:11:19 +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
1fc3e40c4e fixed some typos, added comments and some code cleanup 2013-10-10 11:09:36 +02:00
Stefan Lankes
da30b95e9d minor optimizations and code cleanups 2012-09-10 05:34:18 -07: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
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
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