Messages in this thread | | | Date | Fri, 22 Oct 1999 17:05:05 -0400 | From | Johannes Erdfelt <> | Subject | Re: PATCH 2.3.23.5: ACPI iomap fix |
| |
On Fri, Oct 22, 1999, Jeff Garzik <jgarzik@mandrakesoft.com> wrote: > Andy Henroid wrote: > > > > --- Jeff Garzik <jgarzik@mandrakesoft.com> wrote: > > > > > > Attached is a patch against 2.3.23 pre5 which fixes > > > ACPI with regards to iomapping. The warning > > > messages added in pre5 brought to light this > > > bug. This patch works on my K6 w/ ACPI. > > > > OK, so I see your fix with some changes from > > Linus in pre6. It's still wrong for all those > > FACP accesses so I'll send out a fix for that. > > > > Thanks for the portability catch. Also, the > > inline assembly is a pretty glaring problem. > > Guess that should go in a header, but which? > > I think the big question is whether or not ACPI will exist on Alpha, or > other non-x86 platforms. Since Athlon and AXP will be sharing > motherboard technology it would not surprise me. > > If that is the case, all the direct mem references would need to > eventually be purged from the driver. If the inline assembler is > required, it should probably ifdef'd CONFIG_X86 in a header somewhere if > nothing else. > > As an aside, USB is _already_ on AXP, so inline assembler and other > x86-isms in the USB code needs to be examined and compartmentalized, or > purged...
The code is a minimum and puring it may be difficult. I think we need to try to minimize it as much as possible.
The reason the UHCI driver uses inline assembly is because UHCI uses a concurrent DMA engine and could be in a r/m/w cycle when we change some pointers. Our changes them become overwritten by the old value which is bad.
I think that the code can be minimized to one place and reuse that. I wish I had better understanding of alpha and powerpc assembly. I guess this is the time to learn :)
JE
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |