From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 22D0C35944 for ; Thu, 16 Jan 2025 08:51:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737017491; cv=none; b=IxHPCUdc38bCDF5V9Ew6jlPHVNe/B31Grwq1ey1KbJemcO6YnY6P1ToLxax66EnANiVb+E3hfXNbdZRZjjVwg64rRU2U0Naxfu5x3uEFNXf6r7QkyxVChxuvBmc6/Oz8U6xRqh6G/bOwumaKOw76o8SnfMzax94G3Wj1dAIVUd0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737017491; c=relaxed/simple; bh=FFnWxVgBfmkxOw1y7WfzcmhWlvlCPve9v5pbf9oHDrM=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=XDjPFTUuButgrAds6TmdZO/rRY2Qm9UkbKbBodEMKWIa3JplrMOb+Jkmiyuhpeg0+yzDVfiMCfy7FPKiwDvpJNzIFYrp8vBkBTvqa7MoaRmCqOBnfZWUpoauhbC8raZCOsQkVgevaqDfmjQGaBIcqMYCDg2J+aWm1tZmlan+qbA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=UsO0vFRA; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="UsO0vFRA" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-4361c705434so3428235e9.3 for ; Thu, 16 Jan 2025 00:51:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1737017486; x=1737622286; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=vdYGACSqmD06pBhAeXOqTAZ8uvEoU3CDJANNyc9PH5I=; b=UsO0vFRAm4OyhDhYcyIG7YQhmYvIPpm7HU1RlJmpUKB4oPFDKoCLYzvKyhNpDcxi1I T74+hIB+NwGnb+6Wr9pqg822sK5qx5uRuhivLPhzP3RfjL8DgX0K5HXIj9gOsz9WPPsx BTPj7Md7ZvVyHPqStN48GUKLE+lhMG3tap4WlXL7ACH5tpP2L97GM4xWtoLGisfsh2CO 1e13Ebv1PUTXmMCLvO4DmZ2cTrqVExvo1bev7efO+yzEDmCjVUSwY/CT8XryT3igPXk8 8ETcK6XML2Un192nhtx0/wMaA2XPKNjehd0UUXaLuNDlnuGhyNJvXbWlz0OJ2LW8jyV5 TOtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737017486; x=1737622286; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vdYGACSqmD06pBhAeXOqTAZ8uvEoU3CDJANNyc9PH5I=; b=ETHCbXhaj0tAc+fP/bn6cGSy9CS+QW1Y9VvSuw90qX3gIWS2Y9AzY07t7tVnVx2rUA ea1teX4fb8MOw3ySzi8k1640EfwWm1kiNtfs0jjm9fFLrjK6vDreANZaiapu1+AY8Gu7 78hxIrgbdIBXN3CsXi8AMxf2T76y6Q291s7zTYCKsmzbhwe5cyBleBL4dOf/r7dHKqv+ UaAZI6hNarOi+ugGP+pWHtv4F6bEkm4DBqHB4ovXtEOKwxA/SXiI9zu0EMc6UdLvm7NP vQtLnhp0y63LBaqMxJjXQPFmoudHW0K9sbiijTCeXAtvrFkRlpaUJbEyFkY6nJT+ohAb VdLA== X-Forwarded-Encrypted: i=1; AJvYcCV20lzJoMZyHqYevD9uNVGYJ2tTWNihk99w2QAKJD2DApTHYYupd6LJd64TUBDjF1D2vLDRNlqeuTdGFaw=@vger.kernel.org X-Gm-Message-State: AOJu0YxnrOjwfICbCK/gVPSCwCXt8fbxGvj8hRzb7xLqHBAR94dXknmW Sac3gTKKzqTNgj+U+5kd+/3JVDiWH6YSU3ymzG4biHnFac5j4RVGEHrDDE7Oc/c= X-Gm-Gg: ASbGncudyll36MkT1gdvvaHDTMhOIwYoamev7z54zo/0wlt4m2FR/Mw15rYapiSRL+G ACG90E6By3qiYDX3vnkcPyT4nsIBaNhOaH+GPuCAQcnoQGbJBan9+oXu76c2OBCOnBE6NyjEe2f Y5J9YT7wz1Oij+Ml2Vd2bVvHea/vc4mV1H5Y8D5zJkCCUVKw6A5wJhV6Dg3u3wlIAfAEvXZ+HrG hjTWsFsYrJTqCNPuvjbil/P8Sf++6jbvg9cieP/5vLgE86ny5BNuuVdX9C+I7JyGwmYnodss5KV L9QiGd/g9LzBzTjwsh5OyGqgzfKsshfGOH2W+p1jow== X-Google-Smtp-Source: AGHT+IEsbulHh7PZVHSAEnmDh38IVvfobmbwOpTAusRtk5MN3iwIfCnGsZ4ArTaC23pmkWtqt4FHJQ== X-Received: by 2002:a5d:47c4:0:b0:385:ed16:c8b with SMTP id ffacd0b85a97d-38a87309d21mr11955948f8f.23.1737017486382; Thu, 16 Jan 2025 00:51:26 -0800 (PST) Received: from localhost (2001-1ae9-1c2-4c00-20f-c6b4-1e57-7965.ip6.tmcz.cz. [2001:1ae9:1c2:4c00:20f:c6b4:1e57:7965]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38a8e4c3428sm19402764f8f.87.2025.01.16.00.51.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Jan 2025 00:51:25 -0800 (PST) Date: Thu, 16 Jan 2025 09:51:25 +0100 From: Andrew Jones To: Milan =?utf-8?B?xJBva2nEhw==?= Cc: linux-riscv@lists.infradead.org, jgross@suse.com, aou@eecs.berkeley.edu, Milan.Djokic@rt-rk.com, rafael.j.wysocki@intel.com, linux-kernel@vger.kernel.org, oleksandr_tyshchenko@epam.com, iommu@lists.linux.dev, sstabellini@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, xen-devel@lists.xenproject.org, Slavisa.Petrovic@rt-rk.com, takakura@valinux.co.jp Subject: Re: [PATCH] riscv: Add initial Xen guest support for RISC-V Message-ID: <20250116-aa9eadde9279e66dbc01c705@orel> References: <20250114-316084c962eb867c0b681043@orel> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Wed, Jan 15, 2025 at 08:04:05PM +0100, Milan Đokić wrote: > Hello Andrew, > > On Tue, Jan 14, 2025 at 7:18 PM Andrew Jones wrote: > > > > On Tue, Jan 14, 2025 at 05:09:36PM +0100, Milan Djokic wrote: ... > > > +++ b/arch/riscv/xen/hypercall.S > > > @@ -0,0 +1,71 @@ > > > +/* SPDX-License-Identifier: GPL-2.0 */ > > > +#include > > > +#include > > > +#include > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_event_channel_op); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_grant_table_op); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_xen_version); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_console_io); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_sched_op); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_hvm_op); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_memory_op); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_physdev_op); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_vcpu_op); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_platform_op_raw); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_multicall); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_vm_assist); > > > +EXPORT_SYMBOL_GPL(HYPERVISOR_dm_op); > > > +EXPORT_SYMBOL_GPL(privcmd_call); > > > +#define SBI_ECALL 0xE > > > > Shouldn't this be 0xA000007, i.e. the SBI firmware specific extension > > for Xen. Otherwise why refer to SBI? Note, '0xE' is an invalid, legacy > > extension ID in SBI. > > > Hypercall is triggered through SBI and we defined 0xE just as an > SBI_ECALL ID on Xen side for hypercall handling (among other operation > IDs), so we're not referring to some standard /legacy ID here, just > utilizing SBI for hypercall handling. If the SBI specified EIDs and binary encoding aren't used, then the hypercalls aren't "triggered through SBI", Xen is just doing its own thing on an ecall. Xen doesn't have to implement SBI at all, but if it wants to provide SBI services, as well as its own hypercalls, then the hypercalls should be encoded in the same way as SBI functions and an EID allowed by the SBI specification for hypervisor-specific functions should be used. For Xen, that EID is already specified and it's 0xA000007. > Is this specific ID (0xE) not allowed to be used on the kernel side > for some reason? If that is the case, we can use any other ID, > including the one which you suggested. > Linux can use any ID, and Xen can decide what that ID is, but, if Xen wants to implement SBI, then Xen can't use 0xE, because that EID is not allowed by the spec for the purpose of hypercalls. Thanks, drew