Commit Graph

2205 Commits

Author SHA1 Message Date
8ed6364388 refactor Vfs::Ram_file_system
Issue #1648
2015-11-04 14:09:24 +01:00
1b4f894e2d VFS stress test
Issue #1648
2015-11-04 14:09:24 +01:00
cdb44850d3 Strip slashes from Path in Vfs::Fs_file_system
strip_last_element at Path removes everything after the trailing slash,
which causes lookup failures at the VFS server when opening directories.

Issue #1648
2015-11-04 14:09:24 +01:00
b6c558dce9 Vfs: File_system server backed by VFS library
Test available at libc_vfs_fs.

Fixes #1648
2015-11-04 14:09:24 +01:00
1c6164a0c5 File_system session: broaden error handling
Throw Invalid_name, No_space, and Out_of_node_handles where appropriate.

Catch the new range of errors thrown by at the VFS.
Catch Out_of_node_handles at the VFS, but print a message and re-throw.

Issue #1648
2015-11-04 14:09:24 +01:00
1d4bd10701 fix handle leak in Vfs::Fs_file_system
Issue #1648
2015-11-04 14:09:23 +01:00
48fd034cfe New session arguments at File_system connection
Session root and writeablity may be specified at the session
convenience constructor.

Issue #1648
2015-11-04 14:09:23 +01:00
2da239d0c8 void sync(char const *path)
Sync now takes a path argument at VFS and File system interfaces.

Issue #1648
2015-11-04 14:09:23 +01:00
96d021b9d4 base: char const * comparison operators for String 2015-11-03 17:04:16 +01:00
a528aa097a init: add 'label' criterion for session routing
This patch introduces a shortcut for conditional session routes of the
form '<if-arg key="label" value="..."/>'. With this change, the label
can be directly specified as 'label' attribute of an '<any-service>' or
a '<service>' node. The '<if-arg>' mechanism was not documented anyway
and I hope to be able to ultimately remove it.
2015-11-03 17:04:16 +01:00
c2f0bb4fa8 ports: adapt to moved lynx hosting
The new archive has a new naming scheme (also the root directory name
changed) but I compared the contents and those don't differ.
2015-10-28 15:06:23 +01:00
f9fbe34644 base: avoid detaching not attached trace_control 2015-10-28 15:06:23 +01:00
6de46dfd2e increase timeouts for noux_tool_chain_auto 2015-10-28 15:06:23 +01:00
c4686a1196 disable network tests on platforms w/o nic driver
They don't have a network driver currently.
2015-10-28 15:06:23 +01:00
ffbbf69959 nova: update kernel branch to avoid tlb issues
Following page fault sympton in core gets fixed:

PAGE-FAULT IN CORE (WRITE pf_addr=1000000 pf_ip=14361c from 00 <NULL>)

stack pointer 0xa01fec30, qualifiers 0x6 irUWp

faulter utcb a01ff000, last message item count 1

0 - type=1 rights=0x3 region=0x1000000+0x1000000 hotspot 0(801) - delegated

   1 a01fec30 0014361c
   2 a01fec68 001401d5
2015-10-28 15:06:23 +01:00
d6bae1a9a3 nova: speedup clearing dataspace in core 2015-10-28 15:06:23 +01:00
ceb04d3c11 nova: avoid race in pager_object destruction
Don't skip the cleanup call if a pager object is marked as blocked.

It happens that the pager_object is in destruction but it is also used
concurrently by the pager thread. The pager thread handling code may set the
pager object to blocked but still uses the pointer to the pager object. Avoid
locking at the state of the pager object and make the cleanup call everytime.

Error output looks like this, where the pf_ip is within

  void Pager_object::_page_fault_handler(addr_t pager_obj)

method and the pf_addr is the stale pointer to the already released pager_object.

no RM attachment (READ pf_addr=xxx pf_ip=xxx from 00 <NULL>)
static void Genode::Pager_object::_page_fault_handler(Genode::addr_t): page fault, thread '<NULL>', cpu x, ip=xxx, fault address=xxx

PAGE-FAULT IN CORE (READ pf_addr=b10e0090 pf_ip=132dbc from 00 <NULL>)
2015-10-28 15:06:22 +01:00
c4f8af2665 hw_zynq: limit cpu count to 1 in mp_server.run
qemu says:

Number of SMP cpus requested (2), exceeds max cpus supported by machine `xilinx-zynq-a9' (1)
2015-10-28 15:06:22 +01:00
2b429ee84c base: Dispatch server signal in entry point
Currently, when a signal arrives in the main thread, the signal dispatcher is
retrieved and called from the main thread, the dispatcher uses a proxy object
that in turn sends an RPC to the entry point. This becomes a problem when the
entry point destroys the dispatcher object, before the dispatch function has
been called by the main thread. Therefore, the main thread should simply send an
RPC to the entry point upon signal arrival and the dispatching should be handled
solely by the entry point.

Issue #1738
2015-10-28 15:06:22 +01:00
0879a9570c vbox: fix vm_win8.vbox network configuration
We need to specify the interface we want to attach to.

Fixes #1737.
2015-10-09 16:39:39 +02:00
6c30bf2667 nova: interpret write page fault correctly
Fixes #1722
2015-10-09 16:38:48 +02:00
78e18981fb nic session: fix quota check
Check for overflow.

Issue #1735
2015-10-09 16:38:48 +02:00
5aec67d5bb vbox: enable clipboard support"
Fixes #1696
2015-10-09 16:38:48 +02:00
2426c58b9f ahci: support for non-ncq ATA devices
* use '_dma_ext' or '_fdpma' commands
* handle interrupts depending on mode of operation
* spelling fixes
* move ATA 'Idendity' struct to ata header

issue #1734
2015-10-09 16:38:48 +02:00
a608d48ddf noux: handle more libc getrlimit parameters
- we claim to have no limits on file handles and number of threads
- remove obsolete Thread_base::myself fall-back code for stack size calculation

Issue #1733.
2015-10-09 16:38:48 +02:00
2e62543fdb nova: use remote revoke
Fixes #1733
2015-10-09 16:38:48 +02:00
c0e88ec69e nova: adjust kernel quota calculation
Too less memory quota for a PD may be calculated, which leads to too early
punishment for a Genode process.

Discovered during Turmvilla scenario #1552 and issue #1733.
2015-10-09 16:38:47 +02:00
c7195c8652 nova: sanitize cpu during pager assignment
Additionally print warnings about unavailable CPUs if they are tried to be
used during pager object setup.

Discovered during Turmvilla scenario #1552 and issue #1733.
2015-10-09 16:38:47 +02:00
d7da035115 nova: sanitize priority parameters
threads with prio 0 will not be started and would fail silently.
Happened on Turmvilla for the USBProxy thread in virtualbox.

Discovered during Turmvilla scenario #1552 and issue #1733.
2015-10-09 16:38:47 +02:00
70a3bb7465 nova: avoid syscall on invalid signal capability
Reduces kernel log message noise when running on kernel-debug branch.
Additionally add a more verbose core message.

Discovered during Turmvilla scenario #1552 and issue #1733.
2015-10-09 16:38:46 +02:00
94f64ef464 nova: avoid sc_ctrl syscalls on invalid caps
Avoids kernel log messages if TRACE_ERROR is enabled in kernel.

Discovered during Turmvilla scenario #1552 and issue #1733.
2015-10-09 16:38:46 +02:00
7f1641e460 usb: use GPIO session for configuration
This fixes the issue of conflicting base-address attachment between USB
and GPIO.

Fixes #1732
2015-10-09 16:37:22 +02:00
e8b4e0be6d disabling verbose in gpio driver
fixup #1732
2015-10-09 16:37:22 +02:00
b121212b23 init: improve priority upgrade message
Fixes #1731
2015-10-09 16:36:31 +02:00
88f107e0f9 Fs_log: new truncate behavior
Files are truncated at the next client session if all previous sessions
associated with the file are closed.

Issue #1538
2015-10-09 16:36:30 +02:00
77c00bc26d fs_log: fix creation of '.log' files
Issue #1538
2015-10-09 16:36:17 +02:00
df0bbe0b0e ascii_to() utility for boolean values
Also, Genode::Arg was adapted to use the new utility for boolean tokens
and strings.

Issue #1648
2015-10-09 16:35:30 +02:00
ce354d6fd9 linux: improve diagnosis on exception handling
Under some circumstances, the diagnostic message in the exception signal
handler was not printed. This could happen due to a dead lock in the
console library if the console code itself produces the exception while
possessing the mutex, e.g., by exhausting a undersized stack. Now, we
directly write to the log session via the stdout_write() hook or use
raw_write_str() in core.
2015-10-06 12:18:57 +02:00
bbf8a4f2ec lwip: patch for resetting write offset
Otherwise, the assertion "already writing or closing" may fail.
2015-10-06 12:18:57 +02:00
aaea28ae85 Fix build and execution of test/sel4 2015-10-06 12:18:56 +02:00
67b3c23281 dde_rump: adaptation to Xml_node change 2015-10-06 12:18:56 +02:00
57ce50a3d4 window layouter: handle maximize/unmaximize 2015-10-06 12:18:56 +02:00
818840ca6a wm: provide physical screen mode to layouter 2015-10-06 12:18:56 +02:00
a8cca8e1b3 window layouter: respond to window closer 2015-10-06 12:18:56 +02:00
4164c9edec wm: allow resize requests to 0x0 2015-10-06 12:18:55 +02:00
dcc4b8c313 wm/layouter/decorator: propagate window controls 2015-10-06 12:18:55 +02:00
0efd908e27 wm: support clients in "direct" role 2015-10-06 12:18:55 +02:00
e27ebd0368 wm/layouter: respond to external focus requests 2015-10-06 12:18:55 +02:00
cdb87a7c4f window layouter: handle hidden windows 2015-10-06 12:18:55 +02:00
e0233604fa wm: handling of temporarily hidden views 2015-10-06 12:18:55 +02:00