Pass %dl to ntldr. Clear other registers.

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-04-15 02:11:26 +02:00
parent b883356cf6
commit dae84898b2
4 changed files with 19 additions and 1 deletions

View file

@ -49,6 +49,7 @@ extern grub_uint16_t grub_relocator16_fs;
extern grub_uint16_t grub_relocator16_gs;
extern grub_uint16_t grub_relocator16_ss;
extern grub_uint16_t grub_relocator16_sp;
extern grub_uint32_t grub_relocator16_edx;
extern grub_uint8_t grub_relocator32_start;
extern grub_uint8_t grub_relocator32_end;
@ -207,6 +208,8 @@ grub_relocator16_boot (struct grub_relocator *rel,
grub_relocator16_ss = state.ss;
grub_relocator16_sp = state.sp;
grub_relocator16_edx = state.edx;
grub_memmove (src, &grub_relocator16_start, RELOCATOR_SIZEOF (16));
err = grub_relocator_prepare_relocs (rel, target, &relst, NULL);