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:
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;
|
||||
|
||||
Reference in New Issue
Block a user