Lines Matching refs:regs
92 call_apm_bios(bios_regs *regs)
106 : "=a" (regs->eax), "=b" (regs->ebx), "=c" (regs->ecx), "=d" (regs->edx),
107 "=S" (regs->esi), "=m" (regs->flags)
108 : "a" (regs->eax), "b" (regs->ebx), "c" (regs->ecx)
111 if (regs->flags & CARRY_FLAG)
124 bios_regs regs;
125 regs.eax = BIOS_APM_GET_EVENT;
127 if (call_apm_bios(®s) != B_OK)
130 event = regs.ebx & 0xffff;
131 info = regs.ecx & 0xffff;
139 bios_regs regs;
140 regs.eax = BIOS_APM_SET_STATE;
141 regs.ebx = device;
142 regs.ecx = state;
144 status_t status = call_apm_bios(®s);
148 TRACE(("apm_set_state() error: %s\n", apm_error(regs.eax)));
156 bios_regs regs;
157 regs.eax = BIOS_APM_ENABLE;
158 regs.ebx = device;
159 regs.ecx = enable ? 0x01 : 0x00;
161 return call_apm_bios(®s);
168 bios_regs regs;
169 regs.eax = BIOS_APM_ENGAGE;
170 regs.ebx = device;
171 regs.ecx = engage ? 0x01 : 0x00;
173 return call_apm_bios(®s);
181 bios_regs regs;
182 regs.eax = BIOS_APM_VERSION;
183 regs.ecx = version;
185 if (call_apm_bios(®s) != B_OK)
188 dprintf("eax: %lx, flags: %lx\n", regs.eax, regs.flags);
209 bios_regs regs;
210 regs.eax = BIOS_APM_GET_POWER_STATUS;
211 regs.ebx = APM_ALL_DEVICES;
212 regs.ecx = 0;
214 status_t status = call_apm_bios(®s);
218 uint16 lineStatus = (regs.ebx >> 8) & 0xff;
223 info->percent = regs.ecx & 0xff;
227 info->time_left = info->percent >= 0 ? (int32)(regs.edx & 0xffff) : -1;