Skip to content

SC_CTOR macro error #4

Description

@RossComputerGuy

Using SC_CTOR produces this error:

In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h: In instantiation of 'void sc_core::sc_signal_t<T, POL>::print(std::ostream&) const [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER; std::ostream = std::basic_ostream<char>]':
/usr/include/sysc/communication/sc_signal.h:306:1:   required from here
/usr/include/sysc/communication/sc_signal.h:308:8: error: no match for 'operator<<' (operand types are 'std::ostream' {aka 'std::basic_ostream<char>'} and 'const mmu_entry_t')
  308 |     os << m_cur_val;
      |     ~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:108:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |       ^~~~~~~~
/usr/include/c++/9/ostream:108:36: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&)' {aka 'std::basic_ostream<char>& (*)(std::basic_ostream<char>&)'}
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/ostream:117:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]'
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/9/ostream:117:32: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'}
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/ostream:127:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |       ^~~~~~~~
/usr/include/c++/9/ostream:127:30: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::ios_base& (*)(std::ios_base&)'
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/9/ostream:166:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  166 |       operator<<(long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:166:23: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long int'
  166 |       operator<<(long __n)
      |                  ~~~~~^~~
/usr/include/c++/9/ostream:170:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  170 |       operator<<(unsigned long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:170:32: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long unsigned int'
  170 |       operator<<(unsigned long __n)
      |                  ~~~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:174:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  174 |       operator<<(bool __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:174:23: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'bool'
  174 |       operator<<(bool __n)
      |                  ~~~~~^~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:91:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]'
   91 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:92:22: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'short int'
   92 |     operator<<(short __n)
      |                ~~~~~~^~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:181:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  181 |       operator<<(unsigned short __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:181:33: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'short unsigned int'
  181 |       operator<<(unsigned short __n)
      |                  ~~~~~~~~~~~~~~~^~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:105:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]'
  105 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:106:20: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'int'
  106 |     operator<<(int __n)
      |                ~~~~^~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:192:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  192 |       operator<<(unsigned int __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:192:31: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'unsigned int'
  192 |       operator<<(unsigned int __n)
      |                  ~~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:201:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  201 |       operator<<(long long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:201:28: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long long int'
  201 |       operator<<(long long __n)
      |                  ~~~~~~~~~~^~~
/usr/include/c++/9/ostream:205:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  205 |       operator<<(unsigned long long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:205:37: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long long unsigned int'
  205 |       operator<<(unsigned long long __n)
      |                  ~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:220:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  220 |       operator<<(double __f)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:220:25: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'double'
  220 |       operator<<(double __f)
      |                  ~~~~~~~^~~
/usr/include/c++/9/ostream:224:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  224 |       operator<<(float __f)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:224:24: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'float'
  224 |       operator<<(float __f)
      |                  ~~~~~~^~~
/usr/include/c++/9/ostream:232:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  232 |       operator<<(long double __f)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:232:30: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long double'
  232 |       operator<<(long double __f)
      |                  ~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:245:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  245 |       operator<<(const void* __p)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:245:30: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'const void*'
  245 |       operator<<(const void* __p)
      |                  ~~~~~~~~~~~~^~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:119:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]'
  119 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:120:34: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::basic_ostream<char>::__streambuf_type*' {aka 'std::basic_streambuf<char>*'}
  120 |     operator<<(__streambuf_type* __sbin)
      |                ~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/sysc/kernel/sc_module.h:38,
                 from /usr/include/systemc:74,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/kernel/sc_time.h:434:1: note: candidate: 'std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_time&)'
  434 | operator << ( ::std::ostream& os, const sc_time& t )
      | ^~~~~~~~
/usr/include/sysc/kernel/sc_time.h:434:50: note:   no known conversion for argument 2 from 'const mmu_entry_t' to 'const sc_core::sc_time&'
  434 | operator << ( ::std::ostream& os, const sc_time& t )
      |                                   ~~~~~~~~~~~~~~~^
In file included from /usr/include/sysc/kernel/sc_simcontext.h:35,
                 from /usr/include/sysc/kernel/sc_wait.h:34,
                 from /usr/include/sysc/kernel/sc_module.h:39,
                 from /usr/include/systemc:74,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/kernel/sc_status.h:69:22: note: candidate: 'std::ostream& sc_core::operator<<(std::ostream&, sc_core::sc_status)'
   69 | SC_API std::ostream& operator << ( std::ostream&, sc_status );
      |                      ^~~~~~~~
/usr/include/sysc/kernel/sc_status.h:69:51: note:   no known conversion for argument 2 from 'const mmu_entry_t' to 'sc_core::sc_status'
   69 | SC_API std::ostream& operator << ( std::ostream&, sc_status );
      |                                                   ^~~~~~~~~
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:140:1: note: candidate: 'std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_signal_channel&)'
  140 | operator << ( ::std::ostream& os, const sc_signal_channel& a )
      | ^~~~~~~~
/usr/include/sysc/communication/sc_signal.h:140:60: note:   no known conversion for argument 2 from 'const mmu_entry_t' to 'const sc_core::sc_signal_channel&'
  140 | operator << ( ::std::ostream& os, const sc_signal_channel& a )
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from /usr/include/sysc/communication/sc_clock_ports.h:33,
                 from /usr/include/systemc:81,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal_ports.h:288:17: note: candidate: 'template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_in<T>&)'
  288 | ::std::ostream& operator << ( ::std::ostream& os, const sc_in<T>& a )
      |                 ^~~~~~~~
/usr/include/sysc/communication/sc_signal_ports.h:288:17: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:8: note:   'const mmu_entry_t' is not derived from 'const sc_core::sc_in<T>'
  308 |     os << m_cur_val;
      |     ~~~^~~~~~~~~~~~
In file included from /usr/include/sysc/communication/sc_clock_ports.h:33,
                 from /usr/include/systemc:81,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal_ports.h:1089:17: note: candidate: 'template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_inout<T>&)'
 1089 | ::std::ostream& operator << ( ::std::ostream& os, const sc_inout<T>& a )
      |                 ^~~~~~~~
/usr/include/sysc/communication/sc_signal_ports.h:1089:17: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:8: note:   'const mmu_entry_t' is not derived from 'const sc_core::sc_inout<T>'
  308 |     os << m_cur_val;
      |     ~~~^~~~~~~~~~~~
In file included from /usr/include/systemc:84,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_fifo.h:429:1: note: candidate: 'template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_fifo<T>&)'
  429 | operator << ( ::std::ostream& os, const sc_fifo<T>& a )
      | ^~~~~~~~
/usr/include/sysc/communication/sc_fifo.h:429:1: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:8: note:   'const mmu_entry_t' is not derived from 'const sc_core::sc_fifo<T>'
  308 |     os << m_cur_val;
      |     ~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/string:55,
                 from /usr/include/c++/9/bits/locale_classes.h:40,
                 from /usr/include/c++/9/bits/ios_base.h:41,
                 from /usr/include/c++/9/ios:42,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/basic_string.h:6416:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
 6416 |     operator<<(basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/9/bits/basic_string.h:6416:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:8: note:   'const mmu_entry_t' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
  308 |     os << m_cur_val;
      |     ~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/bits/ios_base.h:46,
                 from /usr/include/c++/9/ios:42,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/system_error:217:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)'
  217 |     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
      |     ^~~~~~~~
/usr/include/c++/9/system_error:217:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:11: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const std::error_code&'
  308 |     os << m_cur_val;
      |           ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:506:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)'
  506 |     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:506:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:8: note:   deduced conflicting types for parameter '_CharT' ('char' and 'mmu_entry_t')
  308 |     os << m_cur_val;
      |     ~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:511:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)'
  511 |     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:511:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:11: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'char'
  308 |     os << m_cur_val;
      |           ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:517:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)'
  517 |     operator<<(basic_ostream<char, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:517:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:11: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'char'
  308 |     os << m_cur_val;
      |           ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:523:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)'
  523 |     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:523:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:11: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'signed char'
  308 |     os << m_cur_val;
      |           ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:528:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)'
  528 |     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:528:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:11: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'unsigned char'
  308 |     os << m_cur_val;
      |           ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:548:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)'
  548 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:548:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:8: note:   mismatched types 'const _CharT*' and 'mmu_entry_t'
  308 |     os << m_cur_val;
      |     ~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:321:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)'
  321 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:11: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const char*'
  308 |     os << m_cur_val;
      |           ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:565:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)'
  565 |     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:565:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:11: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const char*'
  308 |     os << m_cur_val;
      |           ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:578:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)'
  578 |     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:578:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:11: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const signed char*'
  308 |     os << m_cur_val;
      |           ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:583:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)'
  583 |     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:583:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:11: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const unsigned char*'
  308 |     os << m_cur_val;
      |           ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:691:5: note: candidate: 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)'
  691 |     operator<<(_Ostream&& __os, const _Tp& __x)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:691:5: note:   template argument deduction/substitution failed:
/usr/include/c++/9/ostream: In substitution of 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = mmu_entry_t]':
/usr/include/sysc/communication/sc_signal.h:308:8:   required from 'void sc_core::sc_signal_t<T, POL>::print(std::ostream&) const [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER; std::ostream = std::basic_ostream<char>]'
/usr/include/sysc/communication/sc_signal.h:306:1:   required from here
/usr/include/c++/9/ostream:691:5: error: no type named 'type' in 'struct std::enable_if<false, std::basic_ostream<char>&>'
In file included from /usr/include/c++/9/memory:81,
                 from /usr/include/systemc.h:53,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h: In instantiation of 'void sc_core::sc_signal_t<T, POL>::print(std::ostream&) const [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER; std::ostream = std::basic_ostream<char>]':
/usr/include/sysc/communication/sc_signal.h:306:1:   required from here
/usr/include/c++/9/bits/shared_ptr.h:66:5: note: candidate: 'template<class _Ch, class _Tr, class _Tp, __gnu_cxx::_Lock_policy _Lp> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__shared_ptr<_Tp, _Lp>&)'
   66 |     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
      |     ^~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:66:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:308:8: note:   'const mmu_entry_t' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
  308 |     os << m_cur_val;
      |     ~~~^~~~~~~~~~~~
/usr/include/sysc/communication/sc_signal.h: In instantiation of 'void sc_core::sc_signal_t<T, POL>::dump(std::ostream&) const [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER; std::ostream = std::basic_ostream<char>]':
/usr/include/sysc/communication/sc_signal.h:313:1:   required from here
/usr/include/sysc/communication/sc_signal.h:316:26: error: no match for 'operator<<' (operand types are 'std::basic_ostream<char>' and 'const mmu_entry_t')
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:108:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |       ^~~~~~~~
/usr/include/c++/9/ostream:108:36: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&)' {aka 'std::basic_ostream<char>& (*)(std::basic_ostream<char>&)'}
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/ostream:117:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]'
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/9/ostream:117:32: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'}
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/ostream:127:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |       ^~~~~~~~
/usr/include/c++/9/ostream:127:30: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::ios_base& (*)(std::ios_base&)'
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/9/ostream:166:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  166 |       operator<<(long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:166:23: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long int'
  166 |       operator<<(long __n)
      |                  ~~~~~^~~
/usr/include/c++/9/ostream:170:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  170 |       operator<<(unsigned long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:170:32: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long unsigned int'
  170 |       operator<<(unsigned long __n)
      |                  ~~~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:174:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  174 |       operator<<(bool __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:174:23: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'bool'
  174 |       operator<<(bool __n)
      |                  ~~~~~^~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:91:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]'
   91 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:92:22: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'short int'
   92 |     operator<<(short __n)
      |                ~~~~~~^~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:181:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  181 |       operator<<(unsigned short __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:181:33: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'short unsigned int'
  181 |       operator<<(unsigned short __n)
      |                  ~~~~~~~~~~~~~~~^~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:105:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]'
  105 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:106:20: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'int'
  106 |     operator<<(int __n)
      |                ~~~~^~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:192:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  192 |       operator<<(unsigned int __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:192:31: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'unsigned int'
  192 |       operator<<(unsigned int __n)
      |                  ~~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:201:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  201 |       operator<<(long long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:201:28: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long long int'
  201 |       operator<<(long long __n)
      |                  ~~~~~~~~~~^~~
/usr/include/c++/9/ostream:205:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  205 |       operator<<(unsigned long long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:205:37: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long long unsigned int'
  205 |       operator<<(unsigned long long __n)
      |                  ~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:220:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  220 |       operator<<(double __f)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:220:25: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'double'
  220 |       operator<<(double __f)
      |                  ~~~~~~~^~~
/usr/include/c++/9/ostream:224:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  224 |       operator<<(float __f)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:224:24: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'float'
  224 |       operator<<(float __f)
      |                  ~~~~~~^~~
/usr/include/c++/9/ostream:232:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  232 |       operator<<(long double __f)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:232:30: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long double'
  232 |       operator<<(long double __f)
      |                  ~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:245:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  245 |       operator<<(const void* __p)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:245:30: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'const void*'
  245 |       operator<<(const void* __p)
      |                  ~~~~~~~~~~~~^~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:119:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]'
  119 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:120:34: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::basic_ostream<char>::__streambuf_type*' {aka 'std::basic_streambuf<char>*'}
  120 |     operator<<(__streambuf_type* __sbin)
      |                ~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/sysc/kernel/sc_module.h:38,
                 from /usr/include/systemc:74,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/kernel/sc_time.h:434:1: note: candidate: 'std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_time&)'
  434 | operator << ( ::std::ostream& os, const sc_time& t )
      | ^~~~~~~~
/usr/include/sysc/kernel/sc_time.h:434:50: note:   no known conversion for argument 2 from 'const mmu_entry_t' to 'const sc_core::sc_time&'
  434 | operator << ( ::std::ostream& os, const sc_time& t )
      |                                   ~~~~~~~~~~~~~~~^
In file included from /usr/include/sysc/kernel/sc_simcontext.h:35,
                 from /usr/include/sysc/kernel/sc_wait.h:34,
                 from /usr/include/sysc/kernel/sc_module.h:39,
                 from /usr/include/systemc:74,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/kernel/sc_status.h:69:22: note: candidate: 'std::ostream& sc_core::operator<<(std::ostream&, sc_core::sc_status)'
   69 | SC_API std::ostream& operator << ( std::ostream&, sc_status );
      |                      ^~~~~~~~
/usr/include/sysc/kernel/sc_status.h:69:51: note:   no known conversion for argument 2 from 'const mmu_entry_t' to 'sc_core::sc_status'
   69 | SC_API std::ostream& operator << ( std::ostream&, sc_status );
      |                                                   ^~~~~~~~~
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:140:1: note: candidate: 'std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_signal_channel&)'
  140 | operator << ( ::std::ostream& os, const sc_signal_channel& a )
      | ^~~~~~~~
/usr/include/sysc/communication/sc_signal.h:140:60: note:   no known conversion for argument 2 from 'const mmu_entry_t' to 'const sc_core::sc_signal_channel&'
  140 | operator << ( ::std::ostream& os, const sc_signal_channel& a )
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from /usr/include/sysc/communication/sc_clock_ports.h:33,
                 from /usr/include/systemc:81,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal_ports.h:288:17: note: candidate: 'template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_in<T>&)'
  288 | ::std::ostream& operator << ( ::std::ostream& os, const sc_in<T>& a )
      |                 ^~~~~~~~
/usr/include/sysc/communication/sc_signal_ports.h:288:17: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:26: note:   'const mmu_entry_t' is not derived from 'const sc_core::sc_in<T>'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/sysc/communication/sc_clock_ports.h:33,
                 from /usr/include/systemc:81,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal_ports.h:1089:17: note: candidate: 'template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_inout<T>&)'
 1089 | ::std::ostream& operator << ( ::std::ostream& os, const sc_inout<T>& a )
      |                 ^~~~~~~~
/usr/include/sysc/communication/sc_signal_ports.h:1089:17: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:26: note:   'const mmu_entry_t' is not derived from 'const sc_core::sc_inout<T>'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/systemc:84,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_fifo.h:429:1: note: candidate: 'template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_fifo<T>&)'
  429 | operator << ( ::std::ostream& os, const sc_fifo<T>& a )
      | ^~~~~~~~
/usr/include/sysc/communication/sc_fifo.h:429:1: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:26: note:   'const mmu_entry_t' is not derived from 'const sc_core::sc_fifo<T>'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/string:55,
                 from /usr/include/c++/9/bits/locale_classes.h:40,
                 from /usr/include/c++/9/bits/ios_base.h:41,
                 from /usr/include/c++/9/ios:42,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/basic_string.h:6416:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
 6416 |     operator<<(basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/9/bits/basic_string.h:6416:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:26: note:   'const mmu_entry_t' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/bits/ios_base.h:46,
                 from /usr/include/c++/9/ios:42,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/system_error:217:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)'
  217 |     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
      |     ^~~~~~~~
/usr/include/c++/9/system_error:217:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const std::error_code&'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:506:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)'
  506 |     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:506:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:26: note:   deduced conflicting types for parameter '_CharT' ('char' and 'mmu_entry_t')
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:511:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)'
  511 |     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:511:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'char'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:517:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)'
  517 |     operator<<(basic_ostream<char, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:517:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'char'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:523:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)'
  523 |     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:523:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'signed char'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:528:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)'
  528 |     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:528:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'unsigned char'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:548:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)'
  548 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:548:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:26: note:   mismatched types 'const _CharT*' and 'mmu_entry_t'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:321:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)'
  321 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const char*'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:565:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)'
  565 |     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:565:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const char*'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:578:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)'
  578 |     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:578:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const signed char*'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:583:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)'
  583 |     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:583:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_cur_val' (type 'const mmu_entry_t') to type 'const unsigned char*'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:691:5: note: candidate: 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)'
  691 |     operator<<(_Ostream&& __os, const _Tp& __x)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:691:5: note:   template argument deduction/substitution failed:
/usr/include/c++/9/ostream: In substitution of 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = mmu_entry_t]':
/usr/include/sysc/communication/sc_signal.h:316:26:   required from 'void sc_core::sc_signal_t<T, POL>::dump(std::ostream&) const [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER; std::ostream = std::basic_ostream<char>]'
/usr/include/sysc/communication/sc_signal.h:313:1:   required from here
/usr/include/c++/9/ostream:691:5: error: no type named 'type' in 'struct std::enable_if<false, std::basic_ostream<char>&>'
In file included from /usr/include/c++/9/memory:81,
                 from /usr/include/systemc.h:53,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h: In instantiation of 'void sc_core::sc_signal_t<T, POL>::dump(std::ostream&) const [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER; std::ostream = std::basic_ostream<char>]':
/usr/include/sysc/communication/sc_signal.h:313:1:   required from here
/usr/include/c++/9/bits/shared_ptr.h:66:5: note: candidate: 'template<class _Ch, class _Tr, class _Tp, __gnu_cxx::_Lock_policy _Lp> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__shared_ptr<_Tp, _Lp>&)'
   66 |     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
      |     ^~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:66:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:316:26: note:   'const mmu_entry_t' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
  316 |     os << "    value = " << m_cur_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/usr/include/sysc/communication/sc_signal.h:317:26: error: no match for 'operator<<' (operand types are 'std::basic_ostream<char>' and 'const mmu_entry_t')
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:108:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |       ^~~~~~~~
/usr/include/c++/9/ostream:108:36: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&)' {aka 'std::basic_ostream<char>& (*)(std::basic_ostream<char>&)'}
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/ostream:117:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]'
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/9/ostream:117:32: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'}
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/ostream:127:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |       ^~~~~~~~
/usr/include/c++/9/ostream:127:30: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::ios_base& (*)(std::ios_base&)'
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/9/ostream:166:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  166 |       operator<<(long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:166:23: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long int'
  166 |       operator<<(long __n)
      |                  ~~~~~^~~
/usr/include/c++/9/ostream:170:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  170 |       operator<<(unsigned long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:170:32: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long unsigned int'
  170 |       operator<<(unsigned long __n)
      |                  ~~~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:174:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  174 |       operator<<(bool __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:174:23: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'bool'
  174 |       operator<<(bool __n)
      |                  ~~~~~^~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:91:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]'
   91 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:92:22: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'short int'
   92 |     operator<<(short __n)
      |                ~~~~~~^~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:181:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  181 |       operator<<(unsigned short __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:181:33: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'short unsigned int'
  181 |       operator<<(unsigned short __n)
      |                  ~~~~~~~~~~~~~~~^~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:105:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]'
  105 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:106:20: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'int'
  106 |     operator<<(int __n)
      |                ~~~~^~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:192:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  192 |       operator<<(unsigned int __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:192:31: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'unsigned int'
  192 |       operator<<(unsigned int __n)
      |                  ~~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:201:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  201 |       operator<<(long long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:201:28: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long long int'
  201 |       operator<<(long long __n)
      |                  ~~~~~~~~~~^~~
/usr/include/c++/9/ostream:205:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  205 |       operator<<(unsigned long long __n)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:205:37: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long long unsigned int'
  205 |       operator<<(unsigned long long __n)
      |                  ~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:220:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  220 |       operator<<(double __f)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:220:25: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'double'
  220 |       operator<<(double __f)
      |                  ~~~~~~~^~~
/usr/include/c++/9/ostream:224:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  224 |       operator<<(float __f)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:224:24: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'float'
  224 |       operator<<(float __f)
      |                  ~~~~~~^~~
/usr/include/c++/9/ostream:232:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  232 |       operator<<(long double __f)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:232:30: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'long double'
  232 |       operator<<(long double __f)
      |                  ~~~~~~~~~~~~^~~
/usr/include/c++/9/ostream:245:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  245 |       operator<<(const void* __p)
      |       ^~~~~~~~
/usr/include/c++/9/ostream:245:30: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'const void*'
  245 |       operator<<(const void* __p)
      |                  ~~~~~~~~~~~~^~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:119:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]'
  119 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:120:34: note:   no known conversion for argument 1 from 'const mmu_entry_t' to 'std::basic_ostream<char>::__streambuf_type*' {aka 'std::basic_streambuf<char>*'}
  120 |     operator<<(__streambuf_type* __sbin)
      |                ~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/sysc/kernel/sc_module.h:38,
                 from /usr/include/systemc:74,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/kernel/sc_time.h:434:1: note: candidate: 'std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_time&)'
  434 | operator << ( ::std::ostream& os, const sc_time& t )
      | ^~~~~~~~
/usr/include/sysc/kernel/sc_time.h:434:50: note:   no known conversion for argument 2 from 'const mmu_entry_t' to 'const sc_core::sc_time&'
  434 | operator << ( ::std::ostream& os, const sc_time& t )
      |                                   ~~~~~~~~~~~~~~~^
In file included from /usr/include/sysc/kernel/sc_simcontext.h:35,
                 from /usr/include/sysc/kernel/sc_wait.h:34,
                 from /usr/include/sysc/kernel/sc_module.h:39,
                 from /usr/include/systemc:74,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/kernel/sc_status.h:69:22: note: candidate: 'std::ostream& sc_core::operator<<(std::ostream&, sc_core::sc_status)'
   69 | SC_API std::ostream& operator << ( std::ostream&, sc_status );
      |                      ^~~~~~~~
/usr/include/sysc/kernel/sc_status.h:69:51: note:   no known conversion for argument 2 from 'const mmu_entry_t' to 'sc_core::sc_status'
   69 | SC_API std::ostream& operator << ( std::ostream&, sc_status );
      |                                                   ^~~~~~~~~
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:140:1: note: candidate: 'std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_signal_channel&)'
  140 | operator << ( ::std::ostream& os, const sc_signal_channel& a )
      | ^~~~~~~~
/usr/include/sysc/communication/sc_signal.h:140:60: note:   no known conversion for argument 2 from 'const mmu_entry_t' to 'const sc_core::sc_signal_channel&'
  140 | operator << ( ::std::ostream& os, const sc_signal_channel& a )
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from /usr/include/sysc/communication/sc_clock_ports.h:33,
                 from /usr/include/systemc:81,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal_ports.h:288:17: note: candidate: 'template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_in<T>&)'
  288 | ::std::ostream& operator << ( ::std::ostream& os, const sc_in<T>& a )
      |                 ^~~~~~~~
/usr/include/sysc/communication/sc_signal_ports.h:288:17: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:26: note:   'const mmu_entry_t' is not derived from 'const sc_core::sc_in<T>'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/sysc/communication/sc_clock_ports.h:33,
                 from /usr/include/systemc:81,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal_ports.h:1089:17: note: candidate: 'template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_inout<T>&)'
 1089 | ::std::ostream& operator << ( ::std::ostream& os, const sc_inout<T>& a )
      |                 ^~~~~~~~
/usr/include/sysc/communication/sc_signal_ports.h:1089:17: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:26: note:   'const mmu_entry_t' is not derived from 'const sc_core::sc_inout<T>'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/systemc:84,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_fifo.h:429:1: note: candidate: 'template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_fifo<T>&)'
  429 | operator << ( ::std::ostream& os, const sc_fifo<T>& a )
      | ^~~~~~~~
/usr/include/sysc/communication/sc_fifo.h:429:1: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:26: note:   'const mmu_entry_t' is not derived from 'const sc_core::sc_fifo<T>'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/string:55,
                 from /usr/include/c++/9/bits/locale_classes.h:40,
                 from /usr/include/c++/9/bits/ios_base.h:41,
                 from /usr/include/c++/9/ios:42,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/basic_string.h:6416:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
 6416 |     operator<<(basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/9/bits/basic_string.h:6416:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:26: note:   'const mmu_entry_t' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/bits/ios_base.h:46,
                 from /usr/include/c++/9/ios:42,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/system_error:217:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)'
  217 |     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
      |     ^~~~~~~~
/usr/include/c++/9/system_error:217:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_new_val' (type 'const mmu_entry_t') to type 'const std::error_code&'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:506:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)'
  506 |     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:506:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:26: note:   deduced conflicting types for parameter '_CharT' ('char' and 'mmu_entry_t')
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:511:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)'
  511 |     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:511:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_new_val' (type 'const mmu_entry_t') to type 'char'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:517:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)'
  517 |     operator<<(basic_ostream<char, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:517:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_new_val' (type 'const mmu_entry_t') to type 'char'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:523:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)'
  523 |     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:523:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_new_val' (type 'const mmu_entry_t') to type 'signed char'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:528:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)'
  528 |     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:528:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_new_val' (type 'const mmu_entry_t') to type 'unsigned char'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:548:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)'
  548 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:548:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:26: note:   mismatched types 'const _CharT*' and 'mmu_entry_t'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/9/ostream:702,
                 from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/bits/ostream.tcc:321:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)'
  321 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_new_val' (type 'const mmu_entry_t') to type 'const char*'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:565:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)'
  565 |     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:565:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_new_val' (type 'const mmu_entry_t') to type 'const char*'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:578:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)'
  578 |     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:578:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_new_val' (type 'const mmu_entry_t') to type 'const signed char*'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:583:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)'
  583 |     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:583:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:29: note:   cannot convert '((const sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>*)this)->sc_core::sc_signal_t<mmu_entry_t, sc_core::SC_ONE_WRITER>::m_new_val' (type 'const mmu_entry_t') to type 'const unsigned char*'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/9/istream:39,
                 from /usr/include/c++/9/fstream:38,
                 from /usr/include/systemc.h:51,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/c++/9/ostream:691:5: note: candidate: 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)'
  691 |     operator<<(_Ostream&& __os, const _Tp& __x)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:691:5: note:   template argument deduction/substitution failed:
/usr/include/c++/9/ostream: In substitution of 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = mmu_entry_t]':
/usr/include/sysc/communication/sc_signal.h:317:26:   required from 'void sc_core::sc_signal_t<T, POL>::dump(std::ostream&) const [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER; std::ostream = std::basic_ostream<char>]'
/usr/include/sysc/communication/sc_signal.h:313:1:   required from here
/usr/include/c++/9/ostream:691:5: error: no type named 'type' in 'struct std::enable_if<false, std::basic_ostream<char>&>'
In file included from /usr/include/c++/9/memory:81,
                 from /usr/include/systemc.h:53,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h: In instantiation of 'void sc_core::sc_signal_t<T, POL>::dump(std::ostream&) const [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER; std::ostream = std::basic_ostream<char>]':
/usr/include/sysc/communication/sc_signal.h:313:1:   required from here
/usr/include/c++/9/bits/shared_ptr.h:66:5: note: candidate: 'template<class _Ch, class _Tr, class _Tp, __gnu_cxx::_Lock_policy _Lp> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__shared_ptr<_Tp, _Lp>&)'
   66 |     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
      |     ^~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:66:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h:317:26: note:   'const mmu_entry_t' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
  317 |     os << "new value = " << m_new_val << ::std::endl;
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/usr/include/sysc/communication/sc_signal.h: In instantiation of 'void sc_core::sc_signal_t<T, POL>::write(const T&) [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER]':
/usr/include/sysc/communication/sc_signal.h:289:1:   required from here
/usr/include/sysc/communication/sc_signal.h:292:39: error: no match for 'operator==' (operand types are 'mmu_entry_t' and 'const mmu_entry_t')
  292 |     bool value_changed = !( m_new_val == value_ );
      |                           ~~~~~~~~~~~~^~~~~~~~~~~
In file included from /usr/include/sysc/kernel/sc_module.h:42,
                 from /usr/include/systemc:74,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/kernel/sc_process_handle.h:153:13: note: candidate: 'bool sc_core::operator==(const sc_core::sc_process_handle&, const sc_core::sc_process_handle&)'
  153 | inline bool operator == (
      |             ^~~~~~~~
/usr/include/sysc/kernel/sc_process_handle.h:154:30: note:   no known conversion for argument 1 from 'mmu_entry_t' to 'const sc_core::sc_process_handle&'
  154 |     const sc_process_handle& left, const sc_process_handle& right )
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
In file included from /usr/include/sysc/communication/sc_buffer.h:34,
                 from /usr/include/systemc:79,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/communication/sc_signal.h: In instantiation of 'void sc_core::sc_signal_t<T, POL>::update() [with T = mmu_entry_t; sc_core::sc_writer_policy POL = sc_core::SC_ONE_WRITER]':
/usr/include/sysc/communication/sc_signal.h:323:1:   required from here
/usr/include/sysc/communication/sc_signal.h:326:22: error: no match for 'operator==' (operand types are 'mmu_entry_t' and 'mmu_entry_t')
  326 |     if( !( m_new_val == m_cur_val ) ) {
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~
In file included from /usr/include/sysc/kernel/sc_module.h:42,
                 from /usr/include/systemc:74,
                 from /usr/include/systemc.h:219,
                 from /workspace/SlimProc/soc/include/soc/mmu.h:3,
                 from /workspace/SlimProc/soc/include/soc/cpu.h:4,
                 from /workspace/SlimProc/soc/src/cpu.cpp:2:
/usr/include/sysc/kernel/sc_process_handle.h:153:13: note: candidate: 'bool sc_core::operator==(const sc_core::sc_process_handle&, const sc_core::sc_process_handle&)'
  153 | inline bool operator == (
      |             ^~~~~~~~
/usr/include/sysc/kernel/sc_process_handle.h:154:30: note:   no known conversion for argument 1 from 'mmu_entry_t' to 'const sc_core::sc_process_handle&'
  154 |     const sc_process_handle& left, const sc_process_handle& right )
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
make[2]: *** [soc/CMakeFiles/soc-emulator.dir/build.make:63: soc/CMakeFiles/soc-emulator.dir/src/cpu.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:94: soc/CMakeFiles/soc-emulator.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions