Sebastian Sumpf
d417d26ce8
hw: fix calculation of CPU count on x86_64
...
On x86 the CPU count is determined through ACPI's MADT by counting the
local APICs reported there. Some platforms report more APICs
than there are actual CPUs. These might be physically disabled CPUs.
Therefore, a check if the LAPIC is actually physically enabled in
hardware fixes this issue.
Thanks to Alex Boettcher
fixes #3376
2019-05-29 10:20:52 +02:00
Sebastian Sumpf
5611020f33
hw: fix stack alignment in bootstrap for x86_64
...
Fix initial stack pointer alignment for x86_64 in crt0.s startup code of
bootstrap. SysV ABI states that upon function entry (rsp + 8) % 16 = 0.
There, we have to align the stack to 16 bytes before all 'call'
instruction not 8. Otherwise FPU (GP) exception might be raised later on
because of unaligned FPU accesses.
issue #3365
2019-05-29 10:20:52 +02:00
fc68e97e4a
Sculpt: redirect "nic_drv" binary to "ipxe_nic_drv"
...
Ref #2190
Fix #3374
2019-05-29 10:20:52 +02:00
Alexander Boettcher
b3a9ad2215
vbox5: fpu support via new vm_session
...
Issue #3111
2019-05-29 10:20:52 +02:00
Alexander Boettcher
ab6315d6b4
vm_session: add fpu state for x86
...
Issue #3111
2019-05-29 10:20:52 +02:00
Alexander Boettcher
5673c163fb
vbox5: use vm_session interface
...
Issue #3111
2019-05-29 10:20:52 +02:00
de2ba3d8de
Merge branch 'staging' of github.com:genodelabs/genode into staging
2019-05-29 09:53:55 +02:00
Martin Stein
89e4ffcfb8
NOT FOR MASTER "depot_autopilot.run: raise depot autopilot quota"
...
Ref #3238
2019-05-28 15:53:11 +02:00
Martin Stein
1db8d6277d
NOT FOR MASTER "depot_autopilot: list log matches"
...
Ref #3238
2019-05-28 15:53:11 +02:00
Martin Stein
335ff90322
NOT FOR MASTER "depot_autopilot: hex dump of failed test log"
...
Ref #3238
2019-05-28 15:53:11 +02:00
Christian Helmuth
fdfaccbcec
depot: update recipe hashes
2019-05-28 15:53:11 +02:00
Christian Helmuth
c5d9348e20
fixup "libc: mktime signed overflow" (test by cnuke)
2019-05-28 15:53:11 +02:00
Martin Stein
a2e23e0ce3
depot_autopilot.run: relax reboot timeout
...
It might happen, in CPU intensive tests (like TCP bulk lxip), or when
printing debugging output after a failed test (as done currently on
staging), that the run script on the host gives up and reboots the
platform too early. Thus, we raise the buffer time. A reboot should
be necessary only in rare cases anyway.
Fixes #3387
2019-05-28 15:53:11 +02:00
Martin Stein
c35b11550f
depot_autopilot.run: fix insufficient Qemu RAM
...
Fixes an error output in init at the beginning of the test and insufficient
transfer of RAM to the runtime of RAM-intensive test packages.
Ref #3387
2019-05-28 15:53:11 +02:00
Martin Stein
918f712ed1
test-nic_loopback: fix RAM resource request
...
Ref #3387
2019-05-28 15:53:11 +02:00
Sebastian Sumpf
19b3494bd0
libc: mktime signed overflow
...
issue #3289
2019-05-28 15:53:11 +02:00
Alexander Boettcher
3bbade136d
seoul-auto: disable autopilot test on qemu x86_32
...
Issue #3373
2019-05-28 15:53:11 +02:00
Alexander Boettcher
fddc8df8a6
fixup "vbox5: use vm_session interface"
...
Issue #3111
2019-05-28 15:53:11 +02:00
Sebastian Sumpf
2caeb0a310
nic_router: [[fallthrough]] annotation
...
issue #3377
2019-05-28 15:53:11 +02:00
Alexander Boettcher
941fec6ba5
fixup "vbox5: use vm_session interface"
...
Issue #3111
2019-05-28 15:53:11 +02:00
Alexander Boettcher
07ee9654e4
vm_session: consume spurious wakeups on nova
...
Issue #3111
2019-05-27 14:53:32 +02:00
Sebastian Sumpf
dce8fac7e0
hw: [[fallthrough]] annotations for ARM/RISC-V
...
* double checked
issue #3377
2019-05-27 14:53:32 +02:00
Alexander Boettcher
9f70084524
base: add vm session API recipe
...
Issue #3111
2019-05-27 14:53:32 +02:00
Christian Prochaska
e66453ed85
tool_chain: versioned install location
...
Issue #3307
2019-05-27 14:53:32 +02:00
Sebastian Sumpf
da17f2cbd3
hw: eager FPU switching for x86_64
...
Since gcc 8.3.0 generates SSE instructions into kernel code, the
kernel itself may raise FPU exceptions and/or corrupt user level FPU
contexts thereby. Both things are not feasible, and therefore, lazy FPU
switching becomes a no go for base-hw because we cannot avoid FPU
instructions because of the entanglement of base-hw, base, and the tool
chain (libgcc_eh.a).
issue #3365
2019-05-27 14:53:32 +02:00
Martin Stein
d535bc4ba3
run/nic_router_uplinks: do not run on muen
...
On muen, we don't have configured access to wifi so far. Thus, the wifi
driver doesn't come up and we should skip tests using this driver for
the platform.
Fix #3384
2019-05-27 14:53:32 +02:00
Christian Prochaska
256354c967
os: fix 'CUU' terminal command
...
Decrement the y position to move the cursor up.
Fixes #3379
2019-05-27 14:53:32 +02:00
Sebastian Sumpf
876e5e0384
hw: fix calculation of CPU count on x86_64
...
On x86 the CPU count is determined through ACPI's MADT by counting the
local APICs reported there. Some platforms report more APICs
than there are actual CPUs. These might be physically disabled CPUs.
Therefore, a check if the LAPIC is actually physically enabled in
hardware fixes this issue.
Thanks to Alex Boettcher
fixes #3376
2019-05-27 14:53:32 +02:00
Sebastian Sumpf
81bff6cc70
hw: fix stack alignment in bootstrap for x86_64
...
Fix initial stack pointer alignment for x86_64 in crt0.s startup code of
bootstrap. SysV ABI states that upon function entry (rsp + 8) % 16 = 0.
There, we have to align the stack to 16 bytes before all 'call'
instruction not 8. Otherwise FPU (GP) exception might be raised later on
because of unaligned FPU accesses.
issue #3365
2019-05-27 14:53:32 +02:00
d99083f800
Sculpt: redirect "nic_drv" binary to "ipxe_nic_drv"
...
Ref #2190
Fix #3374
2019-05-27 14:53:32 +02:00
Alexander Boettcher
9f714f367d
vbox5: fpu support via new vm_session
...
Issue #3111
2019-05-27 14:53:32 +02:00
Alexander Boettcher
7c1052baa6
vm_session: add fpu state for x86
...
Issue #3111
2019-05-27 14:53:32 +02:00
Alexander Boettcher
ff93bdd4ae
vbox5: use vm_session interface
...
Issue #3111
2019-05-27 14:53:32 +02:00
Alexander Boettcher
68d5293f01
platform_drv: adjust to g++ 8.3.0
...
Issue #3307
2019-05-27 14:53:31 +02:00
Alexander Boettcher
91146a3a70
acpi_drv: adjust to g++ 8.3.0
...
Issue #3307
2019-05-27 14:53:31 +02:00
Norman Feske
405a9d2144
Refinements for updated "Genode Foundations" book
...
- Improve API descriptions
- Remove obsolete Xml_node::value method (fixes #3323 )
- Follow coding style 'const char' -> 'char const'
- Avoid '>>' when nesting templates (limitation of parse_cxx)
2019-05-27 14:52:53 +02:00
Christian Helmuth
6c42bd4dd3
libc: use non-anonymous 'operator new' and destroy()
...
This removes implementations of and also references to anonymous new and
delete operators from the libc implementation. As allocators for
new/delete Libc::Allocator instances are used, which (paradoxically) map
to libc malloc/free.
2019-05-27 14:52:53 +02:00
Christian Helmuth
9288fe63ad
arg_string: return default value on parsing error
2019-05-27 14:52:53 +02:00
Pirmin Duss
bd045c65a2
util/string.h: suppress case fallthrough warnings
2019-05-27 14:52:53 +02:00
Johannes Kliemann
35b1440c97
ada-runtime: update to GCC 8.3.0
...
ref #3362
fixes #3371
2019-05-27 14:52:53 +02:00
Martin Stein
ba9ffc6243
nic_dump: do not depend on libports repo
...
Fixes #3372
2019-05-27 14:52:52 +02:00
Stefan Kalkowski
6d8d6b5552
hw: disable alignment checking at earliest
...
Fix #3370
2019-05-27 14:52:52 +02:00
Sebastian Sumpf
f18285205c
hw: enable FPU during CPU startup on x86
...
Also disable TS (task switch) flag in cr0 during kernel initialization,
so FPU faults are not raised. This became necessary since GCC lately
aggressively generates FPU instructions at arbitrary places and also at
early kernel-bootstrapping stages.
fixes #3365
2019-05-27 14:52:52 +02:00
Christian Helmuth
e60b597af5
linux: 32-bit compatibility with GCC versions before 7
...
GCC version 7 and above generate calls to __divmoddi for 64bit integer
division on 32-bit. Unfortunately, libgcc liberaries of older compilers
lack this symbol and are still in use by Debian/Ubuntu LTS at least.
2019-05-27 14:52:52 +02:00
Christian Helmuth
96b29c6f8a
Update lwip_lx test (vfs plugin, ld="no")
2019-05-27 14:52:52 +02:00
Martin Stein
79d1c4f83a
nic_router_flood: adapt test timeout
...
Fixes #3368
2019-05-27 14:52:52 +02:00
Christian Prochaska
4dd9d5eb6c
dde_zircon: fix compile error with GCC 8.3.0
...
Fixes #3366
2019-05-27 14:52:52 +02:00
Alexander Boettcher
753e78d122
seoul: adjust to g++ 8.3.0
...
Issue #3307
2019-05-27 14:52:52 +02:00
Alexander Boettcher
b50e54b0a8
nova: adjust to g++ 8.3.0
...
Issue #3307
2019-05-27 14:52:52 +02:00
Christian Prochaska
7fadfbbd9f
Treat 'implicit fallthrough' errors as warnings
...
After fixing the warnings, the compiler option should be removed.
Issue #3307
2019-05-27 14:52:52 +02:00
Christian Prochaska
b4649d84ee
ada-runtime: adjustments for Genode tool chain 19.05
...
Issue #3307
2019-05-27 14:52:52 +02:00
Christian Prochaska
eb4d431e76
stdcxx: update to version 8.3.0
...
Issue #3307
2019-05-27 14:52:52 +02:00
Christian Prochaska
8e2e4374f5
sanitizer: update to version 8.3.0
...
Issue #3307
2019-05-27 14:52:52 +02:00
Christian Prochaska
720919bc14
gcov: update to version 8.3.0
...
Issue #3307
2019-05-27 14:52:52 +02:00
Christian Prochaska
61140380ee
base: update 'ld' symbols for tool chain 19.05
...
Issue #3307
2019-05-27 14:52:52 +02:00
Sebastian Sumpf
a8d856fb65
ldso: dynamic linking support for ARM 64-bit
...
* added relocation support
* added assembler invocation path for jump slot relocations
fixes issue #3260
2019-05-27 14:52:52 +02:00
Sebastian Sumpf
7dc875e8c7
base: dynamic linking support of crt0.s on ARM 64-bit
...
* added global offset table relative loading for global symbols
* removed 'initial_sp' and 'initial_x0' because they are currently not
used on this platform. If required they are easy to resurrect.
issue #3260
2019-05-27 14:52:51 +02:00
Stefan Kalkowski
f0d28eeca7
foc: add support for Raspberry Pi 3
...
Ref #3260
2019-05-27 14:52:51 +02:00
Stefan Kalkowski
71a48c0a26
base: add initial support for ARM 64-bit
...
Ref #3260
2019-05-27 14:52:51 +02:00
Stefan Kalkowski
c98597a2c0
base: increase initial stack
...
Ref #3260
2019-05-27 14:52:51 +02:00
Christian Prochaska
6af3899bcb
Enable C++17 by default
...
Issue #3307
2019-05-27 14:52:51 +02:00
Christian Prochaska
74260c96bf
tool_chain: integrate 'ali2dep' tool
...
Fixes #3361
2019-05-27 14:52:51 +02:00
Stefan Kalkowski
fc922d263c
tool_chain: add aarch64 compiler target
...
Ref #3260
2019-05-27 14:52:51 +02:00
Sebastian Sumpf
36f90e57f3
riscv: tool chain 19.05
...
issue #3273
2019-05-27 14:52:51 +02:00
Christian Prochaska
f369da741d
tool_chain: update GDB to version 8.2.1
...
Issue #3307
2019-05-27 14:52:51 +02:00
Christian Prochaska
1720d2d86d
tool_chain: update GCC to version 8.3.0
...
Issue #3307
2019-05-27 14:46:54 +02:00
Christian Prochaska
96ed3c8db0
tool_chain: update binutils to version 2.32
...
Issue #3307
2019-05-27 14:46:54 +02:00
Christian Prochaska
fe878e65de
base: add copy constructor to 'Genode::Session_label'
...
Fixes #3333
2019-05-27 14:46:54 +02:00
Josef Söntgen
d223539165
wifi_drv: ignore socket flags on socket creation
...
The libc features support for SOCK_CLOEXEC now which gets set via
the type argument in 'libnl'. Since we are only interested in the
actual type, i.e. if it is SOCK_RAW, just ignore the flags.
Issue #3289 .
2019-05-27 14:46:54 +02:00
Sebastian Sumpf
a71253fa58
ieee754: adjust to libc/libm update
...
* Adjust expected pow(-1/1, inf/-inf/nan) output to current libm
behavior (as in FreeBSD, glibc, and OpenLibm) and return 1 on
x86_64/x86_32/arm
* Add 'double float' outputs for ARM which are defined to float
issue #3289
2019-05-27 14:46:54 +02:00
Christian Helmuth
6db43d2c19
libc_noux target depends on POSIX runtime
...
This prevents
error copying "bin/libm.lib.so": no such file or directory
error copying "bin/posix.lib.so": no such file or directory
when running "make run/noux" from an empty build directory.
2019-05-27 14:46:54 +02:00
Christian Prochaska
4fc3eca4aa
base-hw: fix compile errors with GCC 8.3.0
...
Fixes #3326
2019-05-27 14:46:54 +02:00
Stefan Kalkowski
5c77ebb1fb
hw: factor out x86 specific bootinfo
...
Ref #3326
2019-05-27 14:46:54 +02:00
Stefan Kalkowski
054df95ea4
hw: unify board definitions of bootstrap/core
...
Ref #3326
2019-05-27 14:46:54 +02:00
Martin Stein
8eecb39792
test/timeout: configurable fast-polling buffers
...
On some platforms (foc+pbxa9, hw+imx53_qsb_tz, hw+rpi) the default buffer size
is to much for the RAM available on the board. Thus, decrease the buffer size
and therefore the number of polls for these platforms only.
Fixes #3354
2019-05-27 14:46:54 +02:00
Christian Prochaska
8af81668ea
rump_fs: fix run time errors when built with GCC 8.3.0
...
Fixes #3360
2019-05-27 14:46:54 +02:00
Christian Prochaska
c9b5dcafbd
vbox: save FPU state in 'EPT violation' exit handler
...
Fixes #3359
2019-05-27 14:46:54 +02:00
Christian Prochaska
f596595c98
vbox: use 'Abi::stack_align()' for exit handler stack
...
This ensures proper stack alignment for FPU instructions on x86_64.
Fixes #3358
2019-05-27 14:46:53 +02:00
Christian Prochaska
3fa994a7a4
dde_bsd: update 'platform_execute()' functions based on libc
...
This ensures proper stack alignment for FPU instructions on x86_64.
Fixes #3357
2019-05-27 14:46:53 +02:00
Christian Prochaska
c7d9df6350
lx_kit: update 'arch_execute()' functions based on libc
...
This ensures proper stack alignment for FPU instructions on x86_64.
Fixes #3356
2019-05-27 14:46:53 +02:00
Christian Prochaska
c2c33d6808
base: save FPU registers in '_jmp_slot' function (x86_64)
...
Issue #3355
2019-05-27 14:46:53 +02:00
Christian Prochaska
9923a1bf50
ports: fix 'seoul' compile errors with GCC 8.3.0
...
Fixes #3352
2019-05-27 14:46:53 +02:00
863654d188
Libc: update port to Freebsd 12
...
Fix #3289
2019-05-27 14:46:53 +02:00
777d92f6de
Port of OpenLibm
...
Replace the FreeBSD libm with OpenLibm, which is easier to port.
OpenLibm is used by Mirage's freestanding Ocaml runtime (sin POSIX).
https://openlibm.org/
Ref #3289
2019-05-27 14:46:53 +02:00
Christian Prochaska
382371d9e4
nova: remove '-Wabi' compiler option
...
Fixes #3351
2019-05-27 14:46:53 +02:00
Christian Prochaska
3556a40f81
seoul: adjustments to compile with GCC 8.3.0
...
Issue #3352
2019-05-27 14:46:53 +02:00
4caffd79db
Ethernet multicast support at nic_bridge
...
Fix #3282
2019-05-27 14:46:53 +02:00
Stefan Kalkowski
3460444d84
os: name tz_vmm unambigously (ref #2190 )
...
Moreover, express current requirement to hw API, which was missing until now.
Originally, in the board-specific build directory of imx53_qsb the
"KERNEL" variable was preset with "hw". Therefore, it was not perceived
that this dependency is required.
Ref #3316
2019-05-27 14:46:53 +02:00
Alexander Boettcher
faee97dd1e
sel4: let seoul-kernelbuild.run succeed
...
Issue #3111
2019-05-27 14:46:53 +02:00
Alexander Boettcher
c6ec2c1dd7
libc_terminal plugin: increase stack
...
Issue #3111
2019-05-27 14:46:53 +02:00
Christian Prochaska
92c314d3c8
intel_gpu_drv: fix compile error with GCC 8.3.0
...
Fixes #3332
2019-05-27 14:46:53 +02:00
Christian Prochaska
934ada72fa
nova: remove deprecated 'register' keyword
...
Fixes #3350
2019-05-27 14:46:53 +02:00
Christian Prochaska
05a382b1a8
ports: fix 'noux' compile error with GCC 8.3.0
...
Fixes #3348
2019-05-27 14:46:53 +02:00
Christian Helmuth
0777d16e78
Revert "ieee754: disable test for muen ( fix #3305 )"
...
This reverts commit 918b9a9fa4
.
The Muen debug console buffer was increased by the recent update, which
alleviates the issue with many log messages as in the ieee754 test.
2019-05-27 14:46:53 +02:00
Adrian-Ken Rueegsegger
d131e537e9
Update Muen port
...
- Drop unnecessary patch
- Improved build speed/parallelization
- Increased log channel size
- Fix path in base-hw/Muen documentation
2019-05-27 14:46:53 +02:00
Christian Prochaska
37ff9e1e23
gems: fix 'sculpt_manager' compile errors with GCC 8.3.0
...
Fixes #3347
2019-05-27 14:46:52 +02:00
Josef Söntgen
c8c354d1e6
fetchurl: add progress timeout handling
...
The component will now abort an ongoing download attempt if it stalls
for given amount of time, the default is 10 seconds.
Fixes #3346 .
2019-05-27 14:46:52 +02:00
Christian Prochaska
4e6216bced
libports: fix 'qt5_webcore' compile error with GCC 8.3.0
...
Fixes #3345
2019-05-27 14:46:52 +02:00
Christian Prochaska
5b232df503
libports: fix 'solo5' compile error with GCC 8.3.0
...
Fixes #3344
2019-05-27 14:46:52 +02:00
Stefan Kalkowski
a1e70b9ba4
kernel: differentiate board-specific components
...
Components like kernel, core, and bootstrap that are built for a
specific board need to reside inside the same architectural dependent
build directory. For instance there are sel4, foc, and hw kernel builds
for imx6q_sabrelite and imx7d_sabre, which have to reside inside the same
arm_v7 build directory.
This commit names those components explicitely, and adapts the run-tool to it.
Fix #3316
2019-05-27 14:46:52 +02:00
Stefan Kalkowski
c43267dbaa
tool: deprecate board-specific build directories
...
* Introduces BOARD variable to determine actual board
* Removes formerly deprecated kernel-specific build directories
The following boards are available:
arm_v6: rpi
arm_v7a: arndale, imx53_qsb, imx53_qsb_tz, imx6q_sabrelite, imx7d_sabre,
nit6_solox, odroid_x2, odroid_xu, panda, pbxa9, usb_armory,
wand_quad, zynq_qemu
x86_64: pc, linux, muen
x86_32: pc, linux
riscv: spike
Ref #3316
2019-05-27 14:46:29 +02:00
be6b08ddce
hashes
2019-05-27 11:18:53 +02:00
cd86ca405c
hashes
2019-05-24 18:10:50 +02:00
32b63cd65d
hashes
2019-05-24 18:10:49 +02:00
0e0b42162e
Revert sculpt-installation
2019-05-24 18:10:49 +02:00
ee0394af66
hashes
2019-05-24 18:10:49 +02:00
d89fed7d70
hashes
2019-05-24 18:10:49 +02:00
546160cf62
hashes
2019-05-24 18:10:49 +02:00
8d28df7623
hashes
2019-05-24 18:10:48 +02:00
5e54badbb6
hashes
2019-05-24 18:10:48 +02:00
85ece8b82b
Remove big packages from sculpt-installation
2019-05-24 18:10:48 +02:00
7bf8250433
Update hardcoded sculpt version string
2019-05-24 18:10:48 +02:00
00664f9d7f
CC unfuck
2019-05-24 18:10:48 +02:00
681ce1ca46
hashes
2019-05-24 18:10:47 +02:00
2b900bff92
hashes
2019-05-24 18:10:47 +02:00
783c253c6b
fixup! Libc update (revert libc_terminal changes)
...
Leave the libc_terminal plugin as it is.
Ref #3289
2019-05-24 17:34:34 +02:00
1823d37956
Remove libc_terminal
...
Fix #3378
2019-05-24 17:27:42 +02:00
Sebastian Sumpf
fc1927af92
hw: fix calculation of CPU count on x86_64
...
On x86 the CPU count is determined through ACPI's MADT by counting the
local APICs reported there. Some platforms report more APICs
than there are actual CPUs. These might be physically disabled CPUs.
Therefore, a check if the LAPIC is actually physically enabled in
hardware fixes this issue.
Thanks to Alex Boettcher
fixes #3376
2019-05-24 15:15:07 +02:00
Sebastian Sumpf
9d9d412186
hw: fix stack alignment in bootstrap for x86_64
...
Fix initial stack pointer alignment for x86_64 in crt0.s startup code of
bootstrap. SysV ABI states that upon function entry (rsp + 8) % 16 = 0.
There, we have to align the stack to 16 bytes before all 'call'
instruction not 8. Otherwise FPU (GP) exception might be raised later on
because of unaligned FPU accesses.
issue #3365
2019-05-24 15:14:29 +02:00
Sebastian Sumpf
fe852b066b
fixup: 'hw: eager FPU switching for x86_64'
...
* revert stack pointer aligment change
issue #3365
2019-05-24 15:14:09 +02:00
1e35abb624
Sculpt: redirect "nic_drv" binary to "ipxe_nic_drv"
...
Ref #2190
Fix #3374
2019-05-24 14:20:31 +02:00
Alexander Boettcher
b2520ed1fe
vbox5: fpu support via new vm_session
...
Issue #3111
2019-05-24 13:54:28 +02:00
Alexander Boettcher
5f0065755c
vm_session: add fpu state for x86
...
Issue #3111
2019-05-24 13:52:48 +02:00
Alexander Boettcher
12850278a6
vbox5: use vm_session interface
...
Issue #3111
2019-05-24 13:52:02 +02:00
Alexander Boettcher
418734e526
vm_session: consume spurious wakeups on nova
...
Issue #3111
2019-05-24 13:51:42 +02:00
Alexander Boettcher
f21eff4dfa
base: add vm session API recipe
...
Issue #3111
2019-05-24 13:51:21 +02:00
Sebastian Sumpf
212f77e6fc
fixup: 'hw: eager FPU switching for x86_64'
...
Apply FPU changes to core-hw-muen
issue #3365
2019-05-24 13:31:34 +02:00
d8ec859765
fixup! Libc: update port to Freebsd 12 (resume pending "poll")
...
Ref #3289
2019-05-24 10:12:52 +02:00
Sebastian Sumpf
70ff19dc54
hw: eager FPU switching for x86_64
...
Since gcc 8.3.0 generates SSE instructions into kernel code, the
kernel itself may raise FPU exceptions and/or corrupt user level FPU
contexts thereby. Both things are not feasible, and therefore, lazy FPU
switching becomes a no go for base-hw because we cannot avoid FPU
instructions because of the entanglement of base-hw, base, and the tool
chain (libgcc_eh.a).
issue #3365
2019-05-23 20:24:42 +02:00
Sebastian Sumpf
4816402521
fixup: 'hw: enable FPU during CPU startup on x86'
...
* do not set PGE bit in cr4
* enable FPU in long mode instead of real/protected mode -> long mode conversion
issue #3365
2019-05-23 20:24:26 +02:00
Norman Feske
e24f25b59e
squash "Refinements for updated "Genode Foundations" book"
...
- Avoid '>>' when nesting templates (limitation of parse_cxx)
2019-05-23 19:35:04 +02:00
Christian Helmuth
f3b9bcd970
fixup "Libc update" (warning RNG device)
2019-05-23 17:09:15 +02:00
5ba0092b97
fixup! Libc update (RNG device)
...
Provide implementations of getentropy and getrandom using a RNG device
file configured via "<config><libc rng="..."/></config>".
Ref #3289
2019-05-23 17:01:01 +02:00
Josef Söntgen
f85967d426
fixup 'Libc: update port to Freebsd 12' (minherit)
...
Issue #3289 .
2019-05-23 16:04:22 +02:00
Josef Söntgen
59c86ef56c
fixup 'Libc: update port to Freebsd 12' (DUPFD_CLOEXEC)
...
Issue #3289 .
2019-05-23 16:04:17 +02:00
Christian Helmuth
525cbe9923
libc: use non-anonymous 'operator new' and destroy()
...
This removes implementations of and also references to anonymous new and
delete operators from the libc implementation. As allocators for
new/delete Libc::Allocator instances are used, which (paradoxically) map
to libc malloc/free.
2019-05-23 15:22:29 +02:00
Christian Helmuth
310a464397
Revert "libc: provide C++ new/delete operators"
...
Based on offline discussion we remove the operators from libc after all.
This reverts commit 14c2627e1e
.
2019-05-23 14:48:09 +02:00
Alexander Boettcher
c56b57bad2
platform_drv: adjust to g++ 8.3.0
...
Issue #3307
2019-05-23 14:46:42 +02:00
Alexander Boettcher
c77b6e88da
acpi_drv: adjust to g++ 8.3.0
...
Issue #3307
2019-05-23 14:46:34 +02:00
Christian Helmuth
cb598038e6
fixup: "ada-runtime: update to GCC 8.3.0" (restore fixed test string)
2019-05-23 14:43:48 +02:00
Johannes Kliemann
b5f4771c52
fixup: "ada-runtime: update to GCC 8.3.0" (exception propagation)
2019-05-23 14:43:48 +02:00
Norman Feske
64ee151d07
Refinements for updated "Genode Foundations" book
...
- Improve API descriptions
- Remove obsolete Xml_node::value method (fixes #3323 )
- Follow coding style 'const char' -> 'char const'
2019-05-23 13:49:10 +02:00
Christian Prochaska
a87e9f6180
fixup "tool_chain: update GDB to version 8.2.1" (pagination in gdb_monitor.run)
...
Issue #3307
2019-05-23 13:44:07 +02:00
Christian Helmuth
14c2627e1e
libc: provide C++ new/delete operators
...
A full-fledged C++ runtimes is required to implement various flavors of
the operators. We implement a subset only - see
https://en.cppreference.com/w/cpp/memory/new/operator_delete for a
complete reference.
This fixes an abort on pthread_join() with the new tool chain.
2019-05-23 12:30:18 +02:00
3e2498fe89
fixup "stdcxx: update to version 8.3.0" (symbols for OpenTTD)
...
Issue #3307
2019-05-23 08:11:57 +02:00
fc02b46b12
fixup! Libc update (madvise, uselocale)
...
Ref #3289
2019-05-22 18:10:22 +02:00
Christian Helmuth
0549673449
arg_string: return default value on parsing error
2019-05-22 16:49:11 +02:00
Pirmin Duss
eb725f8f1a
util/string.h: suppress case fallthrough warnings
2019-05-22 16:48:41 +02:00
81940a4f02
fixup! Libc update (merge libm port)
...
Ref #3289
2019-05-22 16:20:25 +02:00
Johannes Kliemann
4a2d2b5f5c
ada-runtime: update to GCC 8.3.0
...
ref #3362
fixes #3371
2019-05-22 15:54:32 +02:00
a88ece3cda
fixup! Libc update (restore BSD4.3 signal compatibility)
...
Ref #3289
2019-05-22 15:45:14 +02:00
5569feed7e
fixup! Libc update (arc4random, _ symbols)
...
Ref #3289
2019-05-22 15:19:41 +02:00
Martin Stein
4088a6640b
nic_dump: do not depend on libports repo
...
Fixes #3372
2019-05-22 14:08:16 +02:00
Stefan Kalkowski
0910c806f5
hw: disable alignment checking at earliest
...
Fix #3370
2019-05-22 14:02:42 +02:00
Christian Helmuth
6c40fa6d39
fixup "base-hw: fix compile errors with GCC 8.3.0" (muen Vm_state)
2019-05-22 09:35:56 +02:00
Christian Prochaska
1663f642b3
fixup "stdcxx: update to version 8.3.0" (symbols for -O0)
...
Issue #3307
2019-05-22 09:35:56 +02:00
Josef Söntgen
f3e811c594
fixup 'Libc: update port to Freebsd 12' (e2fsprogs I/O)
...
Issue #3289 .
2019-05-22 09:35:56 +02:00
Sebastian Sumpf
e9c39980e8
hw: enable FPU during CPU startup on x86
...
Also disable TS (task switch) flag in cr0 during kernel initialization,
so FPU faults are not raised. This became necessary since GCC lately
aggressively generates FPU instructions at arbitrary places and also at
early kernel-bootstrapping stages.
fixes #3365
2019-05-22 09:35:56 +02:00
Christian Helmuth
ac1fa2227b
linux: 32-bit compatibility with GCC versions before 7
...
GCC version 7 and above generate calls to __divmoddi for 64bit integer
division on 32-bit. Unfortunately, libgcc liberaries of older compilers
lack this symbol and are still in use by Debian/Ubuntu LTS at least.
2019-05-22 09:35:55 +02:00
Christian Helmuth
7fe5739520
Update lwip_lx test (vfs plugin, ld="no")
2019-05-22 09:35:55 +02:00
Christian Prochaska
105f8a9301
fixup "dde_zircon: fix compile errors with GCC 8.3.0" (initialize)
...
Issue #3366
2019-05-22 09:35:55 +02:00
Martin Stein
31241be2fe
Squash "nic_router_flood sel4: raise test timeout"
...
Rephrase: "nic_router_flood: adapt test timeout"
Fixes #3368
2019-05-22 09:35:55 +02:00
Alexander Boettcher
f3a66093e2
fixup "nova: adjust to g++ 8.3.0"
...
Issue #3307
2019-05-22 09:35:55 +02:00
Christian Prochaska
ba1c218920
fixup "stdcxx: update to version 8.3.0" (symbols for numptyphysics)
...
Issue #3307
2019-05-22 09:35:55 +02:00
Martin Stein
ca42e1921d
nic_router_flood sel4: raise test timeout
...
Fixes #3368
2019-05-22 09:35:55 +02:00
Martin Stein
c1e6e87c36
fixup "base-hw: fix compile errors with GCC 8.3.0" (trustzone Vm_state)
...
arm_v7 + hw: fix Vm_state cast warning
Fixes #3367
2019-05-22 09:35:29 +02:00
Christian Prochaska
5e11c260b5
fixup "base: update 'ld' symbols for tool chain 19.05" (std::uncaught_exceptions)
...
Issue #3307
2019-05-21 14:42:22 +02:00
Christian Prochaska
7a0e6b89e2
dde_zircon: fix compile error with GCC 8.3.0
...
Fixes #3366
2019-05-21 14:41:15 +02:00
Alexander Boettcher
82d6b7b249
seoul: adjust to g++ 8.3.0
...
Issue #3307
2019-05-21 14:36:45 +02:00
Alexander Boettcher
44150c200b
nova: adjust to g++ 8.3.0
...
Issue #3307
2019-05-21 14:35:49 +02:00
03f3354767
fixup! Libc update (file-system symbols)
...
Ref #3289
2019-05-21 08:47:12 +02:00
fda3ada1f3
fixup! Libc update (Noux signals)
...
Ref #3289
2019-05-21 08:46:05 +02:00
6d4c060eaf
fixup! Libc update (socket symbols)
...
Ref #3289
2019-05-21 08:44:43 +02:00
Sebastian Sumpf
0d20421fd4
fixup: 'ldso: dynamic linking support for ARM 64-bit'
...
Add 'Plt_got_generic'
issue #3260
2019-05-21 08:25:55 +02:00
Christian Helmuth
dd026284b9
fixup "base: increase initial stack" (use explicit stack size value)
2019-05-20 14:23:19 +02:00
Christian Prochaska
cc78ce1a84
Treat 'implicit fallthrough' errors as warnings
...
After fixing the warnings, the compiler option should be removed.
Issue #3307
2019-05-20 12:40:51 +02:00
Christian Prochaska
5ba4205a63
ada-runtime: adjustments for Genode tool chain 19.05
...
Issue #3307
2019-05-20 12:40:51 +02:00
Christian Prochaska
37c7eed455
stdcxx: update to version 8.3.0
...
Issue #3307
2019-05-20 12:40:51 +02:00
Christian Prochaska
377eae37b3
sanitizer: update to version 8.3.0
...
Issue #3307
2019-05-20 12:40:50 +02:00
Christian Prochaska
dc51dbfbba
gcov: update to version 8.3.0
...
Issue #3307
2019-05-20 12:40:50 +02:00
Christian Prochaska
c50a6e2016
base: update 'ld' symbols for tool chain 19.05
...
Issue #3307
2019-05-20 12:40:50 +02:00
Sebastian Sumpf
55e68760bd
ldso: dynamic linking support for ARM 64-bit
...
* added relocation support
* added assembler invocation path for jump slot relocations
fixes issue #3260
2019-05-20 12:40:50 +02:00
Sebastian Sumpf
8e13211c09
base: dynamic linking support of crt0.s on ARM 64-bit
...
* added global offset table relative loading for global symbols
* removed 'initial_sp' and 'initial_x0' because they are currently not
used on this platform. If required they are easy to resurrect.
issue #3260
2019-05-20 12:40:49 +02:00
Stefan Kalkowski
71c36e79e3
foc: add support for Raspberry Pi 3
...
Ref #3260
2019-05-20 12:40:49 +02:00
Stefan Kalkowski
fd4defd479
base: add initial support for ARM 64-bit
...
Ref #3260
2019-05-20 12:40:49 +02:00
Stefan Kalkowski
ec64411ebf
base: increase initial stack
...
Ref #3260
2019-05-20 12:40:49 +02:00
Christian Prochaska
8ead0f6a1d
Enable C++17 by default
...
Issue #3307
2019-05-20 12:40:49 +02:00
Christian Prochaska
2a954419b8
tool_chain: integrate 'ali2dep' tool
...
Fixes #3361
2019-05-20 12:40:48 +02:00
Stefan Kalkowski
a75cb41f2a
tool_chain: add aarch64 compiler target
...
Ref #3260
2019-05-20 12:40:48 +02:00
Sebastian Sumpf
12b9378815
riscv: tool chain 19.05
...
issue #3273
2019-05-20 12:40:48 +02:00
Christian Prochaska
30b17bfb63
tool_chain: update GDB to version 8.2.1
...
Issue #3307
2019-05-20 12:40:48 +02:00
Christian Prochaska
0ec81fcfae
tool_chain: update GCC to version 8.3.0
...
Issue #3307
2019-05-20 12:40:48 +02:00
Christian Prochaska
96b608187f
tool_chain: update binutils to version 2.32
...
Issue #3307
2019-05-20 12:40:47 +02:00
Christian Prochaska
35c31abb3c
base: add copy constructor to 'Genode::Session_label'
...
Fixes #3333
2019-05-20 12:40:47 +02:00
14ba1cbdbc
fixup! Libc: update port to Freebsd 12 (libc_setjmp recipe)
...
Ref #3289
2019-05-19 14:51:37 +02:00
Josef Söntgen
bc3f4f1553
fixup 'Libc: update port to Freebsd 12' (signal dummy)
...
Otherwise there will be reloc error b/c wpa_supplicant's eloop is
referencing the symbol, e.g:
[init -> wifi_drv] Error: LD: jump slot relocation failed for symbol: 'signal'
Issue #3289 .
2019-05-18 10:42:17 +02:00
Josef Söntgen
3efad64d05
wifi_drv: ignore socket flags on socket creation
...
The libc features support for SOCK_CLOEXEC now which gets set via
the type argument in 'libnl'. Since we are only interested in the
actual type, i.e. if it is SOCK_RAW, just ignore the flags.
Issue #3289 .
2019-05-18 10:42:04 +02:00
bf2931ae8b
fixup! Libc: update port to Freebsd 12 (libiconv content)
...
Ref #3289
2019-05-17 15:36:56 +02:00
e31501584d
fixup! fixup! Libc: update port to Freebsd 12 (remove libmd from port)
2019-05-17 15:36:54 +02:00
Sebastian Sumpf
252a325907
ieee754: adjust to libc/libm update
...
* Adjust expected pow(-1/1, inf/-inf/nan) output to current libm
behavior (as in FreeBSD, glibc, and OpenLibm) and return 1 on
x86_64/x86_32/arm
* Add 'double float' outputs for ARM which are defined to float
issue #3289
2019-05-17 15:00:17 +02:00