Fix byteswap on LP64 (amd64)
authorNathan Binkert <binkertn@umich.edu>
Fri, 2 Jul 2004 20:40:23 +0000 (16:40 -0400)
committerNathan Binkert <binkertn@umich.edu>
Fri, 2 Jul 2004 20:40:23 +0000 (16:40 -0400)
kern/linux/linux_system.cc:
    Formatting
sim/host.hh:
    When we say ULL and UL we really just want a 64-bit value, not
    necessarily a long long, so cast the integer to (u)int64_t
    this fixes a problem with byte swapping.

--HG--
extra : convert_revision : ad25ace5a7b92a7c928f2d52e531193c91f3f8c8

kern/linux/linux_system.cc
sim/host.hh

index e4405b2e53ff62b3859425fb8dad29fac47aa4df..70f5fb783a099e78fc31774e17272fa8ccc0cf23 100644 (file)
@@ -172,16 +172,19 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param,
 
 
     /**
-     * Set the hardware reset parameter block system type and revision information
-     * to Tsunami.
+     * Set the hardware reset parameter block system type and revision
+     * information to Tsunami.
      */
     if (consoleSymtab->findAddress("xxm_rpb", addr)) {
         Addr paddr = vtophys(physmem, addr);
         char *hwprb = (char *)physmem->dma_addr(paddr, sizeof(uint64_t));
 
         if (hwprb) {
-            *(uint64_t*)(hwprb+0x50) = htoa(ULL(34));      // Tsunami
-            *(uint64_t*)(hwprb+0x58) = htoa(ULL(1)<<10); // Plain DP264
+            // Tsunami
+            *(uint64_t*)(hwprb + 0x50) = htoa(ULL(34));
+
+            // Plain DP264
+            *(uint64_t*)(hwprb + 0x58) = htoa(ULL(1) << 10);
         }
         else
             panic("could not translate hwprb addr to set system type/variation\n");
index 489c4e042182cfe710cbd4bd30423e57049f21da..9114cc4b6319e8e2a5859f327154cb4a08356cdd 100644 (file)
@@ -38,9 +38,9 @@
 #include <inttypes.h>
 
 /** uint64_t constant */
-#define ULL(N)         N##ULL
+#define ULL(N)         ((uint64_t)N##ULL)
 /** int64_t constant */
-#define LL(N)          N##LL
+#define LL(N)          (((int64_t)N##LL)
 
 /** Statistics counter type.  Not much excuse for not using a 64-bit
  * integer here, but if you're desperate and only run short