|
@@ -0,0 +1,36 @@
|
|
|
+--- a/kexec/crashdump-xen.c
|
|
|
++++ b/kexec/crashdump-xen.c
|
|
|
+@@ -111,6 +111,7 @@ static int xen_detect_pv_guest(void)
|
|
|
+ * This includes dom0, which is the only PV guest where kexec/kdump works.
|
|
|
+ * HVM guests have to be handled as native hardware.
|
|
|
+ */
|
|
|
++#if defined(__i386__) || defined(__x86_64__)
|
|
|
+ int xen_present(void)
|
|
|
+ {
|
|
|
+ if (!is_dom0) {
|
|
|
+@@ -121,6 +122,7 @@ int xen_present(void)
|
|
|
+ }
|
|
|
+ return is_dom0 > 0;
|
|
|
+ }
|
|
|
++#endif
|
|
|
+
|
|
|
+ unsigned long xen_architecture(struct crash_elf_info *elf_info)
|
|
|
+ {
|
|
|
+--- a/kexec/crashdump.h
|
|
|
++++ b/kexec/crashdump.h
|
|
|
+@@ -56,7 +56,15 @@ unsigned long crash_architecture(struct
|
|
|
+ unsigned long phys_to_virt(struct crash_elf_info *elf_info,
|
|
|
+ unsigned long paddr);
|
|
|
+
|
|
|
++#if defined(__i386__) || defined(__x86_64__)
|
|
|
+ int xen_present(void);
|
|
|
++#else
|
|
|
++static inline int xen_present(void)
|
|
|
++{
|
|
|
++ return 0;
|
|
|
++}
|
|
|
++#endif
|
|
|
++
|
|
|
+ unsigned long xen_architecture(struct crash_elf_info *elf_info);
|
|
|
+ int xen_get_nr_phys_cpus(void);
|
|
|
+ int xen_get_note(int cpu, uint64_t *addr, uint64_t *len);
|