Changeset 552 for trunk/boot/tsar_mips32


Ignore:
Timestamp:
Sep 21, 2018, 10:24:44 PM (6 years ago)
Author:
nicolas.van.phan@…
Message:

Stop fetching instructions from local cluster

At the beginning of the bootloader, all cores in all clusters fetch
their instruction from the memory bank of *cluster 00*.
After replication of the code in all cluster, the cores would
fetch their instruction in their own cluster.
However, to do this, they have to write to coprocessor 2 register 25,
which doesn't exist on the real LETI machine.
As a consequence, this feature has been removed, bringing a contention
point since all cluster now fetch instructions from cluster 00.
This issue will have to be solved in the future.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/boot/tsar_mips32/boot.c

    r550 r552  
    865865
    866866                        // switch to the INSTRUCTION local memory space, to avoid contention.
    867             asm volatile("mtc2  %0, $25" :: "r"(cxy));
     867            // asm volatile("mtc2  %0, $25" :: "r"(cxy));
    868868
    869869            // Copy the arch_info.bin file into the local memory.
     
    932932        // Switch to the INSTRUCTIONS local memory space
    933933        // to avoid contention at the boot cluster.
    934         asm volatile("mtc2  %0, $25" :: "r"(cxy));
     934        // asm volatile("mtc2  %0, $25" :: "r"(cxy));
    935935
    936936        // Get local boot_info_t structure base address.
Note: See TracChangeset for help on using the changeset viewer.