Re: kernel panic on readBytes
Re: kernel panic on readBytes
- Subject: Re: kernel panic on readBytes
- From: Quinn <email@hidden>
- Date: Mon, 7 Apr 2008 16:26:52 +0100
At 16:59 -0400 4/4/08, Timur Alperovich wrote:
Ok, I figured out how to get the logs, etc, out of it. I tried
searching on google and the apple developer for the error it reports:
AppleDART::mapAddr not mapped for I/O -- and couldn't find anything as
to what could be going on. Any hints? Is there some other way to map
memory pages?
The problem you have here is that the G5 systems have an IOMMU (the
DART) between the CPU and the PCI bus. This makes it possible to
support more than 2 GB of physical memory in an efficient, software
compatible fashion. When you prepare a chunk of memory for I/O, the
system adds to the DART a mapping from the 32-bit PCI physical
address space to the 64-bit CPU physical address space. When you ask
for the physical address of the memory, you get back the 32-bit PCI
address. You can then program that address into your DMA hardware
and, when you DMA to that address, the IOMMU translates it into the
appropriate CPU physical address.
Of course, this doesn't help folks who are trying to access CPU
physical addresses (-:
I suspect you can work around this with the kIOMemoryTypePhysical64
flag, but I haven't looked at it in depth.
S+E
--
Quinn "The Eskimo!" <http://www.apple.com/developer/>
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden