<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 3/20/2013 9:25 AM, Matthew J
      Fletcher wrote:<br>
    </div>
    <blockquote
cite="mid:CAPy9Tin+sFWrdgtJsG=tnFSAtrOaG2a1O1TAEOoP6F7HNupqKw@mail.gmail.com"
      type="cite">
      <p dir="ltr">Joel,</p>
      <p dir="ltr">I did try that but I am using mingw and there is no
        functioning autoconf 2.69 package available, so I can't
        bootstrap a git head checkout.<br>
      </p>
    </blockquote>
    <br>
    Sigh... :(<br>
    <br>
    Ok. I am sure Alan and Chris can try to reproduce this on the head.
    <br>
    <br>
    --joel<br>
    <blockquote
cite="mid:CAPy9Tin+sFWrdgtJsG=tnFSAtrOaG2a1O1TAEOoP6F7HNupqKw@mail.gmail.com"
      type="cite">
      <p dir="ltr">
      </p>
      <div class="gmail_quote">On 20 Mar 2013 14:22, "Joel Sherrill"
        <<a moz-do-not-send="true"
          href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>>
        wrote:<br type="attribution">
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div text="#000000" bgcolor="#FFFFFF">
            <div>On 3/20/2013 8:30 AM, Matthew J Fletcher wrote:<br>
            </div>
            <blockquote type="cite">Hi,<br>
              <br>
              I wonder if this is target specific now, if i literately
              use the sources you posted i get an error '-1' returned
              from the rtems_mkdir().<br>
              <br>
              The only change i made was to malloc a smaller chuck, 32k.
              Of course my malloc() is operating of the same SRAM chip,
              but it was in a different address range.<br>
              <br>
              Not sure what to do now, i guess i have to work out whats
              up with RFS on ARM thumb. Does anyone know what platforms
              RFS was tested/developed on ?<br>
              <br>
              <br>
            </blockquote>
            These are tested by the fstests set of tests. I don't
            believe these were in the 4.10<br>
            tree. Now these are tested on every target that has the
            testsuite run. This would<br>
            primarily be i386, SPARC, MIPS, PowerPC, Coldfire and ARM.
            That's where most<br>
            of the daily developer activity is.<br>
            <br>
            The code was initially developed and tested primarily on
            Coldfire, SPARC, and i386.<br>
            <br>
            Chris can say more about it specifically.<br>
            <br>
            I would suggest that it would be good to see if this fails
            on 4.11 if you haven't<br>
            already.<br>
            <blockquote type="cite"><br>
              <div class="gmail_quote">On 19 March 2013 21:36, Cudmore,
                Alan P. (GSFC-5820) <span dir="ltr"><<a
                    moz-do-not-send="true"
                    href="mailto:alan.p.cudmore@nasa.gov"
                    target="_blank">alan.p.cudmore@nasa.gov</a>></span>
                wrote:<br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  <div style="word-wrap:break-word">No problem. I have a
                    pretty easy to use 4.10 setup right now. 
                    <div><br>
                    </div>
                    <div>I did have to run the memset code for the
                      address space. If you pass a 0 in the cold_boot
                      parameter, it fails.<span><font color="#888888">
                          <div> <br>
                          </div>
                          <div>Alan</div>
                        </font></span>
                      <div>
                        <div>
                          <div><br>
                            <div>
                              <div>On Mar 19, 2013, at 5:21 PM, Matthew
                                J Fletcher <<a moz-do-not-send="true"
                                  href="mailto:amimjf@gmail.com"
                                  target="_blank">amimjf@gmail.com</a>>

                                wrote:</div>
                              <br>
                              <blockquote type="cite">
                                <p dir="ltr">Alan,</p>
                                <p dir="ltr">Thanks very much for
                                  running this test, its given me quite
                                  a bit of confidence.</p>
                                <p dir="ltr">Did you have to memset the
                                  address space to 0xff before you could
                                  register/format the device ?, I found
                                  I had to do that to not get an error
                                  code.</p>
                                <p dir="ltr">I suppose the memset would
                                  rapidly throw up problems if I had
                                  addresses wrong. I can't think what
                                  the issue might be. I will try a
                                  mallocd area like your example though
                                  to see if I get a good result.</p>
                                <div class="gmail_quote">On 19 Mar 2013
                                  21:05, "Cudmore, Alan P. (GSFC-5820)"
                                  <<a moz-do-not-send="true"
                                    href="mailto:alan.p.cudmore@nasa.gov"
                                    target="_blank">alan.p.cudmore@nasa.gov</a>>

                                  wrote:<br type="attribution">
                                  <blockquote class="gmail_quote"
                                    style="margin:0 0 0
                                    .8ex;border-left:1px #ccc
                                    solid;padding-left:1ex">
                                    <div style="word-wrap:break-word">I
                                      took your code below and created
                                      an example that would build and
                                      run on my 4.10.2 setup. I ran this
                                      on the sparc-sis simulator, and it
                                      seems to work fine. 
                                      <div><br>
                                      </div>
                                      <div>Are you sure you have valid
                                        memory for the nvramdisk device?</div>
                                      <div><br>
                                      </div>
                                      <div>We rely on RFS on 4.10.2 and
                                        are giving a pretty good stress
                                        test right now.</div>
                                      <div><br>
                                      </div>
                                      <div>Alan</div>
                                      <div><br>
                                      </div>
                                      <div>------------------------------</div>
                                      <div><br>
                                      </div>
                                      <div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #include <span
                                            style="color:#d12f1b"><errno.h></span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#include

                                          <span style="color:#d12f1b"><stdio.h></span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)">
                                          <span style="color:#78492a">#include
                                          </span><stdlib.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span
                                            style="color:#78492a">#include
                                          </span><sys/stat.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #include <span
                                            style="color:#d12f1b"><fcntl.h></span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #include <span
                                            style="color:#d12f1b"><rtems.h></span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span
                                            style="color:#78492a">#include
                                          </span><rtems/bdbuf.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)">
                                          <span style="color:#78492a">#include
                                          </span><rtems/blkdev.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span
                                            style="color:#78492a">#include
                                          </span><rtems/diskdevs.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span
                                            style="color:#78492a">#include
                                          </span><rtems/error.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)">
                                          <span style="color:#78492a">#include
                                          </span><rtems/flashdisk.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span
                                            style="color:#78492a">#include
                                          </span><rtems/fsmount.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span
                                            style="color:#78492a">#include
                                          </span><rtems/rtems-rfs.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)">
                                          <span style="color:#78492a">#include
                                          </span><rtems/rtems-rfs-format.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span
                                            style="color:#78492a">#include
                                          </span><rtems/nvdisk-sram.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">uint32_t 

                                           
                                          rtems_nvdisk_configuration_size
                                          =<span style="color:#272ad8">1</span>;</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"><span
                                            style="color:#bb2ca2">const</span><span>
                                          </span><span
                                            style="color:#bb2ca2">char</span><span>*
                                            sram_driver = </span><span
                                            style="color:#d12f1b">"/dev/nvda"</span><span>;
                                          </span>//
                                          RTEMS_NVDISK_DEVICE_BASE_NAME,
                                          1st device</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"><span
                                            style="color:#bb2ca2">const</span>
                                          <span style="color:#bb2ca2">char</span>*
                                          sram_path = <span
                                            style="color:#d12f1b">"/sram"</span>;</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px">
                                          <br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">/*</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">
                                           * Let the IO system
                                          allocation the next available
                                          major number.</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">*/</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          RTEMS_DRIVER_AUTO_MAJOR (<span
                                            style="color:#272ad8">0</span>)</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">
                                          /*</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"> *

                                          The SRAM Device setup</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">*/</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                          rtems_nvdisk_device_desc
                                          rtems_sram_device_descriptor[]
                                          =</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">{</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                                  flags:  <span
                                            style="color:#272ad8">0</span>,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                base:   <span
                                            style="color:#272ad8">0</span>,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">
                                          <span>        size:   </span><span
                                            style="color:#272ad8">256</span><span>
                                            * </span><span
                                            style="color:#272ad8">1024</span><span>,
                                          </span>// 256K (Adjust when
                                          ROM.ld, _IMFS_DiskSize is
                                          changed)</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                nv_ops:
                                          &rtems_nvdisk_sram_handlers</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                          };</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"><span
                                            style="color:#bb2ca2">const</span>
                                          rtems_nvdisk_config
                                          rtems_nvdisk_configuration[] =</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">{</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                block_size:         <span
                                            style="color:#272ad8">512</span>,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                device_count:       <span
                                            style="color:#272ad8">1</span>,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                devices:           
                                          &rtems_sram_device_descriptor[<span
                                            style="color:#272ad8">0</span>],</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                flags:              <span
                                            style="color:#272ad8">0</span>,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                info_level:         <span
                                            style="color:#272ad8">0</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">};</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">
                                          /**</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"> *

                                          Create the SRAM Disk Driver
                                          entry.</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"> */</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                          rtems_driver_address_table
                                          rtems_sram_ops = {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            initialization_entry:
                                          rtems_nvdisk_initialize,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              open_entry:          
                                          rtems_blkdev_generic_open,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            close_entry:         
                                          rtems_blkdev_generic_close,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              read_entry:          
                                          rtems_blkdev_generic_read,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            write_entry:         
                                          rtems_blkdev_generic_write,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              control_entry:       
                                          rtems_blkdev_generic_ioctl</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">};</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px">
                                          <br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"><span
                                            style="color:#bb2ca2">void</span>
                                          setup_sram_disk (<span
                                            style="color:#bb2ca2">int</span>
                                          cold_boot)</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                          {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            rtems_device_major_number
                                          major;</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            rtems_status_code        
                                          sc;</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px">
                                          <br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"><span> 
                                              </span>// settings</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                           
                                          rtems_sram_device_descriptor[<span
                                            style="color:#272ad8">0</span>].base

                                          = (uint32_t *) malloc (<span
                                            style="color:#272ad8">256</span>*<span
                                            style="color:#272ad8">1024</span>);</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            <span style="color:#bb2ca2">if</span>
                                          (cold_boot)</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                               
                                          memset(rtems_sram_device_descriptor[<span
                                            style="color:#272ad8">0</span>].base,

                                          <span style="color:#272ad8">0xff</span>,
                                          rtems_sram_device_descriptor[<span
                                            style="color:#272ad8">0</span>].size

                                          );</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            <span style="color:#008400">/*</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"> 
                                            * Register the NV Disk
                                          driver.</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"> 
                                            */</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              sc =
                                          rtems_io_register_driver
                                          (RTEMS_DRIVER_AUTO_MAJOR,
                                          &rtems_sram_ops,
                                          &major);</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            <span style="color:#bb2ca2">if</span>
                                          ( sc < <span
                                            style="color:#272ad8">0</span>
                                          )</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span>  

                                                printf(</span>"RTEMS
                                          Register IO driver failed\n"<span>);</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            <span style="color:#bb2ca2">else</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span>  

                                                printf(</span>"RTEMS
                                          register IO driver OK\n"<span>);</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">}</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px">
                                          <br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">/*</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"> *</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">
                                           * RFS on SRAM</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"> *</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)"> */</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px">
                                          <br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"><span
                                            style="color:#bb2ca2">void</span>
                                          mount_rfs_on_sram(<span
                                            style="color:#bb2ca2">int</span>
                                          cold_boot)</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                          {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            rtems_rfs_format_config
                                          config;</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            rtems_status_code        
                                          rc;</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px">
                                          <br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            setup_sram_disk (cold_boot);</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">
                                          <span>    </span>// zero is a
                                          good set of defaults</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            memset (&config, <span
                                            style="color:#272ad8">0</span>,
                                          <span style="color:#bb2ca2">sizeof</span>
                                          (rtems_rfs_format_config));</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            <span style="color:#bb2ca2">if</span>
                                          (rtems_rfs_format
                                          (sram_driver, &config)
                                          < <span
                                            style="color:#272ad8">0</span>)</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                printf(<span
                                            style="color:#d12f1b">"error:
                                            format of %s failed: %s\n"</span>,
                                          sram_driver, strerror
                                          (errno));</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            <span style="color:#bb2ca2">else</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span>  

                                                printf(</span>"RTEMS RFS
                                          format OK\n"<span>);</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            <span style="color:#bb2ca2">if</span>
                                          (mount_and_make_target_path(</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                sram_driver,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                sram_path,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                                 
                                          RTEMS_FILESYSTEM_TYPE_RFS,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                               
                                          RTEMS_FILESYSTEM_READ_WRITE,</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                                <span
                                            style="color:#bb2ca2">NULL</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                              ) != <span
                                            style="color:#272ad8">0</span>)</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                                  printf(<span
                                            style="color:#d12f1b">"error:
                                            mount of %s to %s failed:
                                            %s\n"</span>, sram_driver,
                                          sram_path, strerror (errno));</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              <span
                                            style="color:#bb2ca2">else</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span>  

                                                printf(</span>"mount and
                                          make target path OK\n"<span>);</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px">  

                                           <br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            rc = rtems_mkdir(<span
                                            style="color:#d12f1b">"sram/DB"</span>,
                                          S_IRWXU | S_IRGRP | S_IXGRP |
                                          S_IROTH | S_IXOTH);</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            <span style="color:#bb2ca2">if</span>
                                          ( rc < <span
                                            style="color:#272ad8">0</span>
                                          )</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span>  

                                                printf(</span>"rtems_mkdir

                                          failed\n"<span>);</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                              }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            <span style="color:#bb2ca2">else</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            {</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)">
                                          <span>       printf(</span>"mkdir

                                          sdram/DB OK\n"<span>);</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                            }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                          }</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">rtems_task

                                          Init(</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                            rtems_task_argument ignored</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">)</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">{</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)">
                                          <span>  printf( </span>"\n\n***

                                          Starting NVRAM Disk Test
                                          ***\n"<span> );</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo"> 
                                          mount_rfs_on_sram(<span
                                            style="color:#272ad8">1</span>);</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span> 
                                            printf( </span>"*** END OF
                                          TEST ***\n"<span> );</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">
                                            exit( <span
                                            style="color:#272ad8">0</span>
                                          );</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo">}</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_EXTRA_TASK_STACKS  
                                                (CONFIGURE_MAXIMUM_TASKS
                                          * RTEMS_MINIMUM_STACK_SIZE)</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_MAXIMUM_DRIVERS    
                                                <span
                                            style="color:#272ad8">6</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">/*

                                          NOTICE: the clock driver is
                                          explicitly disabled */</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define
CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define
CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

                                          CONFIGURE_MAXIMUM_TASKS <span
                                            style="color:#272ad8">40</span> 
                                                        <span
                                            style="color:#008400">// TX
                                            MAX_THREAD</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

                                          CONFIGURE_MAXIMUM_TIMERS <span
                                            style="color:#272ad8">40</span> 
                                                        <span
                                            style="color:#008400">// TX
                                            MAX_TIMER</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_MAXIMUM_SEMAPHORES <span
                                            style="color:#272ad8">40</span> 
                                                    <span
                                            style="color:#008400">// TX
                                            MAX_MUTEX</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_MAXIMUM_MESSAGE_QUEUES
                                          <span style="color:#272ad8">40</span> 
                                                <span
                                            style="color:#008400">// TX
                                            MAX_MSG_QUEUE</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

                                          CONFIGURE_MAXIMUM_PARTITIONS <span
                                            style="color:#272ad8">5</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_MAXIMUM_REGIONS <span
                                            style="color:#272ad8">5</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

                                          CONFIGURE_MAXIMUM_PORTS <span
                                            style="color:#272ad8">0</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

                                          CONFIGURE_MAXIMUM_PERIODS <span
                                            style="color:#272ad8">0</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_MAXIMUM_BARRIERS <span
                                            style="color:#272ad8">0</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_MICROSECONDS_PER_TICK
                                            <span style="color:#272ad8">10000</span>
                                          <span style="color:#008400">/*
                                            10 milliseconds */</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_TICKS_PER_TIMESLICE
                                                <span
                                            style="color:#272ad8">50</span>
                                          <span style="color:#008400">/*
                                            50 milliseconds */</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

CONFIGURE_APPLICATION_NEEDS_LIBBLOCK</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

                                          CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS 

                                          <span style="color:#272ad8">2</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

                                          CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
                                                <span
                                            style="color:#272ad8">8</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_SWAPOUT_TASK_PRIORITY 
                                                <span
                                            style="color:#272ad8">15</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">
                                          #define
                                          CONFIGURE_FILESYSTEM_RFS</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

                                          CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS

                                          <span style="color:#272ad8">10</span></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px">
                                          <br>
                                        </div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

CONFIGURE_RTEMS_INIT_TASKS_TABLE</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(120,73,42)">#define

                                          CONFIGURE_INIT</div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(209,47,27)"><span
                                            style="color:#78492a">#include
                                          </span><rtems/confdefs.h></div>
                                        <div
                                          style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px">
                                          <br>
                                        </div>
                                      </div>
                                      <div>-------------------------------</div>
                                      <div><br>
                                      </div>
                                      <div><br>
                                      </div>
                                      <div><br>
                                        <div>
                                          <div>On Mar 18, 2013, at 2:35
                                            PM, Matthew J Fletcher <<a
                                              moz-do-not-send="true"
                                              href="mailto:amimjf@gmail.com"
                                              target="_blank">amimjf@gmail.com</a>>

                                            wrote:</div>
                                          <br>
                                          <blockquote type="cite">Hi,<br>
                                            <br>
                                            <br>
                                            Alas the mkdir() is the
                                            first filesystem operation i
                                            am doing. I am not sure if i
                                            can send attachments to the
                                            list so i've cut and pasted
                                            the relivant functions
                                            below. I guess the following
                                            would run on any BSP, its
                                            just a 256k block of sram.
                                            If there is a BSP with
                                            enough memory the base
                                            pointer for the filesystem
                                            could just be a big
                                            malloc().<br>
                                            <br>
                                            ------------------- snip
                                            -------------------------<br>
                                            <br>
                                            <br>
                                            #define
                                            CONFIGURE_IDLE_TASK_BODY
                                            rtems_idle<br>
                                            #define
                                            CONFIGURE_EXTRA_TASK_STACKS        
                                            (CONFIGURE_MAXIMUM_TASKS *
                                            RTEMS_MINIMUM_STACK_SIZE)<br>
                                            <br>
                                            #define
                                            CONFIGURE_MAXIMUM_DRIVERS          
                                            6<br>
                                            <br>
                                            /* NOTICE: the clock driver
                                            is explicitly disabled */<br>
                                            #define
                                            CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER<br>
                                            #define
                                            CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER<br>
                                            <br>
                                            #define
                                            CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS<br>
                                            #define
                                            CONFIGURE_MAXIMUM_TASKS
                                            40                // TX
                                            MAX_THREAD<br>
                                            #define
                                            CONFIGURE_MAXIMUM_TIMERS
                                            40                // TX
                                            MAX_TIMER<br>
                                            #define
                                            CONFIGURE_MAXIMUM_SEMAPHORES
                                            40            // TX
                                            MAX_MUTEX<br>
                                            #define
                                            CONFIGURE_MAXIMUM_MESSAGE_QUEUES
                                            40        // TX
                                            MAX_MSG_QUEUE<br>
                                            #define
                                            CONFIGURE_MAXIMUM_PARTITIONS
                                            5<br>
                                            #define
                                            CONFIGURE_MAXIMUM_REGIONS 5<br>
                                            #define
                                            CONFIGURE_MAXIMUM_PORTS 0<br>
                                            #define
                                            CONFIGURE_MAXIMUM_PERIODS 0<br>
                                            #define
                                            CONFIGURE_MAXIMUM_BARRIERS 0<br>
                                            <br>
                                            #define
                                            CONFIGURE_MICROSECONDS_PER_TICK  
                                            10000 /* 10 milliseconds */<br>
                                            #define
                                            CONFIGURE_TICKS_PER_TIMESLICE      
                                            50 /* 50 milliseconds */<br>
                                            <br>
                                            #define
                                            CONFIGURE_APPLICATION_NEEDS_LIBBLOCK<br>
                                            #define
                                            CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS 
                                            2<br>
                                            #define
                                            CONFIGURE_BDBUF_MAX_WRITE_BLOCKS      
                                            8<br>
                                            #define
                                            CONFIGURE_SWAPOUT_TASK_PRIORITY       
                                            15<br>
                                            #define
                                            CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM<br>
                                            #define
                                            CONFIGURE_FILESYSTEM_RFS<br>
                                            #define
                                            CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
                                            10<br>
                                            <br>
                                            #define
                                            CONFIGURE_RTEMS_INIT_TASKS_TABLE<br>
                                            #define CONFIGURE_INIT<br>
                                            #include
                                            <rtems/confdefs.h><br>
                                            <br>
                                            <br>
                                            uint32_t
                                            rtems_flashdisk_configuration_size
                                            =1;<br>
                                            const char* flash_driver =
                                            "/dev/fdda";    //
                                            RTEMS_FLASHDISK_DEVICE_BASE_NAME,
                                            1st device<br>
                                            const char* flash_path =
                                            "/flash";<br>
                                            <br>
                                            uint32_t
                                            rtems_nvdisk_configuration_size
                                            =1;<br>
                                            const char* sram_driver =
                                            "/dev/nvda"; //
                                            RTEMS_NVDISK_DEVICE_BASE_NAME,
                                            1st device<br>
                                            const char* sram_path =
                                            "/sram";<br>
                                            <br>
                                            <br>
                                            /**<br>
                                             * Let the IO system
                                            allocation the next
                                            available major number.<br>
                                             */<br>
                                            #define
                                            RTEMS_DRIVER_AUTO_MAJOR (0)<br>
                                            <br>
                                            #define
                                            FLASHDISK_SEGMENT_COUNT 8 /*
                                            128*/    // Spansion
                                            S29GL128S, 128Mbit part<br>
                                            #define
                                            FLASHDISK_SEGMENT_SIZE (128
                                            * 1024)    // Spansion
                                            S29GL128S, 128k sized
                                            sectors<br>
                                            #define FLASHDISK_BLOCK_SIZE
                                            512<br>
                                            #define
                                            FLASHDISK_BLOCKS_PER_SEGMENT
                                            (FLASHDISK_SEGMENT_SIZE /
                                            FLASHDISK_BLOCK_SIZE)<br>
                                            #define FLASHDISK_SIZE
                                            (FLASHDISK_SEGMENT_COUNT *
                                            FLASHDISK_SEGMENT_SIZE)<br>
                                            <br>
                                            <br>
                                            /**<br>
                                             * The SRAM Device setup<br>
                                             */<br>
                                            rtems_nvdisk_device_desc
                                            rtems_sram_device_descriptor[]
                                            =<br>
                                            {<br>
                                                {<br>
                                                    flags:  0,<br>
                                                    base:   0,<br>
                                                    size:   256 * 1024,
                                            // 256K (Adjust when ROM.ld,
                                            _IMFS_DiskSize is changed)<br>
                                                    nv_ops:
                                            &rtems_nvdisk_sram_handlers<br>
                                                }<br>
                                            };<br>
                                            <br>
                                            const rtems_nvdisk_config
                                            rtems_nvdisk_configuration[]
                                            =<br>
                                            {<br>
                                                {<br>
                                                    block_size:        
                                            512,<br>
                                                    device_count:      
                                            1,<br>
                                                    devices:           
&rtems_sram_device_descriptor[0],<br>
                                                    flags:             
                                            0,<br>
                                                    info_level:        
                                            0<br>
                                                }<br>
                                            };<br>
                                            <br>
                                            <br>
                                            <br>
                                            <br>
                                            /**<br>
                                             * Create the SRAM Disk
                                            Driver entry.<br>
                                             */<br>
                                            rtems_driver_address_table
                                            rtems_sram_ops = {<br>
                                                initialization_entry:
                                            rtems_nvdisk_initialize,<br>
                                                open_entry:          
                                            rtems_blkdev_generic_open,<br>
                                                close_entry:         
                                            rtems_blkdev_generic_close,<br>
                                                read_entry:          
                                            rtems_blkdev_generic_read,<br>
                                                write_entry:         
                                            rtems_blkdev_generic_write,<br>
                                                control_entry:       
                                            rtems_blkdev_generic_ioctl<br>
                                            };<br>
                                            <br>
                                            <br>
                                            <br>
                                            int setup_sram_disk (int
                                            cold_boot)<br>
                                            {<br>
                                               
                                            rtems_device_major_number
                                            major;<br>
                                               
                                            rtems_status_code        
                                            sc;<br>
                                            <br>
                                                // settings<br>
                                               
                                            rtems_sram_device_descriptor[0].base
                                            = (unsigned
                                            long)eTalus_IMFS_start;<br>
                                            <br>
                                                if (cold_boot)<br>
                                                {<br>
                                                   
                                            memset(rtems_sram_device_descriptor[0].base,
                                            0xff,
                                            rtems_sram_device_descriptor[0].size
                                            );<br>
                                                }<br>
                                            <br>
                                                /*<br>
                                                * Register the NV Disk
                                            driver.<br>
                                                */<br>
                                                sc =
                                            rtems_io_register_driver
                                            (RTEMS_DRIVER_AUTO_MAJOR,
                                            &rtems_sram_ops,
                                            &major);<br>
                                            }<br>
                                            <br>
                                            <br>
                                            /*<br>
                                             *<br>
                                             * RFS on SRAM<br>
                                             *<br>
                                             */<br>
                                            <br>
                                            void mount_rfs_on_sram(int
                                            cold_boot)<br>
                                            {<br>
                                                rtems_rfs_format_config
                                            config;<br>
                                            <br>
                                                setup_sram_disk
                                            (cold_boot);<br>
                                            <br>
                                                // zero is a good set of
                                            defaults<br>
                                                memset (&config, 0,
                                            sizeof
                                            (rtems_rfs_format_config));<br>
                                            <br>
                                                if (rtems_rfs_format
                                            (sram_driver, &config)
                                            < 0)<br>
                                                {<br>
                                                   
                                            sprintf(inital_print_buffer,"error:
                                            format of %s failed: %s\n",
                                            sram_driver, strerror
                                            (errno));<br>
                                                   
                                            UART0_SendStr(inital_print_buffer);<br>
                                                }<br>
                                            <br>
                                                if
                                            (mount_and_make_target_path(<br>
                                                    sram_driver,<br>
                                                    sram_path,<br>
                                                   
                                            RTEMS_FILESYSTEM_TYPE_RFS,<br>
                                                   
                                            RTEMS_FILESYSTEM_READ_WRITE,<br>
                                                    NULL<br>
                                                  ) != 0)<br>
                                                {<br>
                                                   
                                            sprintf(inital_print_buffer,"error:
                                            mount of %s to %s failed:
                                            %s\n", sram_driver,
                                            sram_path, strerror
                                            (errno));<br>
                                                   
                                            UART0_SendStr(inital_print_buffer);<br>
                                                }<br>
                                                <br>
                                                rc =
                                            rtems_mkdir("sram/DB",
                                            S_IRWXU | S_IRGRP | S_IXGRP
                                            | S_IROTH | S_IXOTH);<br>
                                            }<br>
                                            <br>
                                            <br>
                                            <br>
                                            ------------------- end
                                            ------------------------<br>
                                            <br>
                                            <br>
                                            <br>
                                            <br>
                                            <br>
                                            <div class="gmail_quote"> On
                                              18 March 2013 17:42, Joel
                                              Sherrill <span dir="ltr"><<a
                                                  moz-do-not-send="true"
href="mailto:joel.sherrill@oarcorp.com" target="_blank">joel.sherrill@oarcorp.com</a>></span>
                                              wrote:<br>
                                              <blockquote
                                                class="gmail_quote"
                                                style="margin:0 0 0
                                                .8ex;border-left:1px
                                                #ccc
                                                solid;padding-left:1ex">
                                                Is this reproducible
                                                with something you can
                                                share?<br>
                                                <br>
                                                Looking at the source, I
                                                think this case is that
                                                you<br>
                                                filled the filesystem
                                                and there were no free
                                                blocks.<br>
                                                But I am looking at the
                                                head and not that
                                                familiar<br>
                                                with this filesystem.<br>
                                                <br>
                                                --joel
                                                <div><br>
                                                  On 3/18/2013 12:20 PM,
                                                  Matthew J Fletcher
                                                  wrote:<br>
                                                  <blockquote
                                                    class="gmail_quote"
                                                    style="margin:0 0 0
                                                    .8ex;border-left:1px
                                                    #ccc
                                                    solid;padding-left:1ex">
                                                    Hi,<br>
                                                    <br>
                                                    I have an RFS
                                                    filesystem using the
                                                    nvram device, its
                                                    formatted ok and
                                                    mount_and_make_target_path()
                                                    also worked ok. But
                                                    attempting to
                                                    mkdir() causes a
                                                    really lowlevel
                                                    issue.<br>
                                                    <br>
                                                    The callstack;<br>
                                                    <br>
                                                    rtems_rfs_block_map_find()

                                                    at
                                                    rtems-rfs-block.c:246
                                                    0x81198bd8<br>
                                                    rtems_rfs_block_map_next_block()

                                                    at
                                                    rtems-rfs-block.c:353
                                                    0x81198d1e<br>
                                                    rtems_rfs_dir_lookup_ino()

                                                    at
                                                    rtems-rfs-dir.c:204
                                                    0x8119951c<br>
                                                    rtems_rfs_rtems_eval_for_make()
                                                    at
                                                    rtems-rfs-rtems.c:440
                                                    0x8118e142<br>
                                                    IMFS_evaluate_for_make()
                                                    at imfs_eval.c:435
                                                    0x81190718<br>
                                                    mknod() at
                                                    mknod.c:64
                                                    0x81183d5c<br>
                                                    mkdir() at
                                                    mkdir.c:29
                                                    0x81183cf0<br>
                                                    build() at
                                                    rtems_mkdir.c:101
                                                    0x811843a0<br>
                                                    rtems_mkdir() at
                                                    rtems_mkdir.c:136
                                                    0x811843a0<br>
                                                    <br>
                                                    <br>
                                                    the
                                                    rtems_rfs_block_pos_block_past_end
                                                    macro is failing and
                                                    causing the return
                                                    of ENXIO.<br>
                                                    <br>
                                                    The two arguments to
                                                    the macro are;<br>
                                                    <br>
                                                    bpos->bno = 1<br>
                                                    bpos->boff = 0<br>
                                                    bpos->block = 0<br>
                                                    <br>
                                                    map->size->count
                                                    = 1<br>
                                                    map->size->offset
                                                    = 0<br>
                                                    <br>
                                                    Which seems to me
                                                    the cause of ENXIO
                                                    being returned, but
                                                    i dont know how my
                                                    BSP could affect
                                                    this.<br>
                                                    <br>
                                                    Do people use RFS in
                                                    production systems ?
                                                    i am using the
                                                    4.10.2 sources.<br>
                                                    <br>
                                                    <br>
                                                    regards<br>
                                                    ---<br>
                                                    Matthew J Fletcher<br>
                                                    <br>
                                                  </blockquote>
                                                  <br>
                                                  <br>
                                                </div>
                                                <span><font
                                                    color="#888888"> --
                                                    <br>
                                                    Joel Sherrill, Ph.D.
                                                                Director
                                                    of Research &
                                                    Development<br>
                                                    <a
                                                      moz-do-not-send="true"
href="mailto:joel.sherrill@OARcorp.com" target="_blank">joel.sherrill@OARcorp.com</a>
                                                           On-Line
                                                    Applications
                                                    Research<br>
                                                    Ask me about RTEMS:
                                                    a free RTOS
                                                     Huntsville AL 35805<br>
                                                    Support Available  
                                                                 (256)
                                                    722-9985<br>
                                                    <br>
                                                  </font></span></blockquote>
                                            </div>
                                            <br>
                                            <br clear="all">
                                            <br>
                                            -- <br>
                                            <div><br>
                                              regards</div>
                                            <div>---</div>
                                            <div>Matthew J Fletcher</div>
                                            <br>
_______________________________________________<br>
                                            rtems-users mailing list<br>
                                            <a moz-do-not-send="true"
                                              href="mailto:rtems-users@rtems.org"
                                              target="_blank">rtems-users@rtems.org</a><br>
                                            <a moz-do-not-send="true"
                                              href="http://www.rtems.org/mailman/listinfo/rtems-users"
                                              target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
                                          </blockquote>
                                        </div>
                                        <br>
                                      </div>
                                    </div>
                                  </blockquote>
                                </div>
                              </blockquote>
                            </div>
                            <br>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </blockquote>
              </div>
              <br>
              <br clear="all">
              <br>
              -- <br>
              <div><br>
                regards</div>
              <div>---</div>
              <div>Matthew J Fletcher</div>
              <br>
            </blockquote>
            <br>
            <br>
            <pre cols="72">-- 
Joel Sherrill, Ph.D.             Director of Research & Development 
<a moz-do-not-send="true" href="mailto:joel.sherrill@OARcorp.com" target="_blank">joel.sherrill@OARcorp.com</a>        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805 
Support Available                (256) 722-9985 </pre>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Joel Sherrill, Ph.D.             Director of Research & Development 
<a class="moz-txt-link-abbreviated" href="mailto:joel.sherrill@OARcorp.com">joel.sherrill@OARcorp.com</a>        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805 
Support Available                (256) 722-9985 </pre>
  </body>
</html>