aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-09-14 14:30:23 +0200
committerJan Beulich <jbeulich@suse.com>2012-09-14 14:30:23 +0200
commit224f81b97fdf94c154b9295c77046fd91c673cb4 (patch)
treea502cb4749854fae185f7ec1649152f0b400f21d
parent26c465b52783ca11cd79e231caf8fad08e276cf7 (diff)
downloadxen-224f81b97fdf94c154b9295c77046fd91c673cb4.tar.gz
xen-224f81b97fdf94c154b9295c77046fd91c673cb4.tar.bz2
xen-224f81b97fdf94c154b9295c77046fd91c673cb4.zip
x86/hvm: mark save/restore registration code __init
Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
-rw-r--r--xen/arch/x86/hvm/hvm.c2
-rw-r--r--xen/common/hvm/save.c10
-rw-r--r--xen/include/xen/hvm/save.h3
3 files changed, 8 insertions, 7 deletions
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 24502cc8a5..dfabe20b08 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -991,7 +991,7 @@ static int hvm_load_cpu_xsave_states(struct domain *d, hvm_domain_context_t *h)
/* We need variable length data chunk for xsave area, hence customized
* declaration other than HVM_REGISTER_SAVE_RESTORE.
*/
-static int __hvm_register_CPU_XSAVE_save_and_restore(void)
+static int __init __hvm_register_CPU_XSAVE_save_and_restore(void)
{
hvm_register_savevm(CPU_XSAVE_CODE,
"CPU_XSAVE",
diff --git a/xen/common/hvm/save.c b/xen/common/hvm/save.c
index ff9cb49526..6e8d9a37c6 100644
--- a/xen/common/hvm/save.c
+++ b/xen/common/hvm/save.c
@@ -40,11 +40,11 @@ static struct {
} hvm_sr_handlers [HVM_SAVE_CODE_MAX + 1] = {{NULL, NULL, "<?>"},};
/* Init-time function to add entries to that list */
-void hvm_register_savevm(uint16_t typecode,
- const char *name,
- hvm_save_handler save_state,
- hvm_load_handler load_state,
- size_t size, int kind)
+void __init hvm_register_savevm(uint16_t typecode,
+ const char *name,
+ hvm_save_handler save_state,
+ hvm_load_handler load_state,
+ size_t size, int kind)
{
ASSERT(typecode <= HVM_SAVE_CODE_MAX);
ASSERT(hvm_sr_handlers[typecode].save == NULL);
diff --git a/xen/include/xen/hvm/save.h b/xen/include/xen/hvm/save.h
index f1eeaf068e..ae6f0bb669 100644
--- a/xen/include/xen/hvm/save.h
+++ b/xen/include/xen/hvm/save.h
@@ -19,6 +19,7 @@
#define __XEN_HVM_SAVE_H__
#include <xen/types.h>
+#include <xen/init.h>
#include <public/xen.h>
#include <public/hvm/save.h>
@@ -108,7 +109,7 @@ void hvm_register_savevm(uint16_t typecode,
/* Syntactic sugar around that function: specify the max number of
* saves, and this calculates the size of buffer needed */
#define HVM_REGISTER_SAVE_RESTORE(_x, _save, _load, _num, _k) \
-static int __hvm_register_##_x##_save_and_restore(void) \
+static int __init __hvm_register_##_x##_save_and_restore(void) \
{ \
hvm_register_savevm(HVM_SAVE_CODE(_x), \
#_x, \