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



--
Best Regards

Zeyu Mi (糜泽羽)
Institute of Parallel and Distributed Systems (IPADS),
School of Software,
Shanghai Jiao Tong University