Re: Linux support for IBM ThinkPad Disk shock prevention update...

From: Lee Revell
Date: Thu Apr 14 2005 - 18:08:39 EST


On Thu, 2005-04-14 at 18:46 -0400, abonilla wrote:
> On Thu, 14 Apr 2005 17:15:16 -0400, Lee Revell wrote
> > On Thu, 2005-04-14 at 16:58 -0400, Shawn Starr wrote:
> > > We just need to figure
> > > out to get the specs from IBM
> >
> > Best bet is probably reverse engineering it...
>
> Lee,
>
> I know this is far from easy... but, What do we need to do this? I haven't
> seen such a cooler feature in a Thinkpad like the HDAPS. (Well, maybe the
> fingerprint reader) But, how can we / I help, if this is ever done?
>

Please see:

http://dxr3.sourceforge.net/re.html

I have discovered several previously unknown emu10k1 hardware features
using this procedure to reverse engineer the Windows drivers, including
a per channel half loop interrupt, and added support to the Linux driver
for some of them.

It may be much easier to find the read and write register subroutines
than in the above guide. The Windows driver I was working with had
exactly one subroutine that used the inb, inl, inw, outb, outw, outl
instructions, so it was trivial to set breakpoints to log all the port
I/O. I later found it was even easier, the version of SoftIce I was
using allows you to set I/O breakpoints, so all you need to start
logging the register activity is the port.

I had a little trouble loading the IDA symbols into SoftICE at first,
just because the first few scripts I found on the net didn't work.

Some devices use memory mapped IO, I have no idea how you would RE
these. Maybe someone else has some pointers?

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/