newreloc on yeeloong

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-01-23 13:30:24 +01:00
parent 3c83bc50db
commit 7d8c9ec63d
8 changed files with 126 additions and 82 deletions

View file

@ -21,6 +21,7 @@
#include <grub/types.h>
#include <grub/err.h>
#include <grub/relocator.h>
struct grub_relocator32_state
{
@ -30,10 +31,8 @@ struct grub_relocator32_state
int jumpreg;
};
void *grub_relocator32_alloc (grub_size_t size);
grub_err_t grub_relocator32_boot (void *relocator, grub_uint32_t dest,
struct grub_relocator32_state state);
void *grub_relocator32_realloc (void *relocator, grub_size_t size);
void grub_relocator32_free (void *relocator);
grub_err_t
grub_relocator32_boot (struct grub_relocator *rel,
struct grub_relocator32_state state);
#endif /* ! GRUB_RELOCATOR_CPU_HEADER */

View file

@ -31,7 +31,7 @@ void
grub_cpu_relocator_init (void);
grub_err_t
grub_relocator_prepare_relocs (struct grub_relocator *rel, grub_addr_t addr,
grub_addr_t *relstart);
grub_addr_t *relstart, grub_size_t *relsize);
void grub_cpu_relocator_forward (void *rels, void *src, void *tgt,
grub_size_t size);
void grub_cpu_relocator_backward (void *rels, void *src, void *tgt,