aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiu Aleaxander <Aleaxander@gmail.com>2009-06-22 15:11:43 +0800
committerLiu Aleaxander <Aleaxander@gmail.com>2009-06-22 15:11:43 +0800
commit1d0b44adb51e7a1193c5fdf35c324003d2bbaeaa (patch)
tree188d9fd8aee3161b36baf0ed7f7fe3a0a5b85b9b
parentafa8f040dba2e7b90a953d5ff00fe19b42d444a2 (diff)
downloadsyslinux-1d0b44adb51e7a1193c5fdf35c324003d2bbaeaa.tar.gz
syslinux-1d0b44adb51e7a1193c5fdf35c324003d2bbaeaa.tar.xz
syslinux-1d0b44adb51e7a1193c5fdf35c324003d2bbaeaa.zip
Core:ISOLINUX: make the isolinux do the work
-rw-r--r--core/Makefile1
-rw-r--r--core/fs.c5
-rw-r--r--core/iso9660.c15
3 files changed, 10 insertions, 11 deletions
diff --git a/core/Makefile b/core/Makefile
index 0f257f1d..a96eec70 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -33,7 +33,6 @@ CODEPAGE = cp865
# The targets to build in this directory...
BTARGET = kwdhash.gen \
- extlinux.bin extlinux.bss extlinux.sys \
isolinux.bin isolinux-debug.bin
# All primary source files for the main syslinux files
diff --git a/core/fs.c b/core/fs.c
index 5dc767a7..375beec6 100644
--- a/core/fs.c
+++ b/core/fs.c
@@ -120,8 +120,8 @@ void device_init(struct device *dev, uint8_t device_num,
static __lowmem char cache_buf[65536];
*/
- dev->cache_data = core_cache_buf;
- dev->cache_size = sizeof core_cache_buf;
+ //dev->cache_data = core_cache_buf;
+ //dev->cache_size = sizeof core_cache_buf;
} else
dev->cache_data = NULL;
}
@@ -130,6 +130,7 @@ void device_init(struct device *dev, uint8_t device_num,
/* debug function */
void dump_dev(struct device *dev)
{
+ printf("drive number: 0x%x\n", dev->device_number);
printf("device type:%s\n", dev->type ? "CHS" : "EDD");
printf("cache_data: %p\n", dev->cache_data);
printf("cache_head: %p\n", dev->cache_head);
diff --git a/core/iso9660.c b/core/iso9660.c
index 267b8cd9..68885a61 100644
--- a/core/iso9660.c
+++ b/core/iso9660.c
@@ -500,7 +500,7 @@ void iso_load_config(com32sys_t *regs)
strcpy(ConfigName, config_name);
- regs->edi.w[0] = ConfigName;
+ regs->edi.w[0] = OFFS_WRT(ConfigName, 0);
memset(&out_regs, 0, sizeof out_regs);
call16(core_open, regs, &out_regs);
}
@@ -542,8 +542,10 @@ int iso_fs_init()
if ( !file.file_len ) {
iso_dir = isolinux_dir;
iso_searchdir(isolinux_dir, &file); /* search for /isolinux */
- if ( !file.file_len )
- goto no_isolinux_dir;
+ if ( !file.file_len ) {
+ printf("No isolinux directory found!\n");
+ return 0;
+ }
}
strcpy(CurrentDirName, iso_dir);
@@ -558,13 +560,10 @@ int iso_fs_init()
close_file(open_file);
#ifdef DEBUG
- printf("isolinux directory at LBA = %0x%x\n", CurrentDir.dir_lba);
+ printf("isolinux directory at LBA = 0x%x\n", CurrentDir.dir_lba);
#endif
- no_isolinux_dir:
- printf("No isolinux directory found\n");
-
- /* we do not use cache for now, so we can just return 0 */
+ /* we do not use cache for now, so we can just return 0 */
return 0;
}