[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 01/15] xen/riscv: introduce struct arch_vcpu
- To: Jan Beulich <jbeulich@xxxxxxxx>, Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
- From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- Date: Tue, 6 Jan 2026 14:59:59 +0000
- 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=arcselector10001; 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=FZfdYqZJGarK96C9DX+uTvdfguavdEJn0EYcuxDnZBo=; b=OvbEZIATjJOeXB1Eio5hAWiECjO7VZhawUO9eSi0B3rmFsScwdWX2Zh82fr1T8oaqENzrcLxghT2uuYxWUcBCaj6APizdADz2T/WCbutg9arwjmSHq3e8ZgNp6wioGWwkx2O3WAWggJksJVVXY6Dd+tuhNxQokoDlBFmwgZrlaGuBOqqhj8Pfi+uoY3z4CdTW43KxYP7atsTgEzrbNvSqkGiBCmVP3YDMDyPqW3C2xMs2FiQIg6XJZ88vfC6lxTRRapsW9qevG9lln5vR+ddAL72plt5j9ae/doVgO/Tw6GjmrUP2Na6IcV6wADL2u5+u+0lnCxNdPTPDtpBmD9zjQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LlCkHsDCZ1gA4YlawX/vvNFoAsFdU98LfmFd2oMX1uLZR1s1hu/DouR4xan8E863aWR0eWZgUxy7cUoG9jSeTIThxsMX4NblOEKc+maWD7TBi2Y7APPAbQaRaXRmPfTbACSmd0EPILvlKS3INMaej35oy04oUIbHZplHHYGbqF8NmZ7QJaUmxVOtRB66Zq4CdKueZ/OM0arvgV766hBXCGYAmPP2+hFZt14j6JV6vHKvBqX1pTzcoPobagtyjYqcc0v3zSnm1ZkQj8Athe4Ijmgi+aLgLhcO9nlV0rJ17ikmKMH9zjZy+DGgX0/u6rlDGfv4RsWwnYEGXWM8SF/UFw==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Alistair Francis <alistair.francis@xxxxxxx>, Bob Eshleman <bobbyeshleman@xxxxxxxxx>, Connor Davis <connojdavis@xxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
- Delivery-date: Tue, 06 Jan 2026 15:00:27 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 06/01/2026 2:26 pm, Jan Beulich wrote:
> On 06.01.2026 15:19, Oleksii Kurochko wrote:
>>>> + struct
>>>> + {
>>>> + register_t s0;
>>>> + register_t s1;
>>>> + register_t s2;
>>>> + register_t s3;
>>>> + register_t s4;
>>>> + register_t s5;
>>>> + register_t s6;
>>>> + register_t s7;
>>>> + register_t s8;
>>>> + register_t s9;
>>>> + register_t s10;
>>>> + register_t s11;
>>>> +
>>>> + register_t sp;
>>>> + register_t gp;
>>>> +
>>>> + /* ra is used to jump to guest when creating new vcpu */
>>>> + register_t ra;
>>>> + } xen_saved_context;
>>> The xen_ prefix here also doesn't exist in Arm code.
>> I think it should be added for Arm too. I can send a patch.
> ... this, to reword my comment: What value does the xen_ prefix add?
This was my recommendation after reverse engineering how ARM worked to
explain it to Oleksii. But I also thought I said to write a real
comment too.
This is arbitrary *Xen* state, not guest state like you'd expect to find
in struct vcpu. The guest GPR state is at the base of the vCPU stack.
I suggested that this property be made clearer for the benefit of anyone
trying to decipher the context switching logic.
~Andrew
|