Il 07/02/2014 01:06, Peter Maydell ha scritto:
Why do we need OS specific code to do this when the code in vl.c for getting the executable path to use as a base for finding bios blobs works fine without OS specific code?
That's because right now module_call_init is not receiving an argv[0] to pass to qemu_exec_dir (os_find_datadir has an argument for that). It can be fixed (in the whole call chain, including e.g. bdrv_init/bdrv_init_with_whitelist).
However, note that there is OS-specific code already for Linux, FreeBSD and Windows. Adding Darwin makes sense.
On some BSDs there's also /proc/curproc/file. I don't know _which_ BSDs have it though.
Paolo