[PATCH] PCI in 2.3.15


Subject: [PATCH] PCI in 2.3.15
From: Mitchell Blank Jr (mitch@sfgoth.com)
Date: Thu Aug 26 1999 - 01:27:54 PDT


As some of you noticed, alpha stopped working (again :-) in 2.3.15pre3
due to the merge of the new PCI code. Here is a half-assed attempt
to fix it:

It does:
  * ...compile

  * ...work on my SX164

It does not:
  * ...switch to the new way of using resource_allocate() to pick I/O and
    MEM regions ala i386. I actually spent a couple hours writing
    that, and finally gave up and threw the code away. Basically
    you have to do a multilevel resource thing with
      &ioport_resource ==> hose ==> dev->resource[i]
      &iomem_resource ==> hose ==> segment ==> dev->resource[i]
    (the segment thing in the iomem is to implement the spaces
    for the ISA holes in each 128M segment) Oh yeah, and somehow
    make sure the holes don't step on each other. And make sure
    this works on all the possible types of alpha. I had a lot
    of this figured out, but I didn't see a good way of programming
    the bridge in layout_bus() - the tmem/bmem stuff, so I punted.

  * ...work on multi-hose machines (probably). I don't understand what
    the linked list fixup in layout_one_hose() is trying to accomplish,
    so I probably didn't fix it right :-) Someone in the know: please
    take a look.

  * ...win any beauty contents. There are still many things in bios32.c
    that are calls into compat.c which isn't the nicest state of
    affairs. Some of them are trivial to fix, some would be a little
    more involved. Not a big deal, really.

Anyway I'll let rth decide if there's anything in there worth merging.
If you're itching to play with 2.3.15 on a PCI alpha you might want
to check it out. Of course I'm still not a PCI wizard, so be careful
out there.

-Mitch




This archive was generated by hypermail 2a22 : Tue Sep 07 1999 - 16:15:03 PDT