diff options
author | Nathan Binkert <binkertn@umich.edu> | 2004-07-02 16:40:23 -0400 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2004-07-02 16:40:23 -0400 |
commit | e2c62a13dd5d81a1b5f6443b994b434c92a81d87 (patch) | |
tree | abbb1095594c49917b4224c133e0eaf3516e0717 /kern/linux | |
parent | 0e575e9f262551374db2fbbe482fc5507f3211ab (diff) | |
download | gem5-e2c62a13dd5d81a1b5f6443b994b434c92a81d87.tar.xz |
Fix byteswap on LP64 (amd64)
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
Diffstat (limited to 'kern/linux')
-rw-r--r-- | kern/linux/linux_system.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/kern/linux/linux_system.cc b/kern/linux/linux_system.cc index e4405b2e5..70f5fb783 100644 --- a/kern/linux/linux_system.cc +++ b/kern/linux/linux_system.cc @@ -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"); |