Commit Graph

2251 Commits

Author SHA1 Message Date
db2fe17269 base: Add Allocator_avl::size_at function
This function provides a way to request the size of an previously
allocated block. It is useful to to ease the implementation of realloc
functionality based on Allocator_avl.
2014-02-28 10:11:10 +01:00
16bc2bc840 libc: Dummy for sys/user.h 2014-02-28 10:11:10 +01:00
9a971a500d libc: Add sys/disk.h
Needed by the POSIX backend of the VirtualBox runtime.
2014-02-28 10:11:10 +01:00
e02d643420 libc: export LIBC_REP_DIR in libc-common.inc
This information is useful if 'libc-common.inc' is included from
another repository, i.e., for building stripped-down libc variants
tailored to an individual application.
2014-02-28 10:11:09 +01:00
4aef209c8b rump: Increase FS server stack size 2014-02-28 10:11:09 +01:00
a282617407 libports: initial fuse_fs implementation
The fuse_fs server provides access to a FUSE based file system by using
a File_system_session.

Fixes #1058.
2014-02-28 10:11:09 +01:00
829961b0ad libports: add libc_fuse_ntfs-3g
Fixes #1058.
2014-02-28 10:11:09 +01:00
7998fdaf3f libports: less noisy compilation of libfuse
Out of laziness we only provide two dummy functions for all FUSE
operations, which are used in case the FUSE file system does not
implement them itself.

Fixes #1058.
2014-02-28 10:11:09 +01:00
8f1e8c122f libports: less noisy libext2fs compilation
Fixes #1058.
2014-02-28 10:11:09 +01:00
7bc49b05d0 libports: less noisy fuse_ext2 compilation
Fixes #1058.
2014-02-28 10:11:09 +01:00
53c6675500 libports: prevent main symbol clash in fuse-ext2
Omit the main rountine in fuse-ext2.c. Otherwise using fuse-ext2 with
fuse_fs is not possible because the server framework already defines
a main routine.

Fixes #1058.
2014-02-28 10:11:09 +01:00
9f5c13564c libports: extend FUSE implementation
* add sync method:
  Since file systems tend to have a inbuild caching mechansim we need to
  sync these caches at the end of session when using the fuse_fs server.
  Therefore each FUSE file system port has to implement a Fuse::sync_fs()
  function that executes the necessary actions if requested.

* add symlink check

* allow to check FUSE fs initialization
  This changes the private API of the FUSE implementation. The init_fs
  method now has to return true if the initialization was successful and
  otherwise false. All current users of the API are also changed
  accordingly.

Fixes #1058.
2014-02-28 10:11:09 +01:00
3b69dc2a58 TrustZone: reenable memory protection (fix #1060) 2014-02-28 10:11:08 +01:00
14a636f9a7 Noux: fix GDB arguments in run script
Noux generates 'argv[0]' for the initial child automatically (in contrast
to the 'config_args' library), so the first argument stated in the
configuration should not be the GDB program name.

Fixes #1062.
2014-02-28 10:11:08 +01:00
46374a6932 gdb_monitor: show correct register state on FOC
On Genode/Fiasco.OC, when an unresolved page fault occurs, only the IP and
SP registers are valid in the thread state read by GDB monitor. This was
not taken into account so far and the other (possibly outdated) register
values got reported to the client, too.

With this patch, only IP and SP get reported to the client in the page
fault case.

Fixes #1063.
2014-02-28 10:11:08 +01:00
dd974f00f7 usb_drv: Fix implicit declaration warnings
Issue #1050
2014-02-28 10:11:08 +01:00
9251b1ede8 rump: Port of the rump kernels to Genode
For further information see: http://wiki.netbsd.org/rumpkernel/. In this version
I ported the central rump components to Genode in order to take advantage of
NetBSD file system implementation. The new 'dde_rump' repository contains the
Genode version of the rump libraries and a 'rump_fs' server that implements
Genode file-system-session interface. Currently ext2, iso9660, and fat
file-systems are supported.

Issue #1048
2014-02-28 10:11:08 +01:00
ce27985b8a ram_blk: Writable loopback device
Issue #1048
2014-02-25 14:58:09 +01:00
2e04cc2d87 libc_fs: Implemented and test 'unlink' call
Issue #1048
2014-02-25 14:58:09 +01:00
1b1693e6ff libc: 'readlink' returns non-zero terminated buffer
Make so to handle zero termination correctly for 'stat' calls and for debugging
output.

Issue #1048
2014-02-25 14:58:09 +01:00
b7575319bf run: Add 'check_installed' command to run env
'check_installed' takes a command name as argument and tries to call 'which' in
order to find the command path. If that does not succeed, paths like '/sbin' are
'/usr/sbin' searched. On success the absolute path of the command is returned,
on failure 'exit' is called with an error message.

Issue #1048
2014-02-25 14:58:09 +01:00
1c4c4d6961 base: Make 'LD_SCRIPT_SO' overwritable
Issue #1048
2014-02-25 14:58:09 +01:00
49ee13168b libc: malloc do not destruct allocator 2014-02-25 14:58:09 +01:00
21f031371f Noux: fix build process of more 'e2fsprogs' programs
Fixes #1065.
2014-02-25 14:58:09 +01:00
53c4aa6d22 Noux: fix build process of the 'fixincl' program
The 'LIBS' environment variable needs to get used to build the 'fixincl'
program correctly.

Fixes #1066.
2014-02-25 14:58:09 +01:00
1e8f1b7a5b ldso: Do not use new rom connection during open
Search for already opened file, also do not throw any exceptions, since they
may be thrown during execption allocation.
2014-02-25 14:58:08 +01:00
1ac034d16d Noux: fix the 'xxd' program
Fixes #1064.
2014-02-25 14:58:08 +01:00
f74c70ec05 base: add startup lib to the base libs
Startup lib can now be filtered according to the same rules like
the other base libraries.

Issue #1042
2014-02-25 14:58:08 +01:00
929a2387d1 hw: merge base-common and kernel_interface lib
Issue #1042
2014-02-25 14:58:08 +01:00
4f0a75b0bc linux: clean-up lib-files of base and base-common
Issue #1042
2014-02-25 14:58:08 +01:00
016c3a8d9e test-ldso: test stack alignment
Issue #1042
2014-02-25 14:58:08 +01:00
13b1aab044 hw & arm7: prepare CPU driver for -O0 2014-02-25 14:58:08 +01:00
6a2546d7e9 hw: ease syscall backends and prepare them for -O0
Previously we used to many registers in syscalls with much arguments
to build with optimization level O0. Additionally this fix fastens the
userland backend of syscalls.
2014-02-25 14:58:08 +01:00
724efcb00c test-ldso: test ctors, dtors and atexit functions
Issue #1042
2014-02-25 14:58:08 +01:00
bd52e49698 os: remove startup lib from dynamic programs
All the pre- and post-processing of the startup lib around the main
function of a dynamic program is now done by LDSO. Hence LDSO directly
calls the main function of the program.

Issue #1042
2014-02-25 14:58:07 +01:00
8d21064b5e ldso: use generic CRT0 files
Issue #1042
2014-02-25 14:58:07 +01:00
324af5d769 os: make program ctors and dtors visible to LDSO
This is needed later when eliminating the need for a startup lib in
dynamic programs to enable LDSO to call ctors and dtors of the program.

Issue #1042
2014-02-25 14:58:07 +01:00
6e2b7c2b92 ldso: make function get_program_var_addr global
This is needed later to lookup program symbols like ctors and dtors to
eliminate the need for a startup lib in dynamic programs.

Issue #1042
2014-02-25 14:58:07 +01:00
a100b37fdf base: provide a weak init_rtld dummy in base lib
This is needed later to eliminate LDSO specific CRT0 implementations.

Issue #1042
2014-02-25 14:58:07 +01:00
3893dae673 cxx: implement __aeabi_atexit
Issue #1042
2014-02-25 14:58:07 +01:00
e45f929eca ldso: make cxx symbols global
Issue #1042
2014-02-25 14:58:07 +01:00
433a216919 base: Fix stack pointer alignment for ARM
After some research we found that the stack pointer on ARM platforms must be
at least double word aligned (See: "Procedure Call Standard for the ARM
Architecture" - 5.2.1.1). Since a 'call' on ARM will not result in a stack pointer
change (like on x86), the current behavior resulted in a 4 Byte aligned stack
only.

Follow up to #1043
2014-02-25 14:58:07 +01:00
df066521a5 ldso: don't destruct Rm_area singleton in file.cc
This is needed to avoid access to invalid caps in forked noux programs.

ref #989
2014-02-25 14:58:07 +01:00
6ca8a41232 core: lower default verbosity when quota exceeds
* only print quota exceeded message and statistic when explicitly enabled
* turn init's error message "cannot respond to request" into a warning
2014-02-25 14:58:06 +01:00
30bfc63b63 block cache: quota to small for foc_x86_64 2014-02-25 14:58:06 +01:00
746011ee28 blk_cache: fix deadlock in allocator hierarchy
This commit generalizes the bit array in 'base/util/bit_array.h',
so that it can be used in a statically, when the array size is known
at compile time, or dynamically. It uses the dynamic approach of the
bit array for a more generalized version of the packet allocator,
formerly only used by NIC session clients. The more generic packet
allocator is used by the block cache to circumvent the allocation
deadlock described in issue #1059.

Fixes #1059
2014-02-25 14:58:06 +01:00
aa4f11905a ldso: Export 'lx_syscall' for base-linux
The syscall library in not linked to dynamic binaries anymore, hence ldso need
to export the required symbols

Follow up to #1017
2014-02-25 14:58:06 +01:00
f447fbe1a5 base: Do not link base libs against shared libs
Base libraries are already contained within ldso.lib.so. Remove unnecessary
filtering from 'dep_lib.mk', make ldso depend on base libs.

Issue #1017
Issue #989
2014-02-25 14:58:06 +01:00
481a8ede5f lxip: Fix implicit declaration warning
Issue #1050
2014-02-25 14:58:06 +01:00
14718401ea nitpicker: Support for dynamic screen resizing
Fixes #1056
2014-02-25 14:58:06 +01:00