Message ID | 20180522192034.13318-1-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | tcg: remove softfloat from --disable-tcg builds | expand |
Hi, This series seems to have some coding style problems. See output below for more information: Type: series Message-id: 20180522192034.13318-1-pbonzini@redhat.com Subject: [Qemu-devel] [PATCH] tcg: remove softfloat from --disable-tcg builds === TEST SCRIPT BEGIN === #!/bin/bash BASE=base n=1 total=$(git log --oneline $BASE.. | wc -l) failed=0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram commits="$(git log --format=%H --reverse $BASE..)" for c in $commits; do echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..." if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then failed=1 echo fi n=$((n+1)) done exit $failed === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu * [new tag] patchew/20180522192034.13318-1-pbonzini@redhat.com -> patchew/20180522192034.13318-1-pbonzini@redhat.com Switched to a new branch 'test' 2b374b4a9d tcg: remove softfloat from --disable-tcg builds === OUTPUT BEGIN === Checking PATCH 1/1: tcg: remove softfloat from --disable-tcg builds... WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #26: new file mode 100644 ERROR: do not initialise statics to 0 or NULL #86: FILE: hw/i386/x86-iommu-stub.c:56: +static X86IOMMUState *x86_iommu_default = NULL; total: 1 errors, 1 warnings, 140 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. === OUTPUT END === Test command exited with code: 1 --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On 22 May 2018 at 20:20, Paolo Bonzini <pbonzini@redhat.com> wrote: > Even though the presence of softfloat does not cause --disable-tcg builds to fail, > it is the single largest .o file in them. Remove it, since TCG is the only client. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > Makefile.target | 2 +- > hw/i386/x86-iommu-stub.c | 132 +++++++++++++++++++++++++++++++++++++++ > 2 files changed, 133 insertions(+), 1 deletion(-) > create mode 100644 hw/i386/x86-iommu-stub.c Is this new x86-iommu-stub.c file intended to be in this patch? thanks -- PMM
On 05/22/2018 12:20 PM, Paolo Bonzini wrote: > Even though the presence of softfloat does not cause --disable-tcg builds to fail, > it is the single largest .o file in them. Remove it, since TCG is the only client. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > Makefile.target | 2 +- > hw/i386/x86-iommu-stub.c | 132 +++++++++++++++++++++++++++++++++++++++ Assuming this wasn't supposed to be here. > 2 files changed, 133 insertions(+), 1 deletion(-) > create mode 100644 hw/i386/x86-iommu-stub.c > > diff --git a/Makefile.target b/Makefile.target > index d0ec77a307..dad2cf8778 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -97,7 +97,7 @@ obj-$(CONFIG_TCG) += tcg/tcg.o tcg/tcg-op.o tcg/tcg-op-vec.o tcg/tcg-op-gvec.o > obj-$(CONFIG_TCG) += tcg/tcg-common.o tcg/optimize.o > obj-$(CONFIG_TCG_INTERPRETER) += tcg/tci.o > obj-$(CONFIG_TCG_INTERPRETER) += disas/tci.o > -obj-y += fpu/softfloat.o > +obj-$(CONFIG_TCG) += fpu/softfloat.o But for this change alone, Acked-by: Richard Henderson <richard.henderson@linaro.org> r~
On 22/05/2018 22:53, Richard Henderson wrote: > On 05/22/2018 12:20 PM, Paolo Bonzini wrote: >> Even though the presence of softfloat does not cause --disable-tcg builds to fail, >> it is the single largest .o file in them. Remove it, since TCG is the only client. >> >> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> >> --- >> Makefile.target | 2 +- >> hw/i386/x86-iommu-stub.c | 132 +++++++++++++++++++++++++++++++++++++++ > > Assuming this wasn't supposed to be here. Oops, no it wasn't. Thanks for the quick review! Paolo >> 2 files changed, 133 insertions(+), 1 deletion(-) >> create mode 100644 hw/i386/x86-iommu-stub.c >> >> diff --git a/Makefile.target b/Makefile.target >> index d0ec77a307..dad2cf8778 100644 >> --- a/Makefile.target >> +++ b/Makefile.target >> @@ -97,7 +97,7 @@ obj-$(CONFIG_TCG) += tcg/tcg.o tcg/tcg-op.o tcg/tcg-op-vec.o tcg/tcg-op-gvec.o >> obj-$(CONFIG_TCG) += tcg/tcg-common.o tcg/optimize.o >> obj-$(CONFIG_TCG_INTERPRETER) += tcg/tci.o >> obj-$(CONFIG_TCG_INTERPRETER) += disas/tci.o >> -obj-y += fpu/softfloat.o >> +obj-$(CONFIG_TCG) += fpu/softfloat.o > > But for this change alone, > Acked-by: Richard Henderson <richard.henderson@linaro.org> > > r~ >
On 22/05/2018 21:27, Peter Maydell wrote: > On 22 May 2018 at 20:20, Paolo Bonzini <pbonzini@redhat.com> wrote: >> Even though the presence of softfloat does not cause --disable-tcg builds to fail, >> it is the single largest .o file in them. Remove it, since TCG is the only client. >> >> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> >> --- >> Makefile.target | 2 +- >> hw/i386/x86-iommu-stub.c | 132 +++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 133 insertions(+), 1 deletion(-) >> create mode 100644 hw/i386/x86-iommu-stub.c > > Is this new x86-iommu-stub.c file intended to be in this patch? No, of course not. I probably fat fingered a "r" into "f" in git rebase -i... Paolo
On 22.05.2018 21:20, Paolo Bonzini wrote: > Even though the presence of softfloat does not cause --disable-tcg builds to fail, > it is the single largest .o file in them. Remove it, since TCG is the only client. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > Makefile.target | 2 +- > hw/i386/x86-iommu-stub.c | 132 +++++++++++++++++++++++++++++++++++++++ > 2 files changed, 133 insertions(+), 1 deletion(-) > create mode 100644 hw/i386/x86-iommu-stub.c > > diff --git a/Makefile.target b/Makefile.target > index d0ec77a307..dad2cf8778 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -97,7 +97,7 @@ obj-$(CONFIG_TCG) += tcg/tcg.o tcg/tcg-op.o tcg/tcg-op-vec.o tcg/tcg-op-gvec.o > obj-$(CONFIG_TCG) += tcg/tcg-common.o tcg/optimize.o > obj-$(CONFIG_TCG_INTERPRETER) += tcg/tci.o > obj-$(CONFIG_TCG_INTERPRETER) += disas/tci.o > -obj-y += fpu/softfloat.o > +obj-$(CONFIG_TCG) += fpu/softfloat.o > obj-y += target/$(TARGET_BASE_ARCH)/ > obj-y += disas.o > obj-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o Without that x86-iommu-stub.c file: Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/Makefile.target b/Makefile.target index d0ec77a307..dad2cf8778 100644 --- a/Makefile.target +++ b/Makefile.target @@ -97,7 +97,7 @@ obj-$(CONFIG_TCG) += tcg/tcg.o tcg/tcg-op.o tcg/tcg-op-vec.o tcg/tcg-op-gvec.o obj-$(CONFIG_TCG) += tcg/tcg-common.o tcg/optimize.o obj-$(CONFIG_TCG_INTERPRETER) += tcg/tci.o obj-$(CONFIG_TCG_INTERPRETER) += disas/tci.o -obj-y += fpu/softfloat.o +obj-$(CONFIG_TCG) += fpu/softfloat.o obj-y += target/$(TARGET_BASE_ARCH)/ obj-y += disas.o obj-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o diff --git a/hw/i386/x86-iommu-stub.c b/hw/i386/x86-iommu-stub.c new file mode 100644 index 0000000000..8a01a2dd25 --- /dev/null +++ b/hw/i386/x86-iommu-stub.c @@ -0,0 +1,132 @@ +/* + * QEMU emulation of common X86 IOMMU + * + * Copyright (C) 2016 Peter Xu, Red Hat <peterx@redhat.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, see <http://www.gnu.org/licenses/>. + */ + +#include "qemu/osdep.h" +#include "hw/sysbus.h" +#include "hw/boards.h" +#include "hw/i386/x86-iommu.h" +#include "hw/i386/pc.h" +#include "qapi/error.h" +#include "qemu/error-report.h" +#include "trace.h" + +void x86_iommu_iec_register_notifier(X86IOMMUState *iommu, + iec_notify_fn fn, void *data) +{ + IEC_Notifier *notifier = g_new0(IEC_Notifier, 1); + + notifier->iec_notify = fn; + notifier->private = data; + + QLIST_INSERT_HEAD(&iommu->iec_notifiers, notifier, list); +} + +void x86_iommu_iec_notify_all(X86IOMMUState *iommu, bool global, + uint32_t index, uint32_t mask) +{ + IEC_Notifier *notifier; + + trace_x86_iommu_iec_notify(global, index, mask); + + QLIST_FOREACH(notifier, &iommu->iec_notifiers, list) { + if (notifier->iec_notify) { + notifier->iec_notify(notifier->private, global, + index, mask); + } + } +} + +/* Default X86 IOMMU device */ +static X86IOMMUState *x86_iommu_default = NULL; + +static void x86_iommu_set_default(X86IOMMUState *x86_iommu) +{ + assert(x86_iommu); + + if (x86_iommu_default) { + error_report("QEMU does not support multiple vIOMMUs " + "for x86 yet."); + exit(1); + } + + x86_iommu_default = x86_iommu; +} + +X86IOMMUState *x86_iommu_get_default(void) +{ + return x86_iommu_default; +} + +IommuType x86_iommu_get_type(void) +{ + return x86_iommu_default->type; +} + +static void x86_iommu_realize(DeviceState *dev, Error **errp) +{ + X86IOMMUState *x86_iommu = X86_IOMMU_DEVICE(dev); + X86IOMMUClass *x86_class = X86_IOMMU_GET_CLASS(dev); + MachineState *ms = MACHINE(qdev_get_machine()); + MachineClass *mc = MACHINE_GET_CLASS(ms); + PCMachineState *pcms = + PC_MACHINE(object_dynamic_cast(OBJECT(ms), TYPE_PC_MACHINE)); + QLIST_INIT(&x86_iommu->iec_notifiers); + + if (!pcms || !pcms->bus) { + error_setg(errp, "Machine-type '%s' not supported by IOMMU", + mc->name); + return; + } + + if (x86_class->realize) { + x86_class->realize(dev, errp); + } + + x86_iommu_set_default(X86_IOMMU_DEVICE(dev)); +} + +static Property x86_iommu_properties[] = { + DEFINE_PROP_BOOL("intremap", X86IOMMUState, intr_supported, false), + DEFINE_PROP_BOOL("device-iotlb", X86IOMMUState, dt_supported, false), + DEFINE_PROP_BOOL("pt", X86IOMMUState, pt_supported, true), + DEFINE_PROP_END_OF_LIST(), +}; + +static void x86_iommu_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(klass); + dc->realize = x86_iommu_realize; + dc->props = x86_iommu_properties; +} + +static const TypeInfo x86_iommu_info = { + .name = TYPE_X86_IOMMU_DEVICE, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(X86IOMMUState), + .class_init = x86_iommu_class_init, + .class_size = sizeof(X86IOMMUClass), + .abstract = true, +}; + +static void x86_iommu_register_types(void) +{ + type_register_static(&x86_iommu_info); +} + +type_init(x86_iommu_register_types)
Even though the presence of softfloat does not cause --disable-tcg builds to fail, it is the single largest .o file in them. Remove it, since TCG is the only client. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- Makefile.target | 2 +- hw/i386/x86-iommu-stub.c | 132 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 hw/i386/x86-iommu-stub.c