Skip to contentSkip to conversation

xen: fix building on ARM with CONFIG_HIBERNATE_CALLBACKS

PATCH In review Arnd Bergmann 3 participants 9 messages May 19, 2015 Xen hypervisor interface

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 xen: fix building on ARM with CONFIG_HIBERNATE_CALLBACKS

A recent bug fix for x86 broke Xen on ARM for the case that CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to xen_arch_suspend' drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to xen_arch_suspend'

It is not clear to me what needs to be done here, but this patch avoids the build error by adding a stub for the missing function.

Fixes 2b953a5e99 ("xen: Suspend ticks on all CPUs during suspend")

---
Please review, and submit an alternate patch if this one turns out to be incorrect.

include/xen/xen-ops.h +6 -0
index 0ce4f32017ea..034dc8acd47e 100644
@@ -13,7 +13,13 @@ void xen_arch_post_suspend(int suspend_cancelled);
 
 void xen_timer_resume(void);
 void xen_arch_resume(void);
+#ifdef CONFIG_X86
 void xen_arch_suspend(void);
+#else
+static inline void xen_arch_suspend(void)
+{
+}
+#endif
 
 void xen_resume_notifier_register(struct notifier_block *nb);
 void xen_resume_notifier_unregister(struct notifier_block *nb);
#1 lore raw
Quoted 10 lines · Arnd Bergmann

A recent bug fix for x86 broke Xen on ARM for the case that CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to xen_arch_suspend' drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to xen_arch_suspend'

It is not clear to me what needs to be done here, but this patch avoids the build error by adding a stub for the missing function.

This is already fixed in Xen staging tree.

Thanks.
-boris

Quoted 26 lines
Fixes 2b953a5e99 ("xen: Suspend ticks on all CPUs during suspend")

---
Please review, and submit an alternate patch if this one turns out to be incorrect.

include/xen/xen-ops.h +6 -0
index 0ce4f32017ea..034dc8acd47e 100644
@@ -13,7 +13,13 @@ void xen_arch_post_suspend(int suspend_cancelled);
 
  void xen_timer_resume(void);
  void xen_arch_resume(void);
+#ifdef CONFIG_X86
  void xen_arch_suspend(void);
+#else
+static inline void xen_arch_suspend(void)
+{
+}
+#endif
 
  void xen_resume_notifier_register(struct notifier_block *nb);
  void xen_resume_notifier_unregister(struct notifier_block *nb);
#2 lore raw
Quoted 8 lines · On Tuesday 19 May 2015 09:57:19 Boris Ostrovsky wrote:
Quoted 7 lines · Arnd Bergmann

A recent bug fix for x86 broke Xen on ARM for the case that CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to xen_arch_suspend' drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to xen_arch_suspend'

Quoted 5 lines
Quoted 3 lines

It is not clear to me what needs to be done here, but this patch avoids the build error by adding a stub for the missing function.

This is already fixed in Xen staging tree.

I see. Any chance to get that fix into linux-next soon?

Arnd

#3 lore raw
Quoted 9 lines · Arnd Bergmann
Quoted 8 lines · On Tuesday 19 May 2015 09:57:19 Boris Ostrovsky wrote:
Quoted 7 lines · Arnd Bergmann

A recent bug fix for x86 broke Xen on ARM for the case that CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to xen_arch_suspend' drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to xen_arch_suspend'

Quoted 5 lines
Quoted 4 lines
Quoted 3 lines

It is not clear to me what needs to be done here, but this patch avoids the build error by adding a stub for the missing function.

This is already fixed in Xen staging tree.

I see. Any chance to get that fix into linux-next soon?

David, are you going to send pull request to Linus before rc5?

-boris

#4 lore raw
Quoted 12 lines · Boris Ostrovsky
Quoted 11 lines · Arnd Bergmann
Quoted 10 lines · On Tuesday 19 May 2015 09:57:19 Boris Ostrovsky wrote:
Quoted 9 lines · Arnd Bergmann

A recent bug fix for x86 broke Xen on ARM for the case that CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to xen_arch_suspend' drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to xen_arch_suspend'

Quoted 8 lines
Quoted 5 lines
Quoted 4 lines
Quoted 3 lines

It is not clear to me what needs to be done here, but this patch avoids the build error by adding a stub for the missing function.

This is already fixed in Xen staging tree.

I see. Any chance to get that fix into linux-next soon?

David, are you going to send pull request to Linus before rc5?

Yes.

David

#5 lore raw
In reply to Boris Ostrovsky
Quoted 12 lines · Boris Ostrovsky
Quoted 11 lines · Arnd Bergmann
Quoted 10 lines · On Tuesday 19 May 2015 09:57:19 Boris Ostrovsky wrote:
Quoted 9 lines · Arnd Bergmann

A recent bug fix for x86 broke Xen on ARM for the case that CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to xen_arch_suspend' drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to xen_arch_suspend'

Quoted 8 lines
Quoted 5 lines
Quoted 4 lines
Quoted 3 lines

It is not clear to me what needs to be done here, but this patch avoids the build error by adding a stub for the missing function.

This is already fixed in Xen staging tree.

I see. Any chance to get that fix into linux-next soon?

David, are you going to send pull request to Linus before rc5?

Yes.

David

#6 lore raw
In reply to Arnd Bergmann
Quoted 9 lines · Arnd Bergmann
Quoted 8 lines · On Tuesday 19 May 2015 09:57:19 Boris Ostrovsky wrote:
Quoted 7 lines · Arnd Bergmann

A recent bug fix for x86 broke Xen on ARM for the case that CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to xen_arch_suspend' drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to xen_arch_suspend'

Quoted 5 lines
Quoted 4 lines
Quoted 3 lines

It is not clear to me what needs to be done here, but this patch avoids the build error by adding a stub for the missing function.

This is already fixed in Xen staging tree.

I see. Any chance to get that fix into linux-next soon?

David, are you going to send pull request to Linus before rc5?

-boris

#7 lore raw
In reply to Boris Ostrovsky
Quoted 8 lines · On Tuesday 19 May 2015 09:57:19 Boris Ostrovsky wrote:
Quoted 7 lines · Arnd Bergmann

A recent bug fix for x86 broke Xen on ARM for the case that CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to xen_arch_suspend' drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to xen_arch_suspend'

Quoted 5 lines
Quoted 3 lines

It is not clear to me what needs to be done here, but this patch avoids the build error by adding a stub for the missing function.

This is already fixed in Xen staging tree.

I see. Any chance to get that fix into linux-next soon?

Arnd

#8 lore raw
In reply to Arnd Bergmann
Quoted 10 lines · Arnd Bergmann

A recent bug fix for x86 broke Xen on ARM for the case that CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to xen_arch_suspend' drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to xen_arch_suspend'

It is not clear to me what needs to be done here, but this patch avoids the build error by adding a stub for the missing function.

This is already fixed in Xen staging tree.

Thanks.
-boris

Quoted 26 lines
Fixes 2b953a5e99 ("xen: Suspend ticks on all CPUs during suspend")

---
Please review, and submit an alternate patch if this one turns out to be incorrect.

include/xen/xen-ops.h +6 -0
index 0ce4f32017ea..034dc8acd47e 100644
@@ -13,7 +13,13 @@ void xen_arch_post_suspend(int suspend_cancelled);
 
  void xen_timer_resume(void);
  void xen_arch_resume(void);
+#ifdef CONFIG_X86
  void xen_arch_suspend(void);
+#else
+static inline void xen_arch_suspend(void)
+{
+}
+#endif
 
  void xen_resume_notifier_register(struct notifier_block *nb);
  void xen_resume_notifier_unregister(struct notifier_block *nb);