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
13
SConscript
13
SConscript
|
@ -28,6 +28,7 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
from os.path import isdir
|
||||||
|
|
||||||
# This file defines how to build a particular configuration of M5
|
# This file defines how to build a particular configuration of M5
|
||||||
# based on variable settings in the 'env' build environment.
|
# based on variable settings in the 'env' build environment.
|
||||||
|
@ -335,18 +336,16 @@ else:
|
||||||
|
|
||||||
extra_libraries = []
|
extra_libraries = []
|
||||||
env.Append(LIBS=['z'])
|
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
|
sources += mysql_sources
|
||||||
env.Append(CPPDEFINES = 'USE_MYSQL')
|
env.Append(CPPDEFINES = 'USE_MYSQL')
|
||||||
env.Append(CPPDEFINES = 'STATS_BINNING')
|
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'])
|
env.Append(LIBS=['mysqlclient'])
|
||||||
|
|
||||||
|
|
||||||
###################################################
|
###################################################
|
||||||
#
|
#
|
||||||
# Special build rules.
|
# Special build rules.
|
||||||
|
|
|
@ -501,6 +501,8 @@ AlphaDTB::translate(MemReqPtr &req, bool write) const
|
||||||
*/
|
*/
|
||||||
if (req->vaddr & (req->size - 1)) {
|
if (req->vaddr & (req->size - 1)) {
|
||||||
fault(req, write ? MM_STAT_WR_MASK : 0);
|
fault(req, write ? MM_STAT_WR_MASK : 0);
|
||||||
|
DPRINTF(TLB, "Alignment Fault on %#x, size = %d", req->vaddr,
|
||||||
|
req->size);
|
||||||
return Alignment_Fault;
|
return Alignment_Fault;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,23 +101,12 @@ configs_map = {
|
||||||
'KERNEL' : KernelConfig
|
'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.
|
# Disable FastAlloc object allocation.
|
||||||
def NoFastAllocOpt(env):
|
def NoFastAllocOpt(env):
|
||||||
env.Append(CPPDEFINES = 'NO_FAST_ALLOC')
|
env.Append(CPPDEFINES = 'NO_FAST_ALLOC')
|
||||||
|
|
||||||
# Configuration options map.
|
# Configuration options map.
|
||||||
options_map = {
|
options_map = {
|
||||||
'MEASURE' : MeasureOpt,
|
|
||||||
'MYSQL' : MySqlOpt,
|
|
||||||
'NO_FAST_ALLOC' : NoFastAllocOpt
|
'NO_FAST_ALLOC' : NoFastAllocOpt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -176,7 +176,7 @@ TsunamiCChip::read(MemReqPtr &req, uint8_t *data)
|
||||||
if (regnum == TSDEV_CC_DRIR) {
|
if (regnum == TSDEV_CC_DRIR) {
|
||||||
warn("accessing DRIR with 32 bit read, "
|
warn("accessing DRIR with 32 bit read, "
|
||||||
"hopefully your just reading this for timing");
|
"hopefully your just reading this for timing");
|
||||||
*(uint64_t*)data = drir;
|
*(uint32_t*)data = drir;
|
||||||
} else
|
} else
|
||||||
panic("invalid access size(?) for tsunami register!\n");
|
panic("invalid access size(?) for tsunami register!\n");
|
||||||
return No_Fault;
|
return No_Fault;
|
||||||
|
|
Loading…
Reference in a new issue