Je dois prendre en charge un ancien matériel, quelle bibliothèque d'utilisateurs n'a pas de code source, mais j'ai le code source du pilote de périphérique. Par conséquent, je dois réécrire le pilote de périphérique pour prendre en charge les binaires d'utilisateur en mode IA-32.Comment faire pour supporter IA-32 pour mmap sur x86_64?
Pour les appels ioctl, compat_ioctl est ajouté pour prendre en charge IA-32 dans l'interface utilisateur. Mais la bibliothèque 32 bits fait des appels mmap, ce qui ne renvoie que la moitié de l'adresse (bien sûr). Ma question est, y a-t-il un support pour mmap qui est similaire à compat_ioctl vs ioctl? Si pas compat_mmap, comment prendre en charge l'appel de mmap de l'utilisateur IA-32?
Appréciez votre aide!
En effet. Et pour élaborer, la seule raison pour laquelle ioctl a besoin d'une version spéciale pour le support 32 bits est qu'il n'a pas de signature fixe pour que le noyau puisse réinterpréter; son argument peut prendre différents types, et peut pointer vers des types de structure qui diffèrent sur 32 et 64 bits. 'mmap' n'a pas de tels problèmes. –
Bien expliqué. Je vous remercie – duyt