Lines Matching +full:0 +full:xe4
11 * 0xfc02: Scott Eisert <scott.e@sky-eye.com>
12 * 0xfc04: Steve VanDevender <stevev@efn.org>
13 * 0xfc08: Garth Berry <garth@itsbruce.net>
14 * 0xfc0a: Egbert Eich <eich@xfree86.org>
15 * 0xfc10: Andrew Lofthouse <Andrew.Lofthouse@robins.af.mil>
16 * 0xfc11: Spencer Olson <solson@novell.com>
17 * 0xfc13: Claudius Frankewitz <kryp@gmx.de>
18 * 0xfc15: Tom May <tom@you-bastards.com>
19 * 0xfc17: Dave Konrad <konrad@xenia.it>
20 * 0xfc1a: George Betzos <betzos@engr.colostate.edu>
21 * 0xfc1b: Munemasa Wada <munemasa@jnovel.co.jp>
22 * 0xfc1d: Arthur Liu <armie@slap.mine.nu>
23 * 0xfc5a: Jacques L'helgoualc'h <lhh@free.fr>
24 * 0xfcd1: Mr. Dave Konrad <konrad@xenia.it>
47 #define TOSH_DEBUG 0
71 module_param_named(fn, tosh_fn, int, 0);
105 if (tosh_fn!=0) { in tosh_fn_status()
109 outb(0x8e, 0xe4); in tosh_fn_status()
110 scan = inb(0xe5); in tosh_fn_status()
127 eax = regs->eax & 0xff00; in tosh_emulate_fan()
128 ecx = regs->ecx & 0xffff; in tosh_emulate_fan()
132 if (tosh_id==0xfccb) { in tosh_emulate_fan()
133 if (eax==0xfe00) { in tosh_emulate_fan()
136 outb(0xbe, 0xe4); in tosh_emulate_fan()
137 al = inb(0xe5); in tosh_emulate_fan()
139 regs->eax = 0x00; in tosh_emulate_fan()
140 regs->ecx = (unsigned int) (al & 0x01); in tosh_emulate_fan()
142 if ((eax==0xff00) && (ecx==0x0000)) { in tosh_emulate_fan()
145 outb(0xbe, 0xe4); in tosh_emulate_fan()
146 al = inb(0xe5); in tosh_emulate_fan()
147 outb(0xbe, 0xe4); in tosh_emulate_fan()
148 outb (al | 0x01, 0xe5); in tosh_emulate_fan()
150 regs->eax = 0x00; in tosh_emulate_fan()
151 regs->ecx = 0x00; in tosh_emulate_fan()
153 if ((eax==0xff00) && (ecx==0x0001)) { in tosh_emulate_fan()
156 outb(0xbe, 0xe4); in tosh_emulate_fan()
157 al = inb(0xe5); in tosh_emulate_fan()
158 outb(0xbe, 0xe4); in tosh_emulate_fan()
159 outb(al & 0xfe, 0xe5); in tosh_emulate_fan()
161 regs->eax = 0x00; in tosh_emulate_fan()
162 regs->ecx = 0x01; in tosh_emulate_fan()
168 if (tosh_id==0xfccc) { in tosh_emulate_fan()
169 if (eax==0xfe00) { in tosh_emulate_fan()
172 outb(0xe0, 0xe4); in tosh_emulate_fan()
173 al = inb(0xe5); in tosh_emulate_fan()
175 regs->eax = 0x00; in tosh_emulate_fan()
176 regs->ecx = al & 0x01; in tosh_emulate_fan()
178 if ((eax==0xff00) && (ecx==0x0000)) { in tosh_emulate_fan()
181 outb(0xe0, 0xe4); in tosh_emulate_fan()
182 al = inb(0xe5); in tosh_emulate_fan()
183 outw(0xe0 | ((al & 0xfe) << 8), 0xe4); in tosh_emulate_fan()
185 regs->eax = 0x00; in tosh_emulate_fan()
186 regs->ecx = 0x00; in tosh_emulate_fan()
188 if ((eax==0xff00) && (ecx==0x0001)) { in tosh_emulate_fan()
191 outb(0xe0, 0xe4); in tosh_emulate_fan()
192 al = inb(0xe5); in tosh_emulate_fan()
193 outw(0xe0 | ((al | 0x01) << 8), 0xe4); in tosh_emulate_fan()
195 regs->eax = 0x00; in tosh_emulate_fan()
196 regs->ecx = 0x01; in tosh_emulate_fan()
200 return 0; in tosh_emulate_fan()
213 "movl 0(%%eax),%%edx\n\t" \ in tosh_smm()
222 "inb $0xb2,%%al\n\t" in tosh_smm()
231 "movl %%edx,0(%%eax)\n\t" \ in tosh_smm()
260 ax = regs.eax & 0xff00; in tosh_ioctl()
261 bx = regs.ebx & 0xffff; in tosh_ioctl()
263 if (((ax==0xff00) || (ax==0xfe00)) && (bx>0x0069)) in tosh_ioctl()
269 if (((ax==0xf300) || (ax==0xf400)) && (bx==0x0004)) { in tosh_ioctl()
285 return (err==0) ? 0:-EINVAL; in tosh_ioctl()
300 0) Linux driver version (this will change if format changes) in proc_toshiba_show()
307 seq_printf(m, "1.1 0x%04x %d.%d %d.%d 0x%04x 0x%02x\n", in proc_toshiba_show()
309 (tosh_sci & 0xff00)>>8, in proc_toshiba_show()
310 tosh_sci & 0xff, in proc_toshiba_show()
311 (tosh_bios & 0xff00)>>8, in proc_toshiba_show()
312 tosh_bios & 0xff, in proc_toshiba_show()
315 return 0; in proc_toshiba_show()
326 case 0xfc02: case 0xfc04: case 0xfc09: case 0xfc0a: case 0xfc10: in tosh_set_fn_port()
327 case 0xfc11: case 0xfc13: case 0xfc15: case 0xfc1a: case 0xfc1b: in tosh_set_fn_port()
328 case 0xfc5a: in tosh_set_fn_port()
329 tosh_fn = 0x62; in tosh_set_fn_port()
331 case 0xfc08: case 0xfc17: case 0xfc1d: case 0xfcd1: case 0xfce0: in tosh_set_fn_port()
332 case 0xfce2: in tosh_set_fn_port()
333 tosh_fn = 0x68; in tosh_set_fn_port()
336 tosh_fn = 0x00; in tosh_set_fn_port()
354 id = (0x100*(int) readb(bios+0xfffe))+((int) readb(bios+0xfffa)); in tosh_get_machine_id()
358 if (id==0xfc2f) { in tosh_get_machine_id()
362 regs.eax = 0xc000; in tosh_get_machine_id()
363 regs.ebx = 0x0000; in tosh_get_machine_id()
364 regs.ecx = 0x0000; in tosh_get_machine_id()
366 bx = (unsigned short) (regs.ebx & 0xffff); in tosh_get_machine_id()
369 the bx register holds 0xe6f5. However my code is producing in tosh_get_machine_id()
374 pr_debug("toshiba: debugging ID ebx=0x%04x\n", regs.ebx); in tosh_get_machine_id()
376 bx = 0xe6f5; in tosh_get_machine_id()
384 address = 0xa+cx; in tosh_get_machine_id()
389 id = ((cx & 0xff)<<8)+((cx & 0xff00)>>8); in tosh_get_machine_id()
406 unsigned char signature[7] = { 0x54,0x4f,0x53,0x48,0x49,0x42,0x41 }; in tosh_probe()
408 void __iomem *bios = ioremap(0xf0000, 0x10000); in tosh_probe()
416 for (i=0;i<7;i++) { in tosh_probe()
417 if (readb(bios+0xe010+i)!=signature[i]) { in tosh_probe()
426 regs.eax = 0xf0f0; in tosh_probe()
427 regs.ebx = 0x0000; in tosh_probe()
428 regs.ecx = 0x0000; in tosh_probe()
431 /* if this is not a Toshiba laptop carry flag is set and ah=0x86 */ in tosh_probe()
433 if ((flag==1) || ((regs.eax & 0xff00)==0x8600)) { in tosh_probe()
441 tosh_sci = regs.edx & 0xffff; in tosh_probe()
449 major = readb(bios+0xe009)-'0'; in tosh_probe()
450 minor = ((readb(bios+0xe00b)-'0')*10)+(readb(bios+0xe00c)-'0'); in tosh_probe()
451 tosh_bios = (major*0x100)+minor; in tosh_probe()
455 day = ((readb(bios+0xfff5)-'0')*10)+(readb(bios+0xfff6)-'0'); in tosh_probe()
456 month = ((readb(bios+0xfff8)-'0')*10)+(readb(bios+0xfff9)-'0'); in tosh_probe()
457 year = ((readb(bios+0xfffb)-'0')*10)+(readb(bios+0xfffc)-'0'); in tosh_probe()
458 tosh_date = (((year-90) & 0x1f)<<10) | ((month & 0xf)<<6) in tosh_probe()
459 | ((day & 0x1f)<<1); in tosh_probe()
465 the keyboard driver grabs 0x60-0x6f and the pic driver grabs in tosh_probe()
466 0xa0-0xbf we can't. We just have to live dangerously and use the in tosh_probe()
471 if ((tosh_id==0xfccb) || (tosh_id==0xfccc)) in tosh_probe()
476 return 0; in tosh_probe()
490 if (tosh_fn==0x00) in toshiba_init()
495 if (retval < 0) in toshiba_init()
502 pde = proc_create_single("toshiba", 0, NULL, proc_toshiba_show); in toshiba_init()
510 return 0; in toshiba_init()