From 44ee69ea16bd0390082ed88d4e82d6cea3a18b46 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Fri, 11 Nov 2022 19:17:33 +0100 Subject: [PATCH 1/5] s390x: Fix spelling errors Fix typos (discovered with the 'codespell' utility). Note: Though "migrateable" still seems to be a valid spelling, we change it to "migratable" since this is the way more common spelling here. Message-Id: <20221111182828.282251-1-thuth@redhat.com> Reviewed-by: Stefan Weil Reviewed-by: Ilya Leoshkevich Signed-off-by: Thomas Huth --- hw/s390x/ipl.h | 2 +- hw/s390x/s390-pci-vfio.c | 2 +- hw/s390x/s390-virtio-ccw.c | 6 +++--- pc-bios/s390-ccw/cio.h | 2 +- pc-bios/s390-ccw/iplb.h | 2 +- pc-bios/s390-ccw/start.S | 2 +- target/s390x/cpu_models.h | 4 ++-- target/s390x/ioinst.c | 2 +- target/s390x/tcg/excp_helper.c | 2 +- target/s390x/tcg/fpu_helper.c | 2 +- target/s390x/tcg/misc_helper.c | 2 +- target/s390x/tcg/translate.c | 4 ++-- target/s390x/tcg/translate_vx.c.inc | 6 +++--- 13 files changed, 19 insertions(+), 19 deletions(-) diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h index dfc6dfd89c..7fc86e7905 100644 --- a/hw/s390x/ipl.h +++ b/hw/s390x/ipl.h @@ -140,7 +140,7 @@ void s390_ipl_clear_reset_request(void); * have an offset of 4 + n * 8 bytes within the struct in order * to keep it double-word aligned. * The total size of the struct must never exceed 28 bytes. - * This definition must be kept in sync with the defininition + * This definition must be kept in sync with the definition * in pc-bios/s390-ccw/iplb.h. */ struct QemuIplParameters { diff --git a/hw/s390x/s390-pci-vfio.c b/hw/s390x/s390-pci-vfio.c index 2aefa508a0..5f0adb0b4a 100644 --- a/hw/s390x/s390-pci-vfio.c +++ b/hw/s390x/s390-pci-vfio.c @@ -313,7 +313,7 @@ retry: /* * Get the host function handle from the vfio CLP capabilities chain. Returns * true if a fh value was placed into the provided buffer. Returns false - * if a fh could not be obtained (ioctl failed or capabilitiy version does + * if a fh could not be obtained (ioctl failed or capability version does * not include the fh) */ bool s390_pci_get_host_fh(S390PCIBusDevice *pbdev, uint32_t *fh) diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 7d80bc1837..2e64ffab45 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -354,7 +354,7 @@ static int s390_machine_protect(S390CcwMachineState *ms) } error_setg(&pv_mig_blocker, - "protected VMs are currently not migrateable."); + "protected VMs are currently not migratable."); rc = migrate_add_blocker(pv_mig_blocker, &local_err); if (rc) { ram_block_discard_disable(false); @@ -449,7 +449,7 @@ static void s390_machine_reset(MachineState *machine, ShutdownCause reason) break; case S390_RESET_MODIFIED_CLEAR: /* - * Susbsystem reset needs to be done before we unshare memory + * Subsystem reset needs to be done before we unshare memory * and lose access to VIRTIO structures in guest memory. */ subsystem_reset(); @@ -462,7 +462,7 @@ static void s390_machine_reset(MachineState *machine, ShutdownCause reason) break; case S390_RESET_LOAD_NORMAL: /* - * Susbsystem reset needs to be done before we unshare memory + * Subsystem reset needs to be done before we unshare memory * and lose access to VIRTIO structures in guest memory. */ subsystem_reset(); diff --git a/pc-bios/s390-ccw/cio.h b/pc-bios/s390-ccw/cio.h index 1e5d4e92e1..88a88adfd2 100644 --- a/pc-bios/s390-ccw/cio.h +++ b/pc-bios/s390-ccw/cio.h @@ -20,7 +20,7 @@ struct pmcw { __u32 intparm; /* interruption parameter */ __u32 qf:1; /* qdio facility */ __u32 w:1; - __u32 isc:3; /* interruption sublass */ + __u32 isc:3; /* interruption subclass */ __u32 res5:3; /* reserved zeros */ __u32 ena:1; /* enabled */ __u32 lm:2; /* limit mode */ diff --git a/pc-bios/s390-ccw/iplb.h b/pc-bios/s390-ccw/iplb.h index 772d5c57c9..cb6ac8a880 100644 --- a/pc-bios/s390-ccw/iplb.h +++ b/pc-bios/s390-ccw/iplb.h @@ -81,7 +81,7 @@ extern IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE))); #define QIPL_FLAG_BM_OPTS_ZIPL 0x40 /* - * This definition must be kept in sync with the defininition + * This definition must be kept in sync with the definition * in hw/s390x/ipl.h */ struct QemuIplParameters { diff --git a/pc-bios/s390-ccw/start.S b/pc-bios/s390-ccw/start.S index 4d5ad21653..6072906df4 100644 --- a/pc-bios/s390-ccw/start.S +++ b/pc-bios/s390-ccw/start.S @@ -19,7 +19,7 @@ _start: larl %r2, __bss_start larl %r3, _end slgr %r3, %r2 /* get sizeof bss */ - ltgr %r3,%r3 /* bss emtpy? */ + ltgr %r3,%r3 /* bss empty? */ jz done aghi %r3,-1 srlg %r4,%r3,8 /* how many 256 byte chunks? */ diff --git a/target/s390x/cpu_models.h b/target/s390x/cpu_models.h index 74d1f87e4f..fb1adc8b21 100644 --- a/target/s390x/cpu_models.h +++ b/target/s390x/cpu_models.h @@ -24,13 +24,13 @@ struct S390CPUDef { uint8_t gen; /* hw generation identification */ uint16_t type; /* cpu type identification */ uint8_t ec_ga; /* EC GA version (on which also the BC is based) */ - uint8_t mha_pow; /* Maximum Host Adress Power, mha = 2^pow-1 */ + uint8_t mha_pow; /* maximum host address power, mha = 2^pow-1 */ uint32_t hmfai; /* hypervisor-managed facilities */ /* base/min features, must never be changed between QEMU versions */ S390FeatBitmap base_feat; /* used to init base_feat from generated data */ S390FeatInit base_init; - /* deafault features, QEMU version specific */ + /* default features, QEMU version specific */ S390FeatBitmap default_feat; /* used to init default_feat from generated data */ S390FeatInit default_init; diff --git a/target/s390x/ioinst.c b/target/s390x/ioinst.c index b12f18d346..053aaabb5a 100644 --- a/target/s390x/ioinst.c +++ b/target/s390x/ioinst.c @@ -285,7 +285,7 @@ void ioinst_handle_stsch(S390CPU *cpu, uint64_t reg1, uint32_t ipb, /* * As operand exceptions have a lower priority than access exceptions, * we check whether the memory area is writable (injecting the - * access execption if it is not) first. + * access exception if it is not) first. */ if (!s390_cpu_virt_mem_check_write(cpu, addr, ar, sizeof(schib))) { s390_program_interrupt(env, PGM_OPERAND, ra); diff --git a/target/s390x/tcg/excp_helper.c b/target/s390x/tcg/excp_helper.c index 2cd6d062b9..fe02d82201 100644 --- a/target/s390x/tcg/excp_helper.c +++ b/target/s390x/tcg/excp_helper.c @@ -553,7 +553,7 @@ try_deliver: /* don't trigger a cpu_loop_exit(), use an interrupt instead */ cpu_interrupt(CPU(cpu), CPU_INTERRUPT_HALT); } else if (cs->halted) { - /* unhalt if we had a WAIT PSW somehwere in our injection chain */ + /* unhalt if we had a WAIT PSW somewhere in our injection chain */ s390_cpu_unhalt(cpu); } } diff --git a/target/s390x/tcg/fpu_helper.c b/target/s390x/tcg/fpu_helper.c index 4067205405..be80b2373c 100644 --- a/target/s390x/tcg/fpu_helper.c +++ b/target/s390x/tcg/fpu_helper.c @@ -89,7 +89,7 @@ static void handle_exceptions(CPUS390XState *env, bool XxC, uintptr_t retaddr) /* * invalid/divbyzero cannot coexist with other conditions. * overflow/underflow however can coexist with inexact, we have to - * handle it separatly. + * handle it separately. */ if (s390_exc & ~S390_IEEE_MASK_INEXACT) { if (s390_exc & ~S390_IEEE_MASK_INEXACT & env->fpc >> 24) { diff --git a/target/s390x/tcg/misc_helper.c b/target/s390x/tcg/misc_helper.c index 10dadb002a..71388a7119 100644 --- a/target/s390x/tcg/misc_helper.c +++ b/target/s390x/tcg/misc_helper.c @@ -333,7 +333,7 @@ uint32_t HELPER(stsi)(CPUS390XState *env, uint64_t a0, uint64_t r0, uint64_t r1) /* same as machine type number in STORE CPU ID, but in EBCDIC */ snprintf(type, ARRAY_SIZE(type), "%X", cpu->model->def->type); ebcdic_put(sysib.sysib_111.type, type, 4); - /* model number (not stored in STORE CPU ID for z/Architecure) */ + /* model number (not stored in STORE CPU ID for z/Architecture) */ ebcdic_put(sysib.sysib_111.model, "QEMU ", 16); ebcdic_put(sysib.sysib_111.sequence, "QEMU ", 16); ebcdic_put(sysib.sysib_111.plant, "QEMU", 4); diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c index 2fbdab7252..1e599ac259 100644 --- a/target/s390x/tcg/translate.c +++ b/target/s390x/tcg/translate.c @@ -435,7 +435,7 @@ static void gen_program_exception(DisasContext *s, int code) { TCGv_i32 tmp; - /* Remember what pgm exeption this was. */ + /* Remember what pgm exception this was. */ tmp = tcg_const_i32(code); tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUS390XState, int_pgm_code)); tcg_temp_free_i32(tmp); @@ -491,7 +491,7 @@ static TCGv_i64 get_address(DisasContext *s, int x2, int b2, int d2) /* * Note that d2 is limited to 20 bits, signed. If we crop negative - * displacements early we create larger immedate addends. + * displacements early we create larger immediate addends. */ if (b2 && x2) { tcg_gen_add_i64(tmp, regs[b2], regs[x2]); diff --git a/target/s390x/tcg/translate_vx.c.inc b/target/s390x/tcg/translate_vx.c.inc index b69c1a111c..d39ee81cd6 100644 --- a/target/s390x/tcg/translate_vx.c.inc +++ b/target/s390x/tcg/translate_vx.c.inc @@ -960,7 +960,7 @@ static DisasJumpType op_vpk(DisasContext *s, DisasOps *o) } break; case 0x94: - /* If sources and destination dont't overlap -> fast path */ + /* If sources and destination don't overlap -> fast path */ if (v1 != v2 && v1 != v3) { const uint8_t src_es = get_field(s, m4); const uint8_t dst_es = src_es - 1; @@ -2075,7 +2075,7 @@ static DisasJumpType op_vmsl(DisasContext *s, DisasOps *o) l2 = tcg_temp_new_i64(); h2 = tcg_temp_new_i64(); - /* Multipy both even elements from v2 and v3 */ + /* Multiply both even elements from v2 and v3 */ read_vec_element_i64(l1, get_field(s, v2), 0, ES_64); read_vec_element_i64(h1, get_field(s, v3), 0, ES_64); tcg_gen_mulu2_i64(l1, h1, l1, h1); @@ -2084,7 +2084,7 @@ static DisasJumpType op_vmsl(DisasContext *s, DisasOps *o) tcg_gen_add2_i64(l1, h1, l1, h1, l1, h1); } - /* Multipy both odd elements from v2 and v3 */ + /* Multiply both odd elements from v2 and v3 */ read_vec_element_i64(l2, get_field(s, v2), 1, ES_64); read_vec_element_i64(h2, get_field(s, v3), 1, ES_64); tcg_gen_mulu2_i64(l2, h2, l2, h2); From be5df2edb5d69ff3107c5616aa035a9ba8d0422e Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Mon, 14 Nov 2022 14:25:02 +0100 Subject: [PATCH 2/5] docs/system/s390x: Document the "loadparm" machine property The "loadparm" machine property is useful for selecting alternative kernels on the disk of the guest, but so far we do not tell the users yet how to use it. Add some documentation to fill this gap. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2128235 Message-Id: <20221114132502.110213-1-thuth@redhat.com> Reviewed-by: Claudio Imbrenda Signed-off-by: Thomas Huth --- docs/system/s390x/bootdevices.rst | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/system/s390x/bootdevices.rst b/docs/system/s390x/bootdevices.rst index b5950133e8..1a7a18b43b 100644 --- a/docs/system/s390x/bootdevices.rst +++ b/docs/system/s390x/bootdevices.rst @@ -53,6 +53,32 @@ recommended to specify a CD-ROM device via ``-device scsi-cd`` (as mentioned above) instead. +Selecting kernels with the ``loadparm`` property +------------------------------------------------ + +The ``s390-ccw-virtio`` machine supports the so-called ``loadparm`` parameter +which can be used to select the kernel on the disk of the guest that the +s390-ccw bios should boot. When starting QEMU, it can be specified like this:: + + qemu-system-s390x -machine s390-ccw-virtio,loadparm= + +The first way to use this parameter is to use the word ``PROMPT`` as the +```` here. In that case the s390-ccw bios will show a list of +installed kernels on the disk of the guest and ask the user to enter a number +to chose which kernel should be booted -- similar to what can be achieved by +specifying the ``-boot menu=on`` option when starting QEMU. Note that the menu +list will only show the names of the installed kernels when using a DASD-like +disk image with 4k byte sectors. On normal SCSI-style disks with 512-byte +sectors, there is not enough space for the zipl loader on the disk to store +the kernel names, so you only get a list without names here. + +The second way to use this parameter is to use a number in the range from 0 +to 31. The numbers that can be used here correspond to the numbers that are +shown when using the ``PROMPT`` option, and the s390-ccw bios will then try +to automatically boot the kernel that is associated with the given number. +Note that ``0`` can be used to boot the default entry. + + Booting from a network device ----------------------------- From c70fe3b148c82f6dc2f13c2a98a430b81ba8a8b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Wed, 16 Nov 2022 12:50:23 -0500 Subject: [PATCH 3/5] ci: replace x86_64 macos-11 with aarch64 macos-12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Cirrus CI service has announced the intent to discontinue support for x86_64 macOS CI runners. They already have aarch64 runners available and require all projects to switch to these images before Jan 1st 2023. The different architecture is merely determined by the image name requested. For aarch64 they only support macOS 12 onwards. At the same time our support policy only guarantees the most recent 2 major versions, so macOS 12 is already technically our min version. https://cirrus-ci.org/blog/2022/11/08/sunsetting-intel-macos-instances/ Signed-off-by: Daniel P. Berrangé Message-Id: <20221116175023.80627-1-berrange@redhat.com> Tested-by: Thomas Huth Signed-off-by: Thomas Huth --- .gitlab-ci.d/cirrus.yml | 12 ++++++------ .gitlab-ci.d/cirrus/{macos-11.vars => macos-12.vars} | 12 ++++++------ tests/lcitool/libvirt-ci | 2 +- tests/lcitool/refresh | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) rename .gitlab-ci.d/cirrus/{macos-11.vars => macos-12.vars} (74%) diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml index d70da61248..634a73a742 100644 --- a/.gitlab-ci.d/cirrus.yml +++ b/.gitlab-ci.d/cirrus.yml @@ -70,19 +70,19 @@ x64-freebsd-13-build: INSTALL_COMMAND: pkg install -y TEST_TARGETS: check -x64-macos-11-base-build: +aarch64-macos-12-base-build: extends: .cirrus_build_job variables: - NAME: macos-11 - CIRRUS_VM_INSTANCE_TYPE: osx_instance + NAME: macos-12 + CIRRUS_VM_INSTANCE_TYPE: macos_instance CIRRUS_VM_IMAGE_SELECTOR: image - CIRRUS_VM_IMAGE_NAME: big-sur-base + CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-monterey-base:latest CIRRUS_VM_CPUS: 12 CIRRUS_VM_RAM: 24G UPDATE_COMMAND: brew update INSTALL_COMMAND: brew install - PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin - PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig + PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin + PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64 diff --git a/.gitlab-ci.d/cirrus/macos-11.vars b/.gitlab-ci.d/cirrus/macos-12.vars similarity index 74% rename from .gitlab-ci.d/cirrus/macos-11.vars rename to .gitlab-ci.d/cirrus/macos-12.vars index aee9f50de6..ef9e14b373 100644 --- a/.gitlab-ci.d/cirrus/macos-11.vars +++ b/.gitlab-ci.d/cirrus/macos-12.vars @@ -1,16 +1,16 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool variables macos-11 qemu +# $ lcitool variables macos-12 qemu # # https://gitlab.com/libvirt/libvirt-ci -CCACHE='/usr/local/bin/ccache' +CCACHE='/opt/homebrew/bin/ccache' CPAN_PKGS='' CROSS_PKGS='' -MAKE='/usr/local/bin/gmake' -NINJA='/usr/local/bin/ninja' +MAKE='/opt/homebrew/bin/gmake' +NINJA='/opt/homebrew/bin/ninja' PACKAGING_COMMAND='brew' -PIP3='/usr/local/bin/pip3' +PIP3='/opt/homebrew/bin/pip3' PKGS='bash bc bison bzip2 capstone ccache cmocka ctags curl dbus diffutils dtc flex gcovr gettext git glib gnu-sed gnutls gtk+3 jemalloc jpeg-turbo json-c libepoxy libffi libgcrypt libiscsi libnfs libpng libslirp libssh libtasn1 libusb llvm lzo make meson ncurses nettle ninja perl pixman pkg-config python3 rpm2cpio sdl2 sdl2_image snappy sparse spice-protocol tesseract texinfo usbredir vde vte3 zlib zstd' PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme' -PYTHON='/usr/local/bin/python3' +PYTHON='/opt/homebrew/bin/python3' diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci index d40e203631..e3eb28cf2e 160000 --- a/tests/lcitool/libvirt-ci +++ b/tests/lcitool/libvirt-ci @@ -1 +1 @@ -Subproject commit d40e203631eb3eacee17e8cf8fd20aa5152db62a +Subproject commit e3eb28cf2e17fbcf7fe7e19505ee432b8ec5bbb5 diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh index ce0b24c0b1..fa966e4009 100755 --- a/tests/lcitool/refresh +++ b/tests/lcitool/refresh @@ -176,7 +176,7 @@ try: # generate_cirrus("freebsd-12") generate_cirrus("freebsd-13") - generate_cirrus("macos-11") + generate_cirrus("macos-12") sys.exit(0) except Exception as ex: From 1b7a07c4414323d985e89c4e78a4c30cba0e7a85 Mon Sep 17 00:00:00 2001 From: Ani Sinha Date: Thu, 17 Nov 2022 11:06:44 +0530 Subject: [PATCH 4/5] acpi/tests/avocado/bits: some misc fixes Most of the changes are trivial. The bits test timeout has now been increased to 200 seconds in order to accommodate slower systems and fewer unnecessary failures. Removed of the reference to non-existent README file in docs. Some minor corrections in the doc file. Signed-off-by: Ani Sinha Message-Id: <20221117053644.516649-1-ani@anisinha.ca> Reviewed-by: Thomas Huth Signed-off-by: Thomas Huth --- docs/devel/acpi-bits.rst | 12 ++++-------- tests/avocado/acpi-bits.py | 3 +++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/devel/acpi-bits.rst b/docs/devel/acpi-bits.rst index 5e22be8ef6..4a94c7d83d 100644 --- a/docs/devel/acpi-bits.rst +++ b/docs/devel/acpi-bits.rst @@ -16,11 +16,8 @@ end user. The other is that we have more control of what we wanted to test and how by directly using acpica interpreter on top of the bios on a running system. More details on the inspiration for developing biosbits and its real life uses can be found in [#a]_ and [#b]_. -This directory contains tests written in python using avocado framework that -exercises the QEMU bios components using biosbits and reports test failures. For QEMU, we maintain a fork of bios bits in gitlab along with all the -dependent submodules: -https://gitlab.com/qemu-project/biosbits-bits +dependent submodules here: https://gitlab.com/qemu-project/biosbits-bits This fork contains numerous fixes, a newer acpica and changes specific to running this avocado QEMU tests using bits. The author of this document is the sole maintainer of the QEMU fork of bios bits repo. @@ -38,10 +35,9 @@ Under ``tests/avocado/`` as the root we have: │ ├── bits-config │ │ └── bits-cfg.txt │ ├── bits-tests - │ │ ├── smbios.py2 - │ │ ├── testacpi.py2 - │ │ └── testcpuid.py2 - │ └── README + │ ├── smbios.py2 + │ ├── testacpi.py2 + │ └── testcpuid.py2 ├── acpi-bits.py * ``tests/avocado``: diff --git a/tests/avocado/acpi-bits.py b/tests/avocado/acpi-bits.py index 8745a58a76..9ac87f01f1 100644 --- a/tests/avocado/acpi-bits.py +++ b/tests/avocado/acpi-bits.py @@ -134,6 +134,9 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes :avocado: tags=acpi """ + # in slower systems the test can take as long as 3 minutes to complete. + timeout = 200 + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._vm = None From 049b4ad66984aad278b3fc0a75b5a995c9b66a16 Mon Sep 17 00:00:00 2001 From: Vaibhav Jain Date: Wed, 16 Nov 2022 18:47:43 +0530 Subject: [PATCH 5/5] target/ppc: Fix build warnings when building with 'disable-tcg' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kowshik reported that building qemu with GCC 12.2.1 for 'ppc64-softmmu' target is failing due to following build warnings: ../target/ppc/cpu_init.c:7018:13: error: 'ppc_restore_state_to_opc' defined but not used [-Werror=unused-function] 7018 | static void ppc_restore_state_to_opc(CPUState *cs, Fix this by wrapping these function definitions in 'ifdef CONFIG_TCG' so that they are only defined if qemu is compiled with '--enable-tcg' Reported-by: Kowshik Jois B S Fixes: 61bd1d2942 ("target/ppc: Convert to tcg_ops restore_state_to_opc") Fixes: 670f1da374 ("target/ppc: Implement hashst and hashchk") Fixes: 53ae2aeb94 ("target/ppc: Implement hashstp and hashchkp") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1319 Signed-off-by: Vaibhav Jain Reviewed-by: Greg Kurz Reviewed-by: Philippe Mathieu-Daudé Tested-by: Kowshik Jois B S Message-Id: <20221116131743.658708-1-vaibhav@linux.ibm.com> Signed-off-by: Daniel Henrique Barboza --- target/ppc/cpu_init.c | 2 ++ target/ppc/excp_helper.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index 32e94153d1..cbf0081374 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -7015,6 +7015,7 @@ static vaddr ppc_cpu_get_pc(CPUState *cs) return cpu->env.nip; } +#ifdef CONFIG_TCG static void ppc_restore_state_to_opc(CPUState *cs, const TranslationBlock *tb, const uint64_t *data) @@ -7023,6 +7024,7 @@ static void ppc_restore_state_to_opc(CPUState *cs, cpu->env.nip = data[0]; } +#endif /* CONFIG_TCG */ static bool ppc_cpu_has_work(CPUState *cs) { diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index a05a2ed595..94adcb766b 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -2842,6 +2842,7 @@ void helper_td(CPUPPCState *env, target_ulong arg1, target_ulong arg2, #endif #endif +#ifdef CONFIG_TCG static uint32_t helper_SIMON_LIKE_32_64(uint32_t x, uint64_t key, uint32_t lane) { const uint16_t c = 0xfffc; @@ -2924,6 +2925,7 @@ HELPER_HASH(HASHST, env->spr[SPR_HASHKEYR], true) HELPER_HASH(HASHCHK, env->spr[SPR_HASHKEYR], false) HELPER_HASH(HASHSTP, env->spr[SPR_HASHPKEYR], true) HELPER_HASH(HASHCHKP, env->spr[SPR_HASHPKEYR], false) +#endif /* CONFIG_TCG */ #if !defined(CONFIG_USER_ONLY)