[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3] x86/hvm: Widen condition for is_hvm_pv_evtchn_domain() and report fix in CPUID
- To: Jane Malalane <jane.malalane@xxxxxxxxxx>
- From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Date: Tue, 24 May 2022 13:22:34 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=190ePyfk/4uCuF7tGnBdsg0JDGZmwp0H30+6B2ZVhvs=; b=cp/+cI6HarU0hypS2vUAeYSP4cRR56+kSdtOzGVwGkWE4j6FrHh2Yns+W0/YJ0NvOMjnGntia+TBw8EswftkqWcCo5OXALWkPunPC5GqhsVT5gJ76Ri+tbl+m7mBgu2QdUmq7VH0YuErz76AmqK08x9OKo2Qya834PL9bFQa5VNyKIqgwG8412pGtVFLiDLdpXF/ivLwX0qWJBJ84bu9eBL2qUBEyWOaVmDdphNRM9aBoONUahP/WjfC8/XO4tTYuZ9W1cRROqarIA861aMk48lq0Mr/0Ny9c8qeyXdPf0R5uXEjUSCfw0t+FBpk08wrVSRlblHy0ss+CXSzwKDrrg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EjJGWhzhkoYMAdjMJj3N12dd1PiRA0Dsgx8Ag7B7S3LGK7SuVQUyH5RmS2cWnH2nw0PZZkRMC/Qaj+SBzh/6dSS2bVXsJmXzbExm59gzOew5NMVR7EeJuFCBBckgaO/42th0Ac+VkS7gycfvp+Te7gI9m8nkuLJrY+kf49+qsI8bO+RH1qMCLvP8nK90q64nYc6G10cAX5mDG4Czv94YxRxKpF8akLtIanxsLNLXWhPBiS8tUEybj193zKPe40dhbaHYvPhUt/gwdy6ry3Dzob52xnzS6QuiJtqQnuGvsL4x3GZIWj3AAtuyX7FxlgNmTCrlHI3P8fIsyK0gKe5oQA==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
- Delivery-date: Tue, 24 May 2022 11:22:54 +0000
- Ironport-data: A9a23:JOWFo6jsJc1nN6kjHKTMVxw/X161FREKZh0ujC45NGQN5FlHY01je htvX2uFPqqOZDb1fNAjOYy28EIPuZWEz9RmHFZlqn0xFiob9cadCdqndUqhZCn6wu8v7a5EA 2fyTvGacajYm1eF/k/F3oDJ9CU6jefSLlbFILas1hpZHGeIcw98z0M68wIFqtQw24LhXlnR4 YqaT/D3YzdJ5RYlagr41IrbwP9flKyaVOQw5wFWiVhj5TcyplFNZH4tDfjZw0jQG+G4KtWSV efbpIxVy0uCl/sb5nFJpZ6gGqECaua60QFjERO6UYD66vRJjnRaPqrWqJPwwKqY4tmEt4kZ9 TlDiXC/YUQWO4LOp8MfaT5zUChbepdW877KJlHq5KR/z2WeG5ft69NHKRlqeKE9pKNwC2wI8 uEEIjcQaBzFn/ix3L+wVuhrgIIkMdXvO4Qc/HpnyFk1D95/GcyFH/qMuoQegG1YasNmRJ4yY +IDbjVidlLYagBnMVYLEpMu2uyvgxETdhUH8Q7N+/ZqsgA/yiRS77W3H8T3ZOabZusKngGJt 2vc+zTmV0Ry2Nu3jGDtHmiXrv/Cm2b3VZwfEJW89+V2mxuDy2oLEhoUWFCn5/6jhSaWWdhSN kgV8SoGtrUp+QqgSdyVdwK8iG6JuFgbQdU4LgEhwASEy66R7wPHAGEBFm5FcIZ+6JVwQiE23 FiUmd+vHSZorLCeVXOa8PGTsC+2Pi8Wa2QFYEfoUDc43jUqm6lr5jqnczqpOPfdYgHdcd0o/ w23kQ==
- Ironport-hdrordr: A9a23:CYi1QqqUYXh3pMkCg2D/m9UaV5u5L9V00zEX/kB9WHVpm5Oj+v xGzc5w6farsl0ssREb9uxo9pPwJE800aQFmbX5Wo3SJzUO2VHYVb2KiLGP/9SOIU3DH4JmpM Rdmu1FeafN5DtB/LnHCWuDYrEdKbC8mcjH5Ns2jU0dKz2CA5sQkzuRYTzrdnGeKjM2Z6bQQ/ Gnl7d6TnebCD0qR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sPwf2F mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0amSwWdvtO OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7tvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K VXm0qEqpt+F3r77WvAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa VT5fnnlbdrmG6hHjDkVjEF+q3uYp1zJGbKfqE6gL3a79AM90oJjXfxx6Qk7wI9HdwGOtx5Dt //Q9VVfYF1P7ErhJ1GdZc8qOuMexvwqEH3QRSvyWqOLtB1B1v977jK3Z4S2MaGPLQ18bpaou WybLofjx95R37T
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Subject could a little shorter I think:
x86/hvm: fix upcall vector usage with PIRQs on event channels
On Wed, May 18, 2022 at 02:27:14PM +0100, Jane Malalane wrote:
> Have is_hvm_pv_evtchn_domain() return true for vector callbacks for
> evtchn delivery set up on a per-vCPU basis via
> HVMOP_set_evtchn_upcall_vector.
>
> is_hvm_pv_evtchn_domain() returning true is a condition for setting up
> physical IRQ to event channel mappings.
>
> Therefore, a CPUID bit is added so that guests know whether the check
> in is_hvm_pv_evtchn_domain() will fail when using
> HVMOP_set_evtchn_upcall_vector. This matters for guests that route
> PIRQs over event channels since is_hvm_pv_evtchn_domain() is a
> condition in physdev_map_pirq().
>
> The naming of the CPUID bit is quite generic about upcall support
> being available. That's done so that the define name doesn't become
> overly long like XEN_HVM_CPUID_UPCALL_VECTOR_SUPPORTS_PIRQ or some
> such.
I think you can drop the "... like
XEN_HVM_CPUID_UPCALL_VECTOR_SUPPORTS_PIRQ or some such." That's maybe
too informal for a commit message log.
>
> A guest that doesn't care about physical interrupts routed over event
> channels can just test for the availability of the hypercall directly
> (HVMOP_set_evtchn_upcall_vector) without checking the CPUID bit.
>
> Signed-off-by: Jane Malalane <jane.malalane@xxxxxxxxxx>
Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
(I think the above can be fixed on commit if the committer agrees)
One thing that worries me is how to differentiate between callbacks
setup with HVM_PARAM_CALLBACK_TYPE_VECTOR vs using
HVMOP_set_evtchn_upcall_vector in writing. We usually use 'callback
vector' to refer to the former and 'upcall vector' to refer to the
later. Hope that's clearer enough.
Thanks, Roger.
|