Re: Is the L4Linux running as a Fiasco.OC server?
Zeyu Mi <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <CAN3vb6+ix4Zr2N=ho7QbDF20+zJFXZ4dzWry8DCDoJOfKbc6bQ@mail.gmail.com> |
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 <[email protected]> wrote: > > > On Wed, Mar 7, 2018 at 7:36 AM, Adam Lackorzynski < > [email protected]> 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 <[email protected]> wrote: >> > >> > > >> > > >> > > On Tue, Mar 6, 2018 at 7:50 AM, Adam Lackorzynski < >> > > [email protected]> 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 >> [email protected] >> 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 _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers