# HG changeset patch
# User Gabe Black <[email protected]>
# Date 1244530437 25200
# Node ID 1ac3b66da1bab6e4c8321d670d56bfd53af7eab5
# Parent 8eb27d634b6af3e1643ab8ca5d6e5c8d3f876ff1
ARM: Add a memory_barrier function to the "comm page".
This function doesn't actually provide a memory barrier (I don't think they're
implemented) and instead just returns.
diff --git a/src/arch/arm/linux/process.cc b/src/arch/arm/linux/process.cc
--- a/src/arch/arm/linux/process.cc
+++ b/src/arch/arm/linux/process.cc
@@ -482,6 +482,14 @@
swiNeg1, sizeof(swiNeg1));
}
+ // We don't have barriers, so just return.
+ uint8_t memory_barrier[] =
+ {
+ 0x0e, 0xf0, 0xa0, 0xe1 //usr_ret lr
+ };
+ tc->getMemPort()->writeBlob(commPage + 0x0fa0, memory_barrier,
+ sizeof(memory_barrier));
+
// This -should- be atomic, but I don't think all the support that we'd
// need is implemented. There should also be memory barriers around it.
uint8_t cmpxchg[] =
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev