1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-09 00:00:03 +01:00
Commit graph

193 commits

Author SHA1 Message Date
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