Lines Matching +full:0 +full:xff00
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
70 module_param_named(fn, tosh_fn, int, 0);
104 if (tosh_fn!=0) { in tosh_fn_status()
108 outb(0x8e, 0xe4); in tosh_fn_status()
109 scan = inb(0xe5); in tosh_fn_status()
126 eax = regs->eax & 0xff00; in tosh_emulate_fan()
127 ecx = regs->ecx & 0xffff; in tosh_emulate_fan()
131 if (tosh_id==0xfccb) { in tosh_emulate_fan()
132 if (eax==0xfe00) { in tosh_emulate_fan()
135 outb(0xbe, 0xe4); in tosh_emulate_fan()
136 al = inb(0xe5); in tosh_emulate_fan()
138 regs->eax = 0x00; in tosh_emulate_fan()
139 regs->ecx = (unsigned int) (al & 0x01); in tosh_emulate_fan()
141 if ((eax==0xff00) && (ecx==0x0000)) { in tosh_emulate_fan()
144 outb(0xbe, 0xe4); in tosh_emulate_fan()
145 al = inb(0xe5); in tosh_emulate_fan()
146 outb(0xbe, 0xe4); in tosh_emulate_fan()
147 outb (al | 0x01, 0xe5); in tosh_emulate_fan()
149 regs->eax = 0x00; in tosh_emulate_fan()
150 regs->ecx = 0x00; in tosh_emulate_fan()
152 if ((eax==0xff00) && (ecx==0x0001)) { in tosh_emulate_fan()
155 outb(0xbe, 0xe4); in tosh_emulate_fan()
156 al = inb(0xe5); in tosh_emulate_fan()
157 outb(0xbe, 0xe4); in tosh_emulate_fan()
158 outb(al & 0xfe, 0xe5); in tosh_emulate_fan()
160 regs->eax = 0x00; in tosh_emulate_fan()
161 regs->ecx = 0x01; in tosh_emulate_fan()
167 if (tosh_id==0xfccc) { in tosh_emulate_fan()
168 if (eax==0xfe00) { in tosh_emulate_fan()
171 outb(0xe0, 0xe4); in tosh_emulate_fan()
172 al = inb(0xe5); in tosh_emulate_fan()
174 regs->eax = 0x00; in tosh_emulate_fan()
175 regs->ecx = al & 0x01; in tosh_emulate_fan()
177 if ((eax==0xff00) && (ecx==0x0000)) { in tosh_emulate_fan()
180 outb(0xe0, 0xe4); in tosh_emulate_fan()
181 al = inb(0xe5); in tosh_emulate_fan()
182 outw(0xe0 | ((al & 0xfe) << 8), 0xe4); in tosh_emulate_fan()
184 regs->eax = 0x00; in tosh_emulate_fan()
185 regs->ecx = 0x00; in tosh_emulate_fan()
187 if ((eax==0xff00) && (ecx==0x0001)) { in tosh_emulate_fan()
190 outb(0xe0, 0xe4); in tosh_emulate_fan()
191 al = inb(0xe5); in tosh_emulate_fan()
192 outw(0xe0 | ((al | 0x01) << 8), 0xe4); in tosh_emulate_fan()
194 regs->eax = 0x00; in tosh_emulate_fan()
195 regs->ecx = 0x01; in tosh_emulate_fan()
199 return 0; in tosh_emulate_fan()
212 "movl 0(%%eax),%%edx\n\t" \ in tosh_smm()
221 "inb $0xb2,%%al\n\t" in tosh_smm()
230 "movl %%edx,0(%%eax)\n\t" \ in tosh_smm()
259 ax = regs.eax & 0xff00; in tosh_ioctl()
260 bx = regs.ebx & 0xffff; in tosh_ioctl()
262 if (((ax==0xff00) || (ax==0xfe00)) && (bx>0x0069)) in tosh_ioctl()
268 if (((ax==0xf300) || (ax==0xf400)) && (bx==0x0004)) { in tosh_ioctl()
284 return (err==0) ? 0:-EINVAL; in tosh_ioctl()
299 0) Linux driver version (this will change if format changes) in proc_toshiba_show()
306 seq_printf(m, "1.1 0x%04x %d.%d %d.%d 0x%04x 0x%02x\n", in proc_toshiba_show()
308 (tosh_sci & 0xff00)>>8, in proc_toshiba_show()
309 tosh_sci & 0xff, in proc_toshiba_show()
310 (tosh_bios & 0xff00)>>8, in proc_toshiba_show()
311 tosh_bios & 0xff, in proc_toshiba_show()
314 return 0; in proc_toshiba_show()
325 case 0xfc02: case 0xfc04: case 0xfc09: case 0xfc0a: case 0xfc10: in tosh_set_fn_port()
326 case 0xfc11: case 0xfc13: case 0xfc15: case 0xfc1a: case 0xfc1b: in tosh_set_fn_port()
327 case 0xfc5a: in tosh_set_fn_port()
328 tosh_fn = 0x62; in tosh_set_fn_port()
330 case 0xfc08: case 0xfc17: case 0xfc1d: case 0xfcd1: case 0xfce0: in tosh_set_fn_port()
331 case 0xfce2: in tosh_set_fn_port()
332 tosh_fn = 0x68; in tosh_set_fn_port()
335 tosh_fn = 0x00; in tosh_set_fn_port()
353 id = (0x100*(int) readb(bios+0xfffe))+((int) readb(bios+0xfffa)); in tosh_get_machine_id()
357 if (id==0xfc2f) { in tosh_get_machine_id()
361 regs.eax = 0xc000; in tosh_get_machine_id()
362 regs.ebx = 0x0000; in tosh_get_machine_id()
363 regs.ecx = 0x0000; in tosh_get_machine_id()
365 bx = (unsigned short) (regs.ebx & 0xffff); in tosh_get_machine_id()
368 the bx register holds 0xe6f5. However my code is producing in tosh_get_machine_id()
373 pr_debug("toshiba: debugging ID ebx=0x%04x\n", regs.ebx); in tosh_get_machine_id()
375 bx = 0xe6f5; in tosh_get_machine_id()
383 address = 0xa+cx; in tosh_get_machine_id()
388 id = ((cx & 0xff)<<8)+((cx & 0xff00)>>8); in tosh_get_machine_id()
405 unsigned char signature[7] = { 0x54,0x4f,0x53,0x48,0x49,0x42,0x41 }; in tosh_probe()
407 void __iomem *bios = ioremap(0xf0000, 0x10000); in tosh_probe()
415 for (i=0;i<7;i++) { in tosh_probe()
416 if (readb(bios+0xe010+i)!=signature[i]) { in tosh_probe()
425 regs.eax = 0xf0f0; in tosh_probe()
426 regs.ebx = 0x0000; in tosh_probe()
427 regs.ecx = 0x0000; in tosh_probe()
430 /* if this is not a Toshiba laptop carry flag is set and ah=0x86 */ in tosh_probe()
432 if ((flag==1) || ((regs.eax & 0xff00)==0x8600)) { in tosh_probe()
440 tosh_sci = regs.edx & 0xffff; in tosh_probe()
448 major = readb(bios+0xe009)-'0'; in tosh_probe()
449 minor = ((readb(bios+0xe00b)-'0')*10)+(readb(bios+0xe00c)-'0'); in tosh_probe()
450 tosh_bios = (major*0x100)+minor; in tosh_probe()
454 day = ((readb(bios+0xfff5)-'0')*10)+(readb(bios+0xfff6)-'0'); in tosh_probe()
455 month = ((readb(bios+0xfff8)-'0')*10)+(readb(bios+0xfff9)-'0'); in tosh_probe()
456 year = ((readb(bios+0xfffb)-'0')*10)+(readb(bios+0xfffc)-'0'); in tosh_probe()
457 tosh_date = (((year-90) & 0x1f)<<10) | ((month & 0xf)<<6) in tosh_probe()
458 | ((day & 0x1f)<<1); in tosh_probe()
464 the keyboard driver grabs 0x60-0x6f and the pic driver grabs in tosh_probe()
465 0xa0-0xbf we can't. We just have to live dangerously and use the in tosh_probe()
470 if ((tosh_id==0xfccb) || (tosh_id==0xfccc)) in tosh_probe()
475 return 0; in tosh_probe()
489 if (tosh_fn==0x00) in toshiba_init()
494 if (retval < 0) in toshiba_init()
501 pde = proc_create_single("toshiba", 0, NULL, proc_toshiba_show); in toshiba_init()
509 return 0; in toshiba_init()