some cleanup, comments and copyright
authormickey <mickey@openbsd.org>
Fri, 18 Apr 1997 17:48:23 +0000 (17:48 +0000)
committermickey <mickey@openbsd.org>
Fri, 18 Apr 1997 17:48:23 +0000 (17:48 +0000)
sys/arch/i386/stand/libsa/biosdisk.S

index 0689029..9928271 100644 (file)
@@ -1,56 +1,37 @@
-/*     $OpenBSD: biosdisk.S,v 1.6 1997/04/18 06:54:43 weingart Exp $   */
+/*     $OpenBSD: biosdisk.S,v 1.7 1997/04/18 17:48:23 mickey Exp $     */
 
 /*
- * Ported to boot 386BSD by Julian Elischer (julian@tfs.com) Sept 1992
+ * Copyright (c) 1997 Michael Shalayeff
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by Michael Shalayeff.
+ * 4. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  *
- * Mach Operating System
- * Copyright (c) 1992, 1991 Carnegie Mellon University
- * All Rights Reserved.
- * 
- * Permission to use, copy, modify and distribute this software and its
- * documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- * 
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
- * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- * 
- * Carnegie Mellon requests users of this software to return to
- * 
- *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
- *  School of Computer Science
- *  Carnegie Mellon University
- *  Pittsburgh PA 15213-3890
- * 
- * any improvements or extensions that they make and grant Carnegie Mellon
- * the rights to redistribute these changes.
  */
 
-/*
-  Copyright 1988, 1989, 1990, 1991, 1992 
-   by Intel Corporation, Santa Clara, California.
-
-                All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and
-its documentation for any purpose and without fee is hereby
-granted, provided that the above copyright notice appears in all
-copies and that both the copyright notice and this permission notice
-appear in supporting documentation, and that the name of Intel
-not be used in advertising or publicity pertaining to distribution
-of the software without specific, written prior permission.
-
-INTEL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
-IN NO EVENT SHALL INTEL BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
-NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
 #include <machine/asm.h>
 #define        _LOCORE
 #include "debug_md.h"
@@ -58,17 +39,9 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #undef _LOCORE
 
 /*
-# BIOS call "INT 0x13 Function 0x2" to read sectors from disk into memory
-#      Call with       %ah = 0x2
-#                      %al = number of sectors
-#                      %ch = cylinder
-#                      %cl = sector
-#                      %dh = head
-#                      %dl = drive (0x80 for hard disk, 0x0 for floppy disk)
-#                      %es:%bx = segment:offset of buffer
-#      Return:         
-#                      %al = 0x0 on success; err code on failure
-*/
+ * int biosread(dev,cyl,head,sect,nsect,buf)
+ *     read number of sectors from disk
+ */
 ENTRY(biosread)
        pushl   %ebp
        movl    %esp, %ebp
@@ -88,7 +61,7 @@ ENTRY(biosread)
        movb    $0x2, %ah       # subfunction
        movb    24(%ebp), %al   # number of sectors
        movl    28(%ebp), %ebx  # offset
-       movl    %ebx, %edi      # spilt off for seg:off pair
+       movl    %ebx, %edi      # split off for seg:off pair
        andl    $0xf, %ebx      # atomic read for up to 64k
        shrl    $4, %edi
 
@@ -107,13 +80,12 @@ ENTRY(biosread)
        ret
 
 ENTRY(bioswrite)
-
        movl    $1, %eax
        ret
 
 /*
 #
-# biosdinfo():  return a word that represents the
+# u_int16_t biosdinfo():  return a word that represents the
 #      max number of sectors and  heads and drives for this device
 #
 */
@@ -124,14 +96,14 @@ ENTRY(biosdinfo)
        pushl   %ebx
        pushl   %ecx
 
-       movb    8(%ebp), %dl            # diskinfo(drive #)
+       movb    8(%ebp), %dl            # drive #
        movb    $0x08, %ah              # ask for disk info
        BIOSINT(0x13)
-       movb    $1, %ah         # max head
-       movb    $18, %al        # max sector
+       movb    $1, %ah                 # max head
+       movb    $18, %al                # max sector
        jc      1f
 
-       /* form a longword representing all this gunk */
+       /* form a word w/ nhead/nsect packed */
        movb    %dh, %ah                # max head
        andb    $0x3f, %cl              # mask of cylinder gunk
        movb    %cl, %al                # max sector (and # sectors)
@@ -149,16 +121,13 @@ ENTRY(biosdinfo)
 */
 
 ENTRY(biosdreset)
-       pushl   %ebp
-       movl    %esp, %ebp
        pushl   %ebx
        pushl   %ecx
 
-       movb    $0x00, %ah              # ask for disk info
+       movb    $0x00, %ah              # reset disk system
        BIOSINT(0x13)
 
        popl    %ecx
        popl    %ebx
-       popl    %ebp
        ret