* [Linux-ia64] LINUX IA64 Memory Support
@ 2000-02-15 20:36 Venkatesh Ramamurthy
2000-02-15 21:03 ` Jes Sorensen
2000-02-18 5:27 ` David Mosberger
0 siblings, 2 replies; 3+ messages in thread
From: Venkatesh Ramamurthy @ 2000-02-15 20:36 UTC (permalink / raw)
To: linux-ia64
Hi,
Is there any way in which one can allocate memory say below 4 GB ( physical
address )in drivers.
TIA
Venkatesh
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Linux-ia64] LINUX IA64 Memory Support
2000-02-15 20:36 [Linux-ia64] LINUX IA64 Memory Support Venkatesh Ramamurthy
@ 2000-02-15 21:03 ` Jes Sorensen
2000-02-18 5:27 ` David Mosberger
1 sibling, 0 replies; 3+ messages in thread
From: Jes Sorensen @ 2000-02-15 21:03 UTC (permalink / raw)
To: linux-ia64
>>>>> "Venkatesh" = Venkatesh Ramamurthy <Venkateshr@ami.com> writes:
Venkatesh> Hi, Is there any way in which one can allocate memory say
Venkatesh> below 4 GB ( physical address )in drivers. TIA Venkatesh
This is not IA64 specific actually, so consider it a general answer
rather than an IA64 one.
A regular GFP_KERNEL should give you memory within the PCI DMA'able
area, which with the old PCI system meant within the 4GB
range. GFP_DMA will give you something within the ISA DMA
space. However, in principle none of the above means that the memory
is within the lower 4GB memory range, if the machine in question has
an IOMMU type device, you may be handed memory which is in the middle
of the memory space, but which is mapped to the 4GB the PCI bus in the
machine can see.
With the new PCI allocation system it is even more flexible, here you
may get addresess anywhere and you then tell the PCI subsystem at run
time to map the memory to the space the PCI bus can address. This
means it will be possible to support systems with for instance 200 PCI
busses (if someone feels like building such) etc.
Jes
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Linux-ia64] LINUX IA64 Memory Support
2000-02-15 20:36 [Linux-ia64] LINUX IA64 Memory Support Venkatesh Ramamurthy
2000-02-15 21:03 ` Jes Sorensen
@ 2000-02-18 5:27 ` David Mosberger
1 sibling, 0 replies; 3+ messages in thread
From: David Mosberger @ 2000-02-18 5:27 UTC (permalink / raw)
To: linux-ia64
>>>>> On 15 Feb 2000 22:03:03 +0100, Jes Sorensen <Jes.Sorensen@cern.ch> said:
>>>>> "Venkatesh" = Venkatesh Ramamurthy <Venkateshr@ami.com> writes:
Venkatesh> Hi, Is there any way in which one can allocate memory say
Venkatesh> below 4 GB ( physical address )in drivers. TIA Venkatesh
Jes> This is not IA64 specific actually, so consider it a general
Jes> answer rather than an IA64 one.
Jes> A regular GFP_KERNEL should give you memory within the PCI
Jes> DMA'able area, which with the old PCI system meant within the
Jes> 4GB range. GFP_DMA will give you something within the ISA DMA
Jes> space. However, in principle none of the above means that the
Jes> memory is within the lower 4GB memory range, if the machine in
Jes> question has an IOMMU type device, you may be handed memory
Jes> which is in the middle of the memory space, but which is mapped
Jes> to the 4GB the PCI bus in the machine can see.
Jes> With the new PCI allocation system it is even more flexible,
Jes> here you may get addresess anywhere and you then tell the PCI
Jes> subsystem at run time to map the memory to the space the PCI
Jes> bus can address. This means it will be possible to support
Jes> systems with for instance 200 PCI busses (if someone feels like
Jes> building such) etc.
Jes's answer is basically correct:
- If you're writing a driver, use the new PCI DMA API (see pci.h in
kernel 2.3.44 or later) and you'll be fine.
- If you need memory below 4GB for some other reason, you're
presently out of luck. However, the already agreed upon solution
is to add a new "zone" which will represent memory below 4GB
(ZONE_32BIT or some such). I plan to do this asap as we need this
zone to properly implement the PCI DMA API (it currently works only
because no Itanium system we know of/have access to has more than
1GB of RAM ;-).
--david
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2000-02-18 5:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-02-15 20:36 [Linux-ia64] LINUX IA64 Memory Support Venkatesh Ramamurthy
2000-02-15 21:03 ` Jes Sorensen
2000-02-18 5:27 ` David Mosberger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox