>>> On 17.12.16 at 00:18, <boris.ostrov...@oracle.com> wrote:
> @@ -128,6 +130,13 @@ static int acpi_access_common(struct domain *d, bool 
> is_guest_access,
>              *en = (((v & 0xff) << 8) | (*en & 0xff)) & *mask_en;
>              break;
>          }
> +
> +        /*
> +         * If a new bit has been set in status register and corresponding
> +         * event is enabled then an SCI is sent to the guest.
> +         */
> +        if ( !is_guest_access && ((*sts & ~sts_orig) & *en) )
> +                send_guest_global_virq(d, VIRQ_SCI);

From an abstract pov: How a bit gets set in either register shouldn't
matter. Hence the !is_guest_access part here is at least questionable.
However, iirc the guest can't itself set any status bits (since they're
write-1-clear). Otoh, when an enable bit transitions from 0 to 1 (which
the guest can effect) and the respective status bit is set, an SCI
should occur according to my reading of the spec.

Also - indentation.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to