summaryrefslogtreecommitdiff
path: root/com32/include/syslinux
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2012-11-14 19:32:23 +0000
committerMatt Fleming <matt.fleming@intel.com>2012-11-15 12:26:42 +0000
commit4b0851493dce7cb5a6ada6e525da0bda6f5048dd (patch)
treeed512ff09b7554ef73b20d3b9c1070be6fb6a45d /com32/include/syslinux
parentbd7ce1bbf3393be32ee63a5139fffd1aae11c7fd (diff)
downloadsyslinux-4b0851493dce7cb5a6ada6e525da0bda6f5048dd.tar.gz
sys/vesa: Modularise common vesa code
There's lots of the vesa infrastructure that can be shared for both BIOS and EFI, so share the things that are common and split out the things that are not into firmware-specific functions and use the 'firmware' structure to access them. This commit is part of a series of changes that removes all EFI-specific code from everywhere except efi/, which means we can delete inclusion of any gnu-efi header files and remove gnu-efi paths from CFLAGS. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'com32/include/syslinux')
-rw-r--r--com32/include/syslinux/firmware.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/com32/include/syslinux/firmware.h b/com32/include/syslinux/firmware.h
index 05f97630..cfe3b8df 100644
--- a/com32/include/syslinux/firmware.h
+++ b/com32/include/syslinux/firmware.h
@@ -27,6 +27,16 @@ struct adv_ops {
int (*write)(void);
};
+struct vesa_info;
+enum vesa_pixel_format;
+struct win_info;
+
+struct vesa_ops {
+ int (*set_mode)(struct vesa_info *, int *, int *, enum vesa_pixel_format *);
+ void (*screencpy)(size_t, const uint32_t *, size_t, struct win_info *);
+ int (*font_query)(uint8_t **);
+};
+
struct disk_private;
struct initramfs;
struct setup_data;
@@ -44,6 +54,7 @@ struct firmware {
struct adv_ops *adv_ops;
int (*boot_linux)(void *, size_t, struct initramfs *,
struct setup_data *, char *);
+ struct vesa_ops *vesa;
};
extern struct firmware *firmware;