diff options
author | Gabe Black <gabeblack@google.com> | 2018-10-11 18:00:03 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2018-10-17 20:16:29 +0000 |
commit | 00dec3065ab816e9e47234a3623010547cb7e487 (patch) | |
tree | 29e16ce9a688086434903f09d68a57a59e9f3624 | |
parent | 7d719bc81191f74149fabf536a0cfc573c172a26 (diff) | |
download | gem5-00dec3065ab816e9e47234a3623010547cb7e487.tar.xz |
dev: Build most of the networking devices in the NULL_ISA build.
The only part of these devices which are incompatible with other ISAs,
with the possible exception of endianness transformation, is that
the dist_iface implementation refers to ThreadContext methods and
that class is heavily tied to the guest ISA. Only those few lines are
excluded in a NULL_ISA build.
Change-Id: Ic6d643fdbb792d0a996a37d75e027c5ce0ecd460
Reviewed-on: https://gem5-review.googlesource.com/c/13469
Reviewed-by: Gabor Dozsa <gabor.dozsa@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
-rw-r--r-- | src/dev/net/SConscript | 3 | ||||
-rw-r--r-- | src/dev/net/dist_iface.cc | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/dev/net/SConscript b/src/dev/net/SConscript index e39df9d1c..908dd44e6 100644 --- a/src/dev/net/SConscript +++ b/src/dev/net/SConscript @@ -44,9 +44,6 @@ Import('*') -if env['TARGET_ISA'] == 'null': - Return() - SimObject('Ethernet.py') # Basic Ethernet infrastructure diff --git a/src/dev/net/dist_iface.cc b/src/dev/net/dist_iface.cc index 7eef5d841..ded8901aa 100644 --- a/src/dev/net/dist_iface.cc +++ b/src/dev/net/dist_iface.cc @@ -869,11 +869,13 @@ DistIface::toggleSync(ThreadContext *tc) // stop point. Suspend execution of all local thread contexts. // Dist-gem5 will reactivate all thread contexts when everyone has // reached the sync stop point. +#if THE_ISA != NULL_ISA for (int i = 0; i < master->sys->numContexts(); i++) { ThreadContext *tc = master->sys->getThreadContext(i); if (tc->status() == ThreadContext::Active) tc->quiesce(); } +#endif } else { inform("Request toggling syncronization on\n"); master->syncEvent->start(); @@ -882,11 +884,13 @@ DistIface::toggleSync(ThreadContext *tc) // nodes to prevent causality errors. We can also schedule CPU // activation here, since we know exactly when the next sync will // occur. +#if THE_ISA != NULL_ISA for (int i = 0; i < master->sys->numContexts(); i++) { ThreadContext *tc = master->sys->getThreadContext(i); if (tc->status() == ThreadContext::Active) tc->quiesceTick(master->syncEvent->when() + 1); } +#endif } } |