changeset d40bdd3c5778 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=d40bdd3c5778
description:
alpha: Remove ALPHA tru64 support and associated tests
No one appears to be using it, and it is causing build issues
and increases the development and maintenance effort.
diffstat:
src/arch/alpha/AlphaSystem.py
| 6 -
src/arch/alpha/SConscript
| 3 -
src/arch/alpha/kernel_stats.cc
| 11 -
src/arch/alpha/tru64/process.cc
| 584 --
src/arch/alpha/tru64/process.hh
| 60 -
src/arch/alpha/tru64/system.cc
| 92 -
src/arch/alpha/tru64/system.hh
| 76 -
src/arch/alpha/tru64/tru64.cc
| 94 -
src/arch/alpha/tru64/tru64.hh
| 168 -
src/kern/SConscript
| 8 -
src/kern/kernel_stats.cc
| 21 -
src/kern/kernel_stats.hh
| 5 -
src/kern/tru64/dump_mbuf.cc
| 82 -
src/kern/tru64/dump_mbuf.hh
| 40 -
src/kern/tru64/mbuf.hh
| 100 -
src/kern/tru64/printf.cc
| 272 -
src/kern/tru64/printf.hh
| 40 -
src/kern/tru64/tru64.hh
| 1222 -----
src/kern/tru64/tru64_events.cc
| 114 -
src/kern/tru64/tru64_events.hh
| 86 -
src/kern/tru64/tru64_syscalls.cc
| 440 --
src/kern/tru64/tru64_syscalls.hh
| 361 -
src/sim/process.cc
| 5 -
tests/long/se/20.parser/ref/alpha/tru64/NOTE
| 6 -
tests/long/se/20.parser/ref/alpha/tru64/minor-timing/config.ini
| 877 ----
tests/long/se/20.parser/ref/alpha/tru64/minor-timing/simerr
| 7 -
tests/long/se/20.parser/ref/alpha/tru64/minor-timing/simout
| 72 -
tests/long/se/20.parser/ref/alpha/tru64/minor-timing/stats.txt
| 833 ---
tests/long/se/30.eon/ref/alpha/tru64/minor-timing/config.ini
| 877 ----
tests/long/se/30.eon/ref/alpha/tru64/minor-timing/simerr
| 53 -
tests/long/se/30.eon/ref/alpha/tru64/minor-timing/simout
| 17 -
tests/long/se/30.eon/ref/alpha/tru64/minor-timing/stats.txt
| 794 ---
tests/long/se/30.eon/ref/alpha/tru64/o3-timing/config.ini
| 825 ---
tests/long/se/30.eon/ref/alpha/tru64/o3-timing/simerr
| 53 -
tests/long/se/30.eon/ref/alpha/tru64/o3-timing/simout
| 17 -
tests/long/se/30.eon/ref/alpha/tru64/o3-timing/stats.txt
| 1059 ----
tests/long/se/30.eon/ref/alpha/tru64/simple-timing/config.ini
| 366 -
tests/long/se/30.eon/ref/alpha/tru64/simple-timing/simerr
| 52 -
tests/long/se/30.eon/ref/alpha/tru64/simple-timing/simout
| 17 -
tests/long/se/30.eon/ref/alpha/tru64/simple-timing/stats.txt
| 555 --
tests/long/se/40.perlbmk/ref/alpha/tru64/minor-timing/config.ini
| 877 ----
tests/long/se/40.perlbmk/ref/alpha/tru64/minor-timing/simerr
| 8 -
tests/long/se/40.perlbmk/ref/alpha/tru64/minor-timing/simout
| 653 ---
tests/long/se/40.perlbmk/ref/alpha/tru64/minor-timing/stats.txt
| 829 ---
tests/long/se/40.perlbmk/ref/alpha/tru64/o3-timing/config.ini
| 825 ---
tests/long/se/40.perlbmk/ref/alpha/tru64/o3-timing/simerr
| 8 -
tests/long/se/40.perlbmk/ref/alpha/tru64/o3-timing/simout
| 653 ---
tests/long/se/40.perlbmk/ref/alpha/tru64/o3-timing/stats.txt
| 1097 -----
tests/long/se/40.perlbmk/ref/alpha/tru64/simple-atomic/config.ini
| 203 -
tests/long/se/40.perlbmk/ref/alpha/tru64/simple-atomic/simerr
| 7 -
tests/long/se/40.perlbmk/ref/alpha/tru64/simple-atomic/simout
| 653 ---
tests/long/se/40.perlbmk/ref/alpha/tru64/simple-atomic/stats.txt
| 167 -
tests/long/se/40.perlbmk/ref/alpha/tru64/simple-timing/config.ini
| 366 -
tests/long/se/40.perlbmk/ref/alpha/tru64/simple-timing/simerr
| 7 -
tests/long/se/40.perlbmk/ref/alpha/tru64/simple-timing/simout
| 653 ---
tests/long/se/40.perlbmk/ref/alpha/tru64/simple-timing/stats.txt
| 571 --
tests/long/se/50.vortex/ref/alpha/tru64/minor-timing/config.ini
| 877 ----
tests/long/se/50.vortex/ref/alpha/tru64/minor-timing/simerr
| 7 -
tests/long/se/50.vortex/ref/alpha/tru64/minor-timing/simout
| 14 -
tests/long/se/50.vortex/ref/alpha/tru64/minor-timing/stats.txt
| 829 ---
tests/long/se/50.vortex/ref/alpha/tru64/o3-timing/config.ini
| 825 ---
tests/long/se/50.vortex/ref/alpha/tru64/o3-timing/simerr
| 7 -
tests/long/se/50.vortex/ref/alpha/tru64/o3-timing/simout
| 14 -
tests/long/se/50.vortex/ref/alpha/tru64/o3-timing/smred.msg
| 158 -
tests/long/se/50.vortex/ref/alpha/tru64/o3-timing/smred.out
| 258 -
tests/long/se/50.vortex/ref/alpha/tru64/o3-timing/stats.txt
| 1097 -----
tests/long/se/60.bzip2/ref/alpha/tru64/minor-timing/config.ini
| 877 ----
tests/long/se/60.bzip2/ref/alpha/tru64/minor-timing/simerr
| 7 -
tests/long/se/60.bzip2/ref/alpha/tru64/minor-timing/simout
| 29 -
tests/long/se/60.bzip2/ref/alpha/tru64/minor-timing/stats.txt
| 836 ---
tests/long/se/60.bzip2/ref/alpha/tru64/o3-timing/config.ini
| 825 ---
tests/long/se/60.bzip2/ref/alpha/tru64/o3-timing/simerr
| 7 -
tests/long/se/60.bzip2/ref/alpha/tru64/o3-timing/simout
| 29 -
tests/long/se/60.bzip2/ref/alpha/tru64/o3-timing/stats.txt
| 1119 -----
tests/long/se/60.bzip2/ref/alpha/tru64/simple-atomic/config.ini
| 203 -
tests/long/se/60.bzip2/ref/alpha/tru64/simple-atomic/simerr
| 6 -
tests/long/se/60.bzip2/ref/alpha/tru64/simple-atomic/simout
| 29 -
tests/long/se/60.bzip2/ref/alpha/tru64/simple-atomic/stats.txt
| 167 -
tests/long/se/60.bzip2/ref/alpha/tru64/simple-timing/config.ini
| 366 -
tests/long/se/60.bzip2/ref/alpha/tru64/simple-timing/simerr
| 6 -
tests/long/se/60.bzip2/ref/alpha/tru64/simple-timing/simout
| 29 -
tests/long/se/60.bzip2/ref/alpha/tru64/simple-timing/stats.txt
| 566 --
tests/long/se/70.twolf/ref/alpha/tru64/minor-timing/config.ini
| 877 ----
tests/long/se/70.twolf/ref/alpha/tru64/minor-timing/simerr
| 7 -
tests/long/se/70.twolf/ref/alpha/tru64/minor-timing/simout
| 29 -
tests/long/se/70.twolf/ref/alpha/tru64/minor-timing/stats.txt
| 795 ---
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/config.ini
| 825 ---
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/simerr
| 7 -
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/simout
| 29 -
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/smred.out
| 276 -
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/smred.pin
| 17 -
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/smred.pl1
| 11 -
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/smred.pl2
| 2 -
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/smred.sav
| 18 -
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/smred.sv2
| 19 -
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/smred.twf
| 29 -
tests/long/se/70.twolf/ref/alpha/tru64/o3-timing/stats.txt
| 1074 -----
tests/quick/se/00.hello/ref/alpha/tru64/minor-timing/config.ini
| 877 ----
tests/quick/se/00.hello/ref/alpha/tru64/minor-timing/simerr
| 4 -
tests/quick/se/00.hello/ref/alpha/tru64/minor-timing/simout
| 15 -
tests/quick/se/00.hello/ref/alpha/tru64/minor-timing/stats.txt
| 759 ---
tests/quick/se/00.hello/ref/alpha/tru64/o3-timing/config.ini
| 825 ---
tests/quick/se/00.hello/ref/alpha/tru64/o3-timing/simerr
| 5 -
tests/quick/se/00.hello/ref/alpha/tru64/o3-timing/simout
| 15 -
tests/quick/se/00.hello/ref/alpha/tru64/o3-timing/stats.txt
| 1016 ----
tests/quick/se/00.hello/ref/alpha/tru64/simple-atomic/config.ini
| 203 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-atomic/simerr
| 3 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-atomic/simout
| 15 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-atomic/stats.txt
| 167 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MESI_Two_Level/config.ini
| 1456 ------
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MESI_Two_Level/simerr
| 11 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MESI_Two_Level/simout
| 15 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MESI_Two_Level/stats.txt
| 758 ---
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_CMP_directory/config.ini
| 1448 ------
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_CMP_directory/simerr
| 11 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_CMP_directory/simout
| 15 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_CMP_directory/stats.txt
| 752 ---
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_CMP_token/config.ini
| 2138 ----------
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_CMP_token/simerr
| 11 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_CMP_token/simout
| 15 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_CMP_token/stats.txt
| 850 ---
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_hammer/config.ini
| 1514 -------
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_hammer/simerr
| 11 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_hammer/simout
| 15 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby-MOESI_hammer/stats.txt
| 778 ---
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby/config.ini
| 1266 -----
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby/simerr
| 11 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby/simout
| 15 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing-ruby/stats.txt
| 654 ---
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing/config.ini
| 366 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing/simerr
| 3 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing/simout
| 15 -
tests/quick/se/00.hello/ref/alpha/tru64/simple-timing/stats.txt
| 519 --
tests/quick/se/30.eon/ref/alpha/tru64/simple-atomic/config.ini
| 203 -
tests/quick/se/30.eon/ref/alpha/tru64/simple-atomic/simerr
| 52 -
tests/quick/se/30.eon/ref/alpha/tru64/simple-atomic/simout
| 17 -
tests/quick/se/30.eon/ref/alpha/tru64/simple-atomic/stats.txt
| 167 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-atomic/config.ini
| 203 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-atomic/simerr
| 6 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-atomic/simout
| 14 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-atomic/smred.msg
| 158 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-atomic/smred.out
| 258 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-atomic/stats.txt
| 167 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-timing/config.ini
| 366 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-timing/simerr
| 6 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-timing/simout
| 14 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-timing/smred.msg
| 158 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-timing/smred.out
| 258 -
tests/quick/se/50.vortex/ref/alpha/tru64/simple-timing/stats.txt
| 569 --
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/config.ini
| 203 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/simerr
| 6 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/simout
| 29 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/smred.out
| 276 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/smred.pin
| 17 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/smred.pl1
| 11 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/smred.pl2
| 2 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/smred.sav
| 18 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/smred.sv2
| 19 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/smred.twf
| 29 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-atomic/stats.txt
| 167 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/config.ini
| 366 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/simerr
| 6 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/simout
| 29 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/smred.out
| 276 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/smred.pin
| 17 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/smred.pl1
| 11 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/smred.pl2
| 2 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/smred.sav
| 18 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/smred.sv2
| 19 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/smred.twf
| 29 -
tests/quick/se/70.twolf/ref/alpha/tru64/simple-timing/stats.txt
| 555 --
tests/test-progs/hello/bin/alpha/tru64/hello
| Bin
172 files changed, 0 insertions(+), 52421 deletions(-)
diffs (truncated from 53164 to 300 lines):
diff -r c38fcdaa5fe5 -r d40bdd3c5778 src/arch/alpha/AlphaSystem.py
--- a/src/arch/alpha/AlphaSystem.py Wed Oct 26 22:48:45 2016 -0400
+++ b/src/arch/alpha/AlphaSystem.py Thu Nov 17 04:54:14 2016 -0500
@@ -54,9 +54,3 @@
cxx_header = "arch/alpha/freebsd/system.hh"
system_type = 34
system_rev = 1 << 10
-
-class Tru64AlphaSystem(AlphaSystem):
- type = 'Tru64AlphaSystem'
- cxx_header = "arch/alpha/tru64/system.hh"
- system_type = 12
- system_rev = 2<<1
diff -r c38fcdaa5fe5 -r d40bdd3c5778 src/arch/alpha/SConscript
--- a/src/arch/alpha/SConscript Wed Oct 26 22:48:45 2016 -0400
+++ b/src/arch/alpha/SConscript Thu Nov 17 04:54:14 2016 -0500
@@ -52,9 +52,6 @@
Source('stacktrace.cc')
Source('system.cc')
Source('tlb.cc')
- Source('tru64/process.cc')
- Source('tru64/system.cc')
- Source('tru64/tru64.cc')
Source('utility.cc')
Source('vtophys.cc')
diff -r c38fcdaa5fe5 -r d40bdd3c5778 src/arch/alpha/kernel_stats.cc
--- a/src/arch/alpha/kernel_stats.cc Wed Oct 26 22:48:45 2016 -0400
+++ b/src/arch/alpha/kernel_stats.cc Thu Nov 17 04:54:14 2016 -0500
@@ -39,7 +39,6 @@
#include "base/trace.hh"
#include "cpu/thread_context.hh"
#include "debug/Context.hh"
-#include "kern/tru64/tru64_syscalls.hh"
#include "sim/system.hh"
using namespace std;
@@ -181,16 +180,6 @@
return;
_callpal[code]++;
-
- switch (code) {
- case PAL::callsys: {
- int number = tc->readIntReg(0);
- if (SystemCalls<Tru64>::validSyscallNumber(number)) {
- int cvtnum = SystemCalls<Tru64>::convert(number);
- _syscall[cvtnum]++;
- }
- } break;
- }
}
void
diff -r c38fcdaa5fe5 -r d40bdd3c5778 src/arch/alpha/tru64/process.cc
--- a/src/arch/alpha/tru64/process.cc Wed Oct 26 22:48:45 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,584 +0,0 @@
-/*
- * Copyright (c) 2001-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Steve Reinhardt
- * Ali Saidi
- */
-
-#include "arch/alpha/tru64/process.hh"
-#include "arch/alpha/tru64/tru64.hh"
-#include "arch/alpha/isa_traits.hh"
-#include "cpu/thread_context.hh"
-#include "kern/tru64/tru64.hh"
-#include "sim/byteswap.hh"
-#include "sim/process.hh"
-#include "sim/syscall_emul.hh"
-
-using namespace std;
-using namespace AlphaISA;
-
-/// Target uname() handler.
-static SyscallReturn
-unameFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
- ThreadContext *tc)
-{
- int index = 0;
- TypedBufferArg<AlphaTru64::utsname> name(process->getSyscallArg(tc,
index));
-
- strcpy(name->sysname, "OSF1");
- strcpy(name->nodename, "m5.eecs.umich.edu");
- strcpy(name->release, "V5.1");
- strcpy(name->version, "732");
- strcpy(name->machine, "alpha");
-
- name.copyOut(tc->getMemProxy());
- return 0;
-}
-
-/// Target getsysyinfo() handler.
-static SyscallReturn
-getsysinfoFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
- ThreadContext *tc)
-{
- int index = 0;
- unsigned op = process->getSyscallArg(tc, index);
- Addr bufPtr = process->getSyscallArg(tc, index);
- unsigned nbytes = process->getSyscallArg(tc, index);
-
- switch (op) {
-
- case AlphaTru64::GSI_MAX_CPU: {
- TypedBufferArg<uint32_t> max_cpu(bufPtr);
- *max_cpu = htog((uint32_t)process->numCpus());
- max_cpu.copyOut(tc->getMemProxy());
- return 1;
- }
-
- case AlphaTru64::GSI_CPUS_IN_BOX: {
- TypedBufferArg<uint32_t> cpus_in_box(bufPtr);
- *cpus_in_box = htog((uint32_t)process->numCpus());
- cpus_in_box.copyOut(tc->getMemProxy());
- return 1;
- }
-
- case AlphaTru64::GSI_PHYSMEM: {
- TypedBufferArg<uint64_t> physmem(bufPtr);
- *physmem = htog((uint64_t)1024 * 1024); // physical memory in KB
- physmem.copyOut(tc->getMemProxy());
- return 1;
- }
-
- case AlphaTru64::GSI_CPU_INFO: {
- TypedBufferArg<AlphaTru64::cpu_info> infop(bufPtr);
-
- infop->current_cpu = htog(0);
- infop->cpus_in_box = htog(process->numCpus());
- infop->cpu_type = htog(57);
- infop->ncpus = htog(process->numCpus());
- uint64_t cpumask = (1 << process->numCpus()) - 1;
- infop->cpus_present = infop->cpus_running = htog(cpumask);
- infop->cpu_binding = htog(0);
- infop->cpu_ex_binding = htog(0);
- infop->mhz = htog(667);
-
- infop.copyOut(tc->getMemProxy());
- return 1;
- }
-
- case AlphaTru64::GSI_PROC_TYPE: {
- TypedBufferArg<uint64_t> proc_type(bufPtr);
- *proc_type = htog((uint64_t)11);
- proc_type.copyOut(tc->getMemProxy());
- return 1;
- }
-
- case AlphaTru64::GSI_PLATFORM_NAME: {
- BufferArg bufArg(bufPtr, nbytes);
- strncpy((char *)bufArg.bufferPtr(),
- "COMPAQ Professional Workstation XP1000",
- nbytes);
- bufArg.copyOut(tc->getMemProxy());
- return 1;
- }
-
- case AlphaTru64::GSI_CLK_TCK: {
- TypedBufferArg<uint64_t> clk_hz(bufPtr);
- *clk_hz = htog((uint64_t)1024);
- clk_hz.copyOut(tc->getMemProxy());
- return 1;
- }
-
- default:
- warn("getsysinfo: unknown op %d\n", op);
- break;
- }
-
- return 0;
-}
-
-/// Target setsysyinfo() handler.
-static SyscallReturn
-setsysinfoFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
- ThreadContext *tc)
-{
- int index = 0;
- unsigned op = process->getSyscallArg(tc, index);
-
- switch (op) {
- case AlphaTru64::SSI_IEEE_FP_CONTROL:
- warn("setsysinfo: ignoring ieee_set_fp_control() arg 0x%x\n",
- process->getSyscallArg(tc, index));
- break;
-
- default:
- warn("setsysinfo: unknown op %d\n", op);
- break;
- }
-
- return 0;
-}
-
-/// Target table() handler.
-static SyscallReturn
-tableFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
- ThreadContext *tc)
-{
- using namespace std;
-
- int argIndex = 0;
- int id = process->getSyscallArg(tc, argIndex); // table ID
- int index = process->getSyscallArg(tc, argIndex); // index into table
- Addr bufPtr = process->getSyscallArg(tc, argIndex);
- // arg 2 is buffer pointer; type depends on table ID
- int nel = process->getSyscallArg(tc, argIndex); // number of elements
- int lel = process->getSyscallArg(tc, argIndex); // expected element size
-
- switch (id) {
- case AlphaTru64::TBL_SYSINFO: {
- if (index != 0 || nel != 1 || lel != sizeof(Tru64::tbl_sysinfo))
- return -EINVAL;
- TypedBufferArg<Tru64::tbl_sysinfo> elp(bufPtr);
-
- const int clk_hz = one_million;
- elp->si_user = htog(curTick() / (SimClock::Frequency / clk_hz));
- elp->si_nice = htog(0);
- elp->si_sys = htog(0);
- elp->si_idle = htog(0);
- elp->wait = htog(0);
- elp->si_hz = htog(clk_hz);
- elp->si_phz = htog(clk_hz);
- elp->si_boottime = htog(seconds_since_epoch); // seconds since epoch?
- elp->si_max_procs = htog(process->numCpus());
- elp.copyOut(tc->getMemProxy());
- return 0;
- }
-
- default:
- cerr << "table(): id " << id << " unknown." << endl;
- return -EINVAL;
- }
-}
-
-SyscallDesc AlphaTru64Process::syscallDescs[] = {
- /* 0 */ SyscallDesc("syscall (#0)", AlphaTru64::indirectSyscallFunc,
- SyscallDesc::SuppressReturnValue),
- /* 1 */ SyscallDesc("exit", exitFunc),
- /* 2 */ SyscallDesc("fork", unimplementedFunc),
- /* 3 */ SyscallDesc("read", readFunc),
- /* 4 */ SyscallDesc("write", writeFunc),
- /* 5 */ SyscallDesc("old_open", unimplementedFunc),
- /* 6 */ SyscallDesc("close", closeFunc),
- /* 7 */ SyscallDesc("wait4", unimplementedFunc),
- /* 8 */ SyscallDesc("old_creat", unimplementedFunc),
- /* 9 */ SyscallDesc("link", unimplementedFunc),
- /* 10 */ SyscallDesc("unlink", unlinkFunc),
- /* 11 */ SyscallDesc("execv", unimplementedFunc),
- /* 12 */ SyscallDesc("chdir", unimplementedFunc),
- /* 13 */ SyscallDesc("fchdir", unimplementedFunc),
- /* 14 */ SyscallDesc("mknod", unimplementedFunc),
- /* 15 */ SyscallDesc("chmod", unimplementedFunc),
- /* 16 */ SyscallDesc("chown", unimplementedFunc),
- /* 17 */ SyscallDesc("obreak", brkFunc),
- /* 18 */ SyscallDesc("pre_F64_getfsstat", unimplementedFunc),
- /* 19 */ SyscallDesc("lseek", lseekFunc),
- /* 20 */ SyscallDesc("getpid", getpidPseudoFunc),
- /* 21 */ SyscallDesc("mount", unimplementedFunc),
- /* 22 */ SyscallDesc("unmount", unimplementedFunc),
- /* 23 */ SyscallDesc("setuid", setuidFunc),
- /* 24 */ SyscallDesc("getuid", getuidPseudoFunc),
- /* 25 */ SyscallDesc("exec_with_loader", unimplementedFunc),
- /* 26 */ SyscallDesc("ptrace", unimplementedFunc),
- /* 27 */ SyscallDesc("recvmsg", unimplementedFunc),
- /* 28 */ SyscallDesc("sendmsg", unimplementedFunc),
- /* 29 */ SyscallDesc("recvfrom", unimplementedFunc),
- /* 30 */ SyscallDesc("accept", unimplementedFunc),
- /* 31 */ SyscallDesc("getpeername", unimplementedFunc),
- /* 32 */ SyscallDesc("getsockname", unimplementedFunc),
- /* 33 */ SyscallDesc("access", unimplementedFunc),
- /* 34 */ SyscallDesc("chflags", unimplementedFunc),
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev