Re: QProcess/QProcessEnvironment not declared

2018-03-01 Thread Christian Prochaska
Hi Ben,

On 26.02.2018 22:19, Nobody III wrote:
> I've been trying to port various Qt apps, including qt5ct, and I've run
> into errors such as "error: ‘QProcessEnvironment’ was not declared in this
> scope". I get that QProcess doesn't work on Genode, given its lack of
> fork() support outside noux, but why won't anything using QProcess or
> QProcessEnvironment compile, and how do I fix this?

QProcess support is currently disabled in the Qt configuration. You
could try it with the attached patches (one for the Genode tree and one
for the Qt contrib directory).

Regards,
Christian

qprocess_genode.patch

From: Christian Prochaska <christian.procha...@genode-labs.com>


---
 repos/libports/lib/mk/qt5_core.mk |2 --
 1 file changed, 2 deletions(-)

diff --git a/repos/libports/lib/mk/qt5_core.mk b/repos/libports/lib/mk/qt5_core.mk
index 8ead924..1fd61a8 100644
--- a/repos/libports/lib/mk/qt5_core.mk
+++ b/repos/libports/lib/mk/qt5_core.mk
@@ -12,7 +12,6 @@ QT_SOURCES += qthread_genode.cpp
 
 # remove unsupported UNIX-specific files
 QT_SOURCES_FILTER_OUT = \
-  forkfd_qt.cpp \
   moc_qfilesystemwatcher_inotify_p.cpp \
   qfilesystemwatcher_inotify.cpp \
   qthread_unix.cpp
@@ -20,7 +19,6 @@ QT_SOURCES_FILTER_OUT = \
 # remove unneeded files to prevent moc warnings
 COMPILER_MOC_HEADER_MAKE_ALL_FILES_FILTER_OUT = \
   moc_qobjectdefs.cpp \
-  moc_qprocess.cpp \
   moc_qsharedmemory.cpp
 
 include $(REP_DIR)/lib/mk/qt5.inc



qprocess_contrib.patch

From: Christian Prochaska <christian.procha...@genode-labs.com>


---
 qtbase/src/3rdparty/forkfd/forkfd.c |4 ++--
 qtbase/src/corelib/qtcore-config.h  |3 +--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/qtbase/src/3rdparty/forkfd/forkfd.c b/qtbase/src/3rdparty/forkfd/forkfd.c
index e57d9aa..b89bf23 100644
--- a/qtbase/src/3rdparty/forkfd/forkfd.c
+++ b/qtbase/src/3rdparty/forkfd/forkfd.c
@@ -73,8 +73,8 @@
 (defined(__NetBSD__) && __NetBSD_Version__ >= 6)
 #  define HAVE_PIPE21
 #endif
-#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) || \
-defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__)
+#if (defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) || \
+defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__)) && !defined(__GENODE__)
 #  define HAVE_WAIT41
 #endif
 
diff --git a/qtbase/src/corelib/qtcore-config.h b/qtbase/src/corelib/qtcore-config.h
index 9fda215..16a3746 100644
--- a/qtbase/src/corelib/qtcore-config.h
+++ b/qtbase/src/corelib/qtcore-config.h
@@ -18,8 +18,7 @@
 #define QT_NO_INOTIFY 
 #define QT_FEATURE_library 1
 #define QT_FEATURE_mimetype 1
-#define QT_FEATURE_process -1
-#define QT_NO_PROCESS 
+#define QT_FEATURE_process 1
 #define QT_FEATURE_statemachine 1
 #define QT_FEATURE_qeventtransition 1
 #define QT_FEATURE_regularexpression 1



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Custom InputMethod for QtVirtualKeyboard

2017-09-21 Thread Christian Prochaska
Hi Johannes,

On 18.09.2017 09:22, Johannes Kliemann wrote:
> Hi Christian,
>
> I tried to implement a custom InputMethod for the QtVirtualKeyboard. But
> I couldn't find any useful information on how to do this.
>
> Beside the Technical Guide [1] for the keyboard there seems to be no
> documentation on how to do this.
>
> I have implemented my custom InputMethod class in QML (based on the
> example) but I failed to find any useful information on how to activate
> it. The part Activating an Input Method [2] is not helpful at all since
> it only links to the class references of the InputEngine (which neither
> explain where or how to use the custom class).
>
> Do you have any idea?

>From reading the Technical Guide it seems to me that there exists a singleton 
>instance of 'InputContext' with an 'inputEngine'
property, which itself has an 'inputMethod' property, which should be 
overwritten with the custom InputMethod instance. But not
being familiar with QML programming at all, that's where my understanding ends, 
too. From a quick search for 'InputMethod' at the Qt
forum I see that you already asked there as well, which is what my next 
suggestion would have been, too :-)

Regards,
Christian


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Qt5 QInputMethod

2017-09-07 Thread Christian Prochaska
Hi Johannes,

On 04.09.2017 17:25, Johannes Kliemann wrote:
> while working with the QtVirtualKeyboard, I noticed that I can attach a
> QInputMethod directly to the keyboard which is a much cleaner solution
> than using a hidden input field.
>
> As far as I understood it, it is required to create a custom
> implementation of QInput(Method|Engine|Context) (like it is done in
> qtbase/src/plugins/plastforms). What do you think is the best approach
> to implement this part? I though about either doing it directly in the
> keyboard application (which might be more portable) or adding it to the
> nitpicker integration in /qt5/qtbase/src/plugins/platforms/nitpicker
> (which would make it accessible for more applications).

I would try to implement it in a way which also works on Linux. If this
means implementing it in the application and it would be useful for more
applications, perhaps implementing it in a library could help.

Regards,
Christian

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Qt5 Threads

2017-08-30 Thread Christian Prochaska
Hi Johannes,

On 30.08.2017 16:22, Johannes Kliemann wrote:
> is anyone using threads in Qt5 applications on Genode?
> Is it possible to use QThreads or are Genodes own threads required? If
> so, how would I get an instance of Genode::Env in a Qt application
> (which I would need for the thread).

QThreads are supported.

Regards,
Christian

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Qt Virtualkeyboard example

2017-08-14 Thread Christian Prochaska
Hi Johannes,

On 14.08.2017 16:03, Johannes Kliemann wrote:
> I finally got the plugin to load.
> What was missing was the correct initialization in QNitpickerIntegration.
> I have added the missing parts to load the QPlatformInputContext [1] and
> it now finds the qtvirtualkeyboardplugin.

good to hear that!

> It isn't completely working yet but at least the application shows up.
> What is missing are the dependencies. They require additional shared
> libs. I tried to create the according make fragments with your script
> but after applying qtbase_generated.patch the configure script fails to
> generate qmake with
>
>> You cannot make a shadow build from a source tree containing a previous 
>> build.
> on a clean (except that patch) source tree. Do you have any idea about that?

Did you apply the 'qt5_create_generated_incs_with_preparation.patch'
from a previous mail? The patch reordered the 'series' file, so that
only the following Qt patches would be applied before the Qt
configuration step:

qtbase_configuration.patch
qtdeclarative_configuration.patch
qttools_configuration.patch
qtwebkit_fixes.patch
qtwebkit_configuration.patch

Regards,
Christian


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Qt Virtualkeyboard example

2017-08-02 Thread Christian Prochaska
Hi Johannes,

On 31.07.2017 15:20, Johannes Kliemann wrote:
> after applying your commit and fixing the vpaths for the plugin
> directory it compiles but it still fails to find the
> qtvirtualkeyboardplugin.

from looking at what gets built and installed with Qt for Linux, it
seems there are actually multiple plugins involved that need to be
ported to Genode: one Qt plugin (the one you ported) and multiple
QtQuick plugins (QtQuick.Layouts, QtQuick.Virtualkeyboard.Styles,
Qt.labs.folderlistmodel). The layout of the 'qml' directory must
probably match the one on Linux (/usr/local/Qt-5.8.0/qml), with a
'qmldir' file in each sub directory, for the QtQuick plugins to be
found. The Qt plugin was installed at
'/usr/local/Qt-5.8.0/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so'
on Linux, but I'm not sure if our Qt port can load non-QtQuick plugins
with 'dlopen()' yet, so I would first try to use it as a static plugin,
like it is done with the qjpeg plugin. This usually means adding an
extra file to register the plugin at program start (see
'repos/libports/src/lib/qt5/qtbase/src/plugins/imageformats/jpeg/import_plugin.cc').

Regards,
Christian


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Qt Virtualkeyboard example

2017-07-27 Thread Christian Prochaska
Hi Johannes,

On 27.07.2017 13:50, Johannes Kliemann wrote:
> How can I add QtQuick dependencies on Genode, is there already some code
> example?

there are two QtQuick examples in the libports repository:
qt5_quicktest.run and qt5_samegame.run.

Regards,
Christian


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Qt Virtualkeyboard example

2017-07-26 Thread Christian Prochaska
putmethod.cpp \
  moc_plaininputmethod.cpp \
  moc_inputengine.cpp \
  moc_shifthandler.cpp \
  moc_inputmethod.cpp \
  moc_selectionlistmodel.cpp \
  moc_defaultinputmethod.cpp \
  moc_abstractinputpanel.cpp \
  moc_enterkeyaction.cpp \
  moc_enterkeyactionattachedtype.cpp \
  moc_settings.cpp \
  moc_virtualkeyboardsettings.cpp \
  moc_plugin.cpp \
  moc_trace.cpp \
  moc_desktopinputpanel.cpp \
  moc_inputview.cpp \
  moc_appinputpanel.cpp

QT_VPATH += \
  qtvirtualkeyboard/src/virtualkeyboard \

# some source files need to be generated by moc from other source/header files 
before
# they get #included again by the original source file in the compiling stage

# source files generated from existing header files ('moc_%.cpp: %.h' rule in 
import-qt5.inc)
# extracted from 'compiler_moc_header_make_all' target

COMPILER_MOC_HEADER_MAKE_ALL_FILES = \
  moc_platforminputcontext.cpp \
  moc_inputcontext.cpp \
  moc_abstractinputmethod.cpp \
  moc_plaininputmethod.cpp \
  moc_inputengine.cpp \
  moc_shifthandler.cpp \
  moc_inputmethod.cpp \
  moc_selectionlistmodel.cpp \
  moc_defaultinputmethod.cpp \
  moc_abstractinputpanel.cpp \
  moc_enterkeyaction.cpp \
  moc_enterkeyactionattachedtype.cpp \
  moc_settings.cpp \
  moc_virtualkeyboardsettings.cpp \
  moc_plugin.cpp \
  moc_trace.cpp \
  moc_desktopinputpanel.cpp \
  moc_inputview.cpp \
  moc_appinputpanel.cpp

# source files generated from existing source files ('%.moc: %.cpp' rule in 
import-qt5.inc)
# extracted from 'compiler_moc_source_make_all' rule

COMPILER_MOC_SOURCE_MAKE_ALL_FILES = \
 

qt5_create_generated_incs_with_preparation.patch

From: Christian Prochaska <christian.procha...@genode-labs.com>


---
 repos/libports/ports/qt5.hash  |2 -
 repos/libports/ports/qt5.port  |3 -
 repos/libports/src/lib/qt5/patches/series  |4 ++
 repos/libports/src/lib/qt5/patches/series.qtwebkit |4 --
 .../lib_mk_file_generator/create_generated_incs|4 ++
 .../create_generated_incs_with_preparation |   42 
 6 files changed, 52 insertions(+), 7 deletions(-)
 delete mode 100644 repos/libports/src/lib/qt5/patches/series.qtwebkit
 create mode 100755 repos/libports/src/lib/qt5/tools/lib_mk_file_generator/create_generated_incs_with_preparation

diff --git a/repos/libports/ports/qt5.hash b/repos/libports/ports/qt5.hash
index fca186b..50fe29e 100644
--- a/repos/libports/ports/qt5.hash
+++ b/repos/libports/ports/qt5.hash
@@ -1 +1 @@
-bd7410b31ae57d778d9da6599c0a4e887fa44fa8
+36cacf7162bcacbebee09921d0cbb490b704c482
diff --git a/repos/libports/ports/qt5.port b/repos/libports/ports/qt5.port
index 09ed443..a5384ea 100644
--- a/repos/libports/ports/qt5.port
+++ b/repos/libports/ports/qt5.port
@@ -22,10 +22,9 @@ DIR(${QTSCRIPTCLASSIC}) := src/lib/qt5/${QTSCRIPTCLASSIC}
 
 PATCHES_DIR := $(REP_DIR)/src/lib/qt5/patches
 QT5_PATCHES := $(shell cat $(PATCHES_DIR)/series)
-QT5_WEBKIT_PATCHES  := $(shell cat $(PATCHES_DIR)/series.qtwebkit)
 QTSCRIPTCLASSIC_PATCHES := $(shell cat $(PATCHES_DIR)/series.qtscriptclassic)
 
-PATCHES := $(addprefix src/lib/qt5/patches/, ${QT5_PATCHES} ${QT5_WEBKIT_PATCHES} ${QTSCRIPTCLASSIC_PATCHES})
+PATCHES := $(addprefix src/lib/qt5/patches/, ${QT5_PATCHES} ${QTSCRIPTCLASSIC_PATCHES})
 
 PATCH_OPT  := -p1 -d ${DIR(${QT5})}
 PATCH_OPT(src/lib/qt5/patches/qtscriptclassic_qt5.patch)   := -p1 -d ${DIR(${QTSCRIPTCLASSIC})}
diff --git a/repos/libports/src/lib/qt5/patches/series b/repos/libports/src/lib/qt5/patches/series
index 5151758..ac85478 100644
--- a/repos/libports/src/lib/qt5/patches/series
+++ b/repos/libports/src/lib/qt5/patches/series
@@ -2,12 +2,16 @@ qtbase_fixes.patch
 qtbase_configuration.patch
 qtdeclarative_configuration.patch
 qttools_configuration.patch
+qtwebkit_fixes.patch
+qtwebkit_configuration.patch
 qtbase_generated.patch
 qtdeclarative_generated.patch
 qttools_generated.patch
+qtwebkit_generated.patch
 qtbase_genode.patch
 qtbase_genode_qtscriptclassic.patch
 qtbase_genode_textedit_example.patch
 qtbase_genode_openglwindow_example.patch
 qtdeclarative_genode.patch
+qtwebkit_genode.patch
 host_tools.patch
diff --git a/repos/libports/src/lib/qt5/patches/series.qtwebkit b/repos/libports/src/lib/qt5/patches/series.qtwebkit
deleted file mode 100644
index 087f72d..000
--- a/repos/libports/src/lib/qt5/patches/series.qtwebkit
+++ /dev/null
@@ -1,4 +0,0 @@
-qtwebkit_fixes.patch
-qtwebkit_configuration.patch
-qtwebkit_generated.patch
-qtwebkit_genode.patch
diff --git a/repos/libports/src/lib/qt5/tools/lib_mk_file_generator/create_generated_incs b/repos/libports/src/lib/qt5/tools/lib_mk_file_generator/create_generated_incs
index 3c7f8a1..05c68a2 100755
--- a/repos/libports/src/lib/qt5/tools/lib_mk_file_generator/create_generated_incs
+++ b/repos/libports/src/lib/qt5/tools/lib_mk_file_generator/create_generated_incs
@@ -23,6 +23,10 @@ cd qtdeclarative/src/qml

Re: tool_chain for 64 bit

2017-05-22 Thread Christian Prochaska
Hi Boris,

On 22.05.2017 12:07, Boris Mulder wrote:
> I'm trying to compile the new toolchain using tool/tool_chain x86.
> However, it gives the following error:

does the attached patch help?

It might be necessary to delete the tool chain build directory before
running the tool_chain script again.

Christian
disable multilib support for the bootstrap tool chain

From: Christian Prochaska <christian.procha...@genode-labs.com>


---
 tool/tool_chain |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tool/tool_chain b/tool/tool_chain
index 4b466c1..dc5ebed 100755
--- a/tool/tool_chain
+++ b/tool/tool_chain
@@ -184,7 +184,8 @@ export MAKEFLAGS
 endif
 
 COMMON_BOOTSTRAP_CONFIG = $(CONFIG_QUIET) \
-  --prefix=$(LOCAL_BOOTSTRAP_INSTALL_LOCATION)
+  --prefix=$(LOCAL_BOOTSTRAP_INSTALL_LOCATION) \
+  --disable-multilib
 
 BINUTILS_BOOTSTRAP_CONFIG += $(COMMON_BOOTSTRAP_CONFIG)
 
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: lxip echo not working

2017-03-10 Thread Christian Prochaska
Hi Boris,

On 10.03.2017 16:58, Boris Mulder wrote:
> How can I make my own Genode component that uses both the genode
> Component API and the linux tcp/ip stack with sockets?

One important requirement when implementing 'Libc::Component::construct()' is 
to wrap the socket-using code in the
'Libc::with_libc()' function.

Please see 
https://genode.org/documentation/release-notes/17.02#New_execution_model_of_the_C_runtime
 for more details.

--
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Reading thread registers

2017-03-07 Thread Christian Prochaska
Hi Denis,

On 03.03.2017 08:35, Denis Huber wrote:
> Hallo Christian, and hallo Genode community.
>
> Preliminary: I want to read the registers of a thread A from a task from 
> another thread B on another task. I am using Genode 16.08 on Fiasco.OC. 
> I am also using the Genode mechanism of Cpu_thread::pause() before 
> Cpu_thread::state(), but do not receive the any register values beside 
> zeros. Christina told me that this problem comes from thread A being in 
> a syscall during the pausing. His suggestion was to extend 
> l4_thread_ex_regs_ret() to return the missing registers from the UTCB in 
> a non-blocking fashion.
>
> I am trying to do this, but I do not understand the syscall mechanism 
> fully. Am I correct with the following understanding:
>
> * Thread A is in a syscall: It is waiting for the answer of its IPC call.
> * The answer will be stored in the UTCB.
> * While the thread is waiting, another thread B tries to pause thread A.
> * The pause mechanism wants to put thread A into an artifical-exception 
> state and additionally writes the register data to the UTCB of thread A.
> * The pause and syscall mechanism both need the UTCB for themselves.
> * To guarantee consistency of the UTCB, the pause method is not allowed 
> to be executed while thread A is in a syscall. Otherwise the syscall 
> could overrite the pause data (i.e. register values), if it 
> spontaneously returns.

And there would also be the problem of how to restart an interrupted syscall in 
thread A.

> Assumed my understanding is correct (please tell me, if it is not), I 
> have to wait (i.e. block execution) until the syscall finishes and the 
> pause mechanism can write the register data to the UTCB. Christian 
> wrote, it is possible to return the missing registers from the UTCB 
> without blocking until the syscall finishes. How is it possible, if the 
> register data is not in the UTCB?

The general idea is that when thread B calls l4_thread_ex_regs_ret() to find 
out the register state of thread A, the kernel could
copy the complete register state of thread A into the UTCB of thread B. So, 
when l4_thread_ex_regs_ret() returns, thread B would
find the complete register state of thread A in its own UTCB. Currently, only 
the flags, ip and sp are copied into the UTCB of
thread B. So, when extending the implementation of the l4_thread_ex_regs_ret() 
syscall, you would need to find out where the kernel
has stored the register state of thread A and then copy it completely into the 
UTCB of thread B and then, when
l4_thread_ex_regs_ret() returns, read the additional registers from the UTCB of 
thread B. On the user side this could probably look
something like:

...
ip  = ~0UL;
sp = ~0UL;
flags = L4_THREAD_EX_REGS_TRIGGER_EXCEPTION;
l4_thread_ex_regs_ret(kcap, , , );
l4_utcb_t *utcb = l4_utcb();
r0 = utcb->mr[3];
r1 = utcb->mr[4];
...

where, according to the implementation of l4_thread_ex_regs_ret_u() in
'contrib/foc-xxx/src/kernel/foc/l4/pkg/l4sys/include/thread.h', mr[0], mr[1] 
and mr[2] are currently used to transfer the flags, ip
and sp.

Christian


--
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Reading thread registers

2016-08-30 Thread Christian Prochaska
Hi Denis,

On 25.08.2016 15:45, Denis Huber wrote:
> Is it possible to aquire the thread's registers through simply reading 
> them in the UTCB which is pointed by Thread_state::utcb? If yes, what is 
> the layout of the UTCB in the memory?
> Or do I also have to pause the thread to find relevant registers?

the thread's registers can be read from the UTCB in userland if the
kernel saved them there. On Fiasco.OC, this currently only happens when
an exception occurs ('Thread::exception()' in thread-ipc.cpp links
'_utcb_handler' to the trap state, which is then copied into the UTCB in
'Thread::copy_ts_to_utcb()' in thread-arm.cpp). When pausing the thread,
an artificial exception is triggered, which causes the kernel to copy
the thread state into the UTCB. Therefore, it is necessary to pause the
thread before the register values are available in the UTCB.

Regards,
Christian



--
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Reading thread registers

2016-08-19 Thread Christian Prochaska
Hi Denis,

On 19.08.2016 10:30, Denis Huber wrote:
> I tried reading the registers through the "Thread_state 
> Cpu_thread::state()" method, but it did not contain any information 
> about (just zeros).
>
> I'm using Genode 16.05, kernel Fiasco.OC (pbax9 build). By inspecting 
> the kernel API of foc, I found out that the function 
> l4_thread_ex_regs_ret can read the sp and ip register.

On Fiasco.OC, the 'Platform_thread::pause()' function forces the thread into an 
exception state, which is handled by the pager, who
reads the register state (including r0-r12) from the UTCB in 
'Ipc_pager::_parse()'. The 'Platform_thread::state()' function then
returns this previously saved state. If you called 'Cpu_thread::pause()' before 
'Cpu_thread::state()' and did not get the correct
register state, perhaps the thread was just executing a syscall. In that case, 
the exception would only occur after the syscall
returned, which might take a long time, so 'Platform_thread::pause()' returns 
without waiting for the exception when it detects this
situation. A possible solution for this problem without having to block until 
the thread returns from the syscall might be to extend
'l4_thread_ex_regs_ret()' to return the missing registers in the UTCB.

Regards,
Christian


--
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: GDB monitor

2016-03-19 Thread Christian Prochaska
Hi Joscha,

On 17.03.2016 11:02, Joscha Benz wrote:
> localhost:: Die Wartezeit für die Verbindung ist abgelaufen.

Does it help when you add 'ipv4' to the qemu_args line for the UART
redirection, so that it reads:

append qemu_args " -chardev
socket,id=uart,port=$local_port,host=localhost,server,nowait,ipv4 "

> I also tried running "make run/gdb_monitor_interactive_tcp" on both foc
> and nova. Now i get a build error stating that "build/nic_drv" can't be
> found.

Do you have the 'dde_ipxe' repository enabled in the etc/build.conf file?

And another question: does your Linux environment run on hardware or in
a VM?

Regards,
Christian


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: GDB monitor

2016-03-15 Thread Christian Prochaska
Hi Joscha,

the 'gdb_monitor.run' script should work out of the box on foc_x86_32,
nova_x86_32 and (with one failing test) foc_pbxa9 on Qemu. I tried it
with your github branch and it worked for me after I removed the newly
added TCP redirection line from the run script.

The 'gdb_monitor_interactive_tcp.run' script works for me on these
platforms on Qemu with the attached patch.

For the HW platform, there might be some work to do on the base system
if there are problems with pausing and resuming of threads or with
getting the current register state. When trying to resume execution at a
specific instruction pointer or to modify register contents in general,
the base platform must support this. I'm not sure if the HW platform
already supports it (base-foc does, base-nova not yet).

Regards,
Christian

diff --git a/repos/ports/run/gdb_monitor_interactive_tcp.run b/repos/ports/run/gdb_monitor_interactive_tcp.run
index 23f4682..7e6bab2 100644
--- a/repos/ports/run/gdb_monitor_interactive_tcp.run
+++ b/repos/ports/run/gdb_monitor_interactive_tcp.run
@@ -9,7 +9,7 @@
 # Build
 #
 
-build {
+set build_components {
 	core init
 	drivers/timer drivers/nic
 	server/tcp_terminal
@@ -20,6 +20,8 @@ build {
 source ${genode_dir}/repos/base/run/platform_drv.inc
 append_platform_drv_build_components
 
+build $build_components
+
 create_boot_directory
 
 #
@@ -101,6 +103,8 @@ set boot_modules {
 	gdb_monitor test-gdb_monitor
 }
 
+append_platform_drv_boot_modules
+
 build_boot_image $boot_modules
 
 #
@@ -112,6 +116,8 @@ set local_port 
 # qemu config
 append qemu_args " -m 128 -nographic "
 append qemu_args " -net user -redir tcp:::"
+append_if [have_spec x86] qemu_args " -net nic,model=e1000 "
+append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 "
 
 # connect comport 0 to stdio
 #append qemu_args " -serial mon:stdio "
@@ -140,9 +146,9 @@ append gdb_cmds {-ex "set interactive-mode auto" }
 
 puts "command: [gdb] bin/$gdb_target_binary $gdb_cmds"
 
-run_genode_until {.*/dev/terminal.*} 50
+run_genode_until {.*got IP address.*} 50
 
-#exec [terminal] -e "[gdb] bin/test-gdb_monitor $gdb_cmds" &
+exec [terminal] -e "[gdb] bin/test-gdb_monitor $gdb_cmds" &
 
 interact -i [output_spawn_id]
 


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Problem with custom rm-service

2016-02-09 Thread Christian Prochaska
Hi David,

On 08.02.2016 18:06, David Werner wrote:
> Is 8*1024 bytes a reasonable stack size?

for simple components without big objects allocated on the stack it's
usually enough. Personally, I tend to use 2*1024*sizeof(Genode::addr_t)
in new components.

Christian



--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Problem with custom rm-service

2016-02-08 Thread Christian Prochaska
Hi David,

On 08.02.2016 15:26, David Werner wrote:
> Genode::Pager_entrypoint::entry()::: Could not 
> resolve pf=401feff8 ip=100b9af

this page fault address is part of the thread stack area on Fiasco.OC 
(0x4000 - 0x5000). So it looks like there is a thread
which does not have enough stack allocated. Do you have a thread with a stack 
size of 4096 bytes in your component?

Christian

--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: QT5 Linux_x86

2016-01-14 Thread Christian Prochaska
Hello Torsten,

On 14.01.2016 12:24, Torsten Thoben wrote:
> I'm new to Genode and i want to use QT5 with the Linux_x86 Kernel. The 
> demo example works well, but if i try to run qt5_quicktest or other qt5 
> run files, the only thing i see is a empty window and a Mouse Courser. I 
> use Ubuntu 14.04.3 LTS.

the Qt5 run scripts were broken in the Genode 15.08 release. Can you try
it with Genode 15.11?

Christian


--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Debugging Genode applications on Ubuntu 14.04 64bit

2015-12-11 Thread Christian Prochaska
Hi Menno,

on the 'linux_x86' Genode platform, we usually use the GDB of the host
Linux system for debugging. There are some limitations on the GDB
features that can be used, for example, breakpoints in shared libraries
might not work. But features like showing a backtrace usually work.

For example, if a segmentation fault occurs reproducibly in a Genode
program, I would do the following:

1) let the program pause at a time before the crash occurs

On the 'linux_x86' platform, a function 'wait_for_continue()' exists,
which waits until the user presses the Return key on the log console.
This function could be called, for example, at the beginning of
'main()'. The function must be declared in the file where it is being
used as:

extern "C" void wait_for_continue();

2) execute the run script of the test scenario

The thread to be debugged should now be waiting in 'wait_for_continue()'.

3) find out the thread ID of the waiting thread

The command

$ ps -eLf | grep Genode

shows a list of running Genode threads. The thread ID is the last of the
three IDs shown in each row.

4) start GDB and attach it to the thread

In the 'build/linux_x86/bin' directory, run

$ gdb  -p 

5) let the program continue until the crash occurs

- in GDB, enter 'cont'
- on the Genode log console, press Return

Now, if the segmentation fault occurs, GDB stops and the backtrace can
be shown.

Hope this helps,
Christian



--
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Error in the example "qt5_openglwindow"

2015-12-07 Thread Christian Prochaska
Hi Humberto,

On 11/20/2015 04:05 PM, Humberto López León wrote:
> I am also interested in learning about the use of OpenGL in Qt from Genode.
> I basically like to know how to make the port of some of the ejemlos who 
> are on qtbase/examples/opengl.

The examples in this directory require the QtOpenGL library, which had
not been ported to Genode, yet. You can find a patch at [1], which adds
this library. The 'qt5_opengl_generated.inc' file has been created
according to the instructions in [2]. I haven't tested the library with
one of the OpenGL examples, yet. Just checked that it compiles without
errors.

Christian

[1]
https://github.com/cproc/genode/commit/146d52d443d88bf3da2c7e27c479f8fcc4d65582.patch
[2]
https://github.com/cproc/genode/blob/9ced9ff085b19e7bca74ee6506cba66cc9491d3b/repos/libports/src/lib/qt5/tools/lib_mk_file_generator/README

--
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911=/4140
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Error in the example "qt5_openglwindow"

2015-11-18 Thread Christian Prochaska
Hi Humberto,

thanks for your further investigation. The problem was that the platform window 
had not been created yet when the
QNitpickerWindowSurface's constructor and paintDevice() functions got called. 
The attached patch fixes the problem for me. The
second attached patch fixes the target.mk for the analogclock example, so it 
uses the correct main.cpp file.

Christian
qt5_qnitpickerwindowsurface.patch

From: Christian Prochaska <christian.procha...@genode-labs.com>


---
 .../nitpicker/qnitpickerwindowsurface.cpp  |3 +++
 1 file changed, 3 insertions(+)

diff --git a/repos/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/qnitpickerwindowsurface.cpp b/repos/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/qnitpickerwindowsurface.cpp
index 4fa9aca..6c3277c 100644
--- a/repos/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/qnitpickerwindowsurface.cpp
+++ b/repos/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/qnitpickerwindowsurface.cpp
@@ -34,6 +34,9 @@ QNitpickerWindowSurface::QNitpickerWindowSurface(QWindow *window)
 {
 //qDebug() << "QNitpickerWindowSurface::QNitpickerWindowSurface:" << (long)this;
 
+/* Calling 'QWindow::winId()' ensures that the platform window has been created */
+window->winId();
+
 _platform_window = static_cast<QNitpickerPlatformWindow*>(window->handle());
 connect(_platform_window, SIGNAL(framebuffer_changed()), this, SLOT(framebuffer_changed()));
 }


analogclock.patch

From: Christian Prochaska <christian.procha...@genode-labs.com>


---
 .../src/app/qt5/examples/gui/analogclock/target.mk |5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/repos/libports/src/app/qt5/examples/gui/analogclock/target.mk b/repos/libports/src/app/qt5/examples/gui/analogclock/target.mk
index 7a9b1d7..3b61e2a 100644
--- a/repos/libports/src/app/qt5/examples/gui/analogclock/target.mk
+++ b/repos/libports/src/app/qt5/examples/gui/analogclock/target.mk
@@ -10,7 +10,10 @@ QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/$(QT5)
 QMAKE_PROJECT_PATH = $(QT5_CONTRIB_DIR)/qtbase/examples/gui/analogclock
 QMAKE_PROJECT_FILE = $(QMAKE_PROJECT_PATH)/analogclock.pro
 
-vpath % $(QT5_CONTRIB_DIR)/qtbase/examples/gui/rasterwindow
+INC_DIR += $(QT5_CONTRIB_DIR)/qtbase/examples/gui/rasterwindow
+
+vpath rasterwindow.cpp $(QT5_CONTRIB_DIR)/qtbase/examples/gui/rasterwindow
+vpath % $(QMAKE_PROJECT_PATH)
 
 include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
 


--
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Error in the example "qt5_openglwindow"

2015-11-16 Thread Christian Prochaska
Hello Humberto,

On 11/12/2015 11:17 PM, Humberto López León wrote:
> I also tried two more examples of qt5_gui module (qtbase/examples/gui), 
> the rasterwindow and analogclock. To include these examples in the 
> compilation mechanism of Genode I relied on the example 
> "qt5_openglwindow". Both examples compiled correctly, but do not run as 
> they should. I tried it on Qemu with pbxa9 using the foc  kernel.

could you provide a Genode branch on github or a patch with the changes
you made, so I can easily reproduce the problem?

Christian


--
Presto, an open source distributed SQL query engine for big data, initially
developed by Facebook, enables you to easily query your data on Hadoop in a 
more interactive manner. Teradata is also now providing full enterprise
support for Presto. Download a free open source copy now.
http://pubads.g.doubleclick.net/gampad/clk?id=250295911=/4140
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Error in the example "qt5_openglwindow"

2015-11-12 Thread Christian Prochaska
Hello Humberto,

On 11/12/2015 06:17 PM, Humberto López León wrote:
> Hello Genode community,
>
> I'm testing the port of Qt_5.1.0 in Genode 15.08. I ran the example 
> "qt5_openglwindow" but a sale with black background is shown. I tried it 
> on in the pbxa9 using Qemu with hw and foc.
>

does it work with this patch from the current Genode master branch?

https://github.com/genodelabs/genode/commit/650267b425b90241bff7c97e2d5a5a3295b0646b.patch

Christian

--
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Turmvilla scenario

2015-11-06 Thread Christian Prochaska

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello,

On 11/06/2015 11:41 AM, Christian Helmuth wrote:
> Hello Vincent,
>
> On Thu, Nov 05, 2015 at 06:18:36PM +0800, Vincent Digital wrote:
>> Can I clarify with you that the nic_bridge can both support
Wifi_Driver as
>> well as the Nic_Driver. In my tests, I could only get the nic_bridge to
>> work with the Nic_Driver to support 2 clients (Windows + Drivers).
>
> We had a short offline discussion this morning and after that it's
> unclear if the ProxyARP approach could work with WiFi as it is
> currently used with the wifi_drv. So, if anybody on the list has some
> experience with bridging and Wifi, please speak up.

I have a setup where Arora and VirtualBox are connected to the
nic_bridge, which is connected to the wifi_drv and both clients can load
content from the Internet. But it seems to depend on the access point
used (in my case a "König CMP-WNROUT40") and perhaps also on the
wireless adapter (in my case an Intel Wireless 7265).

Christian
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)

iQEcBAEBAgAGBQJWPKhqAAoJEAMdE1HHrqafc8QH/3nma4jFGeJ4ujP51b19FlLU
28VmSI2Uwc0tIqmimX1BylhWZFh/6Ql+ZCT08JjROkYE95Wb0q9TRZjhaAUL6sbh
HbZ3zW6g93S/KVNZi8O3rbS4+Lpj26/XzItELbP3KrbFevlrTgMf6fqBABDCHq1S
pSwxqvd9kSTqQ9PQge/nDZksGcVXbgne8Gi2sxV6FzZRNgEibVbXBWfa9aWClc0r
Fi4hOHu+yL03yu9sQhf1ighSsANbH2o0R0UqrjoH+doDbs8O5uHtLCUyxga26eEV
7Jncj3+euZ63KYNVRHe7tuzh2lqpB23AGgBjhw5vH49cCqeucfJ6Y4uzen0K1mE=
=aHwk
-END PGP SIGNATURE-



--
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Turmvilla scenario

2015-10-07 Thread Christian Prochaska
Hello Vincent,

On 10/07/2015 03:23 AM, Vincent Digital wrote:
> Hi, Can anyone help out. I'm trying to create the Turmvilla scenario on my
> Lenovo X201 By following the setup file as compiled by@cproc
> :
> https://github.com/cproc/genode/blob/vbox_vm_linux/doc/virtualbox_setup.txt
> I'm trying to understand these parts of the instructions, a bit confusing :
> After creating the 3 partitions and installing the *Create the Linux VM*
> *  - attach the 3 image files from the /genode directory *
>
> >>> How do I attach the image files "linux.vdi" and "home.vmdk" to the same 
> >>> Linux VM. "linux.vdi" is of 32 GB while   
> >>>"home.vmdk" is created from /dev/sda2 (at the host disk) which is 60 GB. I 
> >>>tried to attach both image files to the same
> >>> SATA controller using the **storage settings of the VM - is this correct ?

yes

> * - add a permanent shared folder (for the generated Genode binaries)  -
> start the VM  - install Linux  - if the Linux installer supports it, create
> an encrypted /home partition on /dev/sdb *
>
>
> >>> "/dev/sdb" refers to the partition within the Guest Linux VM that I am 
> >>> installing ? Is it referring to the "home.vmdk" ?**

correct

> >>> How do I specify /home on this partition /dev/sdb ? There are no options 
> >>> for input of this folder name.*
>

Which Linux distribution are you installing as Guest VM?

Christian



--
Full-scale, agent-less Infrastructure Monitoring from a single dashboard
Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
Physical-Virtual-Cloud Infrastructure monitoring from one console
Real user monitoring with APM Insights and performance trend reports 
Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911=/4140
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: run/noux_vim yields black SDL window on linux_x86

2015-09-17 Thread Christian Prochaska
Hello,

I just tried the 'noux_vim' run script on Xubuntu 14.04 and it worked
for me.

This is the log output I'm seeing:

spawn ./core
Genode 15.08-34-g8c7e052
int main(): --- create local services ---
int main(): --- start init ---
int main(): transferred 17592186044415 MB to init
int main(): --- init created, waiting for exit condition ---
[init] parent provides
[init]   service "ROM"
[init]   service "LOG"
[init]   service "CAP"
[init]   service "RAM"
[init]   service "RM"
[init]   service "CPU"
[init]   service "PD"
[init]   service "IRQ"
[init]   service "IO_PORT"
[init]   service "IO_MEM"
[init]   service "SIGNAL"
[init] child "timer"
[init]   RAM quota:  876544
[init]   ELF binary: timer
[init]   priority:   0
[init]   provides service Timer
[init] child "fb_sdl"
[init]   RAM quota:  4022272
[init]   ELF binary: fb_sdl
[init]   priority:   0
[init]   provides service Input
[init]   provides service Framebuffer
[init] child "terminal"
[init]   RAM quota:  1925120
[init]   ELF binary: terminal
[init]   priority:   0
[init]   provides service Terminal
Quota exceeded! amount=24576, size=4096, consumed=24576
[init] upgrading quota donation for Env::CPU (8192 bytes)
[init] child "noux"
[init]   RAM quota:  1073569792
[init]   ELF binary: noux
[init]   priority:   0
[init -> fb_sdl] Could not open ROM session for module "config"
[init -> fb_sdl] Could not obtain config file
[init -> terminal] int main(int, char**): --- terminal service started ---
[init] child "timer" announces service "Timer"
[init -> noux] --- noux started ---
[init -> noux] tar archive 'vim.tar' local at 2ac00a02, size is 19998720
[init -> fb_sdl] creating virtual framebuffer for mode 1024x768@16
[init] child "fb_sdl" announces service "Framebuffer"
[init] child "fb_sdl" announces service "Input"
[init -> terminal] cell size is 8x16
[init] child "terminal" announces service "Terminal"
[init -> terminal] create terminal session
[init -> terminal] new terminal session:
[init -> terminal]   framebuffer has 1024x768 pixels
[init -> terminal]   character size is 8x16 pixels
[init -> terminal]   terminal size is 128x48 characters
[init -> noux] invalid opcode 21
[init -> noux -> /bin/vim] int getrlimit(int, rlimit*): not implemented 2
[init -> noux -> /bin/vim] unsupported ioctl (request=0x802c7414)

Christian

On 09/17/2015 11:27 AM, Norman Feske wrote:
> Hi Alex,
>
> On 17.09.2015 10:41, Alexander Senier wrote:
>> I'm trying to run some more elaborate demos on with Linux as the base
>> system. My host is a Debian Stretch (x86_64), I'm on master which I
>> checked out this morning (5cf8c49c).
>>
>> When trying to run 'noux_vim', a completely black SDL window (no text or
>> anything) shows up. The following is output on the command line:
>>
>> $ make run/noux_vim
> unfortunately, all but the simplest noux scenarios don't work on Linux.
> Ironically, 'fork' is not implemented on this base platform. On regular
> L4-like microkernels, it is possible to remotely manipulate address
> spaces. So the noux runtime is able to copy the address space of the
> forking noux process to another one. The Linux kernel does not allow us
> to do that (well, at least when not using ptrace or a similar hook).
>
> Consequently, implementing fork on Linux calls for a different
> implementation where the noux process itself plays a more active role
> (i.e., issuing the Linux clone syscall directly, copying the locally
> implemented region-manager structures). It is actually quite tricky. So
> far, I found that the hassle wasn't worth the effort.
>
> The plain noux.run script does work because is solely executes 'ls',
> which does not rely on fork. In contrast, the noux_vim.run scenario
> requires fork because Vim temporarily spawns a shell at startup.
>
> Do you deem noux as critical in your Linux-based scenario? If yes, we
> should investigate to best way how to go forward.
>
> Cheers
> Norman
>


--
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991=/4140
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Build Target linux-arm: Wrong Compiler?

2015-09-02 Thread Christian Prochaska
Hello Daniel,

On 09/02/2015 05:21 PM, Krefft, Daniel wrote:
> 1. Is it possible to build the linux_arm target for ARM (as suspected)?
> 2. Where can we change the compiler option pointing to e.g.
> arm-none-eabi?

please have a look at the following discussion in the mailing list
archive:
https://www.mail-archive.com/genode-main@lists.sourceforge.net/msg03283.html

Regards,
Christian

--
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991=/4140
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Building Genode for Linux/ARM

2015-05-19 Thread Christian Prochaska
Hi Alex,

On 05/19/2015 10:26 AM, Alexander Senier wrote:
 Adding -march=armv7-a manually to the above g++ invocation succeed, but I 
 don't see where to set the architecture in the build config.

creating a file '/build/linux_arm/etc/tools.conf' with the line

CC_MARCH+=-march=armv7-a

should do it.

Regards,
Christian


--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Building Genode for Linux/ARM

2015-05-19 Thread Christian Prochaska
Hi Alex,

good to hear that you got it to work.

On 05/19/2015 01:41 PM, Alexander Senier wrote:
 The only disadvantage is that the run scripts fail, as expect has some issues 
 with creating PTYs.

I remember having some problems with chroot environments and terminals
in general when /dev/pts was not bind-mounted in the chroot environment.
Could this be the problem here, too?

Regards,
Christian




--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Building Genode for Linux/ARM

2015-05-18 Thread Christian Prochaska
Hi Alex,

the Linux platforms don't support cross-compiling at this stage, which means 
that 'linux_arm' only works on an ARM Linux host system.

Regards,
Christian

On 18.05.2015 22:10, Alexander Senier wrote:
 Hi all,

 I'm trying to build Genode for the Linux base platform for ARM without
 success so far. Despite having the ARM toolchain installed, my builds
 always are x86_64. Here is what I did after checking out the source tree:

 $ cd genode_dir/tool
 $ ./toolchain arm

 After prompting for my super user password the toolchain gets installed
 to /usr/local/genode-gcc. The resulting tools (genode-arm-*) appear to
 work OK.

 $ ./create_builddir linux_arm
 $ cd ../build/linux_arm
 $ make run/demo

 However, when done an SDL window running the *x86_64* version of the
 demo pops up.

 $ file init/init
 init/init: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
 statically linked, not stripped

 I'm building a current Genode master branch on Debian 8 / x86_64.

 What am I missing?

 Cheers,
 Alex

 --
 One dashboard for servers and applications across Physical-Virtual-Cloud 
 Widest out-of-the-box monitoring support with 50+ applications
 Performance metrics, stats and reports that give you Actionable Insights
 Deep dive visibility with transaction tracing using APM Insight.
 http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
 ___
 genode-main mailing list
 genode-main@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/genode-main



--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Virtualbox + rump_fs + qemu

2015-03-16 Thread Christian Prochaska
Hello Adrian,

On 11.03.2015 00:02, a3an wrote:
 I just wonder what will be done to fix this. Is there a way to open 
 problem-ticket for
 this problem ? Or, is there an explanation as to what the problem is ?

you can create an issue at https://github.com/genodelabs/genode/issues

There's no explanation yet, but as a temporary workaround you can move
the .vbox file into the root directory or load it from a ROM service.

 As to 'virtualbox_auto_disk.run',  I am unable to execute this 
 run-script. I get the
 message 'Run script does not support Qemu.'.
 Could you explain how this script should be executed ?

A simple way to use the script is with the following run tool
configuration in 'build/nova_x86_64/etc/build.conf' (latest Genode release):

RUN_OPT = --include boot_dir/nova \
  --include image/iso

With this configuration, 'make run/vbox_auto_win7' will create an ISO
image in the 'var/run' directory, which you could write on a USB stick
(using 'dd') and boot from it on real hardware.

The script provides VirtualBox with the 'vm_win7.vbox' file, which needs
to get adapted to the actual VDI files to be used. The 'overlay.vdi'
file can be created like this:

- $ VboxManage showhdinfo win7.vdi
- remember the 'Capacity' value
- $  VboxManage createhd --filename overlay_win7.vdi --size [Capacity
value] --format vdi

Also, the UUIDs in the 'vm_win7.vbox' file need to get replaced by the
real UUIDs of the VDI files (also shown by 'VBoxManage showhdinfo').

The VDI files are loaded from an 'ext2' file system on the fourth
primary partition of the hard disk. The partition number can be changed
in 'virtualbox_auto.inc'.

Having a serial port on the target machine is highly recommended to know
what the problem could be if it doesn't work right away.

Regards,
Christian



--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Virtualbox + rump_fs + qemu

2015-02-26 Thread Christian Prochaska
Hello Adrian,

I could reproduce your problem now. It occurred when I stored the
'w7.vbox' file in the '/VirtualBox VMs/w7/' directory. Before, I had it
stored in the root directory only and the problem did not occur. For
running Windows 7 with VirtualBox on Nova we're using the
'virtualbox_auto_disk.run' script, which loads the '.vbox' file from the
ROM service.

Regards,
Christian


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Virtualbox + rump_fs + qemu

2015-02-25 Thread Christian Prochaska
Hello Adrian,

I could not reproduce the same problem you reported, but found two other
problems when trying to run VirtualBox in Qemu:

First, 'atapi_drv' does not run well on newer Qemu versions (I used Qemu
2.2.0), so I changed your run script to use the 'ahci' driver instead
(see attachment).

Then I tried to run TinyCore Linux in the VM (with both the .vbox and
the .iso file in the root directory of the ext2 image) and when the
Linux kernel started to boot, VirtualBox reported 'invalid gueststate'
errors and the kernel boot process never finished.

So, even if you can find out why your VirtualBox complains about the
'w7.vbox' file, I would not have too high hopes of getting your VM
running in VirtualBox on Qemu (or with AMD SVM hardware virtualization
in general) without some prior work on the VirtualBox port. So far we
have used and tested VirtualBox mainly on Intel hardware. Would that be
an option for you?

Regards,
Christian

set use_net 0

set build_components {
 core init virtualbox
 drivers/input
 drivers/framebuffer
 drivers/timer
 server/rump_fs
 test/libc_vfs
 drivers/ahci
}

lappend_if [have_spec acpi]  build_components drivers/acpi
lappend_if [have_spec pci]   build_components drivers/pci
lappend_if [have_spec x86]   build_components drivers/rtc

lappend_if [expr $use_net]   build_components drivers/nic

build $build_components

create_boot_directory

set config {
config prio_levels=4
 parent-provides
 service name=ROM/
 service name=RAM/
 service name=IRQ/
 service name=IO_MEM/
 service name=IO_PORT/
 service name=CAP/
 service name=PD/
 service name=RM/
 service name=CPU/
 service name=LOG/
 service name=SIGNAL/
 /parent-provides
 default-route
 any-service any-child/ parent/ /any-service
 /default-route
 start name=timer
 resource name=RAM quantum=1M/
 providesservice name=Timer//provides
 /start}

append_if [have_spec acpi] config {
 start name=acpi priority=-1
 resource name=RAM quantum=8M/
 binary name=acpi_drv/
 provides
 service name=PCI/
 service name=IRQ /
 /provides
 route
 service name=PCI any-child / /service
 any-service parent/ any-child / /any-service
 /route
 /start}

append_if [expr ![have_spec acpi]  [have_spec pci]] config {
 start name=pci_drv priority=-1
 resource name=RAM quantum=2M/
 provides service name=PCI/ /provides
 /start}

append_if [have_spec ps2] config {
 start name=ps2_drv priority=-1
 resource name=RAM quantum=1M/
 providesservice name=Input//provides
 /start}

append_if [have_spec framebuffer] config {
 start name=fb_drv priority=-1
 resource name=RAM quantum=4M/
 providesservice name=Framebuffer//provides
 /start}

append_if [have_spec sdl] config {
 start name=fb_sdl priority=-1
 resource name=RAM quantum=4M/
 provides
 service name=Input/
 service name=Framebuffer/
 /provides
 /start}

append_if [have_spec x86] config {
 start name=rtc_drv priority=-1
 resource name=RAM quantum=1M/
 provides
 service name=Rtc/
 /provides
 /start}

append_if [expr $use_net] config {
 start name=nic_drv priority=-1
 resource name=RAM quantum=4M/
 providesservice name=Nic//provides
 /start
}

append config {

start name=ahci
resource name=RAM quantum=10M /
providesservice name=Block //provides
/start

 start name=rump_fs priority=-1
 resource name=RAM quantum=32M /
 providesservice name=File_system//provides
 config fs=ext2fspolicy label= root=/ 
writeable=yes//config
 /start


 start name=virtualbox priority=-2
 resource name=RAM quantum=750M/
 config vbox_file=w7.vbox vm_name=w7
 libc stdout=/dev/log stderr=/dev/log
 vfs
 dir name=dev log/ /dir
 fs/
 /vfs
 /libc
 /config
 /start
/config
}

install_config $config

exec cp ${genode_dir}/repos/ports/run/test.vbox bin/.

set boot_modules { core init timer virtualbox }

# platform-specific modules
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_specacpi] boot_modules acpi_drv
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec   linux] boot_modules fb_sdl
lappend_if [have_specnova] boot_modules pci_device_pd
lappend_if [have_spec x86] boot_modules rtc_drv

append boot_modules {
 ld.lib.so libc.lib.so libm.lib.so pthread.lib.so libc_lock_pipe.lib.so
 libc_terminal.lib.so libiconv.lib.so stdcxx.lib.so
 rump.lib.so 

Re: Virtualbox + rump_fs + qemu

2015-02-23 Thread Christian Prochaska
Hello Adrian,

On 02/23/2015 12:29 PM, a3an wrote:
 Hello Christian,

 thanks.

 I have added fs/ to the vfs config section of virtualbox. But now the 
 system hangs and has to be canceled.
 No messages from virtualbox either.


Can you please send your complete run script?

Regards,
Christian


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Debug over serial

2014-11-11 Thread Christian Prochaska
Hello Ben,

On 11/10/2014 04:44 AM, Nobody III wrote:
 I have a serial cable and have connected two computers with it, but I
 haven't been able to figure out how to obtain Genode's boot output. I am
 currently using the fiasco kernel but I will probably later use fiasco.oc
 and possibly nova. I heard something about telling the kernel which port to
 use for the serial output. What do I need to do to look at Genode's boot
 output over serial?

personally, I'm using the 'picocom' program on Linux like this:

picocom -b 115200 /dev/ttyS0

If your serial cable is a USB-to-serial one, the device would probably
be /dev/ttyUSB0 instead. Depending on your Linux distribution it might
also be necessary to add your username to a group which allows access to
the serial device or to run the program as super user.

Christian


--
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: ATA support

2014-11-05 Thread Christian Prochaska
Hi Ben,

On 11/04/2014 05:38 PM, Nobody III wrote:
 As a side question, is there an easy way to combine input from a PS/2
 keyboard and a USB mouse or should I write a server for that?

please have a look at the 'input_merger' server in the 'os' repository.
The README file describes how it can be configured.

Christian



--
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode is out of frequency range on 1920x1080 monitor

2014-11-04 Thread Christian Prochaska
Hello Ben,

On 11/02/2014 03:10 AM, Nobody III wrote:
 My computer has a 1920x1080 monitor, and, when I run Genode from a CD, my
 monitor gives me an out of frequency range error when it starts the
 terminal echo test. This seems to be a bug in fb_drv. I have an intel i915
 graphics card, if that helps.

are you using a Genode release version or the github master branch? If
it's the github master branch, the VESA driver chooses the highest
resolution mode reported by the VESA BIOS, which might be more than the
monitor can handle in some cases. Here it would be useful again to see
the log messages. In any case, the VESA driver (fb_drv) can be
configured to choose a specific resolution mode like this:

config width=1024 height=768 /

BTW, could you please tell us what hardware you are using exactly (CPU
model, mainboard model, how much RAM)?

Best regards,
Christian



--
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Problem when manipulating QT window geometry

2014-09-16 Thread Christian Prochaska
Hello Marcus,

On 09/16/2014 10:27 AM, Marcus Nolte wrote:
 Hey Christian,

 Thanks for your reply.

 I built a little test case and played around a little more.
 When I emit a QtSignal, which is connected to  a slot where the resizing 
 is done, everything works properly (with and without your provided patch).
 Still, with the patch, simply invoking a method which resizes the window 
 fails.

 Since I am definitely no expert on Qt, I can't really say if this is a 
 genode-related problem or if I am using Qt improperly here.


I was not sure about that either, but found this interesting document,
which states that GUI objects can only be used from the main thread:

http://qt-project.org/doc/qt-5/threads-qobject.html

Christian

--
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce.
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191iu=/4140/ostg.clktrk
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Help compiling Genode on hw_rpi

2014-08-30 Thread Christian Prochaska
Hello Reinier,

I just tried to reproduce the problem, but all went well here. Can you please 
post the complete build log?

Christian



--
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Help compiling Genode on hw_rpi

2014-08-30 Thread Christian Prochaska
Hello Reinier,

On 30.08.2014 20:59, Reinier Millo Sánchez wrote:
 Hi Christian
 I have activated this repos on my configuration

 GENODE_DIR= 
 /home/millo/Working/SistemaOperativo/Building/RaspberryPi/Genode
 BASE_DIR  = $(GENODE_DIR)/repos/base
 CONTRIB_DIR   = $(GENODE_DIR)/contrib
 MAKE += -j12
 REPOSITORIES += $(GENODE_DIR)/repos/base-hw
 REPOSITORIES += $(GENODE_DIR)/repos/base
 REPOSITORIES += $(GENODE_DIR)/repos/os
 REPOSITORIES += $(GENODE_DIR)/repos/demo
 REPOSITORIES += $(GENODE_DIR)/repos/dde_linux

 I have executed the command line to prepare dde_linux port
 ./tool/ports/prepare_port dde_linux

 After that only do a make run/demo an this is the output:

 using run script 
 /home/millo/Working/SistemaOperativo/Building/RaspberryPi/Genode/repos/base-hw/run/env
 using run script 
 /home/millo/Working/SistemaOperativo/Building/RaspberryPi/Genode/repos/os/run/demo.run
 spawn make core init drivers/timer server/nitpicker app/pointer 
 app/status_bar server/liquid_framebuffer app/launchpad app/scout
 test/nitpicker server/nitlog drivers/framebuffer drivers/pci drivers/input 
 server/report_rom drivers/usb drivers/platform
 make[1]: Entering directory 
 `/home/millo/Working/SistemaOperativo/Building/RaspberryPi/Genode/build/hw_rpi'
 checking library dependencies...
 Skip target drivers/framebuffer/exynos5 because it requires exynos5
 Skip target drivers/framebuffer/imx53 because it requires imx53
 Skip target drivers/framebuffer/omap4 because it requires omap4
 Skip target drivers/framebuffer/pl11x/pbxa9 because it requires pl11x 
 platform_pbxa9
 Skip target drivers/framebuffer/pl11x/vea9x4 because it requires pl11x 
 platform_vea9x4
 Skip target drivers/framebuffer/pl11x/vpb926 because it requires pl11x 
 platform_vpb926
 Skip target drivers/framebuffer/sdl because it requires linux sdl
 Skip target drivers/input/imx53 because it requires imx53
 Skip target drivers/input/ps2/pl050 because it requires pl050
 Skip target drivers/input/ps2/x86 because it requires x86 ps2
 Skip target drivers/pci/device_pd because it requires nova
 Skip target drivers/pci/x86 because it requires x86
 Skip target drivers/platform/arndale because it requires platform_arndale
 Skip target drivers/platform/gta01 because it requires platform_gta01
 Skip target drivers/platform/imx53 because it requires imx53
 Library-description file libc-setjmp.mk is missing

the last line above indicates the problem. Perhaps it would have been better if 
the build process aborted at this point...

The USB driver needs the 'libc-setjmp' library, which resides in the 'libports' 
repository. If you activate this repository (and
prepare the libc), the USB driver should finally build, too.

Christian



--
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Process creation on Fiasco.OC / L4

2014-07-30 Thread Christian Prochaska
Hello Josef,

On 30.07.2014 18:46, Stark, Josef wrote:
 Hi all,

 I am trying to find out how process creation (and termination) is done on the 
 Fiasco.OC/L4 platform. I took a look at cli_monitor and launchpad apps and 
 tried to trace the function calls to fiasco.OC/L4 but I am not very 
 experienced and didn't succeed. If anyone could give me some hints and push 
 me in the right direction, I would appreciate it.
 (Just to clarify: I am not interested in how to create/terminate processes in 
 genode but rather in how Genode creates (starts) processes on Fiasco.OC, e.g. 
 which Fiasco-Procedures (or L4) get called in order to do so.
 Thanks in advance!

 Sincerely,
 Josef

The relevant Fiasco.OC-specific code is located in 'repos/base-foc/src/core', 
in particular in the 'platform_pd.cc' and
'platform_thread.cc' files. 'Platform_pd' is responsible for the creation of a 
Fiasco.OC task and 'Platform_thread' creates the
threads in a task.

HTH
Christian


--
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Using a real harddisk

2014-07-06 Thread Christian Prochaska
Hello Wolfgang,

On 06.07.2014 18:01, w_schm...@gmx.de wrote:
 Hi,

 i have still problems accessing a real harddisc.

 I now started again using the rump_ext2 test.
 Is usd the run script below and get no result at all, it stops at
 [init - acpi - pci_drv] virtual void Genode::Platform_env::release(): used 
 after freeing emergency=520192


I've seen this symptom, too, recently, and it seems that the RAM quota upgrade 
request of the PCI driver is not handled correctly.
As a workaround, can you try giving the ACPI driver more RAM quota?

Christian


--
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Hi~ I am ajblane. I have a question. Please, help me.

2014-05-23 Thread Christian Prochaska
Hello,

On 05/23/2014 12:05 PM, ch ajblane wrote:
 Hi sir:
   If I want to implement  GDB port to support linux_x86_64 . How can i do?


Please have a look at the following git branch, which adds generic
x86_64 support and support for nova_x86_64:

https://github.com/cproc/genode/commits/gdb_monitor_nova_x86_64-20140521

For linux_x86_64 support, you basically need to implement
'repos/ports/src/lib/gdbserver_platform/linux_x86_64_low.cc' and the
corresponding 'repos/ports/lib/mk/linux_x86_64/gdbserver_platform.mk' files.

Christian


--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Some error in using Qt on genode

2014-04-18 Thread Christian Prochaska
Hello,

On 18.04.2014 09:25, longjks wrote:
 Library stdcxx
 COMPILE allocator-inst.o
 /home/android/longjks_new/genode-13.08_longjks/libports/contrib/stdcxx-4.7.2/src/c++98/allocator-inst.cc:30:18:
  fatal error:
 memory: No such file or directory
 compilation terminated.
 make[3]: *** [allocator-inst.o] Error 1
 make[2]: *** [stdcxx.lib] Error 2
 make[1]: *** [gen_deps_and_build_targets] Error 2
 make[1]: Leaving directory 
 `/home/android/longjks_new/genode-13.08_longjks/build.linux_x86'
 Error: Genode build failed
 make: *** [run/qt5] Error 252

 I can see the error caused by the source code below:
 #include memory

 what is this memory? where can i found this memory?

memory is a header file of the C++ standard library and supposed to be 
located at 'libports/include/stdcxx/std/memory'. If it is
not there, try running 'make prepare' in the 'libports' directory.

Christian


--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode Source building

2013-08-23 Thread Christian Prochaska
Hello,

On 08/23/2013 11:54 AM, Venkada Ramanujam wrote:
 hi,

 when i put $ make prepare PKG=libc
 i got following error.

 checking out 'lib/libutil' to 'contrib/libc-8.2.0/libutil'
 svn: OPTIONS of 'http://svn.freebsd.org/base/release/8.2.0/lib/libutil':
 Could not resolve hostname `svn.freebsd.org': No address associated with
 hostname (http://svn.freebsd.org)
 make: *** [contrib/libc-8.2.0/libutil] Error 1


this looks like a problem with your network connection. Can you view
http://svn.freebsd.org/ in a web browser?

Christian


--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: tool/run: can't cancel 'run_genode_until forever'

2013-08-08 Thread Christian Prochaska
On 08/08/2013 10:53 AM, Martin Stein wrote:
 When executing a run test that does 'run_genode_until forever'
 and the test stucks irrecoverable somewhere it's not possible
 for me to cancel the process via [strg + c] in contrast to the
 same situation with 'run_genode_until STRING TIMEOUT'.

The difference with 'forever' is the invocation of the 'interact'
command, which apparently gives full terminal control to the spawned
process (QEMU). The good thing about that is that it makes it possible
to enter the Fiasco.OC kernel debugger via the 'Esc' key. Interrupting
QEMU should work with 'Ctrl+x a'.

Christian



--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with 2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Dataspace juju

2013-07-10 Thread Christian Prochaska
Hi Daniel,

On 07/09/2013 09:36 PM, Daniel Waddington wrote:
 Hi,
 We're having bad juju with dataspaces.  As we try larger dataspaces
 things seem to go wrong (like hanging, bad mappings and exceptions).

 Can someone check out my test program..
 https://github.com/dwaddington/genode/blob/master/testing/src/core-api-1/main.cc

 and see what is going on?  Basically if you change the total memory use
 in the program (line 26) to something ~  512MB, then region conflicts
 happen.

 I tried this out this test on both fiasco.oc and nova with qemu and real
 PCs. Same result.  The NOVA run reports an unresolvable exception by
 pager:core-api-1.

 I could of course be doing something wrong with the APIs.

 Daniel

When using 'Rm_session::attach()', the Rm_session_component tries to
place the dataspace at an address which is aligned to the dataspace
size. So, when setting NUM_REGIONS to 8 or 16, your test works, but with
10 regions there will be small holes in the address space and the last
dataspace does not fit anywhere, causing a 'Region_conflict' exception.

Christian



--
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Dataspace juju

2013-07-10 Thread Christian Prochaska
On 10.07.2013 14:10, Christian Prochaska wrote:
 at an address which is aligned to the dataspace size

actually, it's not aligned exactly to the dataspace size, but I don't know the 
correct wording. What I mean is, that a dataspace of
size 102M, for example, will be placed at address 128M (or 256M ...).

--
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Dataspace juju

2013-07-10 Thread Christian Prochaska
Hi Daniel,

On 10.07.2013 16:48, Daniel Waddington wrote:
 Hi Alex,
 I see, so there is some 2^N round up.  Why is this, I thought it used an
 AVL tree to manage memory?

From my understanding it's a mapping optimization for some kernels. Something 
like: mapping 64M to another task can be done with one
syscall if the address has 64M alignment. But I'm not familiar with the 
details, perhaps somebody else can help out here?

 Also, can you run the test with..

 #define NUM_REGIONS 15
 #define TOTAL_MEMORY_TO_USE GB(2)
 #define REGION_SIZE MB(96)

 I then get unhandled page faults.  Can you see why?

 Thanks
 Daniel


When only changing these values, the RAM dataspace is too small (phys_slab_size 
= GB(1)) for 15 regions of 96M. Usually, it would be
an error if 'Ram_session::attach()' gets called with an 'offset' which exceeds 
the size of the dataspace (which happens in this
case), but if I remember correctly there was a use case where this was valid. 
Something with ELF images and the dynamic linker.
@ssumpf, do you remember? We should probably document this in 
'Rm_session_component::attach()', why no exception gets thrown if
'size' is given and (offset = dsc()-size()).

Christian


--
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Dataspace juju

2013-07-10 Thread Christian Prochaska
Hi Daniel,

TOTAL_MEMORY_TO_USED was only used to calculate REGION_SIZE, but the RAM 
dataspace size is still set to GB(1).

When increasing the RAM dataspace size to 2G, I'm getting the error

We ran out of physical memory while allocating - bytes
[init - core-api-1] Assertion failed:ram.alloc() failed

but not the page faults.

Christian

On 10.07.2013 21:52, Daniel Waddington wrote:
 Hi Christian,
 But this is 2GB which even rounded up to 128M is 1920MB??  The RAM
 dataspace should be plenty big enough.

 Daniel

 On Wed, 2013-07-10 at 20:26 +0200, Christian Prochaska wrote:
 Hi Daniel,

 On 10.07.2013 16:48, Daniel Waddington wrote:
 Hi Alex,
 I see, so there is some 2^N round up.  Why is this, I thought it used an
 AVL tree to manage memory?
 From my understanding it's a mapping optimization for some kernels. 
 Something like: mapping 64M to another task can be done with one
 syscall if the address has 64M alignment. But I'm not familiar with the 
 details, perhaps somebody else can help out here?

 Also, can you run the test with..

 #define NUM_REGIONS 15
 #define TOTAL_MEMORY_TO_USE GB(2)
 #define REGION_SIZE MB(96)

 I then get unhandled page faults.  Can you see why?

 Thanks
 Daniel

 When only changing these values, the RAM dataspace is too small 
 (phys_slab_size = GB(1)) for 15 regions of 96M. Usually, it would be
 an error if 'Ram_session::attach()' gets called with an 'offset' which 
 exceeds the size of the dataspace (which happens in this
 case), but if I remember correctly there was a use case where this was 
 valid. Something with ELF images and the dynamic linker.
 @ssumpf, do you remember? We should probably document this in 
 'Rm_session_component::attach()', why no exception gets thrown if
 'size' is given and (offset = dsc()-size()).

 Christian


 --
 See everything from the browser to the database with AppDynamics
 Get end-to-end visibility with application monitoring from AppDynamics
 Isolate bottlenecks and diagnose root cause in seconds.
 Start your free trial of AppDynamics Pro today!
 http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
 ___
 Genode-main mailing list
 Genode-main@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/genode-main


 --
 See everything from the browser to the database with AppDynamics
 Get end-to-end visibility with application monitoring from AppDynamics
 Isolate bottlenecks and diagnose root cause in seconds.
 Start your free trial of AppDynamics Pro today!
 http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
 ___
 Genode-main mailing list
 Genode-main@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/genode-main


--
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: issue while running arora

2013-06-03 Thread Christian Prochaska
Hello,

On 06/03/2013 10:38 AM, Raja Sekhar wrote:
 Quota exceeded: pci_drv
   memory for slab:   2048
   used quota:313592
   ds_size:   1048576
   sizeof(Ram_session_component): 248
   quota_limit:   806912

that's the problem: the RAM quota for pci_drv needs to get increased
in the run script.

Christian


--
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with 2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode 12.11 on Ubuntu 64 bits: Could not open file ld.lib.so seems to cause black window

2013-01-14 Thread Christian Prochaska
Hello,

On 14.01.2013 23:49, Paul Dufresne wrote:
 First, I did not search yet for issues showing this.
 It is just a ... hey, that's seems wrong, anyone knows about this?.

 After my make run/demo on Linux Ubuntu 64 bits, I got a big black
 window, that was empty so I closed it.


if your Ubuntu GCC version is 4.7.x, you need to apply the patch from this 
bugtracker issue:
https://github.com/genodelabs/genode/issues/550

Christian


--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Issue in Arora

2012-10-30 Thread Christian Prochaska
Hello,

it looks like the currently selected thread in GDB monitor is not the
one which got the page fault. You can list the other threads with the
info threads command and then choose another thread with the 'thread
n' command (for example 'thread 2') and then you can print the backtrace
of the newly selected thread.

Christian

On 10/30/2012 02:59 PM, Ivan Loskutov wrote:
 Hello.

 In the latest version of Genode didn't work Arora browser.
 I have messages in log:
 no RM attachment (READ pf_addr=0 pf_ip=14b05e4 from 60e000)
 virtual void Genode::Pager_activation_base::entry(): Could not resolve pf=0
 ip=14b05e4

 I tried to investigate this issue. I launched Arora with gdb-server:
 Program received signal SIGSEGV, Segmentation fault.
 0x000632e3 in l4_ipc_call (timeout=..., snd_tag=optimized out,
 dest=optimized out, u=optimized out) at /home/ivan/projects/genode/
 genode-ksyslabs-staging/_build.foc_x86_32/include/x86/l4f/l4/sys/ipc
 -l42-gcc3-nopic.h:54
 54   );
 (gdb) bt
 #0  0x000632e3 in l4_ipc_call (timeout=..., snd_tag=optimized out,
 dest=optimized out, u=optimized out) at /home/ivan/projects/genode/
 genode-ksyslabs-staging/_build.foc_x86_32/include/x86/l4f/l4/sys/ipc
 -l42-gcc3-nopic.h:54
 #1  l4_irq_receive_u (utcb=optimized out, to=optimized out,
 irq=optimized out) at /home/ivan/projects/genode/genode-ksyslabs
 -staging/_build.foc_x86_32/include/l4/sys/irq.h:254
 #2  l4_irq_receive (to=optimized out, irq=optimized out) at /home/ivan
 /projects/genode/genode-ksyslabs-staging/_build.foc_x86_32/include/l4/sys/
 irq.h:303
 #3  thread_stop_myself () at /home/ivan/projects/genode/genode-ksyslabs
 -staging/base-foc/src/base/lock/lock_helper.h:105
 #4  Genode::Cancelable_lock::lock (this=0x11b6648) at /home/ivan/projects/
 genode/genode-ksyslabs-staging/base/src/base/lock/lock.cc:100
 #5  0x011b65d8 in _stack_low ()
 #6  0x011b6648 in _stack_low ()
 #7  0x01096ba2 in Genode::Lock::lock (this=0x11b6614) at /home/ivan
 /projects/genode/genode-ksyslabs-staging/base/include/base/lock.h:35
 #8  0x01096fa4 in block (this=0x11b6614) at /home/ivan/projects/genode/
 genode-ksyslabs-staging/base/include/base/semaphore.h:46
 #9  down (this=0x11b65d4) at /home/ivan/projects/genode/genode-ksyslabs
 -staging/base/include/base/semaphore.h:155
 #10 main (argc=18572648, argv=0x0) at /home/ivan/projects/genode/genode-
 ksyslabs-staging/qt4/src/lib/qt_main/qt_main.cc:70

 What may cause this error? How to debug in such cases?

 --
 Ivan Loskutov



 --
 Everyone hates slow websites. So do we.
 Make your web apps faster with AppDynamics
 Download AppDynamics Lite for free today:
 http://p.sf.net/sfu/appdyn_sfd2d_oct


 ___
 Genode-main mailing list
 Genode-main@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/genode-main

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: [Question] Genode File/IO sync

2012-09-27 Thread Christian Prochaska
Hello,

from your error description alone it's hard to tell what goes wrong. Can
you perhaps send us a test program (and run script) where the loss of
file content can be observed? The file content should get flushed when
closing the file via the 'close()' function. Does your test program do that?

Regards,
Christian

On 09/27/2012 06:25 AM, 김연우 wrote:
 Dear Genode,

   I'm having some trouble with the File I/O.

   I implemented the File I/O test program to test the Genode. And then, I had 
 experienced a loss of file contents.
   The root cause is my mistake that I doesn't call the fsync function at end 
 of 
 writing. But I can't understand that the file contents is never flushed, even 
 if 
 the application doesn't not call fsync. I assume that the file system of 
 genode 
 doesn't not using the background flush.
   Is it correct? And if it is right, could you tell me why genode doesn't not 
 provide the function of background flush?

 Best,
 Kim, Youn-woo.

 **

 **

 *Kim, YounWoo / M. +82-10-2565-3903*

 *e-Mail. yw0119@samsung.com mailto:eyw0119@samsung.com*

 Engineer

 NextGen. OS Lab in Software RD Center

 *SAMSUNG ELECTRONICS CO., LTD.*



 --
 Everyone hates slow websites. So do we.
 Make your web apps faster with AppDynamics
 Download AppDynamics Lite for free today:
 http://ad.doubleclick.net/clk;258768047;13503038;j?
 http://info.appdynamics.com/FreeJavaPerformanceDownload.html


 ___
 Genode-main mailing list
 Genode-main@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/genode-main

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: error with using %lld in Genode::printf or sprintf and including sstream

2012-07-10 Thread Christian Prochaska
On 10.07.2012 21:34, Christian Helmuth wrote:
 Another one is that I get compilation errors as below:

 error message:
 /usr/local/genode-gcc/bin/../lib/gcc/arm-elf-eabi/4.6.1/../../../../arm-elf-eabi/lib/libstdc++.a(eh_catch.o):
  In function '__cxa_begin_catch':
 (.text.__cxa_begin_catch+0xc0): undefined reference to '__Unwind_Complete'
 /usr/local/genode-gcc/bin/../lib/gcc/arm-elf-eabi/4.6.1/../../../../arm-elf-eabi/lib/libstdc++.a(eh_catch.o):
  In function '__cxa_end_catch':
 (.text.__cxa_end_catch+0x30): undefined reference to 
 '__Unwind_DeleteException'
 /usr/local/genode-gcc/bin/../lib/gcc/arm-elf-eabi/4.6.1/../../../../arm-elf-eabi/lib/libstdc++.a(eh_catch.o):
  In function '__cxa_end_catch':
 (.text.__cxa_end_catch+0xdc): undefined reference to 
 '__Unwind_DeleteException'
 collect2: ld returned 1 exit status
 make[2]: *** [mytest] Error 1
 This indeed seems to be a bug in Genode and I opened a new issue
 https://github.com/genodelabs/genode/issues/275 using this code [2].
 We will investigate this further and report here.

I committed a patch in 
https://github.com/cproc/genode/commit/277bbd4de8985bb182b222138734b0f0bf3f0b66

Christian


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Has anyone had success with GCC SVN/4.7

2012-03-19 Thread Christian Prochaska
Hi Taru,

On 03/19/2012 05:40 AM, Taru Karttunen wrote:
 Hello

 I was hacking around gccgo (go implementation in gcc) and I can get the
 runtime and the compiler compiled when using gcc-4.7-RC-20120314. But
 the issue becomes rest of Genode not liking a newer gcc.

 Has anyone else had success with either GCC 4.7 or a SVN version of GCC?

 My current issue is:
   Library libc
 MERGElibc.lib.so
 fd_alloc.o: In function `Libc::file_descriptor_allocator()':
 /home/taruti/genohack/genode/libports/src/lib/libc/fd_alloc.cc:26:
   undefined reference to `__dso_handle'
 /usr/local/genode-gcc/bin/genode-x86-ld: fd_alloc.o: relocation
   R_X86_64_PC32 against undefined hidden symbol `__dso_handle' can not
   be used when making a shared object

 Has anyone got an idea how to solve this?

 ps. if someone is trying this, one has to compile libsupc++ explicitely
 with -fPIC to get cxx working.

 - Taru Karttunen


I just tried to build gcc-4.7-RC-20120314 using the Genode 'tool_chain'
script, but got compile errors:

../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25840:118:
error: ‘VOID_FTYPE_PLONGLONG_LONGLONG’ undeclared here (not in a function)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25840:3: 
warning:
missing initializer
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25840:3: 
warning:
(near initialization for ‘bdesc_special_args[21].flag’)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25889:111:
error: ‘V4DI_FTYPE_PV4DI’ undeclared here (not in a function)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25889:3: 
warning:
missing initializer
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25889:3: 
warning:
(near initialization for ‘bdesc_special_args[55].flag’)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25890:108:
error: ‘V4SI_FTYPE_PCV4SI_V4SI’ undeclared here (not in a function)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25890:3: 
warning:
missing initializer
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25890:3: 
warning:
(near initialization for ‘bdesc_special_args[56].flag’)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25891:108:
error: ‘V2DI_FTYPE_PCV2DI_V2DI’ undeclared here (not in a function)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25891:3: 
warning:
missing initializer
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25891:3: 
warning:
(near initialization for ‘bdesc_special_args[57].flag’)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25892:117:
error: ‘V8SI_FTYPE_PCV8SI_V8SI’ undeclared here (not in a function)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25892:3: 
warning:
missing initializer
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25892:3: 
warning:
(near initialization for ‘bdesc_special_args[58].flag’)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25893:117:
error: ‘V4DI_FTYPE_PCV4DI_V4DI’ undeclared here (not in a function)
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25893:3: 
warning:
missing initializer
../../../../contrib/gcc-4.7.0-RC-20120314/gcc/config/i386/i386.c:25893:3: 
warning:
(near initialization for ‘bdesc_special_args[59].flag’)

...

Did you get these errors, too? If you did, could you please tell me how
you fixed them and if you had to fix anything else to build your GCC?

Christian


--
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
___
Genode-main mailing list
Genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main