[PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Thu Mar 12 06:55:54 PDT 2015

Dear Stas Sergeev,

On Thu, 12 Mar 2015 16:03:07 +0300, Stas Sergeev wrote:

> > No, this is expected. Your physical address space is shared between RAM
> > and I/O devices. So the space 0xf0000000 -> 0xffffffff in the physical
> > address space is where all the registers for your SoC and PCIe devices
> Yeah, I realize that, but I was hoping that some work-around
> exists. For example, move entire dimm above 4G? Is this really
> impossible? Or maybe move overlapping region above 8G...

I am not aware of any trick that would allow to do that, but I have
also never looked in the deep details of the Marvell memory controller
and what's possible to do with it.

Moving entire DIMM above 4G is clearly not possible: devices can only
do DMA on the first 32 bits of the physical address space. So if you
move all the physical memory above 4G, you don't have any memory left
for DMA.

Best regards,

Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering

More information about the linux-arm-kernel mailing list