[RTEMS Project] #3149: SP 37 Test failure on Beaglebone Black

RTEMS trac trac at rtems.org
Thu Sep 21 15:35:44 UTC 2017


#3149: SP 37 Test failure on Beaglebone Black
-------------------------+------------------------------
 Reporter:  Chris Johns  |       Owner:  joel.sherrill@…
     Type:  defect       |      Status:  new
 Priority:  normal       |   Milestone:  Indefinite
Component:  cpukit       |     Version:  4.12
 Severity:  normal       |  Resolution:
 Keywords:  Beaglebone   |
-------------------------+------------------------------

Comment (by Joel Sherrill):

 Works on erc32 and psim
 Fails on jmr3904 and xilinx_zynq_a9_qemu

 The two failures are difference. On the MIPS, the issue is that
 _ISR_Get_level() is not returning the value that was set immediately
 above. I am guessing that the _ISR_Set_level() for the mips and arm ports
 translates the requested level into a register setting and then doesn't
 reverse the translation on the _ISR_Get_level().

 The code in question is around line 130 with a printf() added to show the
 value:

   ISR_Level current = 0;
   ISR_Level last_proper_level;

   _ISR_Set_level( current );
   printf( "_ISR_Get_Level()=0x%08x current=0x%08x\n",
      _ISR_Get_level(), current );
   rtems_test_assert( _ISR_Get_level() == current );

 jmr3904 output

 ** BEGIN OF TEST SP 37 ***
 _ISR_Get_Level()=0x0000007f current=0x00000000
 ../../../../../../../rtems/c/src/../../testsuites/sptests/sp37/init.c: 133
 _ISR_Get_level() == current

 On the ARM, it is failing calling the body version of
 rtems_interrupt_disable() in rtems/src/intr.c. No obvious failure looking
 at the code.

--
Ticket URL: <http://devel.rtems.org/ticket/3149#comment:1>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list