RE: Aborted L4linux due to CLI/STI

2014-09-10 Thread Masti Ramya Jayaram
hi,

a. Ok I will re-enable the cmpxchg8b.
b. I am not sure about the changes and since it occurs quite rarely, I am not 
sure if it is a case of not cleaning up interrupts properly after a crash. 

I will live with them for now and get back to this once the other issues are 
sorted out.

thanks,
Ramya

From: l4-hackers [l4-hackers-boun...@os.inf.tu-dresden.de] on behalf of Adam 
Lackorzynski [a...@os.inf.tu-dresden.de]
Sent: 09 September 2014 22:46
To: l4-hackers@os.inf.tu-dresden.de
Subject: Re: Aborted L4linux due to CLI/STI

Hi,

On Mon Sep 08, 2014 at 07:10:00 +, Masti  Ramya Jayaram wrote:
  That's ok as long it's also ok for native Linux.

 I am not sure what they did with native Linux but I know from the SCC
 forums that these instructions do not exist. So I guess that is ok.

  I'm wondering how did you end up with the code containing the cli?
  In L4Linux this part is replaced.

 Well, I am not sure about that. I did force a couple of options though
 as I already mentioned. The reason was that when I tried to compile
 L4linux for pentium/i586, I saw that it would complain about
 CONFIG_X86_CMPXCHG64 not being enabled (this corresponds to the PAE
 option).  So I disabled this explicitly since the processors on the
 SCC do not contain PAE. I also disabled the CONFIG_X86_CMPXCHG and
 CONFIG_CMPXCHG_LOCAL options.

As far as I know the SCC does have a cmpxchg8b so you could just make
Linux use that by tweaking the config.

 Attached is my l4linux config.  Just as a note, I am using quite an
 old build of L4linux. Do you know of any related bugs?

Uh, that's old. There are probably many. Were there any significant
changes to that version?




Adam
--
Adam a...@os.inf.tu-dresden.de
  Lackorzynski http://os.inf.tu-dresden.de/~adam/

___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


Re: Aborted L4linux due to CLI/STI

2014-09-09 Thread Adam Lackorzynski
Hi,

On Mon Sep 08, 2014 at 07:10:00 +, Masti  Ramya Jayaram wrote:
  That's ok as long it's also ok for native Linux.
 
 I am not sure what they did with native Linux but I know from the SCC
 forums that these instructions do not exist. So I guess that is ok.
 
  I'm wondering how did you end up with the code containing the cli?
  In L4Linux this part is replaced.
 
 Well, I am not sure about that. I did force a couple of options though
 as I already mentioned. The reason was that when I tried to compile
 L4linux for pentium/i586, I saw that it would complain about
 CONFIG_X86_CMPXCHG64 not being enabled (this corresponds to the PAE
 option).  So I disabled this explicitly since the processors on the
 SCC do not contain PAE. I also disabled the CONFIG_X86_CMPXCHG and
 CONFIG_CMPXCHG_LOCAL options.

As far as I know the SCC does have a cmpxchg8b so you could just make
Linux use that by tweaking the config.

 Attached is my l4linux config.  Just as a note, I am using quite an
 old build of L4linux. Do you know of any related bugs?

Uh, that's old. There are probably many. Were there any significant
changes to that version?




Adam
-- 
Adam a...@os.inf.tu-dresden.de
  Lackorzynski http://os.inf.tu-dresden.de/~adam/

___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


RE: Aborted L4linux due to CLI/STI

2014-09-08 Thread Masti Ramya Jayaram
Hey Adam,

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

I am not sure what they did with native Linux but I know from the SCC forums 
that these instructions do not exist. So I guess that is ok.

 I'm wondering how did you end up with the code containing the cli? In L4Linux 
 this part is replaced.

Well, I am not sure about that. I did force a couple of options though as I 
already mentioned. The reason was that when I tried to compile L4linux for 
pentium/i586, I saw that it would complain about CONFIG_X86_CMPXCHG64 not being 
enabled (this corresponds to the PAE option).  So I disabled this explicitly 
since the processors on the SCC do not contain PAE. I also disabled the 
CONFIG_X86_CMPXCHG and CONFIG_CMPXCHG_LOCAL options.

Attached is my l4linux config.  Just as a note, I am using quite an old build 
of L4linux. Do you know of any related bugs?

Thanks,
Ramya

From: l4-hackers [l4-hackers-boun...@os.inf.tu-dresden.de] on behalf of Adam 
Lackorzynski [a...@os.inf.tu-dresden.de]
Sent: 08 September 2014 00:29
To: l4-hackers@os.inf.tu-dresden.de
Subject: Re: Aborted L4linux due to CLI/STI

On Fri Sep 05, 2014 at 16:21:34 +, 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 rma...@inf.ethz.ch 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:jne0x534922 cmpxchg8b_emu+18
0x00534916 +6:cmp0x4(%esi),%edx
0x00534919 +9:jne0x534924 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:mov0x4(%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 a...@os.inf.tu-dresden.de
  Lackorzynski http://os.inf.tu-dresden.de/~adam/

___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers#
# Automatically generated make config: don't edit
# Linux/l4 2.6.38-l4 Kernel Configuration
# Fri Sep  5 02:47:55 2014
#

#
# L4Linux configuration
#
CONFIG_L4=y
CONFIG_L4_LINUX=y
CONFIG_L4_OBJ_TREE=/home/rmasti/fiasco/r33-new/src/l4/build
CONFIG_L4_ARCH_X86=y
# CONFIG_L4_ARCH_ARM is not set
CONFIG_L4_VMLINUZ_SUFFIX=
CONFIG_HZ=100
CONFIG_PHYSICAL_START=0x0

#
# Features
#
# CONFIG_L4_SERVER is not set

#
# IRQ Handling
#
# CONFIG_L4_IRQ_SINGLE is not set
CONFIG_L4_IRQ_MULTI=y

#
# Stub drivers
#
CONFIG_L4_EXTERNAL_RTC=y
CONFIG_L4_BLK_DS_DRV=y
CONFIG_L4_CHR_DS_DRV=y
# CONFIG_L4_FB_DRIVER is not set
# CONFIG_L4_NET_ANKH_DRV is not set
# CONFIG_L4_NET_L4SHM is not set
CONFIG_L4_SERIAL=y
CONFIG_L4_SERIAL_CONSOLE=y
# CONFIG_L4_SERIAL_SHM is not set

#
# Debugging options
#
# CONFIG_L4_DEBUG is not set

#
# Advanced options
#
CONFIG_L4_MEMSIZE=32
CONFIG_L4_TAMED=y
# CONFIG_L4_VCPU is not set

#
# Priority configuration
#
CONFIG_L4_PRIO_SERVER_PROC=1
CONFIG_L4_PRIO_IDLER=2
CONFIG_L4_PRIO_IRQ_BASE=3
CONFIG_L4_PRIO_TAMER=22
CONFIG_L4_PRIO_L4FB_INPUT=7
CONFIG_L4_PRIO_L4FB_REFRESH=7
CONFIG_L4_PRIO_L4ANKH=7
CONFIG_L4_CONFIG_CHECKS=y
# CONFIG_L4_SAMPLE_MODULE is not set

#
# 
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT=elf32-i386
CONFIG_ARCH_DEFCONFIG=arch/x86/configs/i386_defconfig
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
# CONFIG_NEED_DMA_MAP_STATE is not set
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

Re: Aborted L4linux due to CLI/STI

2014-09-07 Thread Adam Lackorzynski
On Fri Sep 05, 2014 at 16:21:34 +, 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 rma...@inf.ethz.ch 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:jne0x534922 cmpxchg8b_emu+18
0x00534916 +6:cmp0x4(%esi),%edx
0x00534919 +9:jne0x534924 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:mov0x4(%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 a...@os.inf.tu-dresden.de
  Lackorzynski http://os.inf.tu-dresden.de/~adam/

___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


Re: Aborted L4linux due to CLI/STI

2014-09-05 Thread Masti Ramya Jayaram
I forgot to mention that it also does not support the traditional cmpxchg 
instructions using the lock line. That is why I disabled it.

Sorry about the multiple emails,
Ramya

Sent from my phone

 On 05 Sep 2014, at 18:16, Masti  Ramya Jayaram rma...@inf.ethz.ch 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:jne0x534922 cmpxchg8b_emu+18
   0x00534916 +6:cmp0x4(%esi),%edx
   0x00534919 +9:jne0x534924 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:mov0x4(%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.?
 
 Thanks,
 ramya
 ___
 l4-hackers mailing list
 l4-hackers@os.inf.tu-dresden.de
 http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers