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:
parent
b78d7c2f16
commit
57482491c5
4 changed files with 9 additions and 19 deletions
13
SConscript
13
SConscript
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue