[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 1/9] xen: move do_vcpu_op() to arch specific code
- To: Juergen Gross <jgross@xxxxxxxx>
- From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Date: Mon, 27 Jun 2022 12:28:18 +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=MxGVPXuC/atwh/Z9xRoEJ7fhFahrpsLfKel2SZ+3ZaE=; b=jSOjLWqnFFRylnbQLbYba/9g1FTmG2H47/QvwjvhuCotI5yFprHcdI6bI72kpo+tPrMO2F6jU5dRZ0AUdsN3s07vwGxoD0B9l4d6AmmPZTlP/O5tUuQoKQURVRyJfInZn/8ImRofzGZNOjVYQo3rk6+z/Hm8DM783IXgPJ8LsdChMlRki1RZ6NkKxVhtC7qpiw3U0n/4wZSijRUOLMKX4M6Lt9hFj7Qva4HoxRZCQYnaTr7yWf4QmQNvU2QgPlnPpnxYJ2+TWX5aGCoW9cob6U+lyYL1eoay1+gKv+TTUq8w/fVE9QVW8cHMozZP4wxVzYYYfVIngy1zuDDvWOII8Q==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E6vmPTIeJwOTEP7W53XZe3nlAmOBj69FX0eR9RmnKWJsSMB8Qk8x9IIwuZf6cvsUk0WQVlIuN99TNV1vbVMkWyqweEZVOghfiTWoSpzyKo04DrnPO3pRp9oDUA4VLUMIGUhBbadIiRAas/sHtooeZCZy0xY53KK+vfiB9YhZEdTHcIpz+vRqeVBmWdgueygKFzWpY9ODvyhRMosFaIhuNEYq4YaHNxtf9mGzPjlQ9rw1jbaOV77m9g4AhQ/NoJNSqb21JvaEttGAOIzhjj/io06ydbemM3iJTzc/ES/SfI4onRs9y4x9IBneUqYFCpds4KTZztTf2hHeTR8Pk4vFaQ==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Wei Liu <wl@xxxxxxx>, Julien Grall <jgrall@xxxxxxxxxx>
- Delivery-date: Mon, 27 Jun 2022 10:28:51 +0000
- Ironport-data: A9a23:TNfAlayLDQjVhM1SCx56t+fBxyrEfRIJ4+MujC+fZmUNrF6WrkUAz WQWX2qBa/6NajfxLt0lYdm3oE0P75PRmIA1QAJspCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx 59DAjUVBJlsFhcwnj/0bv656yMUOZigHtIQMsadUsxKbVIiGX1JZS5LwbZj2NY224fhWmthh PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ Npll6KvRCUyMof1se0cCUUAIQtdYYxf0eqSSZS/mZT7I0zuVVLJm6krKX5seIoS96BwHH1E8 uEeJHYVdBefiumqwbW9DO5xmsAkK8qtN4Qa0p1i5WiBUbB6HtacGOOTuoQwMDQY36iiGd7EY MUUc3x3ZQnoaBxTIFYHTpk5mY9Eg1GgL2wA9gjE/MLb5UDc41R+2ZHRFubcZ9+oSPtvw1iqn zjZqjGR7hYycYb3JSC+2nCjnOjUhgvgRZkfUra/85ZCkFCVg2AeFhASfV+6uuWizF6zXcpFL E4Z8TZoqrI9nGSwVcX0VRC8pH+CvzYfVsBWHul87xuCooLW/gKYC24sXjNHLts8u6ceTzEwy kWAmd+vADV1qaCUUlqU7LLSpjS3UQArKmsFaT4BXBEyydDpq4EujTrCVt9mVqWyi7XdGzv93 jSLpygWnKgIgIgA0KDT1U/DqyKhoN7OVAFdzgfYRGuh6itwYYe3YIru4l/ehcusN66cR1iF+ X0bwc6X6bhSCYnXzXPWBuIQALuu+vCJdiXGhkJiFIUg8DLr/GO/eYdX43d1I0IB3ts4RAIFq XT74Wt5jKK/9lP1BUOrS+pd0/gX8JU=
- Ironport-hdrordr: A9a23:2yZwta6FYeor3YNlDwPXwS2BI+orL9Y04lQ7vn2ZFiY5TiXIra qTdaogviMc6Ax/ZJjvo6HkBEClewKlyXcV2/hpAV7GZmXbUQSTTL2KgbGSoAEIXheOjdK1tp 0QD5SWaueAamSS5PySiGfYLz9j+qjgzEnBv5ai854Hd3APV0gP1XYaNu7NeXcGPjWuSKBJY6 a0145inX6NaH4XZsO0Cj0sWPXCncTCkNbDbQQdDxAqxQGShXfwgYSKWiSw71M7aXdi0L0i+W /Kn0jQ4biiieiyzlv523XI55pbtdP9wp9oBdCKiOISNjLw4zzYErhJavmnhnQYseuv4FElnJ 3lpAohBd167zfrcmS8sXLWqnvd+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ g7kl6xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklWqvoJBiKp7zPLd MeQv01vJ1tABKnhjHizyJSKeWXLzgO9kzseDlDhiSXuwIm70yRgXFoh/D3pU1wiq7Ve6M0mN gsDZ4Y5Y2mbvVmGJ6VV91xNfefOyjqfS/mFl60DBDOKJwnUki926Ifpo9FrN2XRA==
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Thu, Mar 24, 2022 at 03:01:31PM +0100, Juergen Gross wrote:
> The entry point used for the vcpu_op hypercall on Arm is different
> from the one on x86 today, as some of the common sub-ops are not
> supported on Arm. The Arm specific handler filters out the not
> supported sub-ops and then calls the common handler. This leads to the
> weird call hierarchy:
>
> do_arm_vcpu_op()
> do_vcpu_op()
> arch_do_vcpu_op()
>
> Clean this up by renaming do_vcpu_op() to common_vcpu_op() and
> arch_do_vcpu_op() in each architecture to do_vcpu_op(). This way one
> of above calls can be avoided without restricting any potential
> future use of common sub-ops for Arm.
Wouldn't it be more natural to have do_vcpu_op() contain the common
code (AFAICT handlers for
VCPUOP_register_{vcpu_info,runstate_memory_area}) and then everything
else handled by the x86 arch_do_vcpu_op() handler?
I find the common prefix misleading, as not all the VCPUOP hypercalls
are available to all the architectures.
Thanks, Roger.
|