[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