aboutsummaryrefslogtreecommitdiffstats
path: root/memdisk
diff options
context:
space:
mode:
authorShao Miller <shao.miller@yrdsb.edu.on.ca>2009-08-01 02:06:08 -0400
committerShao Miller <shao.miller@yrdsb.edu.on.ca>2009-08-03 22:09:37 -0400
commit1275c1535315174f355b4bf74e69e572d8b38fc6 (patch)
treea1869ca806bf8e5f922cdebc7dbdbfb969d5f5d3 /memdisk
parentcb2d6723ad809d88d7fb22f29acb08ba27370fa9 (diff)
downloadsyslinux.git-1275c1535315174f355b4bf74e69e572d8b38fc6.tar.gz
syslinux.git-1275c1535315174f355b4bf74e69e572d8b38fc6.tar.xz
syslinux.git-1275c1535315174f355b4bf74e69e572d8b38fc6.zip
[memdisk] Add installable INT 13h hooks for ISO-booting scenarios
As of this commit, these hooks do nothing special and are unused. They are intended to support the El Torito "No Emulation" (2048-byte sector size) and "Floppy Emulation"/"HDD Emulation" (512-byte sector size) modes for bootable optical disc drive media (CD/DVD).
Diffstat (limited to 'memdisk')
-rw-r--r--memdisk/Makefile8
-rw-r--r--memdisk/memdisk_iso_2048.asm3
-rw-r--r--memdisk/memdisk_iso_512.asm3
-rw-r--r--memdisk/setup.c6
4 files changed, 18 insertions, 2 deletions
diff --git a/memdisk/Makefile b/memdisk/Makefile
index 35d7bef9..8e76f3d2 100644
--- a/memdisk/Makefile
+++ b/memdisk/Makefile
@@ -38,11 +38,15 @@ endif
# Important: init.o16 must be first!!
OBJS16 = init.o16 init32.o
OBJS32 = start32.o setup.o msetup.o e820func.o conio.o memcpy.o memset.o \
- memmove.o unzip.o memdisk_chs_512.o memdisk_edd_512.o dskprobe.o
+ memmove.o unzip.o dskprobe.o \
+ memdisk_chs_512.o memdisk_edd_512.o \
+ memdisk_iso_512.o memdisk_iso_2048.o
CSRC = setup.c msetup.c e820func.c conio.c unzip.c dskprobe.c
SSRC = start32.S memcpy.S memset.S memmove.S
-NASMSRC = memdisk_chs_512.asm memdisk_edd_512.asm memdisk16.asm
+NASMSRC = memdisk_chs_512.asm memdisk_edd_512.asm \
+ memdisk_iso_512.asm memdisk_iso_2048.asm \
+ memdisk16.asm
all: memdisk # e820test
diff --git a/memdisk/memdisk_iso_2048.asm b/memdisk/memdisk_iso_2048.asm
new file mode 100644
index 00000000..84a05542
--- /dev/null
+++ b/memdisk/memdisk_iso_2048.asm
@@ -0,0 +1,3 @@
+%define EDD 1
+%define SECTORSIZE_LG2 11 ; log2(sector size)
+%include "memdisk.inc"
diff --git a/memdisk/memdisk_iso_512.asm b/memdisk/memdisk_iso_512.asm
new file mode 100644
index 00000000..fbd90c15
--- /dev/null
+++ b/memdisk/memdisk_iso_512.asm
@@ -0,0 +1,3 @@
+%define EDD 1
+%define SECTORSIZE_LG2 9 ; log2(sector size)
+%include "memdisk.inc"
diff --git a/memdisk/setup.c b/memdisk/setup.c
index 158a065c..9fd5c9e8 100644
--- a/memdisk/setup.c
+++ b/memdisk/setup.c
@@ -30,6 +30,12 @@ extern const char _binary_memdisk_chs_512_bin_size[];
extern const char _binary_memdisk_edd_512_bin_start[];
extern const char _binary_memdisk_edd_512_bin_end[];
extern const char _binary_memdisk_edd_512_bin_size[];
+extern const char _binary_memdisk_iso_512_bin_start[];
+extern const char _binary_memdisk_iso_512_bin_end[];
+extern const char _binary_memdisk_iso_512_bin_size[];
+extern const char _binary_memdisk_iso_2048_bin_start[];
+extern const char _binary_memdisk_iso_2048_bin_end[];
+extern const char _binary_memdisk_iso_2048_bin_size[];
struct memdisk_header {
uint16_t int13_offs;