Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0961d658 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.infradead.org/iommu-2.6:
  intel-iommu: Set a more specific taint flag for invalid BIOS DMAR tables
  intel-iommu: Combine the BIOS DMAR table warning messages
  panic: Add taint flag TAINT_FIRMWARE_WORKAROUND ('I')
  panic: Allow warnings to set different taint flags
  intel-iommu: intel_iommu_map_range failed at very end of address space
  intel-iommu: errors with smaller iommu widths
  intel-iommu: Fix boot inside 64bit virtualbox with io-apic disabled
  intel-iommu: use physfn to search drhd for VF
  intel-iommu: Print out iommu seq_id
  intel-iommu: Don't complain that ACPI_DMAR_SCOPE_TYPE_IOAPIC is not supported
  intel-iommu: Avoid global flushes with caching mode.
  intel-iommu: Use correct domain ID when caching mode is enabled
  intel-iommu mistakenly uses offset_pfn when caching mode is enabled
  intel-iommu: use for_each_set_bit()
  intel-iommu: Fix section mismatch dmar_ir_support() uses dmar_tbl.
parents 1756ac3d fd0c8894
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -256,9 +256,13 @@ characters, each representing a particular tainted value.
  9: 'A' if the ACPI table has been overridden.

 10: 'W' if a warning has previously been issued by the kernel.
     (Though some warnings may set more specific taint flags.)

 11: 'C' if a staging driver has been loaded.

 12: 'I' if the kernel is working around a severe bug in the platform
     firmware (BIOS or similar).

The primary reason for the 'Tainted: ' string is to tell kernel
debuggers if this is a clean kernel or if anything unusual has
occurred.  Tainting is permanent: even if an offending module is
+4 −4
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@
#endif

#ifdef CONFIG_DEBUG_BUGVERBOSE
#define __WARN()							\
#define __WARN_TAINT(taint)						\
	do {								\
		asm volatile("\n"					\
			     "1:\t" PARISC_BUG_BREAK_ASM "\n"		\
@@ -54,11 +54,11 @@
			     "\t.org 2b+%c3\n"				\
			     "\t.popsection"				\
			     : : "i" (__FILE__), "i" (__LINE__),	\
			     "i" (BUGFLAG_WARNING),			\
			     "i" (BUGFLAG_TAINT(taint)), 		\
			     "i" (sizeof(struct bug_entry)) );		\
	} while(0)
#else
#define __WARN()							\
#define __WARN_TAINT(taint)						\
	do {								\
		asm volatile("\n"					\
			     "1:\t" PARISC_BUG_BREAK_ASM "\n"		\
@@ -67,7 +67,7 @@
			     "\t.short %c0\n"				\
			     "\t.org 2b+%c1\n"				\
			     "\t.popsection"				\
			     : : "i" (BUGFLAG_WARNING),			\
			     : : "i" (BUGFLAG_TAINT(taint)),		\
			     "i" (sizeof(struct bug_entry)) );		\
	} while(0)
#endif
+3 −3
Original line number Diff line number Diff line
@@ -85,12 +85,12 @@
	}							\
} while (0)

#define __WARN() do {						\
#define __WARN_TAINT(taint) do {				\
	__asm__ __volatile__(					\
		"1:	twi 31,0,0\n"				\
		_EMIT_BUG_ENTRY					\
		: : "i" (__FILE__), "i" (__LINE__),		\
		  "i" (BUGFLAG_WARNING),			\
		  "i" (BUGFLAG_TAINT(taint)),			\
		  "i" (sizeof(struct bug_entry)));		\
} while (0)

@@ -104,7 +104,7 @@
		"1:	"PPC_TLNEI"	%4,0\n"			\
		_EMIT_BUG_ENTRY					\
		: : "i" (__FILE__), "i" (__LINE__),		\
		  "i" (BUGFLAG_WARNING),			\
		  "i" (BUGFLAG_TAINT(TAINT_WARN)),		\
		  "i" (sizeof(struct bug_entry)),		\
		  "r" (__ret_warn_on));				\
	}							\
+4 −4
Original line number Diff line number Diff line
@@ -46,18 +46,18 @@
	unreachable();					\
} while (0)

#define __WARN() do {					\
	__EMIT_BUG(BUGFLAG_WARNING);			\
#define __WARN_TAINT(taint) do {			\
	__EMIT_BUG(BUGFLAG_TAINT(taint));		\
} while (0)

#define WARN_ON(x) ({					\
	int __ret_warn_on = !!(x);			\
	if (__builtin_constant_p(__ret_warn_on)) {	\
		if (__ret_warn_on)			\
			__EMIT_BUG(BUGFLAG_WARNING);	\
			__WARN();			\
	} else {					\
		if (unlikely(__ret_warn_on))		\
			__EMIT_BUG(BUGFLAG_WARNING);	\
			__WARN();			\
	}						\
	unlikely(__ret_warn_on);			\
})
+2 −2
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ do { \
		   "i" (sizeof(struct bug_entry)));	\
} while (0)

#define __WARN()					\
#define __WARN_TAINT(taint)				\
do {							\
	__asm__ __volatile__ (				\
		"1:\t.short %O0\n"			\
@@ -57,7 +57,7 @@ do { \
		 : "n" (TRAPA_BUG_OPCODE),		\
		   "i" (__FILE__),			\
		   "i" (__LINE__),			\
		   "i" (BUGFLAG_WARNING),		\
		   "i" (BUGFLAG_TAINT(taint)),		\
		   "i" (sizeof(struct bug_entry)));	\
} while (0)

Loading