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