aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/svm.c
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2007-07-31 20:48:02 -0400
committerAvi Kivity <avi@qumranet.com>2007-10-13 04:18:22 -0400
commitf02424785ab83bab8283ad33044284f749c08db8 (patch)
tree020d73469f801e33012702c58233e776381d3008 /drivers/kvm/svm.c
parent33830b4f5bdf2bc21d0c10d38beffdce8edcded7 (diff)
KVM: Add and use pr_unimpl for standard formatting of unimplemented features
All guest-invokable printks should be ratelimited to prevent malicious guests from flooding logs. This is a start. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/svm.c')
-rw-r--r--drivers/kvm/svm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c
index 7beaff1789b1..3ec30d7c9b93 100644
--- a/drivers/kvm/svm.c
+++ b/drivers/kvm/svm.c
@@ -1167,7 +1167,7 @@ static int invalid_op_interception(struct vcpu_svm *svm,
1167static int task_switch_interception(struct vcpu_svm *svm, 1167static int task_switch_interception(struct vcpu_svm *svm,
1168 struct kvm_run *kvm_run) 1168 struct kvm_run *kvm_run)
1169{ 1169{
1170 printk(KERN_DEBUG "%s: task swiche is unsupported\n", __FUNCTION__); 1170 pr_unimpl(&svm->vcpu, "%s: task switch is unsupported\n", __FUNCTION__);
1171 kvm_run->exit_reason = KVM_EXIT_UNKNOWN; 1171 kvm_run->exit_reason = KVM_EXIT_UNKNOWN;
1172 return 0; 1172 return 0;
1173} 1173}
@@ -1183,7 +1183,7 @@ static int emulate_on_interception(struct vcpu_svm *svm,
1183 struct kvm_run *kvm_run) 1183 struct kvm_run *kvm_run)
1184{ 1184{
1185 if (emulate_instruction(&svm->vcpu, NULL, 0, 0) != EMULATE_DONE) 1185 if (emulate_instruction(&svm->vcpu, NULL, 0, 0) != EMULATE_DONE)
1186 printk(KERN_ERR "%s: failed\n", __FUNCTION__); 1186 pr_unimpl(&svm->vcpu, "%s: failed\n", __FUNCTION__);
1187 return 1; 1187 return 1;
1188} 1188}
1189 1189