History log of /openbmc/qemu/hw/ppc/ (Results 251 – 275 of 3181)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
d36b2f4e05-Mar-2024 BALATON Zoltan <balaton@eik.bme.hu>

hw/ppc/sam460ex: Support short options for adding drives

Having to use -drive if=none,... and -device ide-[cd,hd] is
inconvenient. Add support for shorter convenience options such as
-cdrom and -dri

hw/ppc/sam460ex: Support short options for adding drives

Having to use -drive if=none,... and -device ide-[cd,hd] is
inconvenient. Add support for shorter convenience options such as
-cdrom and -drive media=disk. Also adjust two nearby comments for code
style.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-ID: <20240305225721.E9A404E6005@zero.eik.bme.hu>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...


/openbmc/qemu/.gitlab-ci.d/base.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/opensbi.yml
/openbmc/qemu/blockdev.c
/openbmc/qemu/chardev/char-fe.c
/openbmc/qemu/configs/devices/mips-softmmu/common.mak
/openbmc/qemu/configs/devices/mips64el-softmmu/default.mak
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/acpi-bits.rst
/openbmc/qemu/docs/interop/firmware.json
/openbmc/qemu/hw/core/machine-smp.c
/openbmc/qemu/hw/cxl/cxl-cdat.c
/openbmc/qemu/hw/display/Kconfig
/openbmc/qemu/hw/hyperv/hv-balloon.c
/openbmc/qemu/hw/hyperv/hyperv.c
/openbmc/qemu/hw/hyperv/vmbus.c
/openbmc/qemu/hw/ide/ahci-internal.h
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/ide/ich.c
/openbmc/qemu/hw/intc/grlib_irqmp.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/mem/cxl_type3.c
/openbmc/qemu/hw/mips/Kconfig
/openbmc/qemu/hw/pci-bridge/cxl_upstream.c
/openbmc/qemu/hw/pci/pcie.c
/openbmc/qemu/hw/pci/shpc.c
/openbmc/qemu/hw/pci/trace-events
sam460ex.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/trace-events
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/include/hw/cxl/cxl_cdat.h
/openbmc/qemu/include/hw/hyperv/dynmem-proto.h
/openbmc/qemu/include/hw/hyperv/hyperv.h
/openbmc/qemu/include/qapi/qmp/qerror.h
/openbmc/qemu/meson.build
/openbmc/qemu/replay/replay.c
/openbmc/qemu/scripts/coverity-scan/run-coverity-scan
/openbmc/qemu/scripts/make-release
/openbmc/qemu/system/qdev-monitor.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/i386/kvm/hyperv-stub.c
/openbmc/qemu/target/i386/kvm/hyperv.c
/openbmc/qemu/target/i386/kvm/hyperv.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/tests/unit/test-smp-parse.c
/openbmc/qemu/util/oslib-posix.c
78abf93c04-Mar-2024 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

mac_newworld: change timebase frequency from 100MHz to 25MHz for mac99 machine

MacOS X uses multiple techniques for calibrating timers depending upon the detected
hardware. One of these calibration

mac_newworld: change timebase frequency from 100MHz to 25MHz for mac99 machine

MacOS X uses multiple techniques for calibrating timers depending upon the detected
hardware. One of these calibration routines compares the change in the timebase
against the KeyLargo timer and uses this to recalculate the clock frequency,
timebase frequency and bus frequency if the calibration exceeds certain limits.
This recalibration occurs despite the correct values being passed via the device
tree, and is likely due to buggy firmware on some hardware.

The timebase frequency of 100MHz was set way back in 2005 by commit fa296b0fb4
("PIC fix - changed back TB frequency to 100 MHz") and with this value on a
mac99,via=pmu machine the OSX 10.2 timer calibration incorrectly calculates the
bus frequency as 400MHz instead of 100MHz. The most noticeable side-effect is
the UI appears sluggish and not very responsive for normal use.

Change the timebase frequency from 100MHz to 25MHz which matches that of a real
G4 AGP machine (the closest match to QEMU's mac99 machine) and allows OSX 10.2
to correctly detect all of the clock frequency, timebase frequency and bus
frequency.

Tested on various MacOS images from OS 9.2 through to OSX 10.4, along with Linux
and NetBSD and I was unable to find any regressions from this change.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240304073548.2098806-1-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...


/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/plugin-gen.c
/openbmc/qemu/accel/tcg/plugin-helpers.h
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/accel/xen/xen-all.c
/openbmc/qemu/bsd-user/bsd-file.h
/openbmc/qemu/bsd-user/freebsd/os-proc.h
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/bsd-user/qemu.h
/openbmc/qemu/bsd-user/signal.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/contrib/plugins/cache.c
/openbmc/qemu/contrib/plugins/execlog.c
/openbmc/qemu/contrib/plugins/hotblocks.c
/openbmc/qemu/contrib/plugins/howvec.c
/openbmc/qemu/cpu-target.c
/openbmc/qemu/disas/disas.c
/openbmc/qemu/disas/hppa.c
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/conf.py
/openbmc/qemu/docs/devel/migration/features.rst
/openbmc/qemu/docs/devel/migration/main.rst
/openbmc/qemu/docs/devel/migration/mapped-ram.rst
/openbmc/qemu/docs/devel/multi-thread-tcg.rst
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/devel/qom.rst
/openbmc/qemu/docs/devel/reset.rst
/openbmc/qemu/docs/devel/tcg-plugins.rst
/openbmc/qemu/docs/devel/writing-monitor-commands.rst
/openbmc/qemu/docs/system/arm/b-l475e-iot01a.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/raspi.rst
/openbmc/qemu/docs/user/main.rst
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/gdbstub/internals.h
/openbmc/qemu/gdbstub/user-target.c
/openbmc/qemu/gdbstub/user.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hw/acpi/aml-build.c
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast10x0.c
/openbmc/qemu/hw/arm/aspeed_ast2400.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_soc_common.c
/openbmc/qemu/hw/arm/b-l475e-iot01a.c
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/bcm2838.c
/openbmc/qemu/hw/arm/bcm2838_peripherals.c
/openbmc/qemu/hw/arm/meson.build
/openbmc/qemu/hw/arm/raspi.c
/openbmc/qemu/hw/arm/raspi4b.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/stm32l4x5_soc.c
/openbmc/qemu/hw/arm/trace-events
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/xen_arm.c
/openbmc/qemu/hw/arm/xlnx-versal-virt.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/m25p80_sfdp.c
/openbmc/qemu/hw/block/m25p80_sfdp.h
/openbmc/qemu/hw/char/pl011.c
/openbmc/qemu/hw/char/xen_console.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/meson.build
/openbmc/qemu/hw/core/qdev-properties-system.c
/openbmc/qemu/hw/core/reset.c
/openbmc/qemu/hw/core/resetcontainer.c
/openbmc/qemu/hw/gpio/Kconfig
/openbmc/qemu/hw/gpio/bcm2838_gpio.c
/openbmc/qemu/hw/gpio/meson.build
/openbmc/qemu/hw/gpio/stm32l4x5_gpio.c
/openbmc/qemu/hw/gpio/trace-events
/openbmc/qemu/hw/i2c/Kconfig
/openbmc/qemu/hw/i2c/bcm2835_i2c.c
/openbmc/qemu/hw/i2c/meson.build
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/kvm/xen_evtchn.c
/openbmc/qemu/hw/i386/meson.build
/openbmc/qemu/hw/i386/microvm.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/sgx.c
/openbmc/qemu/hw/i386/vapic.c
/openbmc/qemu/hw/i386/x86-iommu.c
/openbmc/qemu/hw/i386/x86.c
/openbmc/qemu/hw/i386/xen/meson.build
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/ide/ahci_internal.h
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/ide/cmd646.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/ide-bus.c
/openbmc/qemu/hw/ide/ide-dev.c
/openbmc/qemu/hw/ide/ide-internal.h
/openbmc/qemu/hw/ide/ioport.c
/openbmc/qemu/hw/ide/isa.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/ide/microdrive.c
/openbmc/qemu/hw/ide/mmio.c
/openbmc/qemu/hw/ide/pci.c
/openbmc/qemu/hw/ide/piix.c
/openbmc/qemu/hw/ide/sii3112.c
/openbmc/qemu/hw/ide/via.c
/openbmc/qemu/hw/intc/Kconfig
/openbmc/qemu/hw/intc/apic.c
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/misc/Kconfig
/openbmc/qemu/hw/misc/bcm2835_property.c
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/stm32l4x5_rcc.c
/openbmc/qemu/hw/misc/stm32l4x5_syscfg.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/net/xen_nic.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/pci/msi.c
mac_newworld.c
/openbmc/qemu/hw/remote/remote-obj.c
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/riscv/virt-acpi-build.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/rtc/m48t59.c
/openbmc/qemu/hw/rtc/pl031.c
/openbmc/qemu/hw/rtc/sun4v-rtc.c
/openbmc/qemu/hw/ssi/xlnx-versal-ospi.c
/openbmc/qemu/hw/timer/pxa2xx_timer.c
/openbmc/qemu/hw/tpm/tpm_ppi.c
/openbmc/qemu/hw/usb/bus.c
/openbmc/qemu/hw/usb/meson.build
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/hw/xen/xen_pt.c
/openbmc/qemu/hw/xen/xen_pt.h
/openbmc/qemu/hw/xen/xen_pt_config_init.c
/openbmc/qemu/hw/xen/xen_pt_graphics.c
/openbmc/qemu/hw/xen/xen_pt_stub.c
/openbmc/qemu/include/disas/dis-asm.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/gdbstub.h
/openbmc/qemu/include/exec/memattrs.h
/openbmc/qemu/include/exec/ramblock.h
/openbmc/qemu/include/gdbstub/user.h
/openbmc/qemu/include/hw/acpi/acpi-defs.h
/openbmc/qemu/include/hw/acpi/aml-build.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/arm/bcm2835_peripherals.h
/openbmc/qemu/include/hw/arm/bcm2836.h
/openbmc/qemu/include/hw/arm/bcm2838.h
/openbmc/qemu/include/hw/arm/bcm2838_peripherals.h
/openbmc/qemu/include/hw/arm/raspberrypi-fw-defs.h
/openbmc/qemu/include/hw/arm/raspi_platform.h
/openbmc/qemu/include/hw/arm/stm32l4x5_soc.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/core/resetcontainer.h
/openbmc/qemu/include/hw/display/bcm2835_fb.h
/openbmc/qemu/include/hw/gpio/bcm2838_gpio.h
/openbmc/qemu/include/hw/gpio/stm32l4x5_gpio.h
/openbmc/qemu/include/hw/i2c/bcm2835_i2c.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/i386/x86.h
/openbmc/qemu/include/hw/ide/ide-dev.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/misc/macio/macio.h
/openbmc/qemu/include/hw/misc/stm32l4x5_rcc.h
/openbmc/qemu/include/hw/misc/stm32l4x5_rcc_internals.h
/openbmc/qemu/include/hw/misc/stm32l4x5_syscfg.h
/openbmc/qemu/include/hw/qdev-properties-system.h
/openbmc/qemu/include/hw/rtc/sun4v-rtc.h
/openbmc/qemu/include/hw/vfio/vfio-common.h
/openbmc/qemu/include/hw/virtio/virtio-net.h
/openbmc/qemu/include/hw/xen/xen-hvm-common.h
/openbmc/qemu/include/hw/xen/xen_igd.h
/openbmc/qemu/include/io/channel.h
/openbmc/qemu/include/migration/misc.h
/openbmc/qemu/include/migration/qemu-file-types.h
/openbmc/qemu/include/qapi/type-helpers.h
/openbmc/qemu/include/qapi/util.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/bitops.h
/openbmc/qemu/include/qemu/notify.h
/openbmc/qemu/include/qemu/plugin.h
/openbmc/qemu/include/qemu/qemu-plugin.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/include/standard-headers/drm/drm_fourcc.h
/openbmc/qemu/include/standard-headers/linux/ethtool.h
/openbmc/qemu/include/standard-headers/linux/virtio_config.h
/openbmc/qemu/include/standard-headers/linux/virtio_pci.h
/openbmc/qemu/include/standard-headers/linux/virtio_pmem.h
/openbmc/qemu/include/sysemu/reset.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/sysemu/xen-mapcache.h
/openbmc/qemu/include/sysemu/xen.h
/openbmc/qemu/include/user/safe-syscall.h
/openbmc/qemu/io/channel-file.c
/openbmc/qemu/io/channel.c
/openbmc/qemu/linux-headers/asm-generic/unistd.h
/openbmc/qemu/linux-headers/asm-mips/mman.h
/openbmc/qemu/linux-headers/asm-mips/unistd_n32.h
/openbmc/qemu/linux-headers/asm-mips/unistd_n64.h
/openbmc/qemu/linux-headers/asm-mips/unistd_o32.h
/openbmc/qemu/linux-headers/asm-powerpc/unistd_32.h
/openbmc/qemu/linux-headers/asm-powerpc/unistd_64.h
/openbmc/qemu/linux-headers/asm-riscv/kvm.h
/openbmc/qemu/linux-headers/asm-s390/unistd_32.h
/openbmc/qemu/linux-headers/asm-s390/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-headers/asm-x86/unistd_32.h
/openbmc/qemu/linux-headers/asm-x86/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/unistd_x32.h
/openbmc/qemu/linux-headers/linux/iommufd.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/userfaultfd.h
/openbmc/qemu/linux-headers/linux/vfio.h
/openbmc/qemu/linux-user/aarch64/cpu_loop.c
/openbmc/qemu/linux-user/arm/cpu_loop.c
/openbmc/qemu/linux-user/arm/signal.c
/openbmc/qemu/linux-user/cris/cpu_loop.c
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/hppa/signal.c
/openbmc/qemu/linux-user/linuxload.c
/openbmc/qemu/linux-user/loongarch64/target_syscall.h
/openbmc/qemu/linux-user/m68k/cpu_loop.c
/openbmc/qemu/linux-user/m68k/target_cpu.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/mips/cpu_loop.c
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/nios2/cpu_loop.c
/openbmc/qemu/linux-user/ppc/signal.c
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/linux-user/riscv/cpu_loop.c
/openbmc/qemu/linux-user/signal-common.h
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/linux-user/strace.c
/openbmc/qemu/linux-user/strace.list
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/user-internals.h
/openbmc/qemu/linux-user/vm86.c
/openbmc/qemu/linux-user/xtensa/signal.c
/openbmc/qemu/meson.build
/openbmc/qemu/migration/exec.c
/openbmc/qemu/migration/fd.c
/openbmc/qemu/migration/fd.h
/openbmc/qemu/migration/file.c
/openbmc/qemu/migration/file.h
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd-zlib.c
/openbmc/qemu/migration/multifd-zstd.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/multifd.h
/openbmc/qemu/migration/options.c
/openbmc/qemu/migration/options.h
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/postcopy-ram.h
/openbmc/qemu/migration/qemu-file.c
/openbmc/qemu/migration/qemu-file.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/socket.c
/openbmc/qemu/migration/socket.h
/openbmc/qemu/migration/trace-events
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/pc-bios/README
/openbmc/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-arm-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-i386-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-riscv-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-riscv-vars.fd.bz2
/openbmc/qemu/pc-bios/edk2-x86_64-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-x86_64-microvm.fd.bz2
/openbmc/qemu/pc-bios/edk2-x86_64-secure-code.fd.bz2
/openbmc/qemu/pc-bios/meson.build
/openbmc/qemu/plugins/api.c
/openbmc/qemu/plugins/core.c
/openbmc/qemu/plugins/plugin.h
/openbmc/qemu/plugins/qemu-plugins.symbols
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block-export.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/dump.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/qapi-type-helpers.c
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/tpm.json
/openbmc/qemu/qapi/transaction.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qapi/virtio.json
/openbmc/qemu/qapi/yank.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/roms/Makefile
/openbmc/qemu/roms/edk2
/openbmc/qemu/scripts/feature_to_c.py
/openbmc/qemu/scripts/qapi/parser.py
/openbmc/qemu/semihosting/arm-compat-semi.c
/openbmc/qemu/stubs/xen-hw-stub.c
/openbmc/qemu/system/bootdevice.c
/openbmc/qemu/system/globals.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/qdev-monitor.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/alpha/cpu-param.h
/openbmc/qemu/target/arm/cpu-features.h
/openbmc/qemu/target/arm/cpu-param.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/gdbstub.c
/openbmc/qemu/target/arm/gdbstub64.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/meson.build
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/tcg/cpu-v7m.c
/openbmc/qemu/target/arm/tcg/cpu32.c
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/hflags.c
/openbmc/qemu/target/arm/tcg/meson.build
/openbmc/qemu/target/arm/tcg/sme_helper.c
/openbmc/qemu/target/arm/tcg/translate.c
/openbmc/qemu/target/arm/trace-events
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/hexagon/cpu.c
/openbmc/qemu/target/hexagon/gdbstub.c
/openbmc/qemu/target/hexagon/internal.h
/openbmc/qemu/target/hppa/cpu.c
/openbmc/qemu/target/hppa/helper.c
/openbmc/qemu/target/hppa/mem_helper.c
/openbmc/qemu/target/hppa/op_helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/misc_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/svm_helper.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/disas.c
/openbmc/qemu/target/loongarch/gdbstub.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/microblaze/cpu.h
/openbmc/qemu/target/microblaze/gdbstub.c
/openbmc/qemu/target/ppc/cpu-param.h
/openbmc/qemu/target/ppc/cpu-qom.h
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/gdbstub.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_cfg.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/gdbstub.c
/openbmc/qemu/target/riscv/insn_trans/trans_rva.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzce.c.inc
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/pmu.h
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/rx/cpu.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/gdbstub.c
/openbmc/qemu/target/sparc/mmu_helper.c
/openbmc/qemu/tcg/aarch64/tcg-target.h
/openbmc/qemu/tcg/optimize.c
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/plugin/bb.c
/openbmc/qemu/tests/plugin/inline.c
/openbmc/qemu/tests/plugin/insn.c
/openbmc/qemu/tests/plugin/mem.c
/openbmc/qemu/tests/plugin/meson.build
/openbmc/qemu/tests/qapi-schema/doc-good.json
/openbmc/qemu/tests/qapi-schema/doc-good.out
/openbmc/qemu/tests/qapi-schema/doc-good.txt
/openbmc/qemu/tests/qapi-schema/doc-invalid-return.err
/openbmc/qemu/tests/qapi-schema/doc-invalid-return2.err
/openbmc/qemu/tests/qapi-schema/doc-invalid-return2.json
/openbmc/qemu/tests/qapi-schema/doc-invalid-return2.out
/openbmc/qemu/tests/qapi-schema/meson.build
/openbmc/qemu/tests/qtest/bcm2835-i2c-test.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqos/qgraph.h
/openbmc/qemu/tests/qtest/libqos/riscv-virt-machine.c
/openbmc/qemu/tests/qtest/libqos/virtio.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_exti-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_gpio-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_rcc-test.c
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/semicall.h
/openbmc/qemu/tests/tcg/aarch64/sme-smopa-1.c
/openbmc/qemu/tests/tcg/aarch64/sme-smopa-2.c
/openbmc/qemu/tests/tcg/alpha/Makefile.target
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/arm/semicall.h
/openbmc/qemu/tests/tcg/hppa/Makefile.target
/openbmc/qemu/tests/tcg/i386/Makefile.target
/openbmc/qemu/tests/tcg/i386/system/boot.S
/openbmc/qemu/tests/tcg/m68k/Makefile.target
/openbmc/qemu/tests/tcg/multiarch/Makefile.target
/openbmc/qemu/tests/tcg/multiarch/arm-compat-semi/semiconsole.c
/openbmc/qemu/tests/tcg/multiarch/arm-compat-semi/semihosting.c
/openbmc/qemu/tests/tcg/multiarch/float_convd.c
/openbmc/qemu/tests/tcg/multiarch/float_convs.c
/openbmc/qemu/tests/tcg/multiarch/float_helpers.h
/openbmc/qemu/tests/tcg/multiarch/float_madds.c
/openbmc/qemu/tests/tcg/multiarch/follow-fork-mode.c
/openbmc/qemu/tests/tcg/multiarch/gdbstub/follow-fork-mode-child.py
/openbmc/qemu/tests/tcg/multiarch/gdbstub/follow-fork-mode-parent.py
/openbmc/qemu/tests/tcg/multiarch/libs/float_helpers.c
/openbmc/qemu/tests/tcg/multiarch/linux/linux-madvise.c
/openbmc/qemu/tests/tcg/multiarch/linux/linux-shmat-maps.c
/openbmc/qemu/tests/tcg/riscv64/Makefile.target
/openbmc/qemu/tests/tcg/riscv64/semicall.h
/openbmc/qemu/tests/tcg/sh4/Makefile.target
/openbmc/qemu/tests/tcg/x86_64/system/boot.S
/openbmc/qemu/tests/unit/test-util-sockets.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/basevm.py
/openbmc/qemu/tests/vm/openbsd
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/spice-core.c
/openbmc/qemu/util/notify.c
15f07fb823-Feb-2024 Paolo Bonzini <pbonzini@redhat.com>

hw/usb: extract sysbus-ohci to a separate file

Split the sysbus version to a separate file so that it is not
included in PCI-only machines, and adjust Kconfig for machines
that do need sysbus-ohci.

hw/usb: extract sysbus-ohci to a separate file

Split the sysbus version to a separate file so that it is not
included in PCI-only machines, and adjust Kconfig for machines
that do need sysbus-ohci. The copyrights are based on the
time and employer of balrog and Paul Brook's contributions.

While adjusting the SM501 dependency, move it to the right place
instead of keeping it in the R4D machine.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240223124406.234509-10-pbonzini@redhat.com>
[PMD: Rename some functions using 'ohci_sysbus_' prefix]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

ae1011d423-Feb-2024 Paolo Bonzini <pbonzini@redhat.com>

hw/ppc/pseries: do not require CONFIG_USB

With --without-default-devices it is possible to build a binary that
does not include any USB host controller and therefore that does not
include the code g

hw/ppc/pseries: do not require CONFIG_USB

With --without-default-devices it is possible to build a binary that
does not include any USB host controller and therefore that does not
include the code guarded by CONFIG_USB. While the simpler creation
functions such as usb_create_simple can be inlined, this is not true
of usb_bus_find(). Remove it, replacing it with a search of the single
USB bus on the machine.

Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240223124406.234509-8-pbonzini@redhat.com>
[PMD: Fixed style]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

2dd2f2e023-Feb-2024 Paolo Bonzini <pbonzini@redhat.com>

hw/ppc/mac_newworld: do not require CONFIG_USB

With --without-default-devices it should not be required to have
devices in the binary that are removed by -nodefaults. It should be
therefore possibl

hw/ppc/mac_newworld: do not require CONFIG_USB

With --without-default-devices it should not be required to have
devices in the binary that are removed by -nodefaults. It should be
therefore possible to build a binary that does not include any USB
host controller or any of the code guarded by CONFIG_USB. While the
simpler creation functions such as usb_create_simple can be inlined,
this is not true of usb_bus_find(). Remove it, replacing it with a
search of the single USB bus on the machine.

With this change, it is possible to change "select USB_OHCI_PCI" into
an "imply" directive.

Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240223124406.234509-7-pbonzini@redhat.com>
[PMD: Fixed style]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

3ab78f3d23-Feb-2024 Paolo Bonzini <pbonzini@redhat.com>

hw/ppc/sam460ex: do not use usb_bus_find()

usb_bus_find() is always used with argument -1; it can be replaced with
a search of the single USB bus on the machine.

Suggested-by: Philippe Mathieu-Daud

hw/ppc/sam460ex: do not use usb_bus_find()

usb_bus_find() is always used with argument -1; it can be replaced with
a search of the single USB bus on the machine.

Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240223124406.234509-3-pbonzini@redhat.com>
[PMD: Fixed style]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...


/openbmc/qemu/.gitlab-ci.d/container-cross.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/docs/about/build-platforms.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/hw/arm/exynos4210.c
/openbmc/qemu/hw/arm/integratorcp.c
/openbmc/qemu/hw/arm/realview.c
/openbmc/qemu/hw/arm/versatilepb.c
/openbmc/qemu/hw/arm/vexpress.c
/openbmc/qemu/hw/core/sysbus.c
/openbmc/qemu/hw/display/exynos4210_fimd.c
/openbmc/qemu/hw/display/pl110.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/kvmvapic.c
/openbmc/qemu/hw/nubus/meson.build
/openbmc/qemu/hw/nubus/nubus-device.c
/openbmc/qemu/hw/nubus/nubus-virtio-mmio.c
sam460ex.c
/openbmc/qemu/include/hw/nubus/nubus-virtio-mmio.h
/openbmc/qemu/include/hw/nubus/nubus.h
/openbmc/qemu/include/hw/sysbus.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/meson.build
/openbmc/qemu/qapi/acpi.json
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/control.json
/openbmc/qemu/qapi/dump.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/pci.json
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/rdma.json
/openbmc/qemu/qapi/replay.json
/openbmc/qemu/qapi/rocker.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/tpm.json
/openbmc/qemu/qapi/trace.json
/openbmc/qemu/qapi/transaction.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qapi/virtio.json
/openbmc/qemu/qapi/yank.json
/openbmc/qemu/qom/object.c
/openbmc/qemu/scripts/qapi/parser.py
/openbmc/qemu/scripts/qapi/schema.py
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/op_helper.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/mmu_helper.c
/openbmc/qemu/target/ppc/timebase_helper.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qapi-schema/doc-bad-alternate-member.err
/openbmc/qemu/tests/qapi-schema/doc-bad-boxed-command-arg.err
/openbmc/qemu/tests/qapi-schema/doc-bad-command-arg.err
/openbmc/qemu/tests/qapi-schema/doc-bad-enum-member.err
/openbmc/qemu/tests/qapi-schema/doc-bad-event-arg.err
/openbmc/qemu/tests/qapi-schema/doc-bad-feature.err
/openbmc/qemu/tests/qapi-schema/doc-bad-union-member.err
/openbmc/qemu/tests/qapi-schema/doc-duplicate-features.err
/openbmc/qemu/tests/qapi-schema/doc-duplicate-features.json
/openbmc/qemu/tests/qapi-schema/doc-duplicate-features.out
/openbmc/qemu/tests/qapi-schema/doc-duplicated-arg.err
/openbmc/qemu/tests/qapi-schema/doc-duplicated-return.err
/openbmc/qemu/tests/qapi-schema/doc-duplicated-return.json
/openbmc/qemu/tests/qapi-schema/doc-duplicated-since.err
/openbmc/qemu/tests/qapi-schema/doc-duplicated-since.json
/openbmc/qemu/tests/qapi-schema/doc-empty-arg.err
/openbmc/qemu/tests/qapi-schema/doc-empty-features.err
/openbmc/qemu/tests/qapi-schema/doc-empty-features.json
/openbmc/qemu/tests/qapi-schema/doc-empty-features.out
/openbmc/qemu/tests/qapi-schema/doc-empty-section.err
/openbmc/qemu/tests/qapi-schema/doc-good.json
/openbmc/qemu/tests/qapi-schema/doc-good.txt
/openbmc/qemu/tests/qapi-schema/doc-invalid-return.err
/openbmc/qemu/tests/qapi-schema/doc-invalid-return.json
/openbmc/qemu/tests/qapi-schema/doc-non-first-section.err
/openbmc/qemu/tests/qapi-schema/doc-non-first-section.json
/openbmc/qemu/tests/qapi-schema/doc-non-first-section.out
/openbmc/qemu/tests/qapi-schema/meson.build
/openbmc/qemu/tests/qapi-schema/test-qapi.py
/openbmc/qemu/tests/qtest/boot-serial-test.c
/openbmc/qemu/tests/qtest/cdrom-test.c
/openbmc/qemu/tests/qtest/dbus-display-test.c
cde2ba3423-Nov-2023 Nicholas Piggin <npiggin@gmail.com>

ppc/pnv: Implement the ChipTOD to Core transfer

One of the functions of the ChipTOD is to transfer TOD to the Core
(aka PC - Pervasive Core) timebase facility.

The ChipTOD can be programmed with a

ppc/pnv: Implement the ChipTOD to Core transfer

One of the functions of the ChipTOD is to transfer TOD to the Core
(aka PC - Pervasive Core) timebase facility.

The ChipTOD can be programmed with a target address to send the TOD
value to. The hardware implementation seems to perform this by
sending the TOD value to a SCOM address.

This implementation grabs the core directly and manipulates the
timebase facility state in the core. This is a hack, but it works
enough for now. A better implementation would implement the transfer
to the PnvCore xscom register and drive the timebase state machine
from there.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

de3ba0cc27-Nov-2023 Nicholas Piggin <npiggin@gmail.com>

ppc/pnv: Wire ChipTOD model to powernv9 and powernv10 machines

Wire the ChipTOD model to powernv9 and powernv10 machines.

Suggested-by-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Cédric Le Goa

ppc/pnv: Wire ChipTOD model to powernv9 and powernv10 machines

Wire the ChipTOD model to powernv9 and powernv10 machines.

Suggested-by-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

9a69950f11-Aug-2022 Nicholas Piggin <npiggin@gmail.com>

ppc/pnv: Add POWER9/10 chiptod model

The ChipTOD (for Time-Of-Day) is a chip pervasive facility in IBM POWER
(powernv) processors that keeps a time of day clock.

In particular for this model are fa

ppc/pnv: Add POWER9/10 chiptod model

The ChipTOD (for Time-Of-Day) is a chip pervasive facility in IBM POWER
(powernv) processors that keeps a time of day clock.

In particular for this model are facilities that initialise and start
the time of day clock, and that synchronise that clock to cores on the
chip, and to other chips. In this way, all cores on all chips can
synchronise timebase (TB).

This model implements functionality sufficient to run the skiboot
chiptod synchronisation procedure (with the following core timebase
state machine implementation). It does not modify the TB in the cores
where the real hardware would, because the QEMU ppc timebase
implementation is always synchronised acros all cores.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

c295d3b023-Jan-2024 Chalapathi V <chalapathi.v@linux.ibm.com>

hw/ppc: N1 chiplet wiring

This part of the patchset connects the nest1 chiplet model to p10 chip.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Chalapathi V <chalapathi.v@linux.ibm.co

hw/ppc: N1 chiplet wiring

This part of the patchset connects the nest1 chiplet model to p10 chip.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Chalapathi V <chalapathi.v@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

5706b00623-Jan-2024 Chalapathi V <chalapathi.v@linux.ibm.com>

hw/ppc: Add N1 chiplet model

The N1 chiplet handle the high speed i/o traffic over PCIe and others.
The N1 chiplet consists of PowerBus Fabric controller,
nest Memory Management Unit, chiplet contro

hw/ppc: Add N1 chiplet model

The N1 chiplet handle the high speed i/o traffic over PCIe and others.
The N1 chiplet consists of PowerBus Fabric controller,
nest Memory Management Unit, chiplet control unit and more.

This commit creates a N1 chiplet model and initialize and realize the
pervasive chiplet model where chiplet control registers are implemented.

This commit also implement the read/write method for the powerbus scom
registers

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Chalapathi V <chalapathi.v@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

1adf247023-Jan-2024 Chalapathi V <chalapathi.v@linux.ibm.com>

hw/ppc: Add pnv nest pervasive common chiplet model

A POWER10 chip is divided into logical units called chiplets. Chiplets
are broadly divided into "core chiplets" (with the processor cores) and
"ne

hw/ppc: Add pnv nest pervasive common chiplet model

A POWER10 chip is divided into logical units called chiplets. Chiplets
are broadly divided into "core chiplets" (with the processor cores) and
"nest chiplets" (with everything else). Each chiplet has an attachment
to the pervasive bus (PIB) and with chiplet-specific registers. All nest
chiplets have a common basic set of registers and This model will provide
the registers functionality for common registers of nest chiplet (Pervasive
Chiplet, PB Chiplet, PCI Chiplets, MC Chiplet, PAU Chiplets)

This commit implement the read/write functions of chiplet control registers.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Chalapathi V <chalapathi.v@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

4d2cd2d805-Feb-2024 Glenn Miles <milesg@linux.vnet.ibm.com>

ppc/pnv: Test pnv i2c master and connected devices

Tests the following for both P9 and P10:
- I2C master POR status
- I2C master status after immediate reset

Tests the following for powernv10-r

ppc/pnv: Test pnv i2c master and connected devices

Tests the following for both P9 and P10:
- I2C master POR status
- I2C master status after immediate reset

Tests the following for powernv10-ranier only:
- Config pca9552 hotplug device pins as inputs then
Read the INPUT0/1 registers to verify all pins are high
- Connected GPIO pin tests of P10 PCA9552 device. Tests
output of pins 0-4 affect input of pins 5-9 respectively.
- PCA9554 GPIO pins test. Tests input and ouput functionality.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Glenn Miles <milesg@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

6aa4ef3205-Feb-2024 Glenn Miles <milesg@linux.vnet.ibm.com>

ppc/pnv: Add a pca9554 I2C device to powernv10-rainier

For powernv10-rainier, the Power Hypervisor code expects to see a
pca9554 device connected to the 3rd PNV I2C engine on port 1 at I2C
address 0

ppc/pnv: Add a pca9554 I2C device to powernv10-rainier

For powernv10-rainier, the Power Hypervisor code expects to see a
pca9554 device connected to the 3rd PNV I2C engine on port 1 at I2C
address 0x25 (or left-justified address of 0x4A). This is used by
the hypervisor code to detect if a "Cable Card" is present.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Glenn Miles <milesg@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

7b85f00805-Feb-2024 Glenn Miles <milesg@linux.vnet.ibm.com>

ppc/pnv: Use resettable interface to reset child I2C buses

The QEMU I2C buses and devices use the resettable
interface for resetting while the PNV I2C controller
and parent buses and devices have no

ppc/pnv: Use resettable interface to reset child I2C buses

The QEMU I2C buses and devices use the resettable
interface for resetting while the PNV I2C controller
and parent buses and devices have not yet transitioned
to this new interface and use the old reset strategy.
This was preventing the I2C buses and devices wired
to the PNV I2C controller from being reset.

The short term fix for this is to have the PNV I2C
Controller's reset function explicitly call the resettable
interface function, bus_cold_reset(), on all child
I2C buses.

The long term fix should be to transition all PNV parent
devices and buses to use the resettable interface so that
all child buses and devices are automatically reset.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Glenn Miles <milesg@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

6f86885a05-Feb-2024 Glenn Miles <milesg@linux.vnet.ibm.com>

ppc/pnv: Wire up pca9552 GPIO pins for PCIe hotplug power control

For power10-rainier, a pca9552 device is used for PCIe slot hotplug
power control by the Power Hypervisor code. The code expects th

ppc/pnv: Wire up pca9552 GPIO pins for PCIe hotplug power control

For power10-rainier, a pca9552 device is used for PCIe slot hotplug
power control by the Power Hypervisor code. The code expects that
some time after it enables power to a PCIe slot by asserting one of
the pca9552 GPIO pins 0-4, it should see a "power good" signal asserted
on one of pca9552 GPIO pins 5-9.

To simulate this behavior, we simply connect the GPIO outputs for
pins 0-4 to the GPIO inputs for pins 5-9.

Each PCIe slot is assigned 3 GPIO pins on the pca9552 device, for
control of up to 5 PCIe slots. The per-slot signal names are:

SLOTx_EN.......PHYP uses this as an output to enable
slot power. We connect this to the
SLOTx_PG pin to simulate a PGOOD signal.
SLOTx_PG.......PHYP uses this as in input to detect
PGOOD for the slot. For our purposes
we just connect this to the SLOTx_EN
output.
SLOTx_Control..PHYP uses this as an output to prevent
a race condition in the real hotplug
circuitry, but we can ignore this output
for simulation.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Glenn Miles <milesg@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

33467ecb05-Feb-2024 Glenn Miles <milesg@linux.vnet.ibm.com>

ppc/pnv: Add pca9552 to powernv10-rainier for PCIe hotplug power control

The Power Hypervisor code expects to see a pca9552 device connected
to the 3rd PNV I2C engine on port 1 at I2C address 0x63 (

ppc/pnv: Add pca9552 to powernv10-rainier for PCIe hotplug power control

The Power Hypervisor code expects to see a pca9552 device connected
to the 3rd PNV I2C engine on port 1 at I2C address 0x63 (or left-
justified address of 0xC6). This is used by hypervisor code to
control PCIe slot power during hotplug events.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Glenn Miles <milesg@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

ab87466805-Feb-2024 Glenn Miles <milesg@linux.vnet.ibm.com>

ppc/pnv: New powernv10-rainier machine type

Create a new powernv machine type, powernv10-rainier, that
will contain rainier-specific devices.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off

ppc/pnv: New powernv10-rainier machine type

Create a new powernv machine type, powernv10-rainier, that
will contain rainier-specific devices.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Glenn Miles <milesg@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

21465ade11-Sep-2023 Nicholas Piggin <npiggin@gmail.com>

ppc/pnv: Change powernv default to powernv10

POWER10 is the latest IBM Power machine. Although it is not offered in
"OPAL mode" (i.e., powernv configuration), so there is a case that it
should remai

ppc/pnv: Change powernv default to powernv10

POWER10 is the latest IBM Power machine. Although it is not offered in
"OPAL mode" (i.e., powernv configuration), so there is a case that it
should remain at powernv9, most of the development work is going into
powernv10 at the moment.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

1392617d23-Jan-2024 Cédric Le Goater <clg@kaod.org>

spapr: Tag pseries-2.1 - 2.11 machines as deprecated

pseries machines before version 2.11 have undergone many changes to
correct issues, mostly regarding migration compatibility. This is
obfuscating

spapr: Tag pseries-2.1 - 2.11 machines as deprecated

pseries machines before version 2.11 have undergone many changes to
correct issues, mostly regarding migration compatibility. This is
obfuscating the code uselessly and makes maintenance more difficult.
Remove them and only keep the last version of the 2.x series, 2.12,
still in use by old distros.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

5111301312-Sep-2023 Nicholas Piggin <npiggin@gmail.com>

ppc/spapr: change pseries machine default to POWER10 CPU

POWER10 is the latest pseries CPU.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

c4f91d7b23-Jan-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS.

Initialize the machine specific max_cpus limit as per the maximum range
of CPU IPIs available. Keeping between 4096 to 8192 will throw IRQ

ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS.

Initialize the machine specific max_cpus limit as per the maximum range
of CPU IPIs available. Keeping between 4096 to 8192 will throw IRQ not
free error due to XIVE/XICS limitation and keeping beyond 8192 will hit
assert in tcg_region_init or spapr_xive_claim_irq.

Logs:

Without patch fix:

[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=4097
qemu-system-ppc64: IRQ 4096 is not free
[root@host build]#

On LPAR:
[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=8193
**
ERROR:../tcg/region.c:774:tcg_region_init: assertion failed:
(region_size >= 2 * page_size)
Bail out! ERROR:../tcg/region.c:774:tcg_region_init: assertion failed:
(region_size >= 2 * page_size)
Aborted (core dumped)
[root@host build]#

On x86:
[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=8193
qemu-system-ppc64: ../hw/intc/spapr_xive.c:596: spapr_xive_claim_irq:
Assertion `lisn < xive->nr_irqs' failed.
Aborted (core dumped)
[root@host build]#

With patch fix:
[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=4097
qemu-system-ppc64: Invalid SMP CPUs 4097. The max CPUs supported by
machine 'pseries-8.2' is 4096
[root@host build]#


Reported-by: Kowshik Jois <kowsjois@linux.ibm.com>
Tested-by: Kowshik Jois <kowsjois@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

2df5c1f523-Jan-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

ppc/spapr: Introduce SPAPR_IRQ_NR_IPIS to refer IRQ range for CPU IPIs.

spapr_irq_init currently uses existing macro SPAPR_XIRQ_BASE to refer to
the range of CPU IPIs during initialization of nr-irq

ppc/spapr: Introduce SPAPR_IRQ_NR_IPIS to refer IRQ range for CPU IPIs.

spapr_irq_init currently uses existing macro SPAPR_XIRQ_BASE to refer to
the range of CPU IPIs during initialization of nr-irqs property.
It is more appropriate to have its own define which can be further
reused as appropriate for correct interpretation.

Suggested-by: Cedric Le Goater <clg@kaod.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Kowshik Jois <kowsjois@linux.ibm.com>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

6c56899818-Jan-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/ppc/spapr: Rename 'softmmu' -> 'vhyp_mmu'

To reduce the use of the term 'softmmu', rename spapr_softmmu.c
to spapr_vhyp_mmu.c.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Phi

hw/ppc/spapr: Rename 'softmmu' -> 'vhyp_mmu'

To reduce the use of the term 'softmmu', rename spapr_softmmu.c
to spapr_vhyp_mmu.c.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[np: change name]
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

a3d0cf8218-Jan-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/ppc/spapr_hcall: Rename {softmmu -> vhyp_mmu}_resize_hpt_pr

Since 'softmmu' is quite a loaded term in QEMU, rename the vhyp MMU
facilities to use the vhyp_mmu_ prefix rather than softmmu_.

vhyp_

hw/ppc/spapr_hcall: Rename {softmmu -> vhyp_mmu}_resize_hpt_pr

Since 'softmmu' is quite a loaded term in QEMU, rename the vhyp MMU
facilities to use the vhyp_mmu_ prefix rather than softmmu_.

vhyp_mmu_ is chosen because the code that manipulates the hash table
via guest software hypercalls is QEMU's implementation of the PAPR
hypervisor interface, called vhyp.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[npiggin: Pick a different name, explain it in changelog.]
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

1...<<11121314151617181920>>...128