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