Re: Masquage ressources PCI dans le noyau linux

Top Page

Reply to this message
Author: jean-francois simon
Date:  
To: Frédéric
CC: guilde
Subject: Re: Masquage ressources PCI dans le noyau linux
> Le problème c'est que ce nouveau bridge a plus de ressources PCI (5 contre 1), et que ces
> ressources sont plus gourmandes en taille. Si gourmandes que, avec le jeu d'alignement en
> mémoire (masquage bête), ça ne tient plus dans l'espace adressable PCI !


je pense que tu fais tu allusion a ceci?
"....Both PCI I/O and PCI Memory must be allocated to a device in a
naturally aligned way. For example, if a device asks for 0xB0 of PCI
I/O space then it must be aligned on an address that is a multiple of
0xB0. In addition to this, the PCI I/O and PCI Memory bases for any
given bridge must be aligned on 4K and on 1Mbyte boundaries
respectively. Given that the address spaces for downstream devices
must lie within all of the upstream PCI-PCI Bridge's memory ranges for
any given device, it is a somewhat difficult problem to allocate space
efficiently...."


>
> Du coup, lors du boot, le noyau linux n'arrive pas à tout allouer, et ça fout la merde.
> Le plus beau c'est que 2 des ressources sont en fait la même chose que 2 autres, juste pour
> supporter le mode SWAP du bridge (c'est lui qui peut se charger de permutter les datas sur le
> bus VME, plutôt que de le faire dans la librairie), mais ce mode SWAP n'est de toute façon pas
> exploitable sur les processeurs PPC !!!


le vme est big endian, comme les cpu PowerPc. le swap c'est pour quand
ton cpu est un x86. Le swapping est fait a la volee ds ce cas. Mais
est ce qu'il n' y a pas un bit ds l'espace de configuration PCI de la
carte vme pour devalider le swapping?

> On est en train de chercher comment désactiver ça dans le bios de la carte, mais dès qu'on
> essaye de mettre la BAR correspondante à 0, la carte plante instantanément.
> Du coup, on cherche le(s) fichier(s) à patcher dans le noyau pour masquer ces ressources lors
> de l'énumération... Si quelqu'un sait où ça se trouve, ça nous aiderait, car on a le nez dans
> le cambouis du sous-système PCI de linux depuis quelques jours seulement, et c'est pas de la
> tarte pour comprendre toutes les galipettes qui y sont faites !>
> Merci d'avance.
>


j'irai voir ici: http://lxr.linux.no/linux+v3.6.3/drivers/pci/quirks.c

Une solution c'est d'utiliser un kernel linux64bit. Cela suppose que
la carte PPC est en 64bit, et la carte pci-vme supporte aussi le 64b,
bien sur. Dans ce cas il n'y a plus de probleme d'allocation de
resources: la carte pci-vme sera mappee au dela des premiers 4Gbytes.



--
_______________________________________
jean-francois simon - www.themis.com