diff options
| author | H. Peter Anvin <hpa@zytor.com> | 2006-09-28 11:25:20 -0700 |
|---|---|---|
| committer | H. Peter Anvin <hpa@zytor.com> | 2006-09-28 11:25:20 -0700 |
| commit | 3748de36714958902ebaf0669e004ae4113204db (patch) | |
| tree | 9000df597bd8dca5c4859cde368cee6e86631bd4 /memdisk/setup.c | |
| parent | a584b423450923389f4dc25480e30472c8641d38 (diff) | |
| download | syslinux-3748de36714958902ebaf0669e004ae4113204db.tar.gz | |
Add "safeint" mode to memdisk
Diffstat (limited to 'memdisk/setup.c')
| -rw-r--r-- | memdisk/setup.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/memdisk/setup.c b/memdisk/setup.c index 76775fd4..2f41a4d9 100644 --- a/memdisk/setup.c +++ b/memdisk/setup.c @@ -85,8 +85,10 @@ struct patch_area { uint8_t drivetype; uint8_t drivecnt; uint8_t configflags; + #define CONFIG_READONLY 0x01 #define CONFIG_RAW 0x02 +#define CONFIG_SAFEINT 0x04 #define CONFIG_BIGRAW 0x08 /* MUST be 8! */ uint16_t mystack; @@ -586,10 +588,17 @@ uint32_t setup(syscall_t cs_syscall, void *cs_bounce) } if ( getcmditem("raw") != CMD_NOTFOUND ) { puts("Using raw access to high memory\n"); + pptr->configflags &= ~CONFIG_SAFEINT|CONFIG_BIGRAW; pptr->configflags |= CONFIG_RAW; } + if ( getcmditem("safeint") != CMD_NOTFOUND ) { + puts("Using safe INT 15h access to high memory\n"); + pptr->configflags &= ~CONFIG_RAW|CONFIG_BIGRAW; + pptr->configflags |= CONFIG_SAFEINT; + } if ( getcmditem("bigraw") != CMD_NOTFOUND ) { puts("Using raw access to high memory - assuming big real mode\n"); + pptr->configflags &= ~CONFIG_SAFEINT; pptr->configflags |= CONFIG_BIGRAW|CONFIG_RAW; } |
