Message ID | 20210525115355.8254-4-bruno.larsen@eldorado.org.br (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/ppc: add support to disable-tcg | expand |
On Tue, May 25, 2021 at 08:53:54AM -0300, Bruno Larsen (billionai) wrote: > Created a file with stubs needed to compile disabling TCG. *_ppc_opcodes > were created to make cpu_init.c have a few less ifdefs, since they are > not needed. softmmu_resize_hpt_* have to be created because the compiler > can't automatically know they aren't used, but they should never be > reached. > > Signed-off-by: Bruno Larsen (billionai) > <bruno.larsen@eldorado.org.br> Applied to ppc-for-6.1, thanks. > --- > target/ppc/meson.build | 4 ++++ > target/ppc/tcg-stub.c | 45 ++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 49 insertions(+) > create mode 100644 target/ppc/tcg-stub.c > > diff --git a/target/ppc/meson.build b/target/ppc/meson.build > index d1aa7d5d39..848e625302 100644 > --- a/target/ppc/meson.build > +++ b/target/ppc/meson.build > @@ -28,6 +28,10 @@ ppc_softmmu_ss.add(files( > 'mmu_helper.c', > 'monitor.c', > )) > +ppc_softmmu_ss.add(when: 'CONFIG_TCG', if_false: files( > + 'tcg-stub.c' > +)) > + > ppc_softmmu_ss.add(when: 'TARGET_PPC64', if_true: files( > 'compat.c', > 'mmu-book3s-v3.c', > diff --git a/target/ppc/tcg-stub.c b/target/ppc/tcg-stub.c > new file mode 100644 > index 0000000000..aadcf59d26 > --- /dev/null > +++ b/target/ppc/tcg-stub.c > @@ -0,0 +1,45 @@ > +/* > + * PowerPC CPU initialization for qemu. > + * > + * Copyright (C) 2021 Instituto de Pesquisas Eldorado (eldorado.org.br) > + * > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * This library 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 > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this library; if not, see <http://www.gnu.org/licenses/>. > + */ > +#include "qemu/osdep.h" > +#include "cpu.h" > +#include "internal.h" > +#include "hw/ppc/spapr.h" > + > +void create_ppc_opcodes(PowerPCCPU *cpu, Error **errp) > +{ > +} > + > +void destroy_ppc_opcodes(PowerPCCPU *cpu) > +{ > +} > + > +target_ulong softmmu_resize_hpt_prepare(PowerPCCPU *cpu, > + SpaprMachineState *spapr, > + target_ulong shift) > +{ > + g_assert_not_reached(); > +} > + > +target_ulong softmmu_resize_hpt_commit(PowerPCCPU *cpu, > + SpaprMachineState *spapr, > + target_ulong flags, > + target_ulong shift) > +{ > + g_assert_not_reached(); > +}
diff --git a/target/ppc/meson.build b/target/ppc/meson.build index d1aa7d5d39..848e625302 100644 --- a/target/ppc/meson.build +++ b/target/ppc/meson.build @@ -28,6 +28,10 @@ ppc_softmmu_ss.add(files( 'mmu_helper.c', 'monitor.c', )) +ppc_softmmu_ss.add(when: 'CONFIG_TCG', if_false: files( + 'tcg-stub.c' +)) + ppc_softmmu_ss.add(when: 'TARGET_PPC64', if_true: files( 'compat.c', 'mmu-book3s-v3.c', diff --git a/target/ppc/tcg-stub.c b/target/ppc/tcg-stub.c new file mode 100644 index 0000000000..aadcf59d26 --- /dev/null +++ b/target/ppc/tcg-stub.c @@ -0,0 +1,45 @@ +/* + * PowerPC CPU initialization for qemu. + * + * Copyright (C) 2021 Instituto de Pesquisas Eldorado (eldorado.org.br) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see <http://www.gnu.org/licenses/>. + */ +#include "qemu/osdep.h" +#include "cpu.h" +#include "internal.h" +#include "hw/ppc/spapr.h" + +void create_ppc_opcodes(PowerPCCPU *cpu, Error **errp) +{ +} + +void destroy_ppc_opcodes(PowerPCCPU *cpu) +{ +} + +target_ulong softmmu_resize_hpt_prepare(PowerPCCPU *cpu, + SpaprMachineState *spapr, + target_ulong shift) +{ + g_assert_not_reached(); +} + +target_ulong softmmu_resize_hpt_commit(PowerPCCPU *cpu, + SpaprMachineState *spapr, + target_ulong flags, + target_ulong shift) +{ + g_assert_not_reached(); +}
Created a file with stubs needed to compile disabling TCG. *_ppc_opcodes were created to make cpu_init.c have a few less ifdefs, since they are not needed. softmmu_resize_hpt_* have to be created because the compiler can't automatically know they aren't used, but they should never be reached. Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br> --- target/ppc/meson.build | 4 ++++ target/ppc/tcg-stub.c | 45 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 target/ppc/tcg-stub.c