Message ID | cover.1691843673.git.mjt@tls.msk.ru |
---|---|
Headers | show |
Series | move softmmu options processing from os-posix.c to vl.c | expand |
On Sat, Aug 12, 2023 at 03:47:54PM +0300, Michael Tokarev wrote: > qemu_init() calls os_parse_cmd_args(), which is obviously a very vl.c-specicic > piece of code. It looks like when moving vl.c to softmmu/, os-posix.c should've > been moved too (together with os-win32.c). But there are other functions in > os-posix.c which are used by other parts of the code, eg qemu-nbd or > qemu-storage-daemon both uses parts from there. The result is rather ugly. > One of the side-effects is that even if system build is disabled, we still > have to compile util/async-teardown.c, since it is used in os-posix.c, - and > this one can not be built on ia64 due to lack of clone syscall. But qemu-nbd > does not need async-teardown, which is also very softmmu-specific. > > This patchset tries to address these defects. It moves the "bottom half" of > vl.c options processing back into vl.c, effectively undoing commit 59a5264b99434 > from 2010. We do not have many os-specific options, and this move makes > qemu_init() the only function which processes options, all in the single > place, which is, in my opinion, easier to manage. > > Before this move, lower-level constructs (chroot, runas) are being exported. > > In the end, we have almost no softmmu-related things in os-posix.c, and the > same functionality can be actually used in qemu-storage-daemon or qemu-nbd. > For qemu-nbd, it is now possible to switch to using -runas/-chroot/etc the > same way as qemu-storage-daemon does, instead of having one more abstraction > named qemu_daemon(). Given that qemu-nbd is affected, I'm happy to queue this through my NBD tree if no one else picks it up first.