Relocator16 support

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-01-12 22:15:50 +01:00
parent 49a716be3b
commit cdab631686
4 changed files with 292 additions and 1 deletions

View file

@ -34,6 +34,18 @@ struct grub_relocator32_state
grub_uint32_t esi;
};
struct grub_relocator16_state
{
grub_uint16_t cs;
grub_uint16_t ds;
grub_uint16_t es;
grub_uint16_t fs;
grub_uint16_t gs;
grub_uint16_t ss;
grub_uint16_t sp;
grub_uint16_t ip;
};
struct grub_relocator64_state
{
grub_uint64_t rsp;
@ -46,6 +58,9 @@ struct grub_relocator64_state
grub_addr_t cr3;
};
grub_err_t grub_relocator16_boot (struct grub_relocator *rel,
struct grub_relocator16_state state);
grub_err_t grub_relocator32_boot (struct grub_relocator *rel,
struct grub_relocator32_state state);