summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAmith Nuggehalli <aramachan@nvidia.com>2017-07-25 20:17:15 -0400
committerStephen Wolfe <swolfe@nvidia.com>2018-07-27 17:12:44 -0400
commit02a7ce99ffe2adc39606d6e277be6593e6c9ea0c (patch)
tree0818d59b1aa32a482325191c0786d0d793210aab /include/linux
parent7666d4ad0e081b8b06b62c20fe91df2b60fa530a (diff)
Retry NOP smc call when a guest's VIRQ is pending
In virtualization use case, if a guest's VIRQ is pending at, the hypervisor, the control returns back control immediately to the guest without transitioning to TOS so that the guest's IRQ is handled in time. In such a case, re-try the NOP smc with the same arguments as the previous call as the SMC wouldn't have reached TOS yet. JIRA: SEC-366 Change-Id: Iff0f4fd6aab1369848736a1a7f2fa75afd3616b9 Signed-off-by: Amith Nuggehalli <aramachan@nvidia.com> (cherry picked from commit 585fea50e14410d312c9966f5520af305c56e989) Reviewed-on: https://git-master.nvidia.com/r/1533177 GVS: Gerrit_Virtual_Submit Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/trusty/sm_err.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/trusty/sm_err.h b/include/linux/trusty/sm_err.h
index 32ee08e49..fb6f3794d 100644
--- a/include/linux/trusty/sm_err.h
+++ b/include/linux/trusty/sm_err.h
@@ -1,5 +1,6 @@
1/* 1/*
2 * Copyright (c) 2013 Google Inc. All rights reserved 2 * Copyright (c) 2013 Google Inc. All rights reserved
3 * Copyright (c) 2017 NVIDIA CORPORATION. All rights reserved.
3 * 4 *
4 * Permission is hereby granted, free of charge, to any person obtaining 5 * Permission is hereby granted, free of charge, to any person obtaining
5 * a copy of this software and associated documentation files 6 * a copy of this software and associated documentation files
@@ -39,5 +40,6 @@
39#define SM_ERR_CPU_IDLE -13 /* SMC call waiting for another CPU */ 40#define SM_ERR_CPU_IDLE -13 /* SMC call waiting for another CPU */
40#define SM_ERR_NOP_INTERRUPTED -14 /* Got interrupted. Call back with new SMC_SC_NOP */ 41#define SM_ERR_NOP_INTERRUPTED -14 /* Got interrupted. Call back with new SMC_SC_NOP */
41#define SM_ERR_NOP_DONE -15 /* Cpu idle after SMC_SC_NOP (not an error) */ 42#define SM_ERR_NOP_DONE -15 /* Cpu idle after SMC_SC_NOP (not an error) */
43#define SM_ERR_NOP_RETRY -16 /* Retry the previous NOP smc as the first may not have reached TOS */
42 44
43#endif 45#endif