Andreas Sandberg merged this change by Chuan Zhu. ( https://gem5-review.googlesource.com/8201 )

Change subject: sim: Add gtoh/htog helpers that take an explicit endianness
......................................................................

sim: Add gtoh/htog helpers that take an explicit endianness

Add helper functions to swap between guest byte order and host byte
order that take a guest endianness as a parameter. These functions are
called htog and htog to be consistent with the helper functions that
extract guest byte order from a compile time constant.

Change-Id: Ie6be7dfd3b7a58ad6bfb57b25be5f85b5f425929
Signed-off-by: Andreas Sandberg <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/8201
Reviewed-by: Jason Lowe-Power <[email protected]>
---
M src/sim/byteswap.hh
1 file changed, 14 insertions(+), 0 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved
  Andreas Sandberg: Looks good to me, approved



diff --git a/src/sim/byteswap.hh b/src/sim/byteswap.hh
index 2c3517f..a46f8f5 100644
--- a/src/sim/byteswap.hh
+++ b/src/sim/byteswap.hh
@@ -154,6 +154,20 @@
         #error Invalid Endianess
 #endif

+template <typename T>
+inline T htog(T value, ByteOrder guest_byte_order)
+{
+    return guest_byte_order == BigEndianByteOrder ?
+        htobe(value) : htole(value);
+}
+
+template <typename T>
+inline T gtoh(T value, ByteOrder guest_byte_order)
+{
+    return guest_byte_order == BigEndianByteOrder ?
+        betoh(value) : letoh(value);
+}
+
 namespace BigEndianGuest
 {
     const ByteOrder GuestByteOrder = BigEndianByteOrder;

--
To view, visit https://gem5-review.googlesource.com/8201
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie6be7dfd3b7a58ad6bfb57b25be5f85b5f425929
Gerrit-Change-Number: 8201
Gerrit-PatchSet: 2
Gerrit-Owner: Andreas Sandberg <[email protected]>
Gerrit-Reviewer: Andreas Sandberg <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to