Page MenuHomeFreeBSD

D10218.id28246.diff
No OneTemporary

D10218.id28246.diff

Index: sys/arm/mv/mv_machdep.c
===================================================================
--- sys/arm/mv/mv_machdep.c
+++ sys/arm/mv/mv_machdep.c
@@ -59,6 +59,8 @@
#include <machine/cpu-v4.h>
#else
#include <machine/cpu-v6.h>
+#include <machine/pte-v6.h>
+#include <machine/pmap-v6.h>
#endif
#include <arm/mv/mvreg.h> /* XXX */
@@ -243,6 +245,16 @@
platform_cpu_init(void)
{
+#if defined(SOC_MV_ARMADA38X)
+ /*
+ * Workaround for Marvell Armada38X family HW issue
+ * between Cortex-A9 CPUs and on-chip devices that may
+ * cause hang on heavy load.
+ * To avoid that, map all registers including PCIe IO
+ * as strongly ordered instead of device memory.
+ */
+ pmap_remap_vm_attr(PTE2_ATTR_DEVICE, PTE2_ATTR_SO);
+#endif
}
void

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 24, 10:32 AM (6 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32073074
Default Alt Text
D10218.id28246.diff (759 B)

Event Timeline