Current Path : /sys/amd64/compile/hs32/modules/usr/src/sys/modules/ata/atapci/chipsets/atacyrix/@/i386/bios/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //sys/amd64/compile/hs32/modules/usr/src/sys/modules/ata/atapci/chipsets/atacyrix/@/i386/bios/smapi_bios.S |
#include <machine/asm.h> __FBSDID("$FreeBSD: release/9.1.0/sys/i386/bios/smapi_bios.S 148285 2005-07-22 15:01:07Z ru $"); /* * This is cribbed from the Linux thinkpad-4.1 driver by * Thomas Hood. */ .align smapi32_entry: /* far pointer to SMAPI entry */ .globl smapi32_offset smapi32_offset: .long 0x00000000 /* set by caller */ smapi32_segment: .word 0x0000 /* %cs stored here */ .text /* * smapi32(input_param, output_param) * struct smapi_bios_parameter *input_parm; * struct smapi_bios_parameter *output_parm; * * stack frame: * 0x00 : saved ebp * 0x04 : return EIP * 0x08 : input_parm * 0x0c : output_parm */ ENTRY(smapi32) pushl %ebp /* Save frame */ movl %esp,%ebp pushl %ds pushl 0x0c(%ebp) /* Output Param */ pushl %ds pushl 0x08(%ebp) /* Input Param */ movl $0,%eax /* Clear EAX (return 0) */ movw %cs,smapi32_segment /* Save CS */ lcall *(smapi32_offset) leave ret