[syslinux] [PATCH] com32: recognize gPXE's COMBOOT as gPXE

Daniel Verkamp daniel at drv.nu
Sun Feb 28 16:19:57 PST 2010


This makes is_gpxe() recognize gPXE's COMBOOT implementation as gPXE.
Previously, is_gpxe() only recognized PXELINUX loaded from gPXE.

Signed-off-by: Daniel Verkamp <daniel at drv.nu>
---
 com32/include/syslinux/config.h |    1 +
 com32/lib/sys/gpxe.c            |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/com32/include/syslinux/config.h b/com32/include/syslinux/config.h
index 868b0f1..2874665 100644
--- a/com32/include/syslinux/config.h
+++ b/com32/include/syslinux/config.h
@@ -44,6 +44,7 @@ enum syslinux_filesystem {
     SYSLINUX_FS_PXELINUX = 0x32,
     SYSLINUX_FS_ISOLINUX = 0x33,
     SYSLINUX_FS_EXTLINUX = 0x34,
+    SYSLINUX_FS_GPXE = 0x46,
 };
 
 struct syslinux_version {
diff --git a/com32/lib/sys/gpxe.c b/com32/lib/sys/gpxe.c
index fae03f8..1b01abc 100644
--- a/com32/lib/sys/gpxe.c
+++ b/com32/lib/sys/gpxe.c
@@ -9,8 +9,8 @@ bool is_gpxe(void)
     struct s_PXENV_FILE_CHECK_API *fca;
 
     sv = syslinux_version();
-    if (sv->filesystem != SYSLINUX_FS_PXELINUX)
-        return false;           /* Not PXELINUX */
+    if (sv->filesystem != SYSLINUX_FS_PXELINUX && sv->filesystem != SYSLINUX_FS_GPXE)
+        return false;           /* Not PXELINUX or gPXE */
 
     fca = __com32.cs_bounce;
     memset(fca, 0, sizeof *fca);
-- 
1.6.6.1




More information about the Syslinux mailing list