FWIW, I have looked to the code, and I'm a bit suspicious about the
following. The value of the second sector of stage2 is kept, by
stage1_5.c, finally via disk_read_func, and passed via chain_stage2 which
is defined in "asm.S". This value is moved in %ebp :
/* set up to pass the second sector of stage2 */
movl 0xc(%esp), %ebp
and finally, another function is called :
call EXT_C(prot_to_real)
But we have the following comment before real_to_prot and prot_to_real :
/*
* These next two routines, "real_to_prot" and "prot_to_real" are
* structured
* in a very specific way. Be very careful when changing them.
*
* NOTE: Use of either one messes up %eax and %ebp.
*/
So...
--
Thierry LARONDE <[EMAIL PROTECTED]>
10, rue du Bel Air, 74000 ANNECY - FRANCE/ Tel : 33.(0)4.50.67.46.61
/home du SDF (Site Debian Francophone) : http://sdf.polynum.org/
_______________________________________________
Bug-grub mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-grub