Пример #1
0
void mark_hardware_unsupported(const char *msg)
{
	printk(KERN_CRIT "UNSUPPORTED HARDWARE DEVICE: %s\n", msg);
	WARN_TAINT(1, TAINT_HARDWARE_UNSUPPORTED,
		   "Your hardware is unsupported.  Please do not report "
		   "bugs, panics, oopses, etc., on this hardware.\n");
}
static int __init intel_irq_remapping_supported(void)
{
	struct dmar_drhd_unit *drhd;

	if (disable_irq_remap)
		return 0;
	if (irq_remap_broken) {
		WARN_TAINT(1, TAINT_FIRMWARE_WORKAROUND,
			   "This system BIOS has enabled interrupt remapping\n"
			   "on a chipset that contains an erratum making that\n"
			   "feature unstable.  To maintain system stability\n"
			   "interrupt remapping is being disabled.  Please\n"
			   "contact your BIOS vendor for an update\n");
		disable_irq_remap = 1;
		return 0;
	}

	if (!dmar_ir_support())
		return 0;

	for_each_drhd_unit(drhd) {
		struct intel_iommu *iommu = drhd->iommu;

		if (!ecap_ir_support(iommu->ecap))
			return 0;
	}

	return 1;
}
Пример #3
0
static int __init arm64_dma_init(void)
{
	WARN_TAINT(ARCH_DMA_MINALIGN < cache_line_size(),
		   TAINT_CPU_OUT_OF_SPEC,
		   "ARCH_DMA_MINALIGN smaller than CTR_EL0.CWG (%d < %d)",
		   ARCH_DMA_MINALIGN, cache_line_size());

	return atomic_pool_init();
}
Пример #4
0
static void __init hyp_mode_check(void)
{
	if (is_hyp_mode_available())
		pr_info("CPU: All CPU(s) started at EL2\n");
	else if (is_hyp_mode_mismatched())
		WARN_TAINT(1, TAINT_CPU_OUT_OF_SPEC,
			   "CPU: CPUs started in inconsistent modes");
	else
		pr_info("CPU: All CPU(s) started at EL1\n");
}