|
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 |
|