Hi, This series reworks qemu-binfmt-conf.sh: * Argument <CPU> from option '--systemd' is generalized to <TARGETS>, and it is accepted for any mode (default, debian or systemd). It can be a single target arch or a list of them. * Option '-r|--clear' is added, which allows to remove an already registered target interpreter or a list of them. The implementation is functional but partial. Please, see the corresponding commit. * Option '-t|--test' is added, which allows to execute the CHECK according to the provided arguments, but no interpreter is configured. * Support to set options through environment variables: QEMU_TARGETS, QEMU_PATH, QEMU_SUFFIX, QEMU_PERSISTENT, QEMU_CREDENTIAL, QEMU_CLEAR and QEMU_TEST. The following changes are not backward compatible: * Option '--persistent' no longer requires/accepts an argument. * Option '--credential' no longer requires/accepts an argument. * Option '--systemd' no longer requires/accepts an argument. * Option '--qemu-path' is renamed to '--path'. * Option '--qemu-suffix' is renamed to '--suffix'. The functionality of all of them is untouched. Changes are related to syntax only. v10 * Split style related commit v9 * Make style coherent with the dominant pattern v8: * Fix typos and address review comments v7: * Check that a interpreter exists before trying to remove it. v6: * Don't need to use "find". * Put the ";;" at the same position. * Set BINFMT_CLEAR to ':', to allow --test to work with --clear. * Do not show DEBIANDIR and SYSTEMDDIR in the Env-variable column. Based on: * [PATCH v5 0/10] qemu-binfmt-conf.sh * should have been [PATCH v5 0/9] qemu-binfmt-conf.sh * [PATCH v4 0/10] qemu-binfmt-conf.sh * [PATCH v3 0/10] qemu-binfmt-conf.sh * [PATCH v2] qemu-binfmt-conf.sh: add CPUS, add --reset, make -p and -c boolean (no arg) * [PATCH] qemu-binfmt-conf.sh: add CPUS, add --reset, make -p and -c boolean (no arg) * scripts/qemu-binfmt-conf.sh: allow clearing of entries Regards Unai Martinez-Corral (10): qemu-binfmt-conf.sh: enforce style consistency qemu-binfmt-conf.sh: enforce safe tests qemu-binfmt-conf.sh: make opts -p and -c boolean qemu-binfmt-conf.sh: add QEMU_CREDENTIAL and QEMU_PERSISTENT qemu-binfmt-conf.sh: use the same presentation format as for qemu-* qemu-binfmt-conf.sh: remove 'qemu' prefix from cli options qemu-binfmt-conf.sh: honour QEMU_PATH and/or QEMU_SUFFIX qemu-binfmt-conf.sh: generalize <CPU> to positional TARGETS qemu-binfmt-conf.sh: add option --clear qemu-binfmt-conf.sh: add --test scripts/qemu-binfmt-conf.sh | 221 1 file changed, 138 insertions(+), 83 deletions(-i)
Hi, I'd like to request this patchset to be kept on hold. As discussed in https://github.com/dbhi/qus/issues/4, the current "family-based" logic of 'qemu-binfmt-conf.sh' does not work for aarch64-only hosts. It is assumed that all aarch64 hosts can natively execute arm or armhf binaries. However, this is not true anymore. Some high end devices, such as ThunderX or ThunderX2, are 64-bit only. It was tested that splitting family 'arm' to 'arm' and 'arm64' does work: https://github.com/umarcor/qemu/commit/699f972f665bb6dfd05e1c89ff83adb9834a1bb2. However, such solution breaks backwards compatibility and it will register unnecessary interpreters on hosts which do support both 32-bit and 64-bit. Hence, I'd like to add some option for users to tell that a host is 64-bit only. Alternatively, we might have an automatic test to detect it. I'd be glad to hear any suggestion. Regards Unai El lun., 9 mar. 2020 a las 20:01, Unai Martinez-Corral (<unai.martinezcorral@ehui.eus>) escribió: > Hi, > > This series reworks qemu-binfmt-conf.sh: > > * Argument <CPU> from option '--systemd' is generalized to <TARGETS>, and > it is > accepted for any mode (default, debian or systemd). It can be a single > target > arch or a list of them. > * Option '-r|--clear' is added, which allows to remove an already > registered > target interpreter or a list of them. The implementation is functional > but > partial. Please, see the corresponding commit. > * Option '-t|--test' is added, which allows to execute the CHECK according > to the provided arguments, but no interpreter is configured. > * Support to set options through environment variables: QEMU_TARGETS, > QEMU_PATH, > QEMU_SUFFIX, QEMU_PERSISTENT, QEMU_CREDENTIAL, QEMU_CLEAR and QEMU_TEST. > > The following changes are not backward compatible: > > * Option '--persistent' no longer requires/accepts an argument. > * Option '--credential' no longer requires/accepts an argument. > * Option '--systemd' no longer requires/accepts an argument. > * Option '--qemu-path' is renamed to '--path'. > * Option '--qemu-suffix' is renamed to '--suffix'. > > The functionality of all of them is untouched. Changes are related to > syntax only. > > v10 > > * Split style related commit > > v9 > > * Make style coherent with the dominant pattern > > v8: > > * Fix typos and address review comments > > v7: > > * Check that a interpreter exists before trying to remove it. > > v6: > > * Don't need to use "find". > * Put the ";;" at the same position. > * Set BINFMT_CLEAR to ':', to allow --test to work with --clear. > * Do not show DEBIANDIR and SYSTEMDDIR in the Env-variable column. > > Based on: > > * [PATCH v5 0/10] qemu-binfmt-conf.sh > * should have been [PATCH v5 0/9] qemu-binfmt-conf.sh > * [PATCH v4 0/10] qemu-binfmt-conf.sh > * [PATCH v3 0/10] qemu-binfmt-conf.sh > * [PATCH v2] qemu-binfmt-conf.sh: add CPUS, add --reset, make -p and -c > boolean (no arg) > * [PATCH] qemu-binfmt-conf.sh: add CPUS, add --reset, make -p and -c > boolean (no arg) > * scripts/qemu-binfmt-conf.sh: allow clearing of entries > > Regards > > Unai Martinez-Corral (10): > qemu-binfmt-conf.sh: enforce style consistency > qemu-binfmt-conf.sh: enforce safe tests > qemu-binfmt-conf.sh: make opts -p and -c boolean > qemu-binfmt-conf.sh: add QEMU_CREDENTIAL and QEMU_PERSISTENT > qemu-binfmt-conf.sh: use the same presentation format as for qemu-* > qemu-binfmt-conf.sh: remove 'qemu' prefix from cli options > qemu-binfmt-conf.sh: honour QEMU_PATH and/or QEMU_SUFFIX > qemu-binfmt-conf.sh: generalize <CPU> to positional TARGETS > qemu-binfmt-conf.sh: add option --clear > qemu-binfmt-conf.sh: add --test > > scripts/qemu-binfmt-conf.sh | 221 > 1 file changed, 138 insertions(+), 83 deletions(-i) >
© 2016 - 2025 Red Hat, Inc.