lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Fri, 1 Mar 2013 12:58:51 +0800
From:	杨可亲 <itrifler@...il.com>
To:	lkml <linux-kernel@...r.kernel.org>
Subject: [QUESTION] How can I understand ARM_DMA_MEM_BUFFERABLE?

Hi everyone:

In the newest linux kernel version3.8, arch/arm/mm/Kconfig, there are
some menu like this:

872 *config ARM_DMA_MEM_BUFFERABLE*

 873         *bool "Use non-cacheable memory for DMA" if (CPU_V6 ||
CPU_V6K) && !CPU_V7*

 874         depends on !(MACH_REALVIEW_PB1176 || REALVIEW_EB_ARM11MP || \

 875                      MACH_REALVIEW_PB11MP)

 876         default y if CPU_V6 || CPU_V6K || CPU_V7

 877         help

 878           Historically, the kernel has used strongly ordered mappings to

 879           provide DMA coherent memory.  With the advent of ARMv7, mapping

 880           memory with differing types results in unpredictable behaviour,

 881           so on these CPUs, this option is forced on.

 882

 883           Multiple mappings with differing attributes is also unpredictable

 884           on ARMv6 CPUs, but since they do not have aggressive speculative

 885           prefetch, no harm appears to occur.

 886
 887           However, drivers may be missing the necessary barriers for ARMv6,

 888           and therefore turning this on may result in unpredictable driver

 889           behaviour.  Therefore, we offer this as an option.

 890
 891           You are recommended say 'Y' here and debug any affected drivers.



 I have three questions:

 1)Does this mean that I cann't get unbuffered DMA buffer on ARM
cortex a8(CPU_V7)?


 2)How can I allocate unbuffered DMA buffer on linux of cortex a8 platform?

 3)In the upper contex,there are:
   "With the advent of ARMv7, mapping memory with differing types
results in unpredictable    behaviour"
  What does "mapping memory with differing types" really mean?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ