The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/i386/bios/smapi_bios.S

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* $FreeBSD: releng/5.1/sys/i386/bios/smapi_bios.S 109463 2003-01-18 04:36:12Z mdodd $ */
    2 
    3 #include <machine/asmacros.h>
    4 
    5         .text
    6 /*
    7  * smapi32(input_param, output_param)
    8  *      struct smapi_bios_parameter *input_parm;
    9  *      struct smapi_bios_parameter *output_parm;
   10  */
   11 ENTRY(smapi32)
   12         pushl   %ebp                    /* Save frame */
   13         movl    %esp,%ebp
   14 
   15         pushl   %ds
   16         pushl   0x0c(%ebp)              /* Output Param */
   17         pushl   %ds
   18         pushl   0x08(%ebp)              /* Input Param */
   19 
   20         movl    $0,%eax                 /* Clear EAX (return 0) */
   21         movw    %cs,smapi32_segment     /* Save CS */
   22         lcall   *(smapi32_offset)
   23 
   24         leave
   25         ret
   26 
   27 /*
   28  * smapi32(offset, segment, input_param, output_param)
   29  *      u_int offset;
   30  *      u_short segment;
   31  *      struct smapi_bios_parameter *input_parm;
   32  *      struct smapi_bios_parameter *output_parm;
   33  */
   34 ENTRY(smapi32_new)
   35         pushl   %ebp                    /* Save frame */
   36         movl    %esp,%ebp
   37 
   38         movl    0x08(%ebp),%eax
   39         movl    %eax,smapi32_offset
   40         movw    0x0c(%ebp),%ax
   41         movw    %ax,smapi32_segment
   42 
   43         pushl   %ds
   44         pushl   0x20(%ebp)              /* Output Param */
   45         pushl   %ds
   46         pushl   0x10(%ebp)              /* Input Param */
   47 
   48         movl    $0,%eax
   49         movw    %cs,smapi32_segment
   50         lcall   *(smapi32_offset)
   51 
   52         leave
   53         ret

Cache object: fc6cb9779e60258ab3fd0ddfa44ba8fe


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.