Hi Adam,
Sorry for bothering you again...
I have changed to snapshot-17.09 and the "s" command works normally.
I also disabled the VCPU thread model in the L4Linux config and it can be compiled without any error :)
However, the L4Linux keeps reporting the following error message if running in QEMU.
Non-resolvable page fault at b300b308, ip 6454e6. Page fault (non-resolved): pfa=b300b308 pc=6454e6 Non-resolvable page fault at b300b308, ip 6454e6. Die message: Trap: 14 Non-resolvable page fault at b300b308, ip 205390. Page fault (non-resolved): pfa=b300b308 pc=205390 Non-resolvable page fault at b300b308, ip 205390. Die message: Trap: 14
If running on the real hardware (a Skylake machine), it keeps reporting the following message.
L4x: Main thread running, waiting... Die message: Trap: 6 Die message: Trap: 6 Die message: Trap: 6 Die message: Trap: 6 Die message: Trap: 6 Die message: Trap: 6
On Wed, Mar 7, 2018 at 12:19 PM, Zeyu Mi yzmizeyu@gmail.com wrote:
On Wed, Mar 7, 2018 at 7:36 AM, Adam Lackorzynski < adam@os.inf.tu-dresden.de> wrote:
Hi,
On Tue Mar 06, 2018 at 10:22:18 +0800, Zeyu Mi wrote:
On Tue, Mar 6, 2018 at 9:20 AM, Zeyu Mi yzmizeyu@gmail.com wrote:
On Tue, Mar 6, 2018 at 7:50 AM, Adam Lackorzynski < adam@os.inf.tu-dresden.de> wrote:
Hi,
Hi Adam,
On Mon Mar 05, 2018 at 19:47:19 +0800, Zeyu Mi wrote:
I am studying the implementation of the Fiasco.OC and the L4Linux.
I have searched on the Internet and many papers and documents
record
that
L4Linux runs as an L4 server and any L4Linux user process is a new task, which has a new page table different from that of an L4Linux server.
However, the experiment result seems to conflict with those
documents.
When
I started a new program in the L4Linux shell and used "lp" command (show present list) in JDB, I
noticed
that there was one thread having "vcpu" state. But the resulted list did not contain any new thread or task which
is
related to the new program.
I am very confused and wondering whether or not the implementation
recorded
in those papers or documents are wrong or obsolete?
Your obvservations are all right, however, 'lp' lists all threads in
the
system but not tasks (aka address spaces). For listing tasks, use
's',
where you will see all the tasks for the Linux user processes.
I have tried 's' command, but there was alwasy a general protection
fault.
The following is the error message.
KERNEL: Warning: No page-fault handler for 0xfffffffff0400008, error
0x0,
pc fffffffff000922b General Protection (eip=fffffffff0042dc3, err=0000000000000000) --
jdb bug?
Strange. You might want to update your snapshot version although I cannot remember having seen such an error. Alternatively use shift-Q and look for tasks.
There has been a change in model for L4Linux. With the vcpu model
there
is only one thread (the vcpu) which is moving between the tasks for execution. In the previous thread mode there has been a thread in
each
user process. Both variants are still available through the L4Linux config.
Could you kindly tell me how to enable the previous thread mode?
Hi Adam, I have disabled the vcpu exeuction mode by changing the L4Linux config. But there is one warning treated as an error when compiling the L4Linux. Following is the detailed error log:
src/l4linux/arch/l4/kernel/main.c:3853:2: error: implicit declaration
of
function ‘get_cpu_gdt_table’ [-Werror=implicit-function-declaration] l4x_load_percpu_gdt_descriptor(get_cpu_gdt_table(_cpu));
Do you have any suggestion to fix that?
Disable CONFIG_SMP?
Hi Adam,
I have disable CONFIG_SMP, but encountered the following error. src/l4linux/arch/l4/kernel/arch-x86/dispatch.c: In function ‘utcb_to_thread_struct’: src/l4linux/arch/l4/kernel/arch-x86/dispatch.c:276:3: error: ‘struct thread_struct’ has no member named ‘gs’ t->gs = exc->gs; Any idea?
BTW, is it possible to enable the previous thread model and SMP in the L4Linux simultaneously?
Adam
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
-- Best Regards
Zeyu Mi (糜泽羽) Institute of Parallel and Distributed Systems (IPADS), School of Software, Shanghai Jiao Tong University