1 #include <machine/asm.h>
5 * This is cribbed from the Linux thinkpad-4.1 driver by
10 smapi32_entry: /* far pointer to SMAPI entry */
12 smapi32_offset: .long 0x00000000 /* set by caller */
13 smapi32_segment: .word 0x0000 /* %cs stored here */
17 * smapi32(input_param, output_param)
18 * struct smapi_bios_parameter *input_parm;
19 * struct smapi_bios_parameter *output_parm;
28 pushl %ebp /* Save frame */
32 pushl 0x0c(%ebp) /* Output Param */
34 pushl 0x08(%ebp) /* Input Param */
36 movl $0,%eax /* Clear EAX (return 0) */
37 movw %cs,smapi32_segment /* Save CS */
38 lcall *(smapi32_offset)