Erreu dans Bosokernel pour les intérruptions ? [Résolu]

Signaler
Messages postés
4
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
30 août 2005
-
corole3
Messages postés
39
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
4 janvier 2010
-
Salut à tous,
Voila je me demandais si il n'yavait pas une erreur dans les tutoriaux de BosoKernel.





http://inferno.cs.univ-paris8.fr/~am/tutorial/os/tutorial00.html





L'IDT qui contient les descripteurs d'intérruption doit contenir dans
les 32 premières entrées les descripteurs pour les 32 exceptions que
peuvent lever les processeurs x86.


De ce fait il s'agit d'interruptions qui n'ont aucun lien avec le PIC 8259A mais d'interruptions internes au processeur non ?


Dans ce cas si j'ai raison, les 32 premières fonctions bas niveaux définies en assembleur ne devraient pas contenir ce code :






Code:, ----
mov al,0x20

out 0x20,al







qui correspond à l'envoit d'un EOI (End Of Interrupt) au PIC.





J'ai raison ou j'ai rien compris ?

12 réponses

Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

tu as presque tout compris, les 32 premieres sont des exception qui n'ont rien a voir avec le pic.

par contre, le pic est definit par defaut avec le bios sur les n° d'interrutption 08h..0Fh (maitre) et 0x70..0x77 ( esclave )

donc, il est possible de lever une interruption pic sur les plages 08..0Fh ( notamment timer en 08 et clavier en 09 ) si tu n'as pas reprogrammé ton pic.

il est possible de reprogrammer les n° interruption du pic, les exemples sont simples a trouver...

@++
Messages postés
39
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
4 janvier 2010

Bonsoir,



mon niveau est très débutant, alors je pose ma question quand même:



Dans le tutorial Bosokernel, il donne des commandes pour obtenir le fichier binaire :


"$ nasm -f bin -o bootsect bootsect.asm







Pour lancer le secteur de boot, il faut
copier le binaire sur une disquette :





$ dd if=bootsect of=/dev/fd0"

le "$" n'est pas reconnu, je le supprime, et nasm me fait mon fichier binaire.

Une fois mon fichier binaire obtenu, je le copie sur une disquette vierge, et le pc ne veut pas booter dessus.
ces commandes ressemblent à des commandes linux.

Comment faire ?




Corole3
Messages postés
4
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
30 août 2005

En effet ce sont des commandes Linux ! Le $ est simplement le prompt ou l'invité de commande, il ne doit pas etre tapé.

Il ne suffit pas non plus de copier le fichier obtenu dans une
disquette car les 512 premiers octets de la disquette ne seront pas les
les 512 octets de ton fichier.

IL faut que tu utilises cette commande dd ou un équivalent si tu es
sous Windows (rawrite ? je ne me rappelle plus trop..), recherche avec
Google rawrite peut etre :)

A+
Messages postés
39
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
4 janvier 2010

Merci Edouard_Kaiser,

j'ai utilisé rawrite comme tu m'as dit et ça marche. Le souci c'est que si j'essai d'ouvrir la disquette sous windows, il me dit " disquette non formatée" mais elle boote quand même .

Donc le reste des exemples sont pour Linux

Si j'ai un souci, je repasse.

Merci encore
Corole3[^]
Messages postés
4
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
30 août 2005

Ce n'est pas une question de Linux ou Windows, Linux te dira la meme chose et ne pourra pas monter la disquette.

Windows te dis "disquette non formatée" car dessus il n'y a aucun
système de fichier (FAT), tu as simplement copié en brut ton fichier

sur le premier secteur de ta disquette ! De ce fait, aucun file system...
Messages postés
4
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
30 août 2005

Oui, pour la reprogrammation du pic je connais merci :) Merci pour la confirmation.

----------------------------------------------
Linux ? Il y'a moins bien, mais c'est plus cher !
http://kaiser.edouard.free.fr/
Messages postés
39
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
4 janvier 2010

ok, merci pour cette précision.



Lorsque je parlais de Linux, c'était pour la synthaxe du code utilisé dans l'exemple : $ dd if=bootsect of=/dev/fd0"

alors qu'il faut utilser rawrite.

Heureusement que tu avais posé cette question concernant
Bosokernel, qui m'a permise de poser la mienne.

Merci.

je regarde la suite des exemples

Corole3
Messages postés
5
Date d'inscription
samedi 19 octobre 2002
Statut
Membre
Dernière intervention
8 octobre 2005

hallo
je cherche le code source du bosokernel dans l´internet mais a ce qui parait
le site n´ai plus accecible
est ce que quelqu´un peux me donner le code source en assembleur
mon email est falcon007de@yahoo.de
merci
Messages postés
39
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
4 janvier 2010

Salut,



je te l'envoie

Corole3
Messages postés
17
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
1 février 2006

Slt

Moi aussi je voudrais bien sur [mailto:cos2k@hotmail.com cos2k@hotmail.com] le source de bosokerner car je code un os en Pmode.

JNE[CrAcK] Were MrNop
Messages postés
17
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
1 février 2006

Slt

Moi aussi je voudrais bien sur [mailto:cos2k@hotmail.com cos2k@hotmail.com] le source de bosokerner car je code un os en Pmode.

JNE[CrAcK] Were MrNop
Messages postés
39
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
4 janvier 2010

Salut,



c'est fait

Corole3