Set compatibility flag for 4GB zone on IA64
IA64 traditionally had a 4GB DMA32 zone. Set the compatibility flag
to keep old drivers working.
For new drivers it would be better to use ZONE_DMA32 now.
Signed-off-by: Andi Kleen <[email protected]>
Cc: [email protected]
Index: linux/arch/ia64/Kconfig
===================================================================
--- linux.orig/arch/ia64/Kconfig
+++ linux/arch/ia64/Kconfig
@@ -54,6 +54,10 @@ config IA64_UNCACHED_ALLOCATOR
bool
select GENERIC_ALLOCATOR
+config ZONE_DMA_IS_DMA32
+ bool
+ default y
+
choice
prompt "System type"
default IA64_GENERIC
>Set compatibility flag for 4GB zone on IA64
>
>IA64 traditionally had a 4GB DMA32 zone. Set the compatibility flag
>to keep old drivers working.
>
>For new drivers it would be better to use ZONE_DMA32 now.
>
>Signed-off-by: Andi Kleen <[email protected]>
>Cc: [email protected]
>
>Index: linux/arch/ia64/Kconfig
>===================================================================
>--- linux.orig/arch/ia64/Kconfig
>+++ linux/arch/ia64/Kconfig
>@@ -54,6 +54,10 @@ config IA64_UNCACHED_ALLOCATOR
> bool
> select GENERIC_ALLOCATOR
>
>+config ZONE_DMA_IS_DMA32
>+ bool
>+ default y
>+
> choice
> prompt "System type"
> default IA64_GENERIC
>
ia64 isn't all that homogeneous. SGI systems stuff *all* memory
into the DMA zone as their I/O devices have no 32-bit limits (just
as well really as there is no memory below 4G on an Altix!).
What does this ZONE_DMA_IS_DMA32 thing do?
-Tony
On Sunday 11 September 2005 22:44, Luck, Tony wrote:
> What does this ZONE_DMA_IS_DMA32 thing do?
It just gives you the same behaviour as before when the DMA32 patchkit
from l-k is applied.
-Andi
Luck, Tony wrote:
> ia64 isn't all that homogeneous. SGI systems stuff *all* memory
> into the DMA zone as their I/O devices have no 32-bit limits (just
> as well really as there is no memory below 4G on an Altix!).
SGI machines support random PCI cards, right? If so, you cannot presume
I/O devices have no 32-bit limits.
Jeff
>Luck, Tony wrote:
>> ia64 isn't all that homogeneous. SGI systems stuff *all* memory
>> into the DMA zone as their I/O devices have no 32-bit limits (just
>> as well really as there is no memory below 4G on an Altix!).
>
>SGI machines support random PCI cards, right? If so, you
>cannot presume
>I/O devices have no 32-bit limits.
No, SGI machines don't support random PCI cards. The lowest
possible physical address in an Altix is 192GB. Cards that
can only DMA to addresses below 4G aren't going to be very
useful, are they?
-Tony
Luck, Tony wrote:
>>Luck, Tony wrote:
>>
>>>ia64 isn't all that homogeneous. SGI systems stuff *all* memory
>>>into the DMA zone as their I/O devices have no 32-bit limits (just
>>>as well really as there is no memory below 4G on an Altix!).
>>
>>SGI machines support random PCI cards, right? If so, you
>>cannot presume
>>I/O devices have no 32-bit limits.
>
>
> No, SGI machines don't support random PCI cards. The lowest
> possible physical address in an Altix is 192GB. Cards that
> can only DMA to addresses below 4G aren't going to be very
> useful, are they?
Do the boxes have IOMMUs?
Jeff
On Sun, Sep 11, 2005 at 07:24:43PM -0400, Jeff Garzik wrote:
> SGI machines support random PCI cards, right?
Technically the hardware does but I doubt SGI will help you if your
ne2k doesn't work.
> If so, you cannot presume I/O devices have no 32-bit limits.
The IO busses have IOMMUs on them anyhow.
On Sunday, September 11, 2005 6:17 pm, Jeff Garzik wrote:
> Luck, Tony wrote:
> >>Luck, Tony wrote:
> >>>ia64 isn't all that homogeneous. SGI systems stuff *all* memory
> >>>into the DMA zone as their I/O devices have no 32-bit limits (just
> >>>as well really as there is no memory below 4G on an Altix!).
> >>
> >>SGI machines support random PCI cards, right? If so, you
> >>cannot presume
> >>I/O devices have no 32-bit limits.
> >
> > No, SGI machines don't support random PCI cards. The lowest
> > possible physical address in an Altix is 192GB. Cards that
> > can only DMA to addresses below 4G aren't going to be very
> > useful, are they?
>
> Do the boxes have IOMMUs?
Yes, but they can only support devices that can do 32 bit or above
addressing due to the fact that their IOMMU page tables are only
referenced if the high bit of a 32 bit address is set, iirc.
Anyway, for those boxes, all memory was put in the DMA zone and the I/O
mapping routines failed if devices that didn't support at least 32 bits
tried to do a DMA map.
Jesse