From nobody Thu May 30 20:37:42 2024 X-Original-To: freebsd-virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VqykJ4NMYz5LN7g for ; Thu, 30 May 2024 20:38:00 +0000 (UTC) (envelope-from tomek@cedro.info) Received: from mail-yw1-x112d.google.com (mail-yw1-x112d.google.com [IPv6:2607:f8b0:4864:20::112d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VqykJ3bVxz4Qml for ; Thu, 30 May 2024 20:38:00 +0000 (UTC) (envelope-from tomek@cedro.info) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-x112d.google.com with SMTP id 00721157ae682-62a0827316eso3025147b3.1 for ; Thu, 30 May 2024 13:38:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cedro.info; s=google; t=1717101479; x=1717706279; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=hONQfSn8ZRwNsVApeJNEWeKyC0o2wtWuPpAAWDsYm/I=; b=YUfiA9yt3wgKfUyfOid0UrElUAxD694t2O/aiq9F46wdRLi07VPK2afWtdsmJfYeO1 RIsvhKdVgybX/ftaZuUH/0zI0IOvZlysFDuEka26vcFD50GRRUf9TpCg1otR7J3cbRXj /Syu93IHKAlqB+A159A6PPm3re3i8M1yGLnWLy59BytUkds98vMGH8EjdxGI80sUcYfe M7oky1x1VxhRBD5Lr73mbpBsKkGHlBfZwFalEWeinSJWvm9Gg0BPVUvY7pRpqQKaJ6DU ROHX7+i+9XBBNyXpUcFgo36Me00SZF/flKZ6GW/yuOrju0dPIyBdstV6reMxSp84NTCL ncxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717101479; x=1717706279; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hONQfSn8ZRwNsVApeJNEWeKyC0o2wtWuPpAAWDsYm/I=; b=v7HYHzp+owORG4qMd5QlF/9e5Ea+ZgmzZ8d0/Y3VEFYXXssopOIk4SBmuAmbxw0jsv UUS+uRbWaheyxPCczeTUJp1Jwf6bd+T05etIkZ5qbKPUe2seg7GpKIY26PmkOC19ID+G rYDRKzmMav74O3RGVzj5E5xGUhVlBQMFCiXS3YgR0ZJt8930rcoEta6z3Gx97Tb/oD4u yde59oQgSO4/JB/5WjoyRyqyPRslmeeTMHyQA06oboAeHQH4gZLnMF6Sj6IdvN3rj2OA W+5qeFbEuOXlAETkxMSbNDlQW59I1kFpKGWVxr65pwPhqX0WOEkz4od0XIv2DtxrgiFb 9Aqw== X-Gm-Message-State: AOJu0Yz+CaLUIsX6s3M4fpUjCAhfkwSFiYwVOupZRoPrLjMVrtei1Pp/ BmTDToWE7UYsUVThxb7ZVLeUlApbFY9CuFjzJ6Qod44dqPtW6URMfyh+JkGExvN1NWQyV6hV9zA = X-Google-Smtp-Source: AGHT+IFK/Wdg4N18kUqsVQ6+mxmM8EynopaE7+t5nBmtiRQvewcEpopXeSzAWmvutU58eYzFFmhanA== X-Received: by 2002:a81:c147:0:b0:618:25fc:e2a9 with SMTP id 00721157ae682-62c6bc79aacmr34380927b3.38.1717101474887; Thu, 30 May 2024 13:37:54 -0700 (PDT) Received: from mail-yb1-f171.google.com (mail-yb1-f171.google.com. [209.85.219.171]) by smtp.gmail.com with ESMTPSA id 00721157ae682-62c766ac607sm778817b3.105.2024.05.30.13.37.54 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 May 2024 13:37:54 -0700 (PDT) Received: by mail-yb1-f171.google.com with SMTP id 3f1490d57ef6-dfa6e0add60so404554276.3 for ; Thu, 30 May 2024 13:37:54 -0700 (PDT) X-Received: by 2002:a25:2ce:0:b0:de5:5bca:ecb0 with SMTP id 3f1490d57ef6-dfa5a41fe6amr3296865276.0.1717101473826; Thu, 30 May 2024 13:37:53 -0700 (PDT) List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 References: In-Reply-To: From: Tomek CEDRO Date: Thu, 30 May 2024 22:37:42 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC] virtio testing framework To: emil@etsalapatis.com Cc: Virtualisation on FreeBSD Content-Type: multipart/alternative; boundary="0000000000006415f00619b1d7ce" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4VqykJ3bVxz4Qml --0000000000006415f00619b1d7ce Content-Type: text/plain; charset="UTF-8" Awesome!! Congrats :-) Here is some example of running NuttX RTOS on RV in a web browser using TinyEMU + VirtIO :-) https://github.com/lupyuen/nuttx-tinyemu -- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info On Thu, May 30, 2024, 22:16 Emil Tsalapatis wrote: > Hi everyone, > > while developing a virtiofs kernel driver I have written a debug > virtio transport to test virtio drivers inside a VM without requiring > nested virtualization or support from the host. The transport allows > paravirt devices to be emulated in local userspace instead of a host, so we > can create paravirt devices and test them as necessary. For virtiofs in > particular, it allows us to reuse the existing FUSE tests since we can now > run both the virtiofs driver and the FUSE server (which is normally in the > host) in a single machine. > > I have uploaded the WIP code [here ], > and an overview of the design [here > ]. The > patch has a ways to go, and currently only supports virtio-blk device > emulation as a PoC, but feedback is welcome and appreciated. Please also > let me know if there is interest in using this for testing other virtio > devices apart from virtiofs. > > --Emil > --0000000000006415f00619b1d7ce Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Awesome!! Congrats :-)

Here is some example of running NuttX RTOS on RV in a= web browser using TinyEMU + VirtIO :-)

https://github.com/= lupyuen/nuttx-tinyemu

--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

On Thu, May 30, 2024= , 22:16 Emil Tsalapatis <emil@et= salapatis.com> wrote:
Hi everyone,

=C2=A0 =C2=A0 while developing a virtiofs ke= rnel driver I have written a debug virtio transport to test virtio drivers = inside a VM without requiring nested virtualization or support from=20 the host. The transport allows paravirt devices to be emulated in local=20 userspace instead of a host, so we can create paravirt devices and test=20 them as necessary. For virtiofs in particular, it allows us to reuse the existing FUSE tests since we can now run both the virtiofs driver and=20 the FUSE server (which is normally in the host) in a single machine.

I have uploaded the WIP code [here], and an o= verview of the design [here]. The patch has a ways to go, and currently only supports virtio-blk=20 device emulation as a PoC, but feedback is welcome and appreciated.=20 Please also let me know if there is interest in using this for testing=20 other virtio devices apart from virtiofs.

= --Emil
--0000000000006415f00619b1d7ce--