aboutsummaryrefslogtreecommitdiffstats
path: root/core/bios.c
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2012-01-27 21:35:02 +0000
committerMatt Fleming <matt.fleming@intel.com>2012-02-02 16:24:08 +0000
commitdb7dfa4c8eac192fa3e91a94b47cc324d698715b (patch)
tree0bb74b28725c44a5a4d5a0ba7b59c3e98977012d /core/bios.c
parent6414cda12d09d39b894e5d7f5af20fa71bfb9e04 (diff)
downloadsyslinux-db7dfa4c8eac192fa3e91a94b47cc324d698715b.tar.gz
syslinux-db7dfa4c8eac192fa3e91a94b47cc324d698715b.tar.xz
syslinux-db7dfa4c8eac192fa3e91a94b47cc324d698715b.zip
firmware: Add EFI linux boot support
Add .boot_linux to 'struct firmware', we do quite a lot of things differently for BIOS and EFI. For EFI we don't need the movelist code because we have little control over the memory map, and so can't guarantee we can place code/data at specific addresses. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'core/bios.c')
-rw-r--r--core/bios.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/bios.c b/core/bios.c
index 447268d6..9e341467 100644
--- a/core/bios.c
+++ b/core/bios.c
@@ -93,6 +93,8 @@ struct adv_ops bios_adv_ops = {
.write = bios_adv_write,
};
+extern int bios_boot_linux(void *, size_t, struct initramfs *, char *);
+
struct firmware bios_fw = {
.init = bios_init,
.scan_memory = bios_scan_memory,
@@ -105,6 +107,7 @@ struct firmware bios_fw = {
.get_config_file_name = bios_get_config_file_name,
.get_serial_console_info = bios_get_serial_console_info,
.adv_ops = &bios_adv_ops,
+ .boot_linux = bios_boot_linux,
};
void syslinux_register_bios(void)