The branch main has been updated by chuck:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=3a4ab18377c86c4588d79c4ca91fe8f4530dc90c

commit 3a4ab18377c86c4588d79c4ca91fe8f4530dc90c
Author:     Chuck Tuffli <[email protected]>
AuthorDate: 2021-06-15 13:59:02 +0000
Commit:     Chuck Tuffli <[email protected]>
CommitDate: 2021-06-16 21:19:01 +0000

    bhyve: Fix cli regression with NVMe ram
    
    The configuration management refactoring inadvertently removed support
    for a RAM-backed NVMe Namespace (i.e. -s X,nvme,ram=16384). This adds it
    back.
    
    Reported by:    [email protected]
    Reviewed by:    jhb, [email protected]
    Fixes:          621b5090487d
    MFC after:      1 week
    Differential Revision: https://reviews.freebsd.org/D30717
---
 usr.sbin/bhyve/pci_nvme.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c
index 0abc0415a1d8..7d472830a40e 100644
--- a/usr.sbin/bhyve/pci_nvme.c
+++ b/usr.sbin/bhyve/pci_nvme.c
@@ -2800,11 +2800,32 @@ done:
        return (error);
 }
 
+static int
+pci_nvme_legacy_config(nvlist_t *nvl, const char *opts)
+{
+       char *cp, *ram;
+
+       if (opts == NULL)
+               return (0);
+
+       if (strncmp(opts, "ram=", 4) == 0) {
+               cp = strchr(opts, ',');
+               if (cp == NULL) {
+                       set_config_value_node(nvl, "ram", opts + 4);
+                       return (0);
+               }
+               ram = strndup(opts + 4, cp - opts - 4);
+               set_config_value_node(nvl, "ram", ram);
+               free(ram);
+               return (pci_parse_legacy_config(nvl, cp + 1));
+       } else
+               return (blockif_legacy_config(nvl, opts));
+}
 
 struct pci_devemu pci_de_nvme = {
        .pe_emu =       "nvme",
        .pe_init =      pci_nvme_init,
-       .pe_legacy_config = blockif_legacy_config,
+       .pe_legacy_config = pci_nvme_legacy_config,
        .pe_barwrite =  pci_nvme_write,
        .pe_barread =   pci_nvme_read
 };
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "[email protected]"

Reply via email to