<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
<BLOCKQUOTE>Bonsoir à tous,<BR>&nbsp;<BR>Je suis arrivé jusqu'à l'article 4 qui traite de la mise en place de la pagination,<BR>et je m'adresse à vous car j'ai un problème à l'exécution. Bochs dans ses logs me renvoit ceci<BR>tout en&nbsp;rebootant en boucle&nbsp;la machine virtuelle:<BR>&nbsp;<BR>/**************************************************/<BR>Message in a bochs<BR>00016359077e[CPU0 ] interrupt(): not accessable or not code segment cs=0x0008<BR>00016359077e[CPU0 ] interrupt(): not accessable or not code segment cs=0x0008<BR>00016359077i[CPU0 ] CPU is in protected mode (active)<BR>00016359077i[CPU0 ] CS.d_b = 32 bit<BR>00016359077i[CPU0 ] SS.d_b = 32 bit<BR>00016359077i[CPU0 ] EFER&nbsp;&nbsp; = 0x00000000<BR>00016359077i[CPU0 ] | RAX=0000000000000000&nbsp; RBX=000000000002d8e4<BR>00016359077i[CPU0 ] | RCX=0000000000000001&nbsp; RDX=0000000000000002<BR>00016359077i[CPU0 ] | RSP=00000000002044ce&nbsp; RBP=0000000000204504<BR>00016359077i[CPU0 ] | RSI=000000000005453a&nbsp; RDI=000000000005453b<BR>00016359077i[CPU0 ] |&nbsp; R8=0000000000000000&nbsp;&nbsp; R9=0000000000000000<BR>00016359077i[CPU0 ] | R10=0000000000000000&nbsp; R11=0000000000000000<BR>00016359077i[CPU0 ] | R12=0000000000000000&nbsp; R13=0000000000000000<BR>00016359077i[CPU0 ] | R14=0000000000000000&nbsp; R15=0000000000000000<BR>00016359077i[CPU0 ] | IOPL=0 id vip vif ac vm RF nt of df if tf sf zf af pf cf<BR>00016359077i[CPU0 ] | SEG selector&nbsp;&nbsp;&nbsp;&nbsp; base&nbsp;&nbsp;&nbsp; limit G D<BR>00016359077i[CPU0 ] | SEG sltr(index|ti|rpl)&nbsp;&nbsp;&nbsp;&nbsp; base&nbsp;&nbsp;&nbsp; limit G D<BR>00016359077i[CPU0 ] |&nbsp; CS:0008( 0001| 0|&nbsp; 0) 00000000 000fffff 1 1<BR>00016359077i[CPU0 ] |&nbsp; DS:0010( 0002| 0|&nbsp; 0) 00000000 000fffff 1 1<BR>00016359077i[CPU0 ] |&nbsp; SS:0010( 0002| 0|&nbsp; 0) 00000000 000fffff 1 1<BR>00016359077i[CPU0 ] |&nbsp; ES:0010( 0002| 0|&nbsp; 0) 00000000 000fffff 1 1<BR>00016359077i[CPU0 ] |&nbsp; FS:0010( 0002| 0|&nbsp; 0) 00000000 000fffff 1 1<BR>00016359077i[CPU0 ] |&nbsp; GS:0010( 0002| 0|&nbsp; 0) 00000000 000fffff 1 1<BR>00016359077i[CPU0 ] |&nbsp; MSR_FS_BASE:0000000000000000<BR>00016359077i[CPU0 ] |&nbsp; MSR_GS_BASE:0000000000000000<BR>00016359077i[CPU0 ] | RIP=0000000000202337 (0000000000202337)<BR>00016359077i[CPU0 ] | CR0=0x80010011 CR1=0x0 CR2=0x0000000000000000<BR>00016359077i[CPU0 ] | CR3=0x01fef000 CR4=0x00000000<BR>00016359077i[CPU0 ] &gt;&gt; add byte ptr ds:[eax], al : 0000<BR>00016359077e[CPU0 ] exception(): 3rd (13) exception with no resolution, shutdown status is 00h, resetting<BR>00016359077i[SYS&nbsp; ] bx_pc_system_c::Reset(SOFTWARE) called<BR>00016359077i[CPU0 ] cpu software reset<BR>/***************************************************/<BR>&nbsp;<BR>Ce qu'il faut savoir c'est que j'ai réécris les fichiers exception_wrappers.S et<BR>irq_wrappers.S [ainsi que boot.S (mais je pense qu'il n'a pas d'incidence ici)]<BR>pour qu'ils puissent être compilés avec nasm.<BR>&nbsp;<BR>Sinon après avoir expérimenté un peu les choses, l'erreur provient je pense de cette portion<BR>de code suivante qui se situe dans sos/main.c dans la fonction test_paging:<BR>&nbsp;<BR>&nbsp; sos_paging_map(ppage_new, vpage_code,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FALSE,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOS_VM_MAP_ATOMIC<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | SOS_VM_MAP_PROT_READ<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| SOS_VM_MAP_PROT_WRITE);<BR>&nbsp;<BR>en essayant de changer les&nbsp;paramètres envoyés à cette fonction&nbsp;je me suis aperçu que c'est le mapping de la<BR>page de code actuelle (vpage_code) qui doit déclencher une faute, qui en redéclenche une autre<BR>jusqu'à avoir une faute triple. Et d'après le numéro la ligne de log<BR>"00016359077e[CPU0 ] exception(): 3rd (13) exception with no resolution, shutdown status is 00h, resetting"<BR>je pense que l'erreur viendrait d'un #GP (general protection).<BR>&nbsp;<BR>Par contre je n'en sais pas plus et j'avoue être un peu perdu, si des personnes voient d'où l'erreur peut<BR>provenir, ou il faut que je reagarde,&nbsp;je veux bien de l'aide.<BR>&nbsp;<BR>D'avance merci.</BLOCKQUOTE><br /><hr />Tous vos amis discutent sur Messenger, et vous ?  <a href='http://www.windowslive.fr/messenger/' target='_new'>Téléchargez Messenger, c'est gratuit !</a></body>
</html>