packet_access.hh (4115:cc1d6df13c7d) packet_access.hh (4176:2d52a9751dfc)
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 27 unchanged lines hidden (view full) ---

36
37#ifndef __MEM_PACKET_ACCESS_HH__
38#define __MEM_PACKET_ACCESS_HH__
39// The memory system needs to have an endianness. This is the easiest
40// way to deal with it for now. At some point, we will have to remove
41// these functions and make the users do their own byte swapping since
42// the memory system does not in fact have an endianness.
43
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 27 unchanged lines hidden (view full) ---

36
37#ifndef __MEM_PACKET_ACCESS_HH__
38#define __MEM_PACKET_ACCESS_HH__
39// The memory system needs to have an endianness. This is the easiest
40// way to deal with it for now. At some point, we will have to remove
41// these functions and make the users do their own byte swapping since
42// the memory system does not in fact have an endianness.
43
44template<>
45inline Twin64_t
46Packet::get()
47{
48 Twin64_t d;
49 assert(staticData || dynamicData);
50 assert(sizeof(Twin64_t) <= size);
51 d.a = TheISA::gtoh(*(uint64_t*)data);
52 d.b = TheISA::gtoh(*((uint64_t*)data + 1));
53 return d;
54}
55
56template<>
57inline Twin32_t
58Packet::get()
59{
60 Twin32_t d;
61 assert(staticData || dynamicData);
62 assert(sizeof(Twin32_t) <= size);
63 d.a = TheISA::gtoh(*(uint32_t*)data);
64 d.b = TheISA::gtoh(*((uint32_t*)data + 1));
65 return d;
66}
67
68
69/** return the value of what is pointed to in the packet. */
70template <typename T>
71inline T
72Packet::get()
73{
74 assert(staticData || dynamicData);
75 assert(sizeof(T) <= size);
76 return TheISA::gtoh(*(T*)data);

--- 12 unchanged lines hidden ---
44/** return the value of what is pointed to in the packet. */
45template <typename T>
46inline T
47Packet::get()
48{
49 assert(staticData || dynamicData);
50 assert(sizeof(T) <= size);
51 return TheISA::gtoh(*(T*)data);

--- 12 unchanged lines hidden ---