Mike Noyes wrote:
> 
> At 2002-02-12 16:33 +0000, Johan Ugander wrote:
> >Charles Steinkuehler writes:
> >>Sounds like interrupts aren't getting routed properly once linux takes
> >>over the hardware...
> >
> >Yes, this seems to be the problem. I've altered every bios setting
> >imaginable and I still can't get it to work. This is the sole problem
> >remaining in my attempts. I've tried turning off the on-board IDE, I've
> >tried pretty much every setting. I disabled floppy and FDC all together.
> >It's booting right now as we speak...trudging through unnumerable
> >'interrupt lost' listings as it's trying to get the packages up. hdk is
> >there, and it sees it, and it accesses it, it just loses the interrupt.
> >ANY ideas, and any experience with the problem under ANY sort of
> >circumstances would be greatly appreciated. If you've ever recieved an
> >'interrupt lost' output, and fixed it somehow, please tell so that I may
> >try and learn from your solution.
> 
> Johan,
> I did a quick search on Google, and it looks like this a common problem. I
> was unable to locate a solution.
> 
> http://google.com/search?hl=en&q=pcmcia+%22lost+interrupt%22


So we have several things going on here.  Let's see if we
can summarize them, quoting Johan from his threads:


   > I am looking to boot from a pcmcia flash card on an embedded
   > pc (pc/104) with bios level pcmcia boot support.

   > Oh, and by the way, my pc/104 pcmcia bridge is the tri-m aaeon pcm3115b
   >      http://www.tri-m.com/products/aaeon/manual/pcm3115b.pdf


Ok, so he's not using a regular IBM PC/clone 486 or Pentium
sort of mainboard, but rather a special micro mainboard called
an embedded pc/104.  He never tells us his LEAF version.  Alrighty
then.  Let's figure it's a 2.2 kernel, maybe Dachstein.

Later we have:


> it is a compact flash device... 8MB... a fullsize pcmcia card.
> I also have a 16MB smaller camera-format compact flash card, 
> which fits into a pcmcia adapter


Much later we have the description of the 16 MB one
he's trying to boot these days:


> hdk: Hitachi CV 7.1.1, ATA Disk drive
> hdk: IRQ probe failed (0)
>      ide5 at 0x160-0x167, 0x366 on irq 12
> hdk: Hitachi CV 7.1.1, 15MB w/ 1kB Cache, CHS 246/4/32


So he has two PC Cards.  


Let's start with a definition of PCMCIA, as the folks at 
the PCMCIA would appreciate it.  Every device of this nature 
is a PC Card and plugs into PC Card slots. Devices and slots 
should no longer be called PCMCIA cards or PCMCIA slots.  
The PCMCIA requests this.


What does 'PCMCIA' mean and who is the PCMCIA?

   Personal Computer Memory Card International Association

and it was established in 1991 to standardize flash memory
addin cards.  Just memory cards back then, no I/O.
   The standards were enhanced in 1994 and to include the 
PC CardATA specification for dealing with PC Card disk devices 
and PC Card Flash disk devices.  That 1994 2.1 specification 
included improvements for the Card Information Structure, too.  
The CIS is the layer that interfaces to the mainboard bios so 
that you can hotplug PC Card devices and get things recognized.
   All the time these were 16-bit devices.  Then in 1995 they
released the CardBus specification for PC Cards giving them
a 32-bit bus interfacing directly to the PCI bus via the CardBus
bridge.  More on that in another post.



What does PCMCIA not mean?
  "Pretty Confusing. May Cause Intense Anxiety" -- Bruce Bennet 
  "People Cannot Memorize Computer Industry Acronyms." -- unknown 
  "Personal Computer Marketers Can't Invent Acronyms" -- unknown 



He said his card was a:

    Hitachi CV 7.1.1, 15MB w/ 1kB Cache, CHS 246/4/32
    
I wonder what his feelings are on this paragraph out of the pcm3115b
manual pdf, page 6-6,

   'Note
      When using an ATA HDD or ATA Flash card with 
      Boot ROM v.2.0x, the size of the card determines 
      whether it boots as drive A or drive C. If the card 
      is less than 15 MB, it will boot as drive A and the 
      floppy disk will become B; if greater than 15 MB it 
      will boot as drive C and your hard drive will become D. 
      This means that Flash cards (which are typically less 
      than 15 MB) will boot as A, and ATA HDD cards (typically
      greater than 15 MB) will boot as drive C.'
 

He mentions this A: vs. D: issue later, though not in detail.
Ok, let's wait on discussing it.


Again going back to:

> hdk: IRQ probe failed (0)
>      ide5 at 0x160-0x167, 0x366 on irq 12
> hdk: Hitachi CV 7.1.1, 15MB w/ 1kB Cache, CHS 246/4/32


Using the 16MB card, he gets irq 12.  Sounds like the mouse to me.
That can't be good.


Then he says:

> I then rebooted on the ide'd compact flash... 8MB card on the outer
> pcmcia slot. I got into the box, and trying to mount hdk, it gave an 
> almost enless amount of 'hdk: lost interrupt' before working. 


But he doesn't show us what interrupt it was assigned.  If it
takes a known and spoken-for interrupt, that set's off bells and
whistles.  12, 13, 14, 8, 6, 2, 1, are often taken or not ok to 
use, even if the usual device is disabled.


He then goes on to say:


> Conclusions
>         -----------
>         The bios complication of <15 being A: and >15 being C: seems to be 
>         nonexistant. The problem was the top and bottom slot.


Ok.  He noticed what I pointed out.  It's the slot that matters.
Still, given two PC Cards he got hdk irrespective of the size.
I don't quite get the details of this, but it may be an extension
of his IRQ problem.  As I mentioned in another post, what happened
to hda, hdb, hdc, hdd, hde, hdf, hdg, hdh, and hdi?  



Moving on:

>         The compact flash boots fine on ide as hda. 

Attaching to flash to the IDE connector he said he got:

>   ide0 at 0x1f0-0x1f7, 0x3f6 on irq 14

That's what it's supposed to get.  
   Ide base usually starts at 0x01f0 and is 1 byte long
   Ide ctl is usually base+0x206
   Ide irq is usually 12.

Here's what gets assigned by oxygen (from syslog)
   Feb 10 15:51:24 schalit kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
   Feb 10 15:51:24 schalit kernel: ide1 at 0x170-0x177,0x376 on irq 15




Now for the:

 
>         Questions
>         ---------
> 
>         How do I get past the end_request errors being produced for the 
>         flash, which seems to be looking for a (nonexistant) floppy?


Solved already it appears.






>         The 'lost interrupt' repeats seem to be caused by some sort of 
>         slowness on the pcmcia bus and/or an irq problem. How can this be 
>         addressed?
> 


The PC Card is getting an IRQ that clobbers with the mouse IRQ12.


   Solution 1:
   -----------
      Force it to use the irq you want with append parameters
      that are used with syslinux and sent to boot via the
      syslinux.cfg.  Something like:

            append ide0=0x1f0,0x3f6,14
 
      (which may even be valid for 2.2.x kernels :-)
      Check out his link for IDE boot: append parameters:
         http://www.ibiblio.org/mdw/HOWTO/BootPrompt-HOWTO-7.html#ss7.1


   Solution 2:
  ------------
     Use kernel 2.4.x and use the syslinux append parameter pci=irqmask:
     Something like:

             append pci=irqmask=0x4e98

     The number 0x4e98, when converted to binary, is a bitmask:

             4  |   e  |   9  |   8
           0100 | 1110 | 1001 | 1000 

     which apparently uses the following bitmask structure to represent IRQ's:

bit      0    1    0    0   | 1    1    1   0  | 0   0   0   1  | 1   0   0   0 
IRQ      15   14   13   12  | 11   10   9   8  | 7   6   5   4  | 3   2   1   0 

     So this example of pci=irqmask=0x4e98 translates to making these
     IRQ's available for assignment by the kernel and BIOS:

              14              11   10   9                    4    3





     Or try a different, very restrictive, append line like this:

          append  pci=irqmask=0x4000

     and only allow 14 to be chosen.



 
Enjoy,
Matthew

_______________________________________________
Leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel

Reply via email to