build mysql version if libraries exist

add dprintf on alignment faults
fix RR benchmark rcS script name
Add Dual test without rcS script
Update Monet to be closer to the real thing
Fix p4/monet configs
Add a way to read the DRIR register with at 32bit access for validation

SConscript:
build/SConstruct:
    always use mysql if the libraries are installed
arch/alpha/alpha_memory.cc:
    Add a DPRINTF to print alignment faults when they happen
dev/tsunami_cchip.cc:
    Add a way to read the DRIR for validation.

--HG--
extra : convert_revision : 8c112c958f36b785390c46e70a889a79c6bea015
This commit is contained in:
Ali Saidi 2005-02-13 23:03:04 -05:00
parent b78d7c2f16
commit 57482491c5
4 changed files with 9 additions and 19 deletions

View file

@ -28,6 +28,7 @@
import os
import sys
from os.path import isdir
# This file defines how to build a particular configuration of M5
# based on variable settings in the 'env' build environment.
@ -335,18 +336,16 @@ else:
extra_libraries = []
env.Append(LIBS=['z'])
if env['USE_MYSQL']:
if isdir('/usr/lib64/mysql') or isdir('/usr/lib/mysql') or \
isdir('/usr/local/lib/mysql'):
env.Append(LIBPATH=['/usr/lib64/mysql', '/usr/local/lib/mysql/',
'/usr/lib/mysql'])
env.Append(CPPPATH=['/usr/local/include/mysql', '/usr/include/mysql'])
sources += mysql_sources
env.Append(CPPDEFINES = 'USE_MYSQL')
env.Append(CPPDEFINES = 'STATS_BINNING')
env.Append(CPPPATH=['/usr/local/include/mysql', '/usr/include/mysql'])
if os.path.isdir('/usr/lib64'):
env.Append(LIBPATH=['/usr/lib64/mysql'])
else:
env.Append(LIBPATH=['/usr/lib/mysql/'])
env.Append(LIBS=['mysqlclient'])
###################################################
#
# Special build rules.

View file

@ -501,6 +501,8 @@ AlphaDTB::translate(MemReqPtr &req, bool write) const
*/
if (req->vaddr & (req->size - 1)) {
fault(req, write ? MM_STAT_WR_MASK : 0);
DPRINTF(TLB, "Alignment Fault on %#x, size = %d", req->vaddr,
req->size);
return Alignment_Fault;
}

View file

@ -101,23 +101,12 @@ configs_map = {
'KERNEL' : KernelConfig
}
# Enable detailed full-system binning.
def MeasureOpt(env):
env.Replace(USE_MYSQL = True)
env.Append(CPPDEFINES = 'FS_MEASURE')
# Enable MySql database output for stats.
def MySqlOpt(env):
env.Replace(USE_MYSQL = True)
# Disable FastAlloc object allocation.
def NoFastAllocOpt(env):
env.Append(CPPDEFINES = 'NO_FAST_ALLOC')
# Configuration options map.
options_map = {
'MEASURE' : MeasureOpt,
'MYSQL' : MySqlOpt,
'NO_FAST_ALLOC' : NoFastAllocOpt
}

View file

@ -176,7 +176,7 @@ TsunamiCChip::read(MemReqPtr &req, uint8_t *data)
if (regnum == TSDEV_CC_DRIR) {
warn("accessing DRIR with 32 bit read, "
"hopefully your just reading this for timing");
*(uint64_t*)data = drir;
*(uint32_t*)data = drir;
} else
panic("invalid access size(?) for tsunami register!\n");
return No_Fault;