En raison d’un problème dans la configuration par défaut du contrôleur de cache CoreLink™ niveau 2 du contrôleur de cache L2C-310 dans le noyau linux-socfpga avant la version 4.10, des pannes de coherency des données peuvent être constatées.
Pour les noyaux Linux-socfpga avant 4.10, le contrôleur de cache L2C-310 dispose de la fonction de remplacement des attributs partagés pour que le bit d’activation soit désactivé.
Cela permet au contrôleur d’optimiaser certains accès non cacheables des cœurs MPU ou du port ACP dans des accès non alloués cacheables, et déplace le point de coherency de la mémoire SDRAM vers le cache L2.
La modification du point de coherency peut entraîner des problèmes si les maîtres accèdent à la mémoire SDRAM via L3 ou le pont FPGA2SDRAM.
Référence : CoreLink™ contrôleur de cache de niveau 2 L2C-310, Révision : manuel de référence technique r3p3 (ARM DDI 0246H (ID080112) ) : section 2.3.2 Attributs partagés.
Il est recommandé que le bit de registre Aux Control [22] : le bit d’activation de la substitution d’attribut partagé soit réglé sur ACTIVÉ. Ce paramètre désactive les optimisations du contrôleur de cache L2.
Ce problème est résolu dans les dernières versions linux-socfpga et you-boot-socfpga disponibles auprès de https://github.com/altera-opensource/