Lines Matching +full:no +full:- +full:dump +full:- +full:oops

1 // SPDX-License-Identifier: GPL-2.0
5 * Hyper-V. This file is specifically for code that must be
6 * built-in to the kernel image when CONFIG_HYPERV is set
29 #include <linux/dma-map-ops.h>
36 * Hyper-V specific globals so they are shared across all architectures and are
69 * Hyper-V specific initialization and shutdown code that is
95 * the guest page size may not be the same as the Hyper-V page
96 * size. We depend upon kmalloc() aligning power-of-two size
98 * allocated memory appears to Hyper-V as a page of the size
134 * Boolean to control whether to report panic messages over Hyper-V.
142 * reported to Hyper-V on panic.
182 /* Don't notify Hyper-V unless we have a die oops event or panic. */ in hv_die_panic_notify_crash()
191 regs = ((struct die_args *)args)->regs; in hv_die_panic_notify_crash()
195 * Hyper-V should be notified only once about a panic/die. If we will in hv_die_panic_notify_crash()
207 * buffer and call into Hyper-V to transfer the data.
216 if (detail->reason != KMSG_DUMP_PANIC || !sysctl_record_panic_msg) in hv_kmsg_dump()
220 * Write dump contents to the page. No need to synchronize; panic should in hv_kmsg_dump()
221 * be single-threaded. in hv_kmsg_dump()
231 * registers are no-op when the NOTIFY_MSG flag is set. in hv_kmsg_dump()
240 * Let Hyper-V know there is crash data available along with in hv_kmsg_dump()
249 .dump = hv_kmsg_dump,
269 pr_err("Hyper-V: panic message page memory allocation failed\n"); in hv_kmsg_dump_register()
275 pr_err("Hyper-V: kmsg dump register error 0x%x\n", ret); in hv_kmsg_dump_register()
291 /* Get information about the Hyper-V host version */ in hv_common_init()
293 pr_info("Hyper-V: Host Build %d.%d.%d.%d-%d-%d\n", in hv_common_init()
302 * Hyper-V expects to get crash register data or kmsg when in hv_common_init()
312 pr_info("Hyper-V: enabling crash_kexec_post_notifiers\n"); in hv_common_init()
316 * is enabled by default in non-isolated guests and in hv_common_init()
323 pr_err("Hyper-V: sysctl table register error"); in hv_common_init()
339 * Allocate the per-CPU state for the hypercall input arg. in hv_common_init()
341 * (per-CPU) hypercall input page and thus this failure is in hv_common_init()
342 * fatal on Hyper-V. in hv_common_init()
347 /* Allocate the per-CPU state for output arg for root */ in hv_common_init()
357 return -ENOMEM; in hv_common_init()
375 * the Hyper-V host in ACPI table OEM0. in ms_hyperv_late_init()
388 if (strncmp(header->oem_table_id, "MICROSFT", 8)) in ms_hyperv_late_init()
393 * no more than 4K bytes is somewhat arbitrary and just protects in ms_hyperv_late_init()
394 * against a malformed table. Hyper-V currently provides 64 bytes, in ms_hyperv_late_init()
397 if (header->length < sizeof(*header) + 8 || in ms_hyperv_late_init()
398 header->length > sizeof(*header) + SZ_4K) in ms_hyperv_late_init()
401 length = header->length - sizeof(*header); in ms_hyperv_late_init()
404 pr_debug("Hyper-V: Seeding rng with %d random bytes from ACPI table OEM0\n", in ms_hyperv_late_init()
418 header->checksum += randomdata[i]; in ms_hyperv_late_init()
422 for (i = 0; i < sizeof(header->length); i++) in ms_hyperv_late_init()
423 header->checksum += ((u8 *)&header->length)[i]; in ms_hyperv_late_init()
424 header->length = sizeof(*header); in ms_hyperv_late_init()
425 for (i = 0; i < sizeof(header->length); i++) in ms_hyperv_late_init()
426 header->checksum -= ((u8 *)&header->length)[i]; in ms_hyperv_late_init()
433 * Hyper-V specific initialization and die code for
459 return -ENOMEM; in hv_common_cpu_init()
479 * hyperv_pcpu_input_arg is not NULL, set_memory_decrypted() -> in hv_common_cpu_init()
480 * ... -> cpa_flush()-> ... -> __send_ipi_mask_ex() tries to in hv_common_cpu_init()
509 * may be used by the Hyper-V vPCI driver in reassigning interrupts in hv_common_cpu_die()
531 * Hypercall input/output addresses should also be 8-byte aligned. in hv_query_ext_cap()
558 pr_err("Hyper-V: Extended query capabilities hypercall failed 0x%llx\n", in hv_query_ext_cap()
580 * Default function to read the Hyper-V reference counter, independent
581 * of whether Hyper-V enlightened clocks/timers are being used. But on
582 * architectures where it is used, Hyper-V enlightenment code in
593 /* These __weak functions provide default "no-op" behavior and
595 * for which the default "no-op" behavior is sufficient can leave
597 * functions in arch-specific code.