summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/SConscript1
-rw-r--r--src/sim/aux_vector.cc95
-rw-r--r--src/sim/aux_vector.hh26
3 files changed, 12 insertions, 110 deletions
diff --git a/src/sim/SConscript b/src/sim/SConscript
index 8ab2c72f9..72b0f3df9 100644
--- a/src/sim/SConscript
+++ b/src/sim/SConscript
@@ -80,7 +80,6 @@ Source('mathexpr.cc')
if env['TARGET_ISA'] != 'null':
SimObject('InstTracer.py')
SimObject('Process.py')
- Source('aux_vector.cc')
Source('faults.cc')
Source('process.cc')
Source('fd_array.cc')
diff --git a/src/sim/aux_vector.cc b/src/sim/aux_vector.cc
deleted file mode 100644
index 18834ac9b..000000000
--- a/src/sim/aux_vector.cc
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2016 Advanced Micro Devices, Inc.
- * All rights reserved.
- *
- * For use for simulation and test purposes only
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. 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.
- *
- * 3. Neither the name of the copyright holder 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 HOLDER 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: Brandon Potter
- */
-
-#include "sim/aux_vector.hh"
-
-#include <inttypes.h>
-
-#include "config/the_isa.hh"
-
-#if THE_ISA == ALPHA_ISA
-#include "arch/alpha/linux/process.hh"
-
-#elif THE_ISA == SPARC_ISA
-#include "arch/sparc/linux/process.hh"
-#include "arch/sparc/solaris/process.hh"
-
-#elif THE_ISA == MIPS_ISA
-#include "arch/mips/linux/process.hh"
-
-#elif THE_ISA == ARM_ISA
-#include "arch/arm/freebsd/process.hh"
-#include "arch/arm/linux/process.hh"
-
-#elif THE_ISA == X86_ISA
-#include "arch/x86/linux/process.hh"
-
-#elif THE_ISA == RISCV_ISA
-#include "arch/riscv/linux/process.hh"
-
-#elif THE_ISA == POWER_ISA
-#include "arch/power/linux/process.hh"
-
-#else
-#error "THE_ISA not set"
-#endif
-
-#include "arch/isa_traits.hh"
-#include "sim/byteswap.hh"
-
-template<class IntType>
-AuxVector<IntType>::AuxVector(IntType type, IntType val)
- : _auxType(TheISA::htog(type)), _auxVal(TheISA::htog(val)),
- _auxHostType(type), _auxHostVal(val)
-{ }
-
-template<class IntType>
-inline void
-AuxVector<IntType>::setAuxType(IntType type)
-{
- _auxType = TheISA::htog(type);
- _auxHostType = type;
-}
-
-template<class IntType>
-inline void
-AuxVector<IntType>::setAuxVal(IntType val)
-{
- _auxVal = TheISA::htog(val);
- _auxHostVal = val;
-}
-
-template class AuxVector<uint32_t>;
-template class AuxVector<uint64_t>;
diff --git a/src/sim/aux_vector.hh b/src/sim/aux_vector.hh
index 1ca2d7862..00412fd82 100644
--- a/src/sim/aux_vector.hh
+++ b/src/sim/aux_vector.hh
@@ -41,23 +41,21 @@ class AuxVector
{
public:
AuxVector() = default;
- AuxVector(IntType type, IntType val);
+ AuxVector(IntType _type, IntType _val) : type(_type), val(_val) {}
- IntType const& getAuxType() const { return _auxType; }
- IntType const& getAuxVal() const { return _auxVal; }
- IntType const& getHostAuxType() const { return _auxHostType; }
- IntType const& getHostAuxVal() const { return _auxHostVal; }
-
- void setAuxType(IntType type);
- void setAuxVal(IntType val);
-
- private:
- IntType _auxType = 0;
- IntType _auxVal = 0;
- IntType _auxHostType = 0;
- IntType _auxHostVal = 0;
+ IntType type = 0;
+ IntType val = 0;
};
+template<class IntType>
+inline AuxVector<IntType>
+swap_byte(AuxVector<IntType> av)
+{
+ av.type = swap_byte(av.type);
+ av.val = swap_byte(av.val);
+ return av;
+}
+
enum AuxiliaryVectorType {
M5_AT_NULL = 0, // End of vector.
M5_AT_IGNORE = 1, // Ignored.