|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 4/6] iommu: Remove dependency on __LINE__ for release builds
When using LivePatch, use of __LINE__ can generate spurious changes in
functions due to embedded line numbers. For release builds with
LivePatch enabled, remove the use of these line numbers in
IOMMU_WAIT_OP() and print the current text address instead.
Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
---
Changes in v2:
* Simplified macros.
* Use %pS.
xen/drivers/passthrough/vtd/dmar.h | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/dmar.h
b/xen/drivers/passthrough/vtd/dmar.h
index 729b603..c3d4adc 100644
--- a/xen/drivers/passthrough/vtd/dmar.h
+++ b/xen/drivers/passthrough/vtd/dmar.h
@@ -108,6 +108,19 @@ struct acpi_atsr_unit *acpi_find_matched_atsr_unit(const
struct pci_dev *);
#define DMAR_OPERATION_TIMEOUT MILLISECS(1000)
+#if defined(NDEBUG) && defined(CONFIG_LIVEPATCH)
+#define iommu_wait_op_panic() \
+ do { \
+ panic("%pS: DMAR hardware is malfunctional", current_text_addr()); \
+ } while (0)
+#else
+#define iommu_wait_op_panic() \
+ do { \
+ panic("%s:%d:%s: DMAR hardware is malfunctional", \
+ __FILE__, __LINE__, __func__); \
+ } while (0)
+#endif
+
#define IOMMU_WAIT_OP(iommu, offset, op, cond, sts) \
do { \
s_time_t start_time = NOW(); \
@@ -117,8 +130,7 @@ do { \
break; \
if ( NOW() > start_time + DMAR_OPERATION_TIMEOUT ) { \
if ( !kexecing ) \
- panic("%s:%d:%s: DMAR hardware is malfunctional",\
- __FILE__, __LINE__, __func__); \
+ iommu_wait_op_panic(); \
else \
break; \
} \
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |