Le mode réel sous Linux ?

thegen Messages postés 24 Statut Membre -  
thegen Messages postés 24 Statut Membre -
Bonjour,
J'ai quelques questions concernant l'utilisation des interruptions Bios (A3h) sous Linux.

1. D'abord, est ce qu'on peut appeler une inter Bios depuis un programme Assembleur sous Linux ?
Parce qu'en fait, j'ai essayé mais ca me génère l'erreur "Segmentation fault" !!!!!

2. Comment basculer en mode réel, pour pouvoir accéder à la totalité de la mémoire ?

3. Est ce qu'il y a des équivalents (appels système) aux interruption 13h (je veux des informations sur la mémoire et les disques durs), est ce l'appel syst 80h fournit cela ?

Merci d'avance.
A voir également:

2 réponses

kilian Messages postés 8854 Statut Modérateur 1 526
 
1. D'abord, est ce qu'on peut appeler une inter Bios depuis un programme Assembleur sous Linux ?
Parce qu'en fait, j'ai essayé mais ca me génère l'erreur "Segmentation fault" !!!!


Non, tu ne peux pas, il faut être en mode réel.

2. Comment basculer en mode réel, pour pouvoir accéder à la totalité de la mémoire ?

Je ne sais pas, une chose est sûre, c'est que si tu peux le faire, c'est uniquement depuis le noyau. Et si je ne m'abuse, en mode réel tu n'as justement pas accés à la totalité de la mémoire. Tu n'as que 1 Mo.
https://fr.wikipedia.org/wiki/Mode_r%C3%A9el

Mais bon quand je lis ça j'ai un doute:
http://www.alrj.org/docs/hardware/flat-rm.php

En théorie, il ya un registre qui s'appelle cr0 et son premier bit c'est le mode.
S'il est à 0 on est en réel, s'il est à 1 on est en protégé.
Donc tu peux faire ça pour passer en mode réel:
mov eax, cr0
and al, 0xfe
mov cr0, eax


Mais comme je le disais, à priori tu ne peux le faire qu'en mode noyau, et j'imagine que ça implique beaucoup de problèmes sous-jacents.

3. Est ce qu'il y a des équivalents (appels système) aux interruption 13h (je veux des informations sur la mémoire et les disques durs), est ce l'appel syst 80h fournit cela ?

Oh oui, ben ça dépend ce que tu veux comme informations exactes.
0
thegen Messages postés 24 Statut Membre 1
 
Bonjour Kilian,
D'abord, merci pour la réponse.
En fait, je veux des informations sur la mémoire physique (total, libre..), et des informations sur les disques durs (nombre, taille, nbre secteurs, nbres tetes de lect/ecrit...).

Si vous connaissez la fonction qui fait cela, veuillez me dire SVP, ou me donner un lien vers une liste complète des fonctions 80h, j'en ai vraiment besoin...

Merci.
0