From 1275c1535315174f355b4bf74e69e572d8b38fc6 Mon Sep 17 00:00:00 2001 From: Shao Miller Date: Sat, 1 Aug 2009 02:06:08 -0400 Subject: [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). --- memdisk/Makefile | 8 ++++++-- memdisk/memdisk_iso_2048.asm | 3 +++ memdisk/memdisk_iso_512.asm | 3 +++ memdisk/setup.c | 6 ++++++ 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 memdisk/memdisk_iso_2048.asm create mode 100644 memdisk/memdisk_iso_512.asm (limited to 'memdisk') 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; -- cgit v1.2.3