Re: Executing an int 21 to the BIOS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > I am trying to write a userspace 'driver' for a hardware watchdog on an 
> > industrial PC (a Jumptec, to be precise).
> > 
> > This watchdog is setup and controlled by executing an interrupt 21, 
> > service 0xe000 and 0xe001 to the BIOS interrupt service routine.
> > 
> > I do not have to receive anything, 'just' to execute such interrupts, 
> > controlling the value of the ax, bx, cx and dx registers. It will run as 
> > root. It is not timing critical.
> > 
> > Being a Linux newbie, I have not been able to find out how to do this. 
> > Standard assembler will not allow a direct "int $0x15", and I have not 
> > found anything in the syscalls indicating a possibility for such a thing. 
> > 
> > So my question is: What's the easiest way to do it? And where is that 
> > documented?
> 
> Hmm, there are two choices, the 'easiest' is to go into vm86 mode and send the
> interrupt there, but that is rather kludgie and probably not very efficiant, the
> best way would be to just write the stuff yourself using io ports, i doubt that
> it is so hard, as long as you can find specs for it.
> 
Efficiency is not a problem if I can find an example I can cut-and-paste 
from. 
Unfortunately I do not have the specs for how to operate the watchdog 
using only IO ports - it has to be done through the &%€?$ interrupt.

Henrik Østergaard
-----------------------------------------------------------
Henrik Oestergaard Madsen  Phone: +45 44 48 44 92
PhD, Research Engineer     Cell:  +45 29 99 95 03   
Mosegard Park 42           email: Henrik@Ostergaard.net
DK-3500 Vaerloese          WWW homepage: 
Denmark                    http://www.Ostergaard.net/Henrik 
-----------------------------------------------------------



--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux