On Thu, 2006-06-29 at 14:27 +0200, Weber Matthias wrote: > Hi, > > i tried to access a pc-bios from within a kernel module as follows: > > short in = 0x6f0a, out; > asm ( > "movw %1, %%ax;" > "int $0x15;" > "movw %%ax, %0;" > :"=r"(out) > :"r"(in) > :"%ax" > ); > > printk("%x\n", (int) out); > > It seems, that the interrupt to bios is ignored, because nothing > happens. Has anyone some link, example code or tip, that could help? Hi, it's not like this.... the PCI bios runs in real mode, and expects real mode. The kernel runs in 32 bit (protected) mode. You really can't mix the two.... so I'd have to say you really really can't do this. There are a few 32 bit bios services, but in practice they are poorly implemented by most bioses, especially the parts that modern windows versions don't use. So.. there has to be a better way to do what you want to really achieve... can you explain what you really want to achieve so that we can offer suggestions for that? Greetings, Arjan van de Ven Note: there are some usermode programs that use vm86 mode, or full x86 emulation to do some video bios calls for mode setting and EDID; however that is very specific and limited functionality that works "most of the time". Even that is hard, and that's from userspace, where this sort of thing is a lot easier... -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/