Re: [Xen-devel] [PATCH v2 14/21] x86/xen: split suspend.c for PV and PVHVM guests

2017-03-05 Thread kbuild test robot
Hi Vitaly,

[auto build test ERROR on xen-tip/linux-next]
[also build test ERROR on next-20170303]
[cannot apply to v4.10]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Vitaly-Kuznetsov/x86-xen-untangle-PV-and-PVHVM-guest-support-code/20170305-162950
base:   https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git linux-next
config: x86_64-randconfig-i0-03021655 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

   arch/x86/xen/suspend_pv.c: In function 'xen_pv_pre_suspend':
>> arch/x86/xen/suspend_pv.c:19:2: error: implicit declaration of function 
>> 'fix_to_virt' [-Werror=implicit-function-declaration]
 if (HYPERVISOR_update_va_mapping(fix_to_virt(FIX_PARAVIRT_BOOTMAP),
 ^
   In file included from include/uapi/linux/stddef.h:1:0,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from arch/x86/xen/suspend_pv.c:1:
>> arch/x86/xen/suspend_pv.c:19:47: error: 'FIX_PARAVIRT_BOOTMAP' undeclared 
>> (first use in this function)
 if (HYPERVISOR_update_va_mapping(fix_to_virt(FIX_PARAVIRT_BOOTMAP),
  ^
   include/linux/compiler.h:149:30: note: in definition of macro '__trace_if'
 if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
 ^
   arch/x86/xen/suspend_pv.c:19:2: note: in expansion of macro 'if'
 if (HYPERVISOR_update_va_mapping(fix_to_virt(FIX_PARAVIRT_BOOTMAP),
 ^
   arch/x86/xen/suspend_pv.c:19:47: note: each undeclared identifier is 
reported only once for each function it appears in
 if (HYPERVISOR_update_va_mapping(fix_to_virt(FIX_PARAVIRT_BOOTMAP),
  ^
   include/linux/compiler.h:149:30: note: in definition of macro '__trace_if'
 if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
 ^
   arch/x86/xen/suspend_pv.c:19:2: note: in expansion of macro 'if'
 if (HYPERVISOR_update_va_mapping(fix_to_virt(FIX_PARAVIRT_BOOTMAP),
 ^
   cc1: some warnings being treated as errors

vim +/fix_to_virt +19 arch/x86/xen/suspend_pv.c

13  xen_start_info->console.domU.mfn =
14  mfn_to_pfn(xen_start_info->console.domU.mfn);
15  
16  BUG_ON(!irqs_disabled());
17  
18  HYPERVISOR_shared_info = &xen_dummy_shared_info;
  > 19  if 
(HYPERVISOR_update_va_mapping(fix_to_virt(FIX_PARAVIRT_BOOTMAP),
20   __pte_ma(0), 0))
21  BUG();
22  }

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


[Xen-devel] [PATCH v2 14/21] x86/xen: split suspend.c for PV and PVHVM guests

2017-03-02 Thread Vitaly Kuznetsov
Slit the code in suspend.c into suspend_pv.c and suspend_hvm.c.

Reviewed-by: Juergen Gross 
Signed-off-by: Vitaly Kuznetsov 
---
 arch/x86/xen/Makefile  |  3 ++-
 arch/x86/xen/suspend.c | 54 --
 arch/x86/xen/suspend_hvm.c | 22 +++
 arch/x86/xen/suspend_pv.c  | 44 +
 arch/x86/xen/xen-ops.h | 13 +++
 5 files changed, 81 insertions(+), 55 deletions(-)
 create mode 100644 arch/x86/xen/suspend_hvm.c
 create mode 100644 arch/x86/xen/suspend_pv.c

diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
index 8da1ca9..cf8d6c5 100644
--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
@@ -15,7 +15,8 @@ obj-y := enlighten.o setup.o multicalls.o mmu.o irq.o 
\
grant-table.o suspend.o platform-pci-unplug.o \
p2m.o apic.o pmu.o enlighten_pv.o mmu_pv.o
 
-obj-$(CONFIG_XEN_PVHVM)+= enlighten_hvm.o mmu_hvm.o
+obj-$(CONFIG_XEN_PVHVM)+= enlighten_hvm.o mmu_hvm.o 
suspend_hvm.o
+obj-$(CONFIG_XEN_PV)   += suspend_pv.o
 obj-$(CONFIG_XEN_PVH)  += enlighten_pvh.o
 
 obj-$(CONFIG_EVENT_TRACING) += trace.o
diff --git a/arch/x86/xen/suspend.c b/arch/x86/xen/suspend.c
index 7f664c4..d6b1680 100644
--- a/arch/x86/xen/suspend.c
+++ b/arch/x86/xen/suspend.c
@@ -14,60 +14,6 @@
 #include "mmu.h"
 #include "pmu.h"
 
-static void xen_pv_pre_suspend(void)
-{
-   xen_mm_pin_all();
-
-   xen_start_info->store_mfn = mfn_to_pfn(xen_start_info->store_mfn);
-   xen_start_info->console.domU.mfn =
-   mfn_to_pfn(xen_start_info->console.domU.mfn);
-
-   BUG_ON(!irqs_disabled());
-
-   HYPERVISOR_shared_info = &xen_dummy_shared_info;
-   if (HYPERVISOR_update_va_mapping(fix_to_virt(FIX_PARAVIRT_BOOTMAP),
-__pte_ma(0), 0))
-   BUG();
-}
-
-static void xen_hvm_post_suspend(int suspend_cancelled)
-{
-#ifdef CONFIG_XEN_PVHVM
-   int cpu;
-   if (!suspend_cancelled)
-   xen_hvm_init_shared_info();
-   xen_callback_vector();
-   xen_unplug_emulated_devices();
-   if (xen_feature(XENFEAT_hvm_safe_pvclock)) {
-   for_each_online_cpu(cpu) {
-   xen_setup_runstate_info(cpu);
-   }
-   }
-#endif
-}
-
-static void xen_pv_post_suspend(int suspend_cancelled)
-{
-   xen_build_mfn_list_list();
-
-   xen_setup_shared_info();
-
-   if (suspend_cancelled) {
-   xen_start_info->store_mfn =
-   pfn_to_mfn(xen_start_info->store_mfn);
-   xen_start_info->console.domU.mfn =
-   pfn_to_mfn(xen_start_info->console.domU.mfn);
-   } else {
-#ifdef CONFIG_SMP
-   BUG_ON(xen_cpu_initialized_map == NULL);
-   cpumask_copy(xen_cpu_initialized_map, cpu_online_mask);
-#endif
-   xen_vcpu_restore();
-   }
-
-   xen_mm_unpin_all();
-}
-
 void xen_arch_pre_suspend(void)
 {
if (xen_pv_domain())
diff --git a/arch/x86/xen/suspend_hvm.c b/arch/x86/xen/suspend_hvm.c
new file mode 100644
index 000..01afcad
--- /dev/null
+++ b/arch/x86/xen/suspend_hvm.c
@@ -0,0 +1,22 @@
+#include 
+
+#include 
+#include 
+#include 
+
+#include "xen-ops.h"
+
+void xen_hvm_post_suspend(int suspend_cancelled)
+{
+   int cpu;
+
+   if (!suspend_cancelled)
+   xen_hvm_init_shared_info();
+   xen_callback_vector();
+   xen_unplug_emulated_devices();
+   if (xen_feature(XENFEAT_hvm_safe_pvclock)) {
+   for_each_online_cpu(cpu) {
+   xen_setup_runstate_info(cpu);
+   }
+   }
+}
diff --git a/arch/x86/xen/suspend_pv.c b/arch/x86/xen/suspend_pv.c
new file mode 100644
index 000..496decca
--- /dev/null
+++ b/arch/x86/xen/suspend_pv.c
@@ -0,0 +1,44 @@
+#include 
+
+#include 
+#include 
+
+#include "xen-ops.h"
+
+void xen_pv_pre_suspend(void)
+{
+   xen_mm_pin_all();
+
+   xen_start_info->store_mfn = mfn_to_pfn(xen_start_info->store_mfn);
+   xen_start_info->console.domU.mfn =
+   mfn_to_pfn(xen_start_info->console.domU.mfn);
+
+   BUG_ON(!irqs_disabled());
+
+   HYPERVISOR_shared_info = &xen_dummy_shared_info;
+   if (HYPERVISOR_update_va_mapping(fix_to_virt(FIX_PARAVIRT_BOOTMAP),
+__pte_ma(0), 0))
+   BUG();
+}
+
+void xen_pv_post_suspend(int suspend_cancelled)
+{
+   xen_build_mfn_list_list();
+
+   xen_setup_shared_info();
+
+   if (suspend_cancelled) {
+   xen_start_info->store_mfn =
+   pfn_to_mfn(xen_start_info->store_mfn);
+   xen_start_info->console.domU.mfn =
+   pfn_to_mfn(xen_start_info->console.domU.mfn);
+   } else {
+#ifdef CONFIG_SMP
+   BUG_ON(xen_cpu_initialized_map == NULL);
+   cpumask_copy(xen_cpu_in