Re: Aborted L4linux due to CLI/STI

Adam Lackorzynski <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
On Fri Sep 05, 2014 at 16:21:34 +0000, Masti  Ramya Jayaram wrote:
> I forgot to mention that it also does not support the traditional
> cmpxchg instructions using the lock line. That is why I disabled it.

That's ok as long it's also ok for native Linux.

> > On 05 Sep 2014, at 18:16, "Masti  Ramya Jayaram" <[email protected]> wrote:
> > 
> > Dear all,
> > 
> > I get an error during L4linux boot when I enter the debugger (using ESC) and resume:
> > 
> > Aborted L4linux due to CLI/STI at 0x534911. 
> > 
> > When I disassemble this using gdb:
> > 
> > (gdb) disassemble 0x534911
> > Dump of assembler code for function cmpxchg8b_emu:
> >   0x00534910 <+0>:    pushf  
> >   0x00534911 <+1>:    cli    
> >   0x00534912 <+2>:    cmp    (%esi),%eax
> >   0x00534914 <+4>:    jne    0x534922 <cmpxchg8b_emu+18>
> >   0x00534916 <+6>:    cmp    0x4(%esi),%edx
> >   0x00534919 <+9>:    jne    0x534924 <half_same>
> >   0x0053491b <+11>:    mov    %ebx,(%esi)
> >   0x0053491d <+13>:    mov    %ecx,0x4(%esi)
> >   0x00534920 <+16>:    popf   
> >   0x00534921 <+17>:    ret    
> >   0x00534922 <+18>:    mov    (%esi),%eax
> >   0x00534924 <+0>:    mov    0x4(%esi),%edx
> >   0x00534927 <+3>:    popf   
> >   0x00534928 <+4>:    ret    
> > 
> > When I built l4linux, I had to disable CONFIG_X86_CMPXCHG,
> > CONFIG_CMPXCHG_LOCAL and  CONFIG_X86_CMPXCHG64 despite building for
> > the Pentium because my processor does not support PAE (which is the
> > option that enables this). I am guessing This is the reason it tries
> > to emulate the CMPXCHG instructions.
> > 
> > What is the correct l4linux configuration to use for a machine that
> > does not support any of the atomic instructions like CMPXCHG8,
> > ATOMIC, etc.?

Which processor type did you select?
In L4Linux, there's an adapted version of the cmpxchg8b_emu code that is
enabled if CONFIG_X86_CMPXCHG64 is not set. I'm wondering how did you
end up with the code containing the cli? In L4Linux this part is
replaced.




Adam
-- 
Adam                 [email protected]
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.