Re: bhyve command-line option order
- In reply to: Sean C. Farley: "bhyve command-line option order"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 28 Oct 2025 15:58:01 UTC
On Thu, Oct 23, 2025 at 10:00:42PM -0400, Sean C. Farley wrote: > I wrote a change to vm-bhyve[1] to be able to pass the options to bhyve in > the correct order to use GPU passthru. In the incorrect order, bhyve will > return an error. The question was raised: Is it expected that bhyve will > return an error depending upon the order of command-line arguments, or > should it be handling this scenario? > > The issue is when "-s 31, lpc" is presented to bhyve. If it is passed prior > to "-o pci.0.31.0.pcireg.vendor=host", then there is no error. However, if > it is in the opposite order, this is returned: > > $ bhyve ... -o pci.0.31.0.pcireg.vendor=host -s 31,lpc ... > pci slot 0:31:0 already occupied! > > I will be updating my PR to make things a bit easier regardless of the > answer, but it would be nice to know if this is intended or not. I don't really think it's intended, it's just an artifact of the way option handling is implemented. The -s option creates a PCI device and raises an error if one already exists in the configuration tree. The -o option adds arbitrary configuration nodes and silently overwrites existing nodes. One solution which allows both orders would be to process -o options after everything else. It's hard to say whether that might break some existing command-line invocations though. One other option would be to make -s more permissive, but that would make it easier to flub command-line invocations. > > Thank you. > > Sean > 1. https://github.com/freebsd/vm-bhyve/pull/56 > -- > scf@FreeBSD.org >