Stefan Lankes
58d2d3120a
remove obsolete call of apic_eoi
2019-01-15 23:26:20 +01:00
Simon Pickartz
1a8e06a365
add interface providing the free list to the hypervisor ( #101 )
...
Add an interface for sharing the free list with the hypervisor. This can be used to accelerate the cold migration of guests.
2018-09-04 13:09:23 +02:00
Stefan Lankes
468dde6ca9
guarantee that _start is at the beginning of the kernel
2018-08-12 09:13:21 +02:00
Stefan Lankes
0b45513d12
switch to ELF OS ABI identifier 0xFF
...
- this is the equivalent to "ELFOSABI_STANDALONE"
- ELFOSABI_STANDALONE stands for standalone applications
2018-08-11 23:54:24 +02:00
Stefan Lankes
fa7946a4b9
add ring 0 detection, if running in ring 3 applications will be shutdown
...
- safe shutdown, if app is running in ringe 3
2018-08-11 00:40:38 +02:00
Stefan Lankes
a3eadd81a9
fix typo
2018-08-07 10:50:22 +02:00
Stefan Lankes
0d11dd0b4e
add check if the frequency is already calculated
2018-08-07 10:49:21 +02:00
Stefan Lankes
8f04bbd747
use boot tsc to calculate the uptime
2018-08-07 09:53:22 +02:00
Stefan Lankes
1173c1b7fd
uses time stamp counter to calculate the uptime
2018-08-06 20:18:15 +02:00
Stefan Lankes
66303eed3e
add the possibility to disable huge pages
2018-08-03 09:25:24 +02:00
Stefan Lankes
595a522cc6
disable MP table search on uhyve
2018-08-03 09:24:44 +02:00
Stefan Lankes
71cd147967
align end of the kernel to a 2 MB boundary
2018-08-02 21:09:10 +02:00
Stefan Lankes
bdfcaa5939
use macro HUGE_PAGE_SIZE instead of fix numbers
2018-08-02 21:08:25 +02:00
Stefan Lankes
955dbc2fcf
align in the pagefault handler all pages to a huge page boundary
2018-08-02 09:57:42 +02:00
Stefan Lankes
f8257413fe
increase the readability, get_zeroed_huge_page returns valid address
2018-08-02 09:55:54 +02:00
Stefan Lankes
2b3e5c84e2
increase the readability of pagefault handler & check_pagetables
2018-08-02 09:08:08 +02:00
Stefan Lankes
ce38ddd622
add support of huge pages
...
- the heap use huges pages to allocate memory
2018-08-01 23:59:42 +02:00
Stefan Lankes
748744cdf9
add basic gdb support for aarch64 ( #94 )
...
following kernel features are required:
- first page table (pl0) is located at a fix address
- unhandled page faults are forwarded to the hypervisor
2018-07-21 21:42:11 +02:00
Stefan Lankes
9e6484f4f8
enable interrupt handling on all cores
2018-07-02 20:19:33 +00:00
Stefan Lankes
37b41f8fd2
initialize thread id register
2018-07-02 20:13:26 +00:00
Stefan Lankes
8500695907
prepare smp support, add support of "per_core" data
2018-07-02 20:11:48 +00:00
Stefan Lankes
bbcafad2d3
add inline function to determine the cpu state
2018-07-02 20:05:49 +00:00
Stefan Lankes
ec15e70f75
increase the readability of the pagefault handler
2018-06-30 20:50:03 +00:00
Stefan Lankes
e1a40a4424
fix typo in saving / restoring of the task context
2018-06-30 07:55:29 +00:00
Stefan Lankes
63bd7fa8b4
fix TLS initialization, disable the support of contiguous blocks
...
- fix TLS initialization on aarch64
- disable temporary the support of contiguous blocks on aarch64
- add possibility to dump a page table entries
- improve TLS test case
2018-06-29 10:28:10 +00:00
Stefan Lankes
33060c13f1
remove typos
2018-06-29 06:00:55 +00:00
Stefan Lankes
c33142e318
align kernel to a 16KB boundary
...
=> the whole kernel can be mapped as contiguous region
2018-06-25 08:14:15 +00:00
Stefan Lankes
ad5e9af32c
remove obsolete function
2018-06-17 22:29:46 +00:00
Stefan Lankes
c48461b796
remove dependency from kernel_end
...
- the new version binutils will remove the mark kernel_end
=> remove the usage of this mark
2018-06-13 19:40:38 +00:00
Stefan Lankes
0c6061bc6c
add also the option to map bss section on demand
2018-05-16 22:54:34 +02:00
Stefan Lankes
0b1c47092a
rename macros in more meaningfull names
2018-05-16 21:36:42 +02:00
Stefan Lankes
d96e9069db
revise code, increase the readability
2018-05-16 19:28:41 +02:00
Stefan Lankes
04db2dfc87
remove obsolete debug message
2018-05-15 23:39:40 +02:00
Stefan Lankes
7c89671721
rename macros to improve the readability
2018-05-15 23:05:56 +02:00
Stefan Lankes
f5fa1569d7
reserve larger heap, add gap for pci devices
2018-05-15 00:54:13 +02:00
Stefan Lankes
7cf050cf30
remove obsolete makefiles
2018-04-30 07:19:15 +02:00
Stefan Lankes
807c210111
update timer after updating the timer list
...
- revise code, increase the readability
2018-04-29 23:50:02 +02:00
Stefan Lankes
558311bc40
simplify code to send an IPI
2018-04-29 11:45:39 +02:00
Stefan Lankes
094eabba05
udelay reschedules within the busy waiting loop to avoid deadlocks
2018-04-29 08:46:31 +02:00
Stefan Lankes
e6558c0b9b
use uart device to dump kernel messages
2018-04-28 23:29:36 +00:00
Stefan Lankes
00270b84ef
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2018-04-28 15:31:47 +02:00
Stefan Lankes
e26ec98b5a
revise code to increase the readability
2018-04-28 15:28:15 +02:00
Stefan Lankes
411a99c27f
remove irq save locks to avoid deadlocks
2018-04-28 15:22:45 +02:00
Stefan Lankes
7009fd5370
remove obsolete code
2018-04-28 15:21:44 +02:00
Stefan Lankes
f11c948347
use UART device to print kernel messages
...
- HermitCore's message buffer isn't longer supported by uhyve
2018-04-28 10:13:06 +02:00
Stefan Lankes
b789360af2
add basic SMP support, just jumping to smp_start
2018-04-24 20:45:28 +00:00
Stefan Lankes
492cde7275
determine default architecture via uname
2018-04-22 16:47:28 +00:00
Stefan Lankes
9d9e4d5395
by setting ecx to 0, mwait handles the IRQ and not just wait from it
2018-04-17 13:49:52 +02:00
Stefan Lankes
4d694dcc68
avoid race between checking workqueues and calling halt
...
between checking the workqueues and the calling halt instruction, a
process and the corresponding interrupt is able arrive and lost
2018-04-17 12:00:12 +02:00
Stefan Lankes
c6867fd1cb
remove aeoi, it isn't required for a synchronous interrupt
2018-04-17 11:30:12 +02:00