*
* n-way modular redundancy implementation
*
- * (c) 2011-2012 Björn Döbel <doebel@os.inf.tu-dresden.de>,
+ * (c) 2011-2013 Björn Döbel <doebel@os.inf.tu-dresden.de>,
* economic rights: Technische Universität Dresden (Germany)
* This file is part of TUD:OS and distributed under the terms of the
* GNU General Public License 2.
#include "../redundancy.h"
#include "../app_loading"
#include "../fault_observers"
+#include "../manager"
+#include "../fault_handlers/syscalls_handler.h"
#define MSG() DEBUGf(Romain::Log::Redundancy)
#define MSGi(inst) MSG() << "[" << (inst)->id() << "] "
*/
Romain::DMR::DMR(unsigned instances)
- : _leave_count(0), _enter_count(0), _block_count(0),
+ : _enter_count(0), _leave_count(0), _block_count(0),
_rv(Romain::RedundancyCallback::Invalid),
_num_instances(instances), _num_instances_bak(0)
{
if (_orig_vcpu[cnt])
_orig_vcpu[cnt]->vcpu()->print_state();
}
- //enter_kdebug("checksum");
+ ERROR() << "Instances: " << _num_instances << " this inst " << idx;
+ enter_kdebug("checksum");
#endif
return false;
}
static __attribute__((noreturn)) void recover()
{
ERROR() << "Aborting after error.";
+ Romain::_the_instance_manager->logdump();
enter_kdebug("abort");
throw("ERROR -> abort");
}