[Kos-dev] debugging ...

Thomas Petazzoni kos-dev@yoda.isnpro.com
Tue, 20 Feb 2001 18:53:34 +0100


salut;

pour debugger l'histoire du double fault je fais la chose suivante :
asm("int $8");
il voit bien que c'est un TSS mais me dit que c'est un TSS pourri.

dixit plex86 le type est mauvais, mais ce qui est bizarre que ce soit
dans Bochs ou Plex, c la facon dont le type est gere :

	if (type != 9 && type != 1)
		panic();

9 c'est le type du TSS 32bits (le notre) et le 1 le type du TSS 16b. or
type ne peut pas etre simultanement egal a 1 et a 9 ?
j'ai peut etre un pb de logique maisla je ne comprends pas.

je dump le TSS du double fault, tout semble correct sauf une chose : SS2
ne semble pas etre  la bonne valeur ! c'est tres etrange car pourtant
on l'initialise correctement.
j'ai aussi dumper le TSS Selector, et j'ai corrige la task gate, car on
faisait une betise (il ne fallait pas oublier les 3 bits de poids
faibles pour la selection de la table et du RPL !).

bref cf commit pour voir les dump et tout.
-- 
PETAZZONI Thomas
thomas.petazzoni@meridon.com     UIN : 34937744
Projet KOS : http://kos.enix.org