syscall_emul: fix warn_once behavior
authorSteve Reinhardt <steve.reinhardt@amd.com>
Tue, 5 May 2015 16:25:59 +0000 (09:25 -0700)
committerSteve Reinhardt <steve.reinhardt@amd.com>
Tue, 5 May 2015 16:25:59 +0000 (09:25 -0700)
commitc65fa3dceb2163967bbb7199013e9fccdc6ff46c
treef31fe624e5923d05433fae473512eba6fb39e061
parent40e180ecbe2e8201c9a0bc9b6676c9f030e95fdd
syscall_emul: fix warn_once behavior

The current ignoreWarnOnceFunc doesn't really work as expected,
since it will only generate one warning total, for whichever
"warn-once" syscall is invoked first.  This patch fixes that
behavior by keeping a "warned" flag in the SyscallDesc object,
allowing suitably flagged syscalls to warn exactly once per
syscall.
src/arch/arm/linux/process.cc
src/arch/x86/linux/process.cc
src/sim/syscall_emul.cc
src/sim/syscall_emul.hh