Is the L4Linux running as a Fiasco.OC server?

Zeyu Mi yzmizeyu at gmail.com
Fri Mar 9 02:33:05 CET 2018


Hi Adam,

After adding the "noxsaves" parameters, L4Linux works normally!

Thank you very much!

On Fri, Mar 9, 2018 at 7:34 AM, Adam Lackorzynski <adam at os.inf.tu-dresden.de
> wrote:

> Hi,
>
> On Thu Mar 08, 2018 at 11:00:03 +0800, Zeyu Mi wrote:
> > On Thu, Mar 8, 2018 at 8:14 AM, Adam Lackorzynski <
> adam at os.inf.tu-dresden.de
> > > wrote:
> >
> > >
> > > On Wed Mar 07, 2018 at 15:50:24 +0800, Zeyu Mi wrote:
> > > > 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
> > >
> > > That's strange. What are you running inside L4Linux?
> > > What's also interesting is that on QEMU there are page-faults and on
> > > hardware trap6.
> > > For my setups, all looks fine.
> >
> > Hi Adam,
> >
> > I switched to snapshot-17.12, and turned off the VCPU thread model.
> > While this version works normally on QEMU (with -cpu host option, Skylake
> > machine), it triggers
> > a general protection (trap 13) on the Skylake machine. The instruction
> > triggering such fault is "XRSTORS64".
> > It is quite strange to see such phenomenon since the QEMU uses the
> Skylake
> > CPU to run the system, which is
> > the same as the real hardware.
> >
> > Therefore, I dived into the source code and found that the system chose
> > different paths in "copy_kernel_to_xregs_booting"
> > funtion. This function has the following code snippet.
> >
> > if (state_cpu_has(X86_FEATURE_XSAVES))
> >     XSTATE_OP(XRSTORS, xstate, lmask, hmask, err);
> > else
> >     XSTATE_OP(XRSTOR, xstate, lmask, hmask, err);
> >
> > If running in QEMU, the system chose the else branch. But it chose the if
> > branch if running in hardware.
> >
> > Do you have any suggestion on fixing that?
>
> Ok, so looks like an issue with recent FPU stuff, I need to get a
> Skylake as a testbox.
> Please try adding "noxsaves" on the L4Linux command line.
>
>
>
> Adam
>
> _______________________________________________
> l4-hackers mailing list
> l4-hackers at os.inf.tu-dresden.de
> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
>



-- 
Best Regards

Zeyu Mi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20180309/4d15acc2/attachment.htm>


More information about the l4-hackers mailing list