[syslinux:master] memdisk: make "nopass" type-specific, add "nopassany"
syslinux-bot for H. Peter Anvin
hpa at zytor.com
Mon Feb 8 09:15:15 PST 2010
Commit-ID: 48d026fb89dee478f8e3a580b5298594331cc890
Gitweb: http://syslinux.zytor.com/commit/48d026fb89dee478f8e3a580b5298594331cc890
Author: H. Peter Anvin <hpa at zytor.com>
AuthorDate: Mon, 8 Feb 2010 09:13:11 -0800
Committer: H. Peter Anvin <hpa at zytor.com>
CommitDate: Mon, 8 Feb 2010 09:13:11 -0800
memdisk: make "nopass" type-specific, add "nopassany"
Make "nopass" specific to the current drive type. Add new option
"nopassany", which also clobbers the drive counts of both types.
Signed-off-by: H. Peter Anvin <hpa at zytor.com>
---
memdisk/setup.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/memdisk/setup.c b/memdisk/setup.c
index b8eadfb..bcb5d04 100644
--- a/memdisk/setup.c
+++ b/memdisk/setup.c
@@ -1119,12 +1119,18 @@ void setup(const struct real_mode_args *rm_args_ptr)
ranges[--nranges].type = -1;
}
- if (getcmditem("nopass") != CMD_NOTFOUND) {
- /* nopass specified - we're the only drive by definition */
- printf("nopass specified - we're the only drive\n");
+ if (getcmditem("nopassany") != CMD_NOTFOUND) {
+ printf("nopassany specified - we're the only drive of any kind\n");
bios_drives = 0;
pptr->drivecnt = 0;
+ no_bpt = 1;
pptr->oldint13 = driverptr + hptr->iret_offs;
+ wrz_8(BIOS_EQUIP, rdz_8(BIOS_EQUIP) & ~0xc1);
+ wrz_8(BIOS_HD_COUNT, 0);
+ } else if (getcmditem("nopass") != CMD_NOTFOUND) {
+ printf("nopass specified - we're the only drive\n");
+ bios_drives = 0;
+ pptr->drivecnt = 0;
no_bpt = 1;
} else {
/* Query drive parameters of this type */
@@ -1227,7 +1233,8 @@ void setup(const struct real_mode_args *rm_args_ptr)
if (nhd > 128)
nhd = 128;
- if (!do_eltorito) wrz_8(BIOS_HD_COUNT, nhd);
+ if (!do_eltorito)
+ wrz_8(BIOS_HD_COUNT, nhd);
} else {
/* Update BIOS floppy disk count */
uint8_t equip = rdz_8(BIOS_EQUIP);
More information about the Syslinux-commits
mailing list