Commit Graph

5760 Commits

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