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

1713 commits

Author SHA1 Message Date
Stefan Lankes
04688f4a24 add libomp-hermit to the packet list 2018-08-12 09:30:39 +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
6eee6b8bd1 remove obsolete buffering of TX packets 2018-08-06 07:54:34 +02:00
Stefan Lankes
b60aeff449 increase LwIP performance by increasing buffer and window sizes 2018-08-06 07:51:28 +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
8bc778b6fe add helper functions to check if all data is written to the socket 2018-08-02 22:48:09 +02:00
Stefan Lankes
3ba88256f1 remove sleeps in multithreaded version, add license text 2018-08-02 21:11:52 +02:00
Stefan Lankes
aef158f3f9 check at the end of the init routine if we already receive a packet 2018-08-02 21:09:58 +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
3e6b84b642 add tiny web server as test case
This "Tiny Web Server" is derived from nweb, which was developed
by Nigel Griffiths and published at
https://www.ibm.com/developerworks/systems/library/es-nweb/index.html.

The web server was released under the IBM License Agreement.
2018-08-02 15:41:30 +02:00
Stefan Lankes
ece962963d enable huge page support in uhyve 2018-08-02 12:55:20 +02:00
Stefan Lankes
0c89ee0bbd
Expect virtual addresses for the buffers in UHYVE_PORT_READ/UHYVE_PORT_WRITE and perform the address translation in uhyve (#97)
Depending on the size of the data to be read/written, the buffers could cross page boundaries in HermitCore. Previously, uhyve expected the physical addresses of the pages behind the buffers to be contiguous. However, the OS only guarantees that the virtual addresses for the buffer memory are contiguous. On the contrary, each virtual address may map to a physical address anywhere in memory.
2018-08-02 12:53:37 +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
Pierre Olivier
eb2a9863c4 Fix envc transfer from host to guest with uhyve 2018-08-01 14:24:01 +02:00
Stefan Lankes
215b16884d
disable temporary unsupported features on aarch64 (#96)
* remove OpenMP Runtime, move runtime to an own package

* remove uneeded dependencies to rdtsc, disable rdtsc based benchmarks on aarch64

* disable temporary go and xray applications on aarch64
2018-07-22 21:33:30 +02:00
Stefan Lankes
f8f43cc82b remove OpenMP Runtime, move runtime to an own package 2018-07-22 11:28:38 +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
2319afd888 add test case with debug information
- required to test the debugging features within uhyve
2018-07-10 08:58:19 +02:00
Stefan Lankes
d62fb9f762 move proxy and hypervisor to a new submodule 2018-07-08 22:21:07 +02:00
Stefan Lankes
69ed9f5354 Merge branch 'devel' of github.com:hermitcore/libhermit into devel 2018-07-08 07:44:06 +02:00
Stefan Lankes
896f1cca86 transfer x87 registers to the gdb, increase the readabilty 2018-07-08 07:40:23 +02:00
Stefan Lankes
4741cfbf6e fix typo, include template to support gdb on aarch64 2018-07-05 22:46:11 +00:00
Stefan Lankes
55ca03c5d4 add first draft of gdb support for x86_64
- derived from ukvm/solo5 (https://github.com/Solo5/solo5/tree/master/ukvm)
- first adaption developed by Pierre Oliver, VT
2018-07-06 00:35:34 +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
66dcb2782e print also the multiprocessor affinity register 2018-07-02 19:58:10 +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
3c7fb82971 extend example to test the thread local storage 2018-06-17 13:41:39 +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
0da5a822b9 fix image size calculation if app contains more than one load section 2018-06-13 19:40:01 +00:00
Jens Breitbart
916fd51879 Fixed McKernel Link 2018-06-13 19:40:01 +00:00
Stefan Lankes
0a957de645 remove compiler warning 2018-06-09 19:50:47 +02:00