diff options
| author | Matt Fleming <matt.fleming@intel.com> | 2012-11-15 11:54:16 +0000 |
|---|---|---|
| committer | Matt Fleming <matt.fleming@intel.com> | 2012-11-15 13:06:45 +0000 |
| commit | d87b69dccdf1a42942c277ca6b074a69b95d87c4 (patch) | |
| tree | 625326f0c8ff1f32da05f962b0966fe8fd808106 /com32/include/syslinux | |
| parent | 4b0851493dce7cb5a6ada6e525da0bda6f5048dd (diff) | |
| download | syslinux-d87b69dccdf1a42942c277ca6b074a69b95d87c4.tar.gz | |
firmware: Move memory operations into firmware
Instead of littering core/mem with #ifdef SYSLINUX_EFI move memory
operations into the 'firmware' structure so that they can be
implemented differently for BIOS and EFI.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'com32/include/syslinux')
| -rw-r--r-- | com32/include/syslinux/firmware.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/com32/include/syslinux/firmware.h b/com32/include/syslinux/firmware.h index cfe3b8df..c2b5a44c 100644 --- a/com32/include/syslinux/firmware.h +++ b/com32/include/syslinux/firmware.h @@ -37,13 +37,20 @@ struct vesa_ops { int (*font_query)(uint8_t **); }; +enum heap; +struct mem_ops { + void *(*malloc)(size_t, enum heap, size_t); + void *(*realloc)(void *, size_t); + void (*free)(void *); + int (*scan_memory)(scan_memory_callback_t, void *); +}; + struct disk_private; struct initramfs; struct setup_data; struct firmware { void (*init)(void); - int (*scan_memory)(scan_memory_callback_t, void *); void (*adjust_screen)(void); void (*cleanup)(void); struct disk *(*disk_init)(void *); @@ -55,6 +62,7 @@ struct firmware { int (*boot_linux)(void *, size_t, struct initramfs *, struct setup_data *, char *); struct vesa_ops *vesa; + struct mem_ops *mem; }; extern struct firmware *firmware; |
