[Kos-dev] Appel a testeurs

d2 kos-dev@enix.org
13 Jun 2001 20:18:31 +0200


J'ai modifie le test (uniquement sur cvs). Il s'agit maintenant de
savoir quelle tete a le contexte interrompu quand le #DF surgit dans
le handler d'interruption 0 (timer), apres les push implicites du
processeur.

C'est un peu moins correct.

Sous bochs :

<<
Growing stack down to 0x4003f100, then wait for an IRQ => #DF
Double fault handler
[ Dump of interrupted context TSS (0x20057000) ]
  cr3=0x7ff063
  eip=0x2004647c
lookup_sym(0x2004647c) => /modules/main.ro:tries_stack_fault+0x1c.
  eflags=0x10003
  eax=0x0
  ecx=0x3f8
  edx=0xb809e
  ebx=0x0
  esp=0x4003eff4
  ebp=0x4003f008
  esi=0x0
  edi=0x2003f000
  es=0x10
  cs=0x8
  ss=0x10
  ds=0x10
--------------------------
IRR Master : 0x1, IRR Slave : 0x0
>>

Pourquoi le esp se retrouve autant en dessous de la frontiere de page?
C'est peut-etre normal (a cause du sub $0x8,%esp au debut de la
fonction de test sans doute).

Bref, c'est peut-etre quamd meme correct.

Et sur Cyrix M1 166+ (via ligne serie) :

<<
Growing stack down to 0x4003f100, then wait for an IRQ => #DF
Double fault handler
[ Dump of interrupted context TSS (0x200f7000) ]
  cr3=0x2fff063
  eip=0x200e648c
lookup_sym(0x200e648c) =>
/tftpboot/kos/modules/wolfgang/main.ro:tries_stack_fault+0x1c.
  eflags=0x10003
  eax=0x0
  ecx=0x3f8
  edx=0xb809e
  ebx=0x0
  esp=0x4003eff4
  ebp=0x4003f008
  esi=0x0
  edi=0x200df010
  es=0x10
  cs=0x8
  ss=0x10
  ds=0x10
--------------------------
IRR Master : 0x1, IRR Slave : 0x0

>>


Conclusion : a ce stade, le retour vers le handler d'ISR depuis le #DF
n'a pas l'air de poser de probleme. Reste a verifier ca en vrai.

-- 
d2