diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-08-10 14:27:21 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-08-10 14:27:21 -0700 |
commit | f87413e6b7a60e9cfc086232953b7f32a4d1c5f2 (patch) | |
tree | ee82aaaf95653123f26d1437d31fdbbcaef3847c | |
parent | d74cbcd018244a834c60842b16ee18966a6ec020 (diff) | |
download | syslinux-f87413e6b7a60e9cfc086232953b7f32a4d1c5f2.tar.gz |
core/diskstart.inc: make the root filesystem a configurable
Instead of using conditional compilation, just set the root filesystem
type in the assembly stub.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r-- | core/diskstart.inc | 24 | ||||
-rw-r--r-- | core/extlinux.asm | 3 | ||||
-rw-r--r-- | core/ldlinux.asm | 3 |
3 files changed, 11 insertions, 19 deletions
diff --git a/core/diskstart.inc b/core/diskstart.inc index c160c8d5..36d513ed 100644 --- a/core/diskstart.inc +++ b/core/diskstart.inc @@ -722,26 +722,12 @@ expand_super: pushad -%if IS_PXELINUX - extern pxe_fs_ops - mov eax,pxe_fs_ops -%else - %if IS_EXTLINUX - extern ext2_fs_ops - mov eax,ext2_fs_ops - %elif IS_SYSLINUX - extern vfat_fs_ops - mov eax,vfat_fs_ops - %elif IS_ISOLINUX - extern iso_fs_ops - mov eax,iso_fs_ops - %endif - mov dl,[DriveNumber] - mov dh,0 ; we are boot from disk not CDROM - mov ecx,[bsHidden] - mov ebx,[bsHidden+4] + mov eax,ROOT_FS_OPS + movzx dx,byte [DriveNumber] + ; DH = 0: we are boot from disk not CDROM + mov ecx,[bsHidden] + mov ebx,[bsHidden+4] mov si,[bsHeads] mov di,[bsSecPerTrack] -%endif pm_call fs_init popad diff --git a/core/extlinux.asm b/core/extlinux.asm index 2a5526b8..0048cc1b 100644 --- a/core/extlinux.asm +++ b/core/extlinux.asm @@ -25,4 +25,7 @@ my_id equ extlinux_id FILENAME_MAX_LG2 equ 8 ; log2(Max filename size Including final null) + extern ext2_fs_ops +ROOT_FS_OPS equ ext2_fs_ops + %include "diskfs.inc" diff --git a/core/ldlinux.asm b/core/ldlinux.asm index 183262a3..b8b86b2e 100644 --- a/core/ldlinux.asm +++ b/core/ldlinux.asm @@ -31,4 +31,7 @@ my_id equ syslinux_id FILENAME_MAX_LG2 equ 6 ; log2(Max filename size Including final null) + extern vfat_fs_ops +ROOT_FS_OPS equ vfat_fs_ops + %include "diskfs.inc" |