2017-02-10 1 views
0

Dans ARMv8 TRM: Un accès non aligné à tout type de mémoire du périphérique entraîne une erreur d'alignement.Quelle est la définition de la mémoire de l'appareil dans ARMv8?

Qu'entend-on par mémoire de l'appareil. Peut-on appeler la mémoire PCIe BAR sur les cartes Endpoint comme mémoire de l'appareil?

Donc, lorsque les barres EP sont mappées à la mémoire hôte, pouvons-nous appeler cet ensemble de mémoire comme mémoire de l'appareil? La définition d'une certaine zone de mémoire en tant que mémoire de l'appareil dépend de plusieurs facteurs:

+0

De quel manuel parlez-vous exactement? Le document ARM Architecture Reference_Manual pour ARMv8 & v8-A contient de longues descriptions des mémoires normales et des périphériques. – sawdust

+0

ARMv8, généralement les barres de pcie sont mappées memeory. Par ceci nous pouvons les considérer comme mémoire d'appareil. Qui définit cet attribut de type de mémoire dans Linux et sur quelle base? – valmiki

Répondre

0

Vous devez d'abord avoir au moins un des champs du registre MAIR_ELx défini comme mémoire de l'appareil (voir ARM ARM pour la configuration exacte). Deuxièmement, dans vos tables de traduction, la région mappée en tant que mémoire de périphérique doit pointer vers cet index MAIR_ELx spécifique dans ses attributs inférieurs (AttrIdx [4: 2] bits).