Commit Graph

4324 Commits

Author SHA1 Message Date
Norman Feske
f045b1c680 ports: refined noux_fork test
Thanks to the log_terminal server, we no longer rely on a separate UART
for the noux output. We also skip the indirection of using a tar archive
but rather start the test-noux_form program as a mounted ROM module.
2016-01-26 16:20:37 +01:00
Norman Feske
fc6c2537ee vfs: add Rom_file_system::dataspace
By providing this function, we can start a mounted ROM module as program
under Noux.
2016-01-26 16:20:37 +01:00
Norman Feske
900c795df2 os: add Attached_rom_dataspace::cap accessor
The accessor works analogously to the Attached_dataspace.
2016-01-26 16:20:37 +01:00
Stefan Kalkowski
f539cf1231 hw: adjust core's signal thread's stack size
The stack size should be architecture dependent.

Fix #1854
2016-01-26 16:20:37 +01:00
Stefan Kalkowski
5afad64586 hw: preserve core's context-area (Fix #1853)
Remove core's context-area from its virtual memory allocator
2016-01-26 16:20:37 +01:00
Stefan Kalkowski
b0b4c3c7fa noux: consider stack alignment constraints
The interim stack in a forked noux process has to consider the architecture
dependent stack alignment constraints.

Fix #1852
2016-01-26 16:20:37 +01:00
Stefan Kalkowski
040cd95580 noux: fix context-area re-initialization in fork
With commit e74b53d5dd the fork semantic in noux
changed slightly, and broke platforms like hw & sel4, where the UTCB is mapped
directly into the thread's context area. The change moved the re-initialization
to a point where the new noux process' thread stack-pointer was already switched
back to the context area. But to re-initialize the context area RPC calls must
be done, and the UTCB must be used therefore. On the other side the UTCB is
found implicitly by the stack-pointer, whereby a stack-pointer located in the
context-area refers to a UTCB that is expected to reside in the context-area
as well. But the UTCB gets overlayed inside the context area by the
context-area's re-initialization - we've come round in a circle.

This commit rolls back the move of the re-initialization routine. To preserve
the intention of the original commit, the context-area location is stored in
a static variable, so that the Native_config API is not needed anymore.

Fix #1851
2016-01-26 16:20:36 +01:00
Stefan Kalkowski
e143683196 noux: remove dummy local ram service (Fix #1850) 2016-01-26 16:20:36 +01:00
Christian Helmuth
1616295179 x86emu: download from xorg.freedesktop.org
ftp.x.org has not been available for a week now.
2016-01-26 16:20:36 +01:00
Stefan Kalkowski
7aff1895bf hw: enable SMP for ARM Cortex A9
This commit enables multi-processing for all Cortex A9 SoCs we currently
support. Moreover, it thereby enables the L2 cache for i.MX6 that was not
enabled until now. However, the QEMU variants hw_pbxa9 and hw_zynq still
only use 1 core, because the busy cpu synchronization used when initializing
multiple Cortex A9 cores leads to horrible boot times on QEMU.

During this work the CPU initialization in general was reworked. From now
on lots of hardware specifics were put into the 'spec' specific files, some
generic hook functions and abstractions thereby were eliminated. This
results to more lean implementations for instance on non-SMP platforms,
or in the x86 case where cache maintainance is a non-issue.

Due to the fact that memory/cache coherency and SMP are closely coupled
on ARM Cortex A9 this commit combines so different aspects.

Fix #1312
Fix #1807
2016-01-26 16:20:18 +01:00
Martin Stein
2b2007bc3f hw: add Pl310::Debug register definitions
Ref #1312
2016-01-15 16:42:12 +01:00
Martin Stein
c58de0d80e hw_panda: driver for Cortex-A9 wakeup generator
Ref #1312
2016-01-15 16:42:12 +01:00
Martin Stein
5755245609 hw: end interrupts SMP-safe on ARM (Ref #1312) 2016-01-15 16:42:12 +01:00
Stefan Kalkowski
166672fe16 hw: l2 cache initialization is platform specific
On ARM Cortex A9 platforms the external PL310 L2 cache controller
needs to be initialized dependent on the SoC. For instance on Pandaboard
it needs to call the firmware running in TrustZone's secure world,
on i.MX6 it initializes it directly, on other boards it doesn't need
to be initialized at all, because the bootloader already did so.
Therefore, we should implement the PL310 intialization in board specific
code and not in the base class implementation.

Ref #1312
2016-01-15 16:42:12 +01:00
Stefan Kalkowski
e05d26567d hw: make 'smp' property an aspect (Ref #1312)
This commit separates certain SMP aspects into 'spec/smp' subdirectories.
Thereby it simplifies non-SMP implementations again, where no locking
and several platform specific maintainance operations are not needed.
Moreover, it moves several platform specifics to appropriated places,
removes dead code from x86, and starts to turn global static pointers
into references that are handed over.
2016-01-15 16:42:12 +01:00
Norman Feske
8899d9cb6d News item for road map 2016 2016-01-15 13:03:59 +01:00
Norman Feske
08550c6ed9 Road map 2016 2016-01-15 12:43:15 +01:00
Alexander Boettcher
c0a2388978 x86: avoid warning if memory is attached twice
Issue #1848
2016-01-13 14:59:05 +01:00
Alexander Boettcher
cec3ca6a70 x86: use slave label to differentiate device PDs
Issue #1848
2016-01-13 14:59:05 +01:00
Alexander Boettcher
82e35326b7 os: support different binary name for slaves
Issue #1848
2016-01-13 14:59:04 +01:00
Alexander Boettcher
daf67f7baa intel_fb: remove x201 workaround
The workaround is no longer needed as we now propagate the proper device
ID as BDF to the kernel in the platform driver.

Issue #1848
2016-01-13 14:58:01 +01:00
Alexander Boettcher
a258caa7ab nova: propagate bdf for assign_pci properly
Now, the right PCI bus:device:function (BDF) is reported to the kernel
during assign_pci syscall - beforehand it was ever 0:0.0. The BDF is
needed to lookup the correct DMAR unit the kernel has to configure. This
was revealed as the DMAR unit for Intel graphics on x201 is not the same
as for all other PCI devices we have drivers for on this platform.

Fixes #1848
2016-01-13 14:57:02 +01:00
Josef Söntgen
eb16ad3ad9 noux-pkg: port of tar-1.27
Issue #403
2016-01-13 14:49:11 +01:00
Emery Hemingway
9f9510ddb1 libc: implement fstatat by wrapping stat and lstat
Fixes #403
2016-01-13 14:49:11 +01:00
Emery Hemingway
3087b72438 os/path.h: new convenience functions
Infix operators == and !=.
Capacity accessor.

Issue #403
2016-01-13 14:49:11 +01:00
Martin Stein
b63941f456 hw imx53 tz_vmm: fix compiler warnings
There were warnings in tz_vmm/block.cc due to an unitialized variable.

Fixes #1849
2016-01-13 12:28:07 +01:00
Guido Witmond
2e0e767f93 Upgrade lighttpd to 1.4.38
Fixes #1839
2016-01-13 11:14:05 +01:00
Norman Feske
b314430118 News item for FOSDEM 2016 2016-01-13 11:14:04 +01:00
Adrian-Ken Rueegsegger
8ab0638be9 platform_drv: report MSI masking capability 2016-01-13 11:14:04 +01:00
Emery Hemingway
b9c234a341 Libc: sigprocmask reports all signals blocked
Fixes #1756
2016-01-13 11:13:52 +01:00
Emery Hemingway
7186c45de6 noux: getdtablesize support
Fixes #1847
2016-01-08 15:07:58 +01:00
Emery Hemingway
976833f171 libc: getdtablesize support
Issue #1847
2016-01-08 15:07:57 +01:00
Emery Hemingway
2d50552522 Remove Genode namespace from File_system
Fixes #1845
2016-01-08 14:48:52 +01:00
Josef Söntgen
9fb08e045a libports: fix delay in SDL audio backend
Instead of using the 'alloc()' method to allocate new packets use
the 'next()' method with the previous packet. This is needed because
the last audio stack changes broke the semantics assumed by 'alloc()'.

We now keep track of the already queued packets by hand.

Fixes #1827.
2016-01-08 14:48:17 +01:00
Emery Hemingway
56c637c1f6 VFS tar: always set dirent type
Assume tar nodes with missing records are directories.

Fixes #1843
2016-01-08 14:37:58 +01:00
Josef Söntgen
b4c5fb2d29 sdl: use Genode::destroy to free framebuffer
Fixes #1838.
2016-01-08 14:37:57 +01:00
Christian Helmuth
a98e9c1822 libc: fix test for libc_block 2016-01-08 14:37:57 +01:00
Norman Feske
948cb3ef0a os: minor whitespace fixes in nic_loopback 2016-01-08 14:37:57 +01:00
Alexander Boettcher
1d5aa4ca7e nova: avoid warnings because of oom handling
Use kernel branch which is more accurate in accounting memory, which avoids
kernel messages of following form:

[0] warning: insufficient resources ...

Fixes #1830
2016-01-08 14:37:57 +01:00
Adrian-Ken Rueegsegger
b1b3c7bf34 doc: Extend Muen tutorial to match new build process 2016-01-08 14:37:57 +01:00
Adrian-Ken Rueegsegger
316134caf8 run: Add iPXE support to hw 2016-01-08 14:37:57 +01:00
Adrian-Ken Rueegsegger
fcde1d668c hw_x86_64_muen: Extend build.conf with image/muen params
Enable automatic build of Muen system image by adding the image/muen run
script to RUN_OPT. Also specify --image-muen parameters with explanatory
comments.

Note: The ISO image is not built by default anymore.
2016-01-08 14:37:56 +01:00
Adrian-Ken Rueegsegger
bffddd7e15 tool: Extend hw boot_dir script to support Muen SK build 2016-01-08 14:37:56 +01:00
Adrian-Ken Rueegsegger
aefacc9310 run: Add image/muen script to support Muen SK build
The script takes the following RUN_OPT parameters:

--image-muen-external-build  Muen system is built automatically or externally
--image-muen-system          Muen system policy
--image-muen-components      Muen system components
--image-muen-hardware        Muen hardware platform
--image-muen-gnat-path       Path to GNAT toolchain
--image-muen-spark-path      Path to SPARK toolchain
2016-01-08 14:37:56 +01:00
Adrian-Ken Rueegsegger
cb68f9a320 hw: Add kernel/spec/muen/target.mk to build Muen SK
This adds the automated compilation of the Muen Separation Kernel and
the required components to the hw_x86_64_muen build process.
2016-01-08 14:37:56 +01:00
Adrian-Ken Rueegsegger
8d2f2b0101 hw: Add port for Muen Separation Kernel
For additional information about the Muen SK refer to the project page
at [1].

[1] - http://muen.codelabs.ch/
2016-01-08 14:37:56 +01:00
Adrian-Ken Rueegsegger
d3a4ed87d1 hw_x86_64_muen: Drop QEMU related RUN_OPTS
This platform does not support execution on QEMU.
2015-12-21 09:35:23 +01:00
Adrian-Ken Rueegsegger
a98b94f80e run: Pass AMT log password via environment variable
This avoids exposing the cleartext AMT password in the log output.
2015-12-21 09:35:23 +01:00
Adrian-Ken Rueegsegger
184bffbce3 run: Add filter support to AMT log
Add --log-amt-filter option which allows to sanitize the AMT log output by
piping it through a filter.
2015-12-21 09:35:23 +01:00
Christian Helmuth
acab2515e1 base-linux: remove get_pid debug helper
Fixes #1829
2015-12-21 09:22:40 +01:00