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

Reply via email to