Fix grub_pxe_scan.
* grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe. (grub_pxe_scan): Fix types and pxe_rm_entry computation. All users updated. * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct. (grub_pxe_pxenv): Correct type.
This commit is contained in:
parent
f9cefc4eb3
commit
9a09392057
3 changed files with 45 additions and 16 deletions
|
@ -192,6 +192,19 @@ struct grub_pxenv
|
|||
grub_uint32_t pxe_ptr; /* SEG:OFF to !PXE struct. */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct grub_pxe_bangpxe
|
||||
{
|
||||
grub_uint8_t signature[4];
|
||||
#define GRUB_PXE_BANGPXE_SIGNATURE "!PXE"
|
||||
grub_uint8_t length;
|
||||
grub_uint8_t chksum;
|
||||
grub_uint8_t rev;
|
||||
grub_uint8_t reserved;
|
||||
grub_uint32_t undiromid;
|
||||
grub_uint32_t baseromid;
|
||||
grub_uint32_t rm_entry;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct grub_pxenv_get_cached_info
|
||||
{
|
||||
grub_uint16_t status;
|
||||
|
@ -306,7 +319,7 @@ struct grub_pxenv_unload_stack
|
|||
|
||||
int EXPORT_FUNC(grub_pxe_call) (int func, void * data, grub_uint32_t pxe_rm_entry);
|
||||
|
||||
extern struct grub_pxenv *grub_pxe_pxenv;
|
||||
extern struct grub_pxe_bangpxe *grub_pxe_pxenv;
|
||||
|
||||
void grub_pxe_unload (void);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue