diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2016-01-29 12:14:21 +0000 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2016-01-29 12:14:21 +0000 |
commit | b99fea78a6b0db9dcf7133c302991b8a7a8f8538 (patch) | |
tree | d92f89fbd5a03e9ce64ab74009687c1b8ec4f441 /ext/nomali/lib/nomali_api.cc | |
parent | 1285d639eba6b95e31fb2b4aacae524d04ddf981 (diff) | |
download | gem5-b99fea78a6b0db9dcf7133c302991b8a7a8f8538.tar.xz |
ext: Update NoMali to external rev f08e0a5
Update NoMali from external revision 9adf9d6 to f08e0a5 and bring in
the following changes:
f08e0a5 Add support for tracking address space state
f11099e Fix job slot register handling when running new jobs
b28c98e api: Add a reset callback
29ac4c3 tests: Update gitignore to cover all future test cases
1c6b893 Propagate reset calls to all job slots
8f8ec15 Remove redundant reg vector in MMU
85d90d2 tests: Fix incorrect extern declaration
Diffstat (limited to 'ext/nomali/lib/nomali_api.cc')
-rw-r--r-- | ext/nomali/lib/nomali_api.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/ext/nomali/lib/nomali_api.cc b/ext/nomali/lib/nomali_api.cc index 46f0e7fce..bd556f3c9 100644 --- a/ext/nomali/lib/nomali_api.cc +++ b/ext/nomali/lib/nomali_api.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2015 ARM Limited + * Copyright (c) 2014-2016 ARM Limited * All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -59,6 +59,7 @@ class NoMaliApi public: void callbackInt(nomali_int_t intno, int set); + void callbackReset(); private: nomali_callback_t callbacks[NOMALI_CALLBACK_NUM_CALLBACKS]; @@ -76,7 +77,12 @@ class NoMaliApiGpu : BaseGpu(std::forward<Args>(args)...), api(_api) { + reset(); + } + + void reset() override { BaseGpu::reset(); + api.callbackReset(); } public: @@ -205,6 +211,15 @@ NoMaliApi::callbackInt(nomali_int_t intno, int set) c.func.interrupt(static_cast<nomali_handle_t>(this), c.usr, intno, set); } +void +NoMaliApi::callbackReset() +{ + const nomali_callback_t &c(callbacks[NOMALI_CALLBACK_RESET]); + + if (c.func.reset) + c.func.reset(static_cast<nomali_handle_t>(this), c.usr); +} + static NoMaliApi * |