From e2c62a13dd5d81a1b5f6443b994b434c92a81d87 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Fri, 2 Jul 2004 16:40:23 -0400 Subject: 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 --- kern/linux/linux_system.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'kern/linux') 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"); -- cgit v1.2.3