2005-09-11 16:59:45

by Andi Kleen

[permalink] [raw]
Subject: [2/3] Set compatibility flag for 4GB zone on IA64

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


2005-09-11 20:44:14

by Luck, Tony

[permalink] [raw]
Subject: RE: [2/3] Set compatibility flag for 4GB zone on IA64

>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

2005-09-11 21:05:21

by Andi Kleen

[permalink] [raw]
Subject: Re: [2/3] Set compatibility flag for 4GB zone on IA64

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

2005-09-11 23:24:57

by Jeff Garzik

[permalink] [raw]
Subject: Re: [2/3] Set compatibility flag for 4GB zone on IA64

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


2005-09-12 01:06:10

by Luck, Tony

[permalink] [raw]
Subject: RE: [2/3] Set compatibility flag for 4GB zone on IA64


>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

2005-09-12 01:17:19

by Jeff Garzik

[permalink] [raw]
Subject: Re: [2/3] Set compatibility flag for 4GB zone on IA64

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



2005-09-12 02:10:20

by Chris Wedgwood

[permalink] [raw]
Subject: Re: [2/3] Set compatibility flag for 4GB zone on IA64

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.

2005-09-12 02:57:54

by Jesse Barnes

[permalink] [raw]
Subject: Re: [2/3] Set compatibility flag for 4GB zone on IA64

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