On Wed, 2011-06-15 at 16:41 +0100, Andrew Cooper wrote:
> Tweaked the patch to prevent IOMMU_WAIT_OP panicking on the kexec path.
> Unfortunately, this has to rely on the kexecing variable.
>
> As with the other hacks in this patch, I cant see a better way of
> solving the problem.
>
> @@ -99,8 +100,9 @@ do {
> if ( cond ) \
> break; \
> if ( NOW() > start_time + DMAR_OPERATION_TIMEOUT ) \
> - panic("%s:%d:%s: DMAR hardware is malfunctional\n", \
> - __FILE__, __LINE__, __func__); \
> + if ( !kexecing ) \
> + panic("%s:%d:%s: DMAR hardware is malfunctional\n",\
> + __FILE__, __LINE__, __func__); \
> cpu_relax(); \
> } \
> } while (0)
I think you want an "else break" here to cause it to struggle onwards
rather than the infinite loop you get otherwise.
Ian
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|