ID de l'article: 000087175 Type de contenu: Dépannage Dernière révision: 10/08/2017

Pourquoi puis-je voir le problème de coherency de cache sur la conception SoC exécutant un système d’exploitation Linux ?

Environnement

  • Intel® Quartus® Prime Standard Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descriptif

    En raison du BSP Linux par défaut ne permettant pas l’activation du cache et de la diffusion de maintenance TLB (le bit0 du registre ACTLR reste « 0 ») en mode SMP, un problème de coherency du cache peut être constaté.

    Pour une description de ce bit, reportez-vous à la section 1.7.3 Maintenance Operations broadcasting dans le manuel de référence technique ARM A9 MPCore[2] :

    Tous les processeurs travaillant en mode SMP sur le même domaine cohérent peuvent envoyer et recevoir des opérations de maintenance TLB et de cache. Le manuel de référence de l’architecture ARM fournit des informations détaillées sur les opérations de diffusion. Un processeur Cortex-A9 dans le cluster A9-MP diffuse des opérations de maintenance diffusion lorsqu’il fonctionne en mode SMP (ACTLR. SMP=1) et lorsque la diffusion du fonctionnement de maintenance est activée (ACTLR. FW=1). Un processeur Cortex-A9 peut recevoir et exécuter des opérations de maintenance de diffusion lorsqu’il fonctionne en mode SMP, ACTLR. SMP=1.

    Résolution

    Il est recommandé de définir les deux ACTLR. FW et ACTLR. SMP à 1. Nous pouvons définir le bit en modifiant le code Linux dans proc-v7. Fichiers S comme ci-dessous :

    #ifdef CONFIG_SMP
    ALT_SMP (mrc p15, 0, r0, c1, c0, 1)
    ALT_UP (mov r0, #(1 << 6)) @ le faire faux pour UP
    tst r0, #(1 << 6) @ Mode SMP/nAMP activé ?
    orreq r0, r0, #(1 << 6) @ Activer le mode SMP/nAMP
    orreq r0, r0, r10 @ Activer les bits SMP spécifiques au processeur
    orr r0, r0, #(1) @ Ajoutez cette ligne pour activer ACTLR[0]
    mcreq p15, 0, r0, c1, c0, 1
    #endif

     

    Produits associés

    Cet article concerne 2 produits

    FPGA et FPGA SoC Cyclone® V
    FPGA et FPGA SoC Intel® Arria® 10

    Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.