<div class="gmail_extra"><br></div><div class="gmail_extra">Here is my progress update on the problem of booting on SCC.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I found that the variable bsp is not correctly set in apic_init (/kernel/arch/x86/apic.c). bsp is initiated as true when defined. But there is no code that set its value when __scc__ is defined. The only code that touch bsp is wapped by #if !defined(__scc__) || defined.</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">So I added the following line in text_init (/kernel/arch/x86_32/init.c), right after print the &quot;My APIC ID:&quot; message, </div><div class="gmail_extra"><br>

</div><div class="gmail_extra">bsp = (apic_id == 0);</div><div class="gmail_extra"><br></div><div class="gmail_extra">It&#39;s a temporal hack that we assume core 0 is always the bsp core.</div><div class="gmail_extra"><br>

</div><div class="gmail_extra">After done this, core 1 will realize that it&#39;s not bsp core so it will not try to boot core 0. But then I immediately found that the core_data passed to core 1 is corrupted. I found this from:</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">- core_data-&gt;memory_base_start = 0x0ffb7000, which seems ok but core_data-&gt;memory_bits = 0, this will make app_alloc_phys_end = 0x0ffb7001 and fail app_alloc_phys</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">- core_data-&gt;dst_core_id and src_arch_id is wrong (some meaningless number)</div><div class="gmail_extra"><br></div><div class="gmail_extra">I&#39;m trying to figure out whether core 0 has place the x86_core_data structure correctly..</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra">Jinghao<br><br><div class="gmail_quote">On Fri, Apr 27, 2012 at 2:18 PM, Shi Jinghao <span dir="ltr">&lt;<a href="mailto:jhshi89@gmail.com" target="_blank">jhshi89@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra">Hi, Stefan,</div><div class="gmail_extra"><br></div><div class="gmail_extra">I tried release2011-09-02 but it&#39;s still not work, and the same problem occurs.</div>

<div class="gmail_extra"><br></div>
<div class="gmail_extra">Don&#39;t know if you got any clue yet, but when I insert a printk in function kernel_startup (/kernel/arch/x86/startup_x86.c). I find that the function apic_is_bsp() may not work properly: each core think it&#39; startup core!! But when I traced the code and come to apic_base_msr (function apic_init in file /kernel/arch/x86/apic.c), I am lost, and can not figure out where apic_base_msr.bsp is set. Any hints here?</div>


<div class="gmail_extra"><br></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra">Jinghao</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Here is the code snippet where I inserted printk, FYI:</div>


<div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">290     if (apic_is_bsp()) {</div><div class="gmail_extra">291         printk(LOG_DEBUG, &quot;\n in kernel_startup, I am BSP\n&quot;);</div>


<div class="gmail_extra">292         /* Initialize the location to allocate phys memory from */</div><div class="gmail_extra">293         bsp_init_alloc_addr = glbl_core_data-&gt;start_free_ram;</div><div class="gmail_extra">


294     </div><div class="gmail_extra">295         /* spawn init */</div><div class="gmail_extra">296         init_dcb = spawn_bsp_init(BSP_INIT_MODULE_PATH, bsp_alloc_phys);</div><div class="gmail_extra">297     } else {</div>


<div class="gmail_extra">298         printk(LOG_DEBUG, &quot;\n in kernel_startup, I am NOT BSP\n&quot;);</div><div class="gmail_extra">299         my_core_id = core_data-&gt;dst_core_id;</div><div class="gmail_extra">300 </div>


<div class="gmail_extra">301         /* Initialize the allocator */</div><div class="gmail_extra">302         app_alloc_phys_start = core_data-&gt;memory_base_start;</div><div class="gmail_extra">303         app_alloc_phys_end   = ((lpaddr_t)1 &lt;&lt; core_data-&gt;memory_bits) +</div>


<div class="gmail_extra">304                                     app_alloc_phys_start;</div><div class="gmail_extra">305     </div><div class="gmail_extra">306         init_dcb = spawn_app_init(core_data, APP_INIT_PROG_NAME, app_alloc_phys);</div>


<div class="gmail_extra">307     }</div><div><div class="h5"><div><br></div><br><div class="gmail_quote">On Tue, Apr 24, 2012 at 4:13 AM, Stefan Kästle <span dir="ltr">&lt;<a href="mailto:stefan.kaestle@inf.ethz.ch" target="_blank">stefan.kaestle@inf.ethz.ch</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    this is harder to fix than I originally though. I will take some
    time to fix (especially since I am a little busy right now).<br>
    <br>
    Maybe you want to use an earlier version of Barrelfish in the
    meanwhile, e.g. revision release2011-09-02?! Since then, nothing
    significantly changed for the SCC code anyway. That one works fine
    on our SCC. In case you revert, make sure to do a clean rebuild!<br>
    <br>
    Cheers<br>
     Stefan<br>
    <br>
    On 04/22/2012 12:18 PM, Shi Jinghao (史经浩) wrote:
    <blockquote type="cite">
      
      <div class="gmail_extra">Hi, stefan.</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">I changed the line as you instructed and
        it works. But when I try to boot core 0, 1, 2 ,3</div>
      <div class="gmail_extra">
        with the following line:</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">module /scc/sbin/spawnd boot bootscc=1-3</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">The same problem occurs (ouput attached).
        So what&#39;s the proper syntax that correctly</div>
      <div class="gmail_extra">boot scc cores (e.g. {0, 1, 2, 3}, or {0,
        2, 4, 6} )?</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">Regards,</div>
      <div class="gmail_extra">Jinghao</div>
      <div class="gmail_extra">
        <br>
      </div>
      <div class="gmail_extra">
        ---------- OUTPUT START ------------------------------</div>
      <div class="gmail_extra">
        <div class="gmail_extra">Kernel starting at address 0x80100000</div>
        <div>Barrelfish CPU driver starting on scc core 0</div>
      </div>
      <div class="gmail_extra">
        <div class="gmail_extra">init: invoked as: init 2097152</div>
        <div class="gmail_extra">Spawning memory server
          (scc/sbin/mem_serv)...</div>
        <div class="gmail_extra">Spawning monitor (scc/sbin/monitor)...</div>
        <div class="gmail_extra">
          starting monitor as &#39;scc/sbin/monitor 327680 &#39;</div>
        <div class="gmail_extra">monitor: invoked as: scc/sbin/monitor
          327680</div>
        <div class="gmail_extra">RAM allocator initialised, 1612 MB (of
          1628 MB) available</div>
        <div class="gmail_extra">Spawning chips on core 0</div>
        <div class="gmail_extra">Spawning /scc/sbin/ramfsd on core 0</div>
        <div class="gmail_extra">Spawning /scc/sbin/spawnd on core 0</div>
        <div class="gmail_extra">Spawning /scc/sbin/startd on core 0</div>
        <div class="gmail_extra">0 chips: client waiting for ramfs</div>
        <div class="gmail_extra">ramfsd.0: pre-populating from boot
          image...</div>
        <div class="gmail_extra">0 chips: client waiting for ramfs</div>
        <div class="gmail_extra">
          ramfsd.0: ready</div>
        <div class="gmail_extra">0 chips: notifying client about ramfs</div>
        <div class="gmail_extra">0 chips: notifying client about ramfs</div>
        <div class="gmail_extra">kernel 0: Allocating RAM at 0x80000000
          uninitialized</div>
        <div class="gmail_extra">kernel 0: Allocating RAM at 0x80010000
          uninitialized</div>
        <div class="gmail_extra">spawnd.0: coreid 0 is arch id 0</div>
        <div class="gmail_extra">spawnd.0: coreid 1 is arch id 1</div>
        <div class="gmail_extra">
          spawnd.0: coreid 2 is arch id 2</div>
        <div class="gmail_extra">spawnd.0: coreid 3 is arch id 3</div>
        <div class="gmail_extra">0 chips: client waiting for
          all_spawnds_up</div>
        <div class="gmail_extra">Monitor 0: booting scc core 1 as
          &#39;/scc/sbin/cpu&#39;</div>
        <div class="gmail_extra">kernel 0: Allocating RAM at 0x80020000
          uninitialized</div>
        <div class="gmail_extra">Kernel starting at address 0x80100000</div>
        <div class="gmail_extra">My APIC ID: 1</div>
        <div class="gmail_extra">
          Barrelfish CPU driver starting on scc core 1</div>
        <div class="gmail_extra">init: invoked as: init 2097152</div>
        <div class="gmail_extra">Spawning memory server
          (scc/sbin/mem_serv)...</div>
        <div class="gmail_extra">Spawning monitor (scc/sbin/monitor)...</div>
        <div class="gmail_extra">
          starting monitor as &#39;scc/sbin/monitor 327680 &#39;</div>
        <div class="gmail_extra">monitor: invoked as: scc/sbin/monitor
          327680</div>
        <div class="gmail_extra">RAM allocator initialised, 1612 MB (of
          1628 MB) available</div>
        <div class="gmail_extra">Spawning chips on core 1</div>
        <div class="gmail_extra">Spawning /scc/sbin/ramfsd on core 1</div>
        <div class="gmail_extra">Spawning /scc/sbin/spawnd on core 1</div>
        <div class="gmail_extra">Spawning /scc/sbin/startd on core 1</div>
        <div class="gmail_extra">0 chips: client waiting for ramfs</div>
        <div class="gmail_extra">ramfsd.1: pre-populating from boot
          image...</div>
        <div class="gmail_extra">0 chips: client waiting for ramfs</div>
        <div class="gmail_extra">
          ramfsd.1: ready</div>
        <div class="gmail_extra">0 chips: notifying client about ramfs</div>
        <div class="gmail_extra">0 chips: notifying client about ramfs</div>
        <div class="gmail_extra">kernel 1: Allocating RAM at 0x84000000
          uninitialized</div>
        <div class="gmail_extra">kernel 1: Allocating RAM at 0x84010000
          uninitialized</div>
        <div class="gmail_extra">spawnd.1: coreid 0 is arch id 2</div>
        <div class="gmail_extra">spawnd.1: coreid 1 is arch id 1</div>
        <div class="gmail_extra">
          spawnd.1: coreid 2 is arch id 3</div>
        <div class="gmail_extra">0 chips: client waiting for
          all_spawnds_up</div>
        <div class="gmail_extra">Monitor 1: booting scc core 0 as
          &#39;/scc/sbin/cpu&#39;</div>
        <div class="gmail_extra">
          kernel 1: Allocating RAM at 0x84020000 uninitialized</div>
        <div class="gmail_extra">kernel 1 PANIC! kernel assertion
          &quot;rck_get_coreid() == 0&quot; failed at ../kernel/arch/scc/rck.c:876</div>
        <div class="gmail_extra">kernel 1: exception 3 (error code 0x0):
          breakpoint</div>
        <div class="gmail_extra">On behalf of: monitor</div>
        <div class="gmail_extra">Faulting instruction pointer (or
          following instruction): 0x8010a7bf (0x 10a7bf in binary)</div>
        <div class="gmail_extra">EAX 0x80118000 EBX 0x80116e88 ECX 0x0
          EDX 0x805202c0 ESP 0x80920a08</div>
        <div class="gmail_extra">Top o&#39; stack:</div>
        <div class="gmail_extra">0x8010a7bf 0x2 0x8 0x10 0x3 0x0
          0x8010a7bf 0x8 0x2 0x80520180 0x80116e88 0x80920a44 0x8010c612
          0x80116e88 0x210d6000 0x80920a64 0x8010c64b 0x801164a0
          0x80114c10 0x80114b55 </div>
        <div class="gmail_extra">No GDB backend</div>
        <div class="gmail_extra">---------------- OUTPUT END
          ----------------------------</div>
        <div><br>
        </div>
        <br>
        <div class="gmail_quote">On Sun, Apr 22, 2012 at 5:33 PM, <span dir="ltr">&lt;<a href="mailto:barrelfish-users-request@lists.inf.ethz.ch" target="_blank">barrelfish-users-request@lists.inf.ethz.ch</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send
            Barrelfish-users mailing list submissions to<br>
                   <a href="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank">barrelfish-users@lists.inf.ethz.ch</a><br>
            <br>
            To subscribe or unsubscribe via the World Wide Web, visit<br>
                   <a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
            or, via email, send a message with subject or body &#39;help&#39; to<br>
                   <a href="mailto:barrelfish-users-request@lists.inf.ethz.ch" target="_blank">barrelfish-users-request@lists.inf.ethz.ch</a><br>
            <br>
            You can reach the person managing the list at<br>
                   <a href="mailto:barrelfish-users-owner@lists.inf.ethz.ch" target="_blank">barrelfish-users-owner@lists.inf.ethz.ch</a><br>
            <br>
            When replying, please edit your Subject line so it is more
            specific<br>
            than &quot;Re: Contents of Barrelfish-users digest...&quot;<br>
            <br>
            <br>
            Today&#39;s Topics:<br>
            <br>
              1. Problems when booting Barrelfish on SCC (???? &lt;<a href="mailto:jhshi@cs.hku.hk" target="_blank">jhshi@cs.hku.hk</a>&gt;)<br>
              2. Re: Problems when booting Barrelfish on SCC (Stefan
            K?stle)<br>
            <br>
            <br>
----------------------------------------------------------------------<br>
            <br>
            Message: 1<br>
            Date: Sun, 22 Apr 2012 17:12:57 +0800<br>
            From: Shi Jinghao (???? &lt;<a href="mailto:jhshi@cs.hku.hk" target="_blank">jhshi@cs.hku.hk</a>&gt;<br>
            Subject: [Barrelfish-users] Problems when booting Barrelfish
            on SCC<br>
            To: <a href="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank">barrelfish-users@lists.inf.ethz.ch</a><br>
            Message-ID:<br>
                   &lt;<a href="mailto:CAKdW-HFRKv6HWqAxwsL5MMJRqot6BSPkHXPx9ecXg3eaONRHZw@mail.gmail.com" target="_blank">CAKdW-HFRKv6HWqAxwsL5MMJRqot6BSPkHXPx9ecXg3eaONRHZw@mail.gmail.com</a>&gt;<br>
            Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
            <br>
            Hi,<br>
            <br>
            I&#39;m trying to boot barrelfish on SCC. I&#39;ve managed to
            compile the source,<br>
            get barrelfish0.obj and <a href="http://barrelfish48.mt" target="_blank">barrelfish48.mt</a>.<br>
            Then I use the bootscc.sh to boot it. For test, I just want
            to boot core 0<br>
            and core 1, but a weird problem<br>
            happens: core 1 is trying to boot core 0. Here is the output
            after system<br>
            start.<br>
            <br>
            ----------------------OUTPUT START
            ------------------------------------<br>
            Kernel starting at address 0x80100000<br>
            hku@ubuntu:~/fish/<a href="http://hg.barrelfish.org/build$" target="_blank">hg.barrelfish.org/build$</a>
            My APIC ID: 0<br>
            Barrelfish CPU driver starting on scc core 0<br>
            init: invoked as: init 2097152<br>
            Spawning memory server (scc/sbin/mem_serv)...<br>
            Spawning monitor (scc/sbin/monitor)...<br>
            starting monitor as &#39;scc/sbin/monitor 327680 &#39;<br>
            monitor: invoked as: scc/sbin/monitor 327680<br>
            RAM allocator initialised, 1612 MB (of 1628 MB) available<br>
            Spawning chips on core 0<br>
            Spawning /scc/sbin/ramfsd on core 0<br>
            Spawning /scc/sbin/spawnd on core 0<br>
            Spawning /scc/sbin/startd on core 0<br>
            0 chips: client waiting for ramfs<br>
            ramfsd.0: pre-populating from boot image...<br>
            0 chips: client waiting for ramfs<br>
            ramfsd.0: ready<br>
            0 chips: notifying client about ramfs<br>
            0 chips: notifying client about ramfs<br>
            kernel 0: Allocating RAM at 0x80000000 uninitialized<br>
            kernel 0: Allocating RAM at 0x80010000 uninitialized<br>
            spawnd.0: coreid 0 is arch id 0<br>
            spawnd.0: coreid 1 is arch id 1<br>
            0 chips: client waiting for all_spawnds_up<br>
            Monitor 0: booting scc core 1 as &#39;/scc/sbin/cpu&#39;<br>
            kernel 0: Allocating RAM at 0x80020000 uninitialized<br>
            Kernel starting at address 0x80100000<br>
            My APIC ID: 1<br>
            Barrelfish CPU driver starting on scc core 1<br>
            init: invoked as: init 2097152<br>
            Spawning memory server (scc/sbin/mem_serv)...<br>
            Spawning monitor (scc/sbin/monitor)...<br>
            starting monitor as &#39;scc/sbin/monitor 327680 &#39;<br>
            monitor: invoked as: scc/sbin/monitor 327680<br>
            RAM allocator initialised, 1612 MB (of 1628 MB) available<br>
            Spawning chips on core 1<br>
            Spawning /scc/sbin/ramfsd on core 1<br>
            Spawning /scc/sbin/spawnd on core 1<br>
            Spawning /scc/sbin/startd on core 1<br>
            0 chips: client waiting for ramfs<br>
            ramfsd.1: pre-populating from boot image...<br>
            0 chips: client waiting for ramfs<br>
            ramfsd.1: ready<br>
            0 chips: notifying client about ramfs<br>
            0 chips: notifying client about ramfs<br>
            kernel 1: Allocating RAM at 0x84000000 uninitialized<br>
            kernel 1: Allocating RAM at 0x84010000 uninitialized<br>
            spawnd.1: coreid 0 is arch id 0<br>
            spawnd.1: coreid 1 is arch id 1<br>
            0 chips: client waiting for all_spawnds_up<br>
            Monitor 1: booting scc core 0 as &#39;/scc/sbin/cpu&#39;<br>
            ********* Why would core 1 want to boot core 0 ?
            **************<br>
            kernel 1: Allocating RAM at 0x84020000 uninitialized<br>
            kernel 1 PANIC! kernel assertion &quot;rck_get_coreid() == 0&quot;
            failed at<br>
            ../kernel/arch/scc/rck.c:876<br>
            kernel 1: exception 3 (error code 0x0): breakpoint<br>
            On behalf of: monitor<br>
            Faulting instruction pointer (or following instruction):
            0x8010a7bf (0x<br>
            10a7bf in binary)<br>
            EAX 0x80118000 EBX 0x80116e88 ECX 0x0 EDX 0x805202c0 ESP
            0x80920a08<br>
            Top o&#39; stack:<br>
            0x8010a7bf 0x2 0x8 0x10 0x3 0x0 0x8010a7bf 0x8 0x2
            0x80520180 0x80116e88<br>
            0x80920a44 0x8010c612 0x80116e88 0x210d6000 0x80920a64
            0x8010c64b<br>
            0x801164a0 0x80114c10 0x80114b55<br>
            No GDB backend<br>
            --------------- OUTPUT END ------------------------------<br>
            <br>
            As I see it, core 1 seems thought that it&#39;s the bsp core
            (while it&#39;s not)<br>
            so it&#39;s responsible to boot other cores. But I fail to see
            why core 1 would<br>
            think like that.<br>
            <br>
            Any ideas on this? Thanks in advance.<br>
            <br>
            Regards,<br>
            Jinghao<br>
            <br>
            FYI, this is my menu.lst.scc<br>
            <br>
             1 timeout 0<br>
             2<br>
             3 # spawnd is used to control which cpus are booted<br>
             4 #<br>
             5 # &quot;spawnd boot&quot; will use the skb and pci to figure out
            and<br>
             6 #  boot all cores in the machine<br>
             7 #<br>
             8 # &quot;spawnd boot bootscc=1-6&quot; will not use the skb and<br>
             9 # boot the list of cores passed as argument.<br>
             10 # The hardware id of the cores to boot should be
            specified.<br>
             11 # This list may not include the bsp core id.<br>
             12<br>
             13 title   Barrelfish<br>
             14 root    (nd)<br>
             15 kernel  /scc/sbin/cpu loglevel=4<br>
             16 module  /scc/sbin/cpu<br>
             17 module  /scc/sbin/init<br>
             18<br>
             19 # Domains spawned by init<br>
             20 module  /scc/sbin/mem_serv<br>
             21 module  /scc/sbin/monitor<br>
             22<br>
             23 module  /scc/sbin/chips boot<br>
             24 module  /scc/sbin/ramfsd boot<br>
             25 module  /scc/sbin/spawnd boot bootscc=0-1<br>
             26 module  /scc/sbin/startd boot<br>
             27<br>
             28 #module /scc/sbin/examples/xmpl-hello<br>
             29<br>
             30 # modules needed to start the networking<br>
             31 # module  /scc/sbin/eMAC core=0 device=2<br>
             32 # module  /scc/sbin/netd core=0 cardname=eMAC2_0<br>
             33 # module  /scc/sbin/eMAC core=1<br>
             34 # module  /scc/sbin/netd core=1 cardname=eMAC2_1<br>
             35<br>
             36 # Test for network throughput<br>
             37 # module  /scc/sbin/netthroughput core=1 /nfs<br>
            nfs://<a href="http://10.110.4.41/shared/nfs/pravin/testfile.txt" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> 10.110.4.41/shared/nfs/pravin/testfile.txt</a><br>



             38<br>
             39 # For webserver<br>
             40 # module  /scc/sbin/webserver core=1 eMAC2_1 10.110.4.41<br>
            /shared/pravin/sw<br>
             41<br>
             42 # RCK memory map<br>
             43 # Everything up til VGA is private RAM (maybe we want to
            throw it away)<br>
             44 mmap    map 0x0     0xa000      2<br>
             45 # Everything after VGA is private RAM (we also live in
            this area)<br>
             46 mmap    map 0xe800      0x26ff1800  1<br>
             47 # Shared RAM (over all MCs) in the middle of address
            space<br>
             48 #mmap   map 0x80000000  0x4000000   1<br>
             49 mmap    map     0x80000000      0x40000000      1<br>
             50 # At the very end we have some platform memory (bootup
            EEPROM)<br>
             51 mmap    map 0xfffc0000  0x40000     2<br>
            -------------- next part --------------<br>
            An HTML attachment was scrubbed...<br>
            URL: <a href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/e2ff7982/attachment-0001.html" target="_blank">https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/e2ff7982/attachment-0001.html</a><br>



            <br>
            ------------------------------<br>
            <br>
            Message: 2<br>
            Date: Sun, 22 Apr 2012 11:33:52 +0200<br>
            From: Stefan K?stle &lt;<a href="mailto:stefan.kaestle@inf.ethz.ch" target="_blank">stefan.kaestle@inf.ethz.ch</a>&gt;<br>
            Subject: Re: [Barrelfish-users] Problems when booting
            Barrelfish on<br>
                   SCC<br>
            To: &lt;<a href="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank">barrelfish-users@lists.inf.ethz.ch</a>&gt;<br>
            Message-ID: &lt;<a href="mailto:4F93D080.6080905@inf.ethz.ch" target="_blank">4F93D080.6080905@inf.ethz.ch</a>&gt;<br>
            Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
            <br>
            Hi,<br>
            <br>
            can you try replacing<br>
            module  /scc/sbin/spawnd boot bootscc=0-1<br>
            with<br>
            module  /scc/sbin/spawnd boot bootscc=1<br>
            and try it again?<br>
            <br>
            The boot-up of core 0 is implicit - we do not specify it as
            a spwand<br>
            argument.<br>
            <br>
            Cheers,<br>
             Stefan<br>
            <br>
            On 04/22/2012 11:12 AM, Shi Jinghao (???) wrote:<br>
            &gt; Hi,<br>
            &gt;<br>
            &gt; I&#39;m trying to boot barrelfish on SCC. I&#39;ve managed to
            compile the<br>
            &gt; source, get barrelfish0.obj and <a href="http://barrelfish48.mt" target="_blank">barrelfish48.mt</a> &lt;<a href="http://barrelfish48.mt" target="_blank">http://barrelfish48.mt</a>&gt;.<br>
            &gt; Then I use the bootscc.sh to boot it. For test, I just
            want to boot<br>
            &gt; core 0 and core 1, but a weird problem<br>
            &gt; happens: core 1 is trying to boot core 0. Here is the
            output after<br>
            &gt; system start.<br>
            &gt;<br>
            &gt; ----------------------OUTPUT START
            ------------------------------------<br>
            &gt; Kernel starting at address 0x80100000<br>
            &gt; hku@ubuntu:~/fish/<a href="http://hg.barrelfish.org/build$" target="_blank">hg.barrelfish.org/build$</a><br>
            &gt; &lt;<a href="http://hg.barrelfish.org/build$" target="_blank">http://hg.barrelfish.org/build$</a>&gt;
            My APIC ID: 0<br>
            &gt; Barrelfish CPU driver starting on scc core 0<br>
            &gt; init: invoked as: init 2097152<br>
            &gt; Spawning memory server (scc/sbin/mem_serv)...<br>
            &gt; Spawning monitor (scc/sbin/monitor)...<br>
            &gt; starting monitor as &#39;scc/sbin/monitor 327680 &#39;<br>
            &gt; monitor: invoked as: scc/sbin/monitor 327680<br>
            &gt; RAM allocator initialised, 1612 MB (of 1628 MB)
            available<br>
            &gt; Spawning chips on core 0<br>
            &gt; Spawning /scc/sbin/ramfsd on core 0<br>
            &gt; Spawning /scc/sbin/spawnd on core 0<br>
            &gt; Spawning /scc/sbin/startd on core 0<br>
            &gt; 0 chips: client waiting for ramfs<br>
            &gt; ramfsd.0: pre-populating from boot image...<br>
            &gt; 0 chips: client waiting for ramfs<br>
            &gt; ramfsd.0: ready<br>
            &gt; 0 chips: notifying client about ramfs<br>
            &gt; 0 chips: notifying client about ramfs<br>
            &gt; kernel 0: Allocating RAM at 0x80000000 uninitialized<br>
            &gt; kernel 0: Allocating RAM at 0x80010000 uninitialized<br>
            &gt; spawnd.0: coreid 0 is arch id 0<br>
            &gt; spawnd.0: coreid 1 is arch id 1<br>
            &gt; 0 chips: client waiting for all_spawnds_up<br>
            &gt; Monitor 0: booting scc core 1 as &#39;/scc/sbin/cpu&#39;<br>
            &gt; kernel 0: Allocating RAM at 0x80020000 uninitialized<br>
            &gt; Kernel starting at address 0x80100000<br>
            &gt; My APIC ID: 1<br>
            &gt; Barrelfish CPU driver starting on scc core 1<br>
            &gt; init: invoked as: init 2097152<br>
            &gt; Spawning memory server (scc/sbin/mem_serv)...<br>
            &gt; Spawning monitor (scc/sbin/monitor)...<br>
            &gt; starting monitor as &#39;scc/sbin/monitor 327680 &#39;<br>
            &gt; monitor: invoked as: scc/sbin/monitor 327680<br>
            &gt; RAM allocator initialised, 1612 MB (of 1628 MB)
            available<br>
            &gt; Spawning chips on core 1<br>
            &gt; Spawning /scc/sbin/ramfsd on core 1<br>
            &gt; Spawning /scc/sbin/spawnd on core 1<br>
            &gt; Spawning /scc/sbin/startd on core 1<br>
            &gt; 0 chips: client waiting for ramfs<br>
            &gt; ramfsd.1: pre-populating from boot image...<br>
            &gt; 0 chips: client waiting for ramfs<br>
            &gt; ramfsd.1: ready<br>
            &gt; 0 chips: notifying client about ramfs<br>
            &gt; 0 chips: notifying client about ramfs<br>
            &gt; kernel 1: Allocating RAM at 0x84000000 uninitialized<br>
            &gt; kernel 1: Allocating RAM at 0x84010000 uninitialized<br>
            &gt; spawnd.1: coreid 0 is arch id 0<br>
            &gt; spawnd.1: coreid 1 is arch id 1<br>
            &gt; 0 chips: client waiting for all_spawnds_up<br>
            &gt; Monitor 1: booting scc core 0 as &#39;/scc/sbin/cpu&#39;<br>
            &gt; ********* Why would core 1 want to boot core 0 ?
            **************<br>
            &gt; kernel 1: Allocating RAM at 0x84020000 uninitialized<br>
            &gt; kernel 1 PANIC! kernel assertion &quot;rck_get_coreid() ==
            0&quot; failed at<br>
            &gt; ../kernel/arch/scc/rck.c:876<br>
            &gt; kernel 1: exception 3 (error code 0x0): breakpoint<br>
            &gt; On behalf of: monitor<br>
            &gt; Faulting instruction pointer (or following
            instruction): 0x8010a7bf<br>
            &gt; (0x 10a7bf in binary)<br>
            &gt; EAX 0x80118000 EBX 0x80116e88 ECX 0x0 EDX 0x805202c0
            ESP 0x80920a08<br>
            &gt; Top o&#39; stack:<br>
            &gt; 0x8010a7bf 0x2 0x8 0x10 0x3 0x0 0x8010a7bf 0x8 0x2
            0x80520180<br>
            &gt; 0x80116e88 0x80920a44 0x8010c612 0x80116e88 0x210d6000
            0x80920a64<br>
            &gt; 0x8010c64b 0x801164a0 0x80114c10 0x80114b55<br>
            &gt; No GDB backend<br>
            &gt; --------------- OUTPUT END
            ------------------------------<br>
            &gt;<br>
            &gt; As I see it, core 1 seems thought that it&#39;s the bsp
            core (while it&#39;s<br>
            &gt; not) so it&#39;s responsible to boot other cores. But I
            fail to see why<br>
            &gt; core 1 would think like that.<br>
            &gt;<br>
            &gt; Any ideas on this? Thanks in advance.<br>
            &gt;<br>
            &gt; Regards,<br>
            &gt; Jinghao<br>
            &gt;<br>
            &gt; FYI, this is my menu.lst.scc<br>
            &gt;<br>
            &gt;   1 timeout 0<br>
            &gt;   2<br>
            &gt;   3 # spawnd is used to control which cpus are booted<br>
            &gt;   4 #<br>
            &gt;   5 # &quot;spawnd boot&quot; will use the skb and pci to figure
            out and<br>
            &gt;   6 #  boot all cores in the machine<br>
            &gt;   7 #<br>
            &gt;   8 # &quot;spawnd boot bootscc=1-6&quot; will not use the skb
            and<br>
            &gt;   9 # boot the list of cores passed as argument.<br>
            &gt;  10 # The hardware id of the cores to boot should be
            specified.<br>
            &gt;  11 # This list may not include the bsp core id.<br>
            &gt;  12<br>
            &gt;  13 title   Barrelfish<br>
            &gt;  14 root    (nd)<br>
            &gt;  15 kernel  /scc/sbin/cpu loglevel=4<br>
            &gt;  16 module  /scc/sbin/cpu<br>
            &gt;  17 module  /scc/sbin/init<br>
            &gt;  18<br>
            &gt;  19 # Domains spawned by init<br>
            &gt;  20 module  /scc/sbin/mem_serv<br>
            &gt;  21 module  /scc/sbin/monitor<br>
            &gt;  22<br>
            &gt;  23 module  /scc/sbin/chips boot<br>
            &gt;  24 module  /scc/sbin/ramfsd boot<br>
            &gt;  25 module  /scc/sbin/spawnd boot bootscc=0-1<br>
            &gt;  26 module  /scc/sbin/startd boot<br>
            &gt;  27<br>
            &gt;  28 #module /scc/sbin/examples/xmpl-hello<br>
            &gt;  29<br>
            &gt;  30 # modules needed to start the networking<br>
            &gt;  31 # module  /scc/sbin/eMAC core=0 device=2<br>
            &gt;  32 # module  /scc/sbin/netd core=0 cardname=eMAC2_0<br>
            &gt;  33 # module  /scc/sbin/eMAC core=1<br>
            &gt;  34 # module  /scc/sbin/netd core=1 cardname=eMAC2_1<br>
            &gt;  35<br>
            &gt;  36 # Test for network throughput<br>
            &gt;  37 # module  /scc/sbin/netthroughput core=1 /nfs<br>
            &gt; nfs://<a href="http://10.110.4.41/shared" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> 10.110.4.41/shared</a>
            &lt;<a href="http://10.110.4.41/shared" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> http://10.110.4.41/shared</a>&gt;<br>
            &gt; /nfs/pravin/testfile.txt<br>
            &gt;  38<br>
            &gt;  39 # For webserver<br>
            &gt;  40 # module  /scc/sbin/webserver core=1 eMAC2_1
            10.110.4.41<br>
            &gt; /shared/pravin/sw<br>
            &gt;  41<br>
            &gt;  42 # RCK memory map<br>
            &gt;  43 # Everything up til VGA is private RAM (maybe we
            want to throw it<br>
            &gt; away)<br>
            &gt;  44 mmap    map 0x0     0xa000      2<br>
            &gt;  45 # Everything after VGA is private RAM (we also live
            in this area)<br>
            &gt;  46 mmap    map 0xe800      0x26ff1800  1<br>
            &gt;  47 # Shared RAM (over all MCs) in the middle of
            address space<br>
            &gt;  48 #mmap   map 0x80000000  0x4000000   1<br>
            &gt;  49 mmap    map     0x80000000      0x40000000      1<br>
            &gt;  50 # At the very end we have some platform memory
            (bootup EEPROM)<br>
            &gt;  51 mmap    map 0xfffc0000  0x40000     2<br>
            &gt;<br>
            &gt;<br>
            &gt;<br>
            &gt; _______________________________________________<br>
            &gt; Barrelfish-users mailing list<br>
            &gt; <a href="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank">Barrelfish-users@lists.inf.ethz.ch</a><br>
            &gt; <a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
            -------------- next part --------------<br>
            An HTML attachment was scrubbed...<br>
            URL: <a href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/ffc2681c/attachment.html" target="_blank">https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/ffc2681c/attachment.html</a><br>



            <br>
            ------------------------------<br>
            <br>
            _______________________________________________<br>
            Barrelfish-users mailing list<br>
            <a href="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank">Barrelfish-users@lists.inf.ethz.ch</a><br>
            <a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
            <br>
            <br>
            End of Barrelfish-users Digest, Vol 27, Issue 9<br>
            ***********************************************<br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
  </div>

</blockquote></div><br></div></div></div>
</blockquote></div><br></div>