History log of /openbmc/qemu/hw/intc/ (Results 1276 – 1300 of 1840)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
3a575cd207-Nov-2017 Shanker Donthineni <shankerd@codeaurora.org>

hw/intc/arm_gicv3_its: Fix the VM termination in vm_change_state_handler()

The commit cddafd8f353d ("hw/intc/arm_gicv3_its: Implement state save
/restore") breaks the backward compatibility with the

hw/intc/arm_gicv3_its: Fix the VM termination in vm_change_state_handler()

The commit cddafd8f353d ("hw/intc/arm_gicv3_its: Implement state save
/restore") breaks the backward compatibility with the older kernels
where vITS save/restore support is not available. The vmstate function
vm_change_state_handler() should not be registered if the running kernel
doesn't support ITS save/restore feature. Otherwise VM instance will be
killed whenever vmstate callback function is invoked.

Observed a virtual machine shutdown with QEMU-2.10+linux-4.11 when testing
the reboot command "virsh reboot <domain> --mode acpi" instead of reboot.

KVM Error: 'KVM_SET_DEVICE_ATTR failed: Group 4 attr 0x00000000000001'

Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 1509712671-16299-1-git-send-email-shankerd@codeaurora.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/openbmc/qemu/.gitignore
/openbmc/qemu/.gitmodules
/openbmc/qemu/.mailmap
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/Makefile.objs
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/tcg-runtime.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/translator.c
/openbmc/qemu/block.c
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd-client.c
/openbmc/qemu/block/nbd-client.h
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/capstone
/openbmc/qemu/configure
/openbmc/qemu/cpus.c
/openbmc/qemu/disas.c
/openbmc/qemu/disas/arm.c
/openbmc/qemu/docs/qdev-device-use.txt
/openbmc/qemu/exec.c
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hmp.c
/openbmc/qemu/hmp.h
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/9pfs/9p.h
/openbmc/qemu/hw/alpha/dp264.c
/openbmc/qemu/hw/arm/fsl-imx25.c
/openbmc/qemu/hw/arm/fsl-imx31.c
/openbmc/qemu/hw/arm/fsl-imx6.c
/openbmc/qemu/hw/arm/msf2-soc.c
/openbmc/qemu/hw/arm/xlnx-zcu102.c
/openbmc/qemu/hw/block/xen_disk.c
/openbmc/qemu/hw/cris/axis_dev88.c
/openbmc/qemu/hw/dma/sparc32_dma.c
/openbmc/qemu/hw/dma/sun4m_iommu.c
/openbmc/qemu/hw/dma/trace-events
/openbmc/qemu/hw/i386/Makefile.objs
/openbmc/qemu/hw/i386/kvm/Makefile.objs
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/ide/Makefile.objs
/openbmc/qemu/hw/ide/ahci-allwinner.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/input/ps2.c
/openbmc/qemu/hw/input/trace-events
arm_gicv3_its_kvm.c
/openbmc/qemu/hw/lm32/lm32_boards.c
/openbmc/qemu/hw/lm32/milkymist.c
/openbmc/qemu/hw/m68k/an5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/mips/boston.c
/openbmc/qemu/hw/mips/cps.c
/openbmc/qemu/hw/mips/mips_fulong2e.c
/openbmc/qemu/hw/mips/mips_jazz.c
/openbmc/qemu/hw/mips/mips_malta.c
/openbmc/qemu/hw/mips/mips_mipssim.c
/openbmc/qemu/hw/mips/mips_r4k.c
/openbmc/qemu/hw/moxie/moxiesim.c
/openbmc/qemu/hw/net/lance.c
/openbmc/qemu/hw/openrisc/cputimer.c
/openbmc/qemu/hw/openrisc/openrisc_sim.c
/openbmc/qemu/hw/pci-host/gpex.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/scsi/esp.c
/openbmc/qemu/hw/sh4/r2d.c
/openbmc/qemu/hw/sh4/shix.c
/openbmc/qemu/hw/sparc/leon3.c
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/sparc64/niagara.c
/openbmc/qemu/hw/sparc64/sparc64.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/ssi/mss-spi.c
/openbmc/qemu/hw/tpm/tpm_tis.c
/openbmc/qemu/hw/tricore/tricore_testboard.c
/openbmc/qemu/hw/unicore32/puv3.c
/openbmc/qemu/hw/usb/dev-smartcard-reader.c
/openbmc/qemu/hw/xen/Makefile.objs
/openbmc/qemu/hw/xen/xen_backend.c
/openbmc/qemu/hw/xen/xen_pt_load_rom.c
/openbmc/qemu/hw/xtensa/sim.c
/openbmc/qemu/hw/xtensa/xtfpga.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/block/nbd.h
/openbmc/qemu/include/disas/bfd.h
/openbmc/qemu/include/disas/capstone.h
/openbmc/qemu/include/disas/disas.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/gen-icount.h
/openbmc/qemu/include/exec/helper-gen.h
/openbmc/qemu/include/exec/helper-head.h
/openbmc/qemu/include/exec/log.h
/openbmc/qemu/include/exec/ram_addr.h
/openbmc/qemu/include/exec/tb-context.h
/openbmc/qemu/include/exec/tb-hash-xx.h
/openbmc/qemu/include/exec/tb-hash.h
/openbmc/qemu/include/exec/tb-lookup.h
/openbmc/qemu/include/hw/mips/cps.h
/openbmc/qemu/include/hw/net/lance.h
/openbmc/qemu/include/hw/s390x/s390-virtio-ccw.h
/openbmc/qemu/include/hw/scsi/esp.h
/openbmc/qemu/include/hw/sparc/sparc32_dma.h
/openbmc/qemu/include/hw/sparc/sparc64.h
/openbmc/qemu/include/hw/sparc/sun4m.h
/openbmc/qemu/include/hw/xen/xen_backend.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qom/cpu.h
/openbmc/qemu/include/sysemu/tpm.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/page_cache.c
/openbmc/qemu/migration/page_cache.h
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/postcopy-ram.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/tls.c
/openbmc/qemu/monitor.c
/openbmc/qemu/nbd/client.c
/openbmc/qemu/nbd/common.c
/openbmc/qemu/nbd/nbd-internal.h
/openbmc/qemu/nbd/server.c
/openbmc/qemu/nbd/trace-events
/openbmc/qemu/numa.c
/openbmc/qemu/pc-bios/s390-ccw.img
/openbmc/qemu/pc-bios/s390-ccw/sclp.c
/openbmc/qemu/pc-bios/s390-netboot.img
/openbmc/qemu/qapi-schema.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qdev-monitor.c
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-img.texi
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/qga/vss-win32/install.cpp
/openbmc/qemu/qga/vss-win32/requester.cpp
/openbmc/qemu/qom/cpu.c
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/scripts/git-submodule.sh
/openbmc/qemu/stubs/Makefile.objs
/openbmc/qemu/stubs/tpm.c
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/alpha/cpu.h
/openbmc/qemu/target/alpha/translate.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/helper-a64.c
/openbmc/qemu/target/arm/helper-a64.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/arm/psci.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/cris/cpu.c
/openbmc/qemu/target/cris/cpu.h
/openbmc/qemu/target/cris/translate.c
/openbmc/qemu/target/cris/translate_v10.c
/openbmc/qemu/target/hppa/cpu.c
/openbmc/qemu/target/hppa/helper.h
/openbmc/qemu/target/hppa/op_helper.c
/openbmc/qemu/target/hppa/translate.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/translate.c
/openbmc/qemu/target/lm32/cpu.c
/openbmc/qemu/target/lm32/cpu.h
/openbmc/qemu/target/lm32/translate.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/helper.h
/openbmc/qemu/target/m68k/op_helper.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/microblaze/translate.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/translate.c
/openbmc/qemu/target/mips/translate_init.c
/openbmc/qemu/target/moxie/cpu.c
/openbmc/qemu/target/moxie/cpu.h
/openbmc/qemu/target/moxie/translate.c
/openbmc/qemu/target/nios2/cpu.c
/openbmc/qemu/target/nios2/translate.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/openrisc/cpu.h
/openbmc/qemu/target/openrisc/machine.c
/openbmc/qemu/target/openrisc/sys_helper.c
/openbmc/qemu/target/openrisc/translate.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/target/s390x/cpu-qom.h
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/helper.h
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/machine.c
/openbmc/qemu/target/s390x/mem_helper.c
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/target/sh4/cpu-qom.h
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/cpu.h
/openbmc/qemu/target/sh4/translate.c
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/sparc/cpu.h
/openbmc/qemu/target/sparc/translate.c
/openbmc/qemu/target/tilegx/cpu.c
/openbmc/qemu/target/tilegx/translate.c
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/tricore/cpu.h
/openbmc/qemu/target/tricore/translate.c
/openbmc/qemu/target/unicore32/cpu.c
/openbmc/qemu/target/unicore32/cpu.h
/openbmc/qemu/target/unicore32/translate.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/target/xtensa/cpu.h
/openbmc/qemu/target/xtensa/helper.c
/openbmc/qemu/target/xtensa/translate.c
/openbmc/qemu/tcg/optimize.c
/openbmc/qemu/tcg/s390/tcg-target.inc.c
/openbmc/qemu/tcg/tcg-op.c
/openbmc/qemu/tcg/tcg-op.h
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tcg/tcg.h
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/debian8-mxe.docker
/openbmc/qemu/tests/migration-test.c
/openbmc/qemu/tests/qemu-iotests/067
/openbmc/qemu/tests/qemu-iotests/074.out
/openbmc/qemu/tests/qemu-iotests/083.out
/openbmc/qemu/tests/qemu-iotests/087
/openbmc/qemu/tests/qemu-iotests/125
/openbmc/qemu/tests/qemu-iotests/125.out
/openbmc/qemu/tests/qemu-iotests/127
/openbmc/qemu/tests/qemu-iotests/127.out
/openbmc/qemu/tests/qemu-iotests/177
/openbmc/qemu/tests/qemu-iotests/177.out
/openbmc/qemu/tests/qemu-iotests/184
/openbmc/qemu/tests/qemu-iotests/184.out
/openbmc/qemu/tests/qemu-iotests/191
/openbmc/qemu/tests/qemu-iotests/191.out
/openbmc/qemu/tests/qemu-iotests/common.filter
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/qht-bench.c
/openbmc/qemu/tpm.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/input-legacy.c
/openbmc/qemu/ui/input.c
/openbmc/qemu/ui/keycodemapdb
/openbmc/qemu/util/aio-posix.c
/openbmc/qemu/util/osdep.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/vl.c
0ca9fa2e17-Jun-2017 Stafford Horne <shorne@gmail.com>

openrisc/ompic: Add OpenRISC Multicore PIC (OMPIC)

Add OpenRISC Multicore PIC which handles inter processor interrupts
(IPI) between cores. In OpenRISC all device interrupts are routed to
each core

openrisc/ompic: Add OpenRISC Multicore PIC (OMPIC)

Add OpenRISC Multicore PIC which handles inter processor interrupts
(IPI) between cores. In OpenRISC all device interrupts are routed to
each core enabling this device to be simple.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Stafford Horne <shorne@gmail.com>

show more ...


/openbmc/qemu/.gitignore
/openbmc/qemu/.gitmodules
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/Makefile.target
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/softmmu_template.h
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/backends/tpm.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/nbd-client.c
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/throttle.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/configure
/openbmc/qemu/contrib/libvhost-user/libvhost-user.c
/openbmc/qemu/contrib/libvhost-user/libvhost-user.h
/openbmc/qemu/default-configs/i386-softmmu.mak
/openbmc/qemu/default-configs/or1k-softmmu.mak
/openbmc/qemu/default-configs/pci.mak
/openbmc/qemu/default-configs/ppc-linux-user.mak
/openbmc/qemu/default-configs/ppc-softmmu.mak
/openbmc/qemu/default-configs/ppc64-linux-user.mak
/openbmc/qemu/default-configs/ppc64-softmmu.mak
/openbmc/qemu/default-configs/ppc64abi32-linux-user.mak
/openbmc/qemu/default-configs/ppc64le-linux-user.mak
/openbmc/qemu/default-configs/ppcemb-softmmu.mak
/openbmc/qemu/default-configs/x86_64-softmmu.mak
/openbmc/qemu/disas.c
/openbmc/qemu/docs/devel/loads-stores.rst
/openbmc/qemu/docs/specs/tpm.txt
/openbmc/qemu/docs/specs/vmcoreinfo.txt
/openbmc/qemu/dump.c
/openbmc/qemu/exec.c
/openbmc/qemu/hmp.c
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/acpi/piix4.c
/openbmc/qemu/hw/acpi/tco.c
/openbmc/qemu/hw/acpi/trace-events
/openbmc/qemu/hw/acpi/vmgenid.c
/openbmc/qemu/hw/audio/ac97.c
/openbmc/qemu/hw/audio/es1370.c
/openbmc/qemu/hw/audio/intel-hda.c
/openbmc/qemu/hw/block/nvme.c
/openbmc/qemu/hw/char/serial-pci.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/core/qdev.c
/openbmc/qemu/hw/display/cirrus_vga.c
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/display/vga-pci.c
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/vmware_vga.c
/openbmc/qemu/hw/i2c/smbus_ich9.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/kvm/pci-assign.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/xen/xen_platform.c
/openbmc/qemu/hw/i386/xen/xen_pvdevice.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/ich.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/ide/pci.c
/openbmc/qemu/hw/ide/qdev.c
Makefile.objs
ompic.c
/openbmc/qemu/hw/ipack/tpci200.c
/openbmc/qemu/hw/isa/i82378.c
/openbmc/qemu/hw/isa/lpc_ich9.c
/openbmc/qemu/hw/isa/piix4.c
/openbmc/qemu/hw/isa/vt82c686.c
/openbmc/qemu/hw/m68k/an5206.c
/openbmc/qemu/hw/m68k/mcf5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/mips/gt64xxx_pci.c
/openbmc/qemu/hw/misc/Makefile.objs
/openbmc/qemu/hw/misc/edu.c
/openbmc/qemu/hw/misc/ivshmem.c
/openbmc/qemu/hw/misc/macio/macio.c
/openbmc/qemu/hw/misc/pci-testdev.c
/openbmc/qemu/hw/misc/vmcoreinfo.c
/openbmc/qemu/hw/net/e1000.c
/openbmc/qemu/hw/net/e1000e.c
/openbmc/qemu/hw/net/eepro100.c
/openbmc/qemu/hw/net/ne2000.c
/openbmc/qemu/hw/net/pcnet-pci.c
/openbmc/qemu/hw/net/rocker/rocker.c
/openbmc/qemu/hw/net/rtl8139.c
/openbmc/qemu/hw/net/sungem.c
/openbmc/qemu/hw/net/sunhme.c
/openbmc/qemu/hw/net/vmxnet3.c
/openbmc/qemu/hw/nvram/fw_cfg.c
/openbmc/qemu/hw/pci-bridge/dec.c
/openbmc/qemu/hw/pci-bridge/gen_pcie_root_port.c
/openbmc/qemu/hw/pci-bridge/i82801b11.c
/openbmc/qemu/hw/pci-bridge/ioh3420.c
/openbmc/qemu/hw/pci-bridge/pci_bridge_dev.c
/openbmc/qemu/hw/pci-bridge/pci_expander_bridge.c
/openbmc/qemu/hw/pci-bridge/pcie_pci_bridge.c
/openbmc/qemu/hw/pci-bridge/pcie_root_port.c
/openbmc/qemu/hw/pci-bridge/xio3130_downstream.c
/openbmc/qemu/hw/pci-bridge/xio3130_upstream.c
/openbmc/qemu/hw/pci-host/apb.c
/openbmc/qemu/hw/pci-host/bonito.c
/openbmc/qemu/hw/pci-host/gpex.c
/openbmc/qemu/hw/pci-host/grackle.c
/openbmc/qemu/hw/pci-host/piix.c
/openbmc/qemu/hw/pci-host/ppce500.c
/openbmc/qemu/hw/pci-host/prep.c
/openbmc/qemu/hw/pci-host/q35.c
/openbmc/qemu/hw/pci-host/uninorth.c
/openbmc/qemu/hw/pci-host/versatile.c
/openbmc/qemu/hw/pci-host/xilinx-pcie.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pci_bridge.c
/openbmc/qemu/hw/pci/pcie_host.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/e500plat.c
/openbmc/qemu/hw/ppc/mac_newworld.c
/openbmc/qemu/hw/ppc/mac_oldworld.c
/openbmc/qemu/hw/ppc/mpc8544ds.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_core.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/ppc/ppc405_uc.c
/openbmc/qemu/hw/ppc/ppc440_bamboo.c
/openbmc/qemu/hw/ppc/ppc4xx_devs.c
/openbmc/qemu/hw/ppc/ppc4xx_pci.c
/openbmc/qemu/hw/ppc/prep.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/virtex_ml507.c
/openbmc/qemu/hw/s390x/css.c
/openbmc/qemu/hw/s390x/event-facility.c
/openbmc/qemu/hw/s390x/s390-ccw.c
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/s390x/virtio-ccw.h
/openbmc/qemu/hw/scsi/esp-pci.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/megasas.c
/openbmc/qemu/hw/scsi/mptsas.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/scsi/vmw_pvscsi.c
/openbmc/qemu/hw/sd/sdhci.c
/openbmc/qemu/hw/sh4/sh_pci.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/tpm/Makefile.objs
/openbmc/qemu/hw/tpm/tpm_emulator.c
/openbmc/qemu/hw/tpm/tpm_int.h
/openbmc/qemu/hw/tpm/tpm_ioctl.h
/openbmc/qemu/hw/tpm/tpm_passthrough.c
/openbmc/qemu/hw/tpm/tpm_tis.c
/openbmc/qemu/hw/tpm/tpm_util.c
/openbmc/qemu/hw/tpm/tpm_util.h
/openbmc/qemu/hw/usb/hcd-ehci-pci.c
/openbmc/qemu/hw/usb/hcd-ohci.c
/openbmc/qemu/hw/usb/hcd-uhci.c
/openbmc/qemu/hw/usb/hcd-xhci.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/virtio/virtio-pci.h
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/hw/watchdog/wdt_i6300esb.c
/openbmc/qemu/hw/xen/xen_pt.c
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/block/nbd.h
/openbmc/qemu/include/disas/bfd.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/hw/ide/internal.h
/openbmc/qemu/include/hw/misc/vmcoreinfo.h
/openbmc/qemu/include/hw/nvram/fw_cfg.h
/openbmc/qemu/include/hw/or-irq.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/ppc/pnv.h
/openbmc/qemu/include/hw/ppc/pnv_core.h
/openbmc/qemu/include/hw/ppc/ppc.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/spapr_cpu_core.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/s390x/css.h
/openbmc/qemu/include/hw/s390x/event-facility.h
/openbmc/qemu/include/hw/s390x/s390-ccw.h
/openbmc/qemu/include/io/channel-websock.h
/openbmc/qemu/include/qemu/futex.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/include/sysemu/dump.h
/openbmc/qemu/include/sysemu/tpm_backend.h
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/include/ui/egl-helpers.h
/openbmc/qemu/include/ui/gtk.h
/openbmc/qemu/include/ui/input.h
/openbmc/qemu/include/ui/sdl2.h
/openbmc/qemu/include/ui/shader.h
/openbmc/qemu/include/ui/spice-display.h
/openbmc/qemu/io/channel-websock.c
/openbmc/qemu/io/trace-events
/openbmc/qemu/libdecnumber/Makefile.objs
/openbmc/qemu/linux-user/arm/target_cpu.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/ioctls.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/linux-user/strace.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/syscall_defs.h
/openbmc/qemu/memory.c
/openbmc/qemu/nbd/client.c
/openbmc/qemu/nbd/nbd-internal.h
/openbmc/qemu/nbd/server.c
/openbmc/qemu/nbd/trace-events
/openbmc/qemu/net/filter-mirror.c
/openbmc/qemu/os-posix.c
/openbmc/qemu/pc-bios/bios-256k.bin
/openbmc/qemu/pc-bios/bios.bin
/openbmc/qemu/pc-bios/keymaps/Makefile
/openbmc/qemu/pc-bios/keymaps/ar
/openbmc/qemu/pc-bios/keymaps/bepo
/openbmc/qemu/pc-bios/keymaps/cz
/openbmc/qemu/pc-bios/keymaps/da
/openbmc/qemu/pc-bios/keymaps/de
/openbmc/qemu/pc-bios/keymaps/de-ch
/openbmc/qemu/pc-bios/keymaps/en-gb
/openbmc/qemu/pc-bios/keymaps/en-us
/openbmc/qemu/pc-bios/keymaps/es
/openbmc/qemu/pc-bios/keymaps/et
/openbmc/qemu/pc-bios/keymaps/fi
/openbmc/qemu/pc-bios/keymaps/fo
/openbmc/qemu/pc-bios/keymaps/fr
/openbmc/qemu/pc-bios/keymaps/fr-be
/openbmc/qemu/pc-bios/keymaps/fr-ca
/openbmc/qemu/pc-bios/keymaps/fr-ch
/openbmc/qemu/pc-bios/keymaps/hr
/openbmc/qemu/pc-bios/keymaps/hu
/openbmc/qemu/pc-bios/keymaps/is
/openbmc/qemu/pc-bios/keymaps/it
/openbmc/qemu/pc-bios/keymaps/ja
/openbmc/qemu/pc-bios/keymaps/lt
/openbmc/qemu/pc-bios/keymaps/lv
/openbmc/qemu/pc-bios/keymaps/mk
/openbmc/qemu/pc-bios/keymaps/nl
/openbmc/qemu/pc-bios/keymaps/no
/openbmc/qemu/pc-bios/keymaps/pl
/openbmc/qemu/pc-bios/keymaps/pt
/openbmc/qemu/pc-bios/keymaps/pt-br
/openbmc/qemu/pc-bios/keymaps/ru
/openbmc/qemu/pc-bios/keymaps/th
/openbmc/qemu/pc-bios/keymaps/tr
/openbmc/qemu/pc-bios/openbios-ppc
/openbmc/qemu/pc-bios/openbios-sparc32
/openbmc/qemu/pc-bios/openbios-sparc64
/openbmc/qemu/pc-bios/vgabios-cirrus.bin
/openbmc/qemu/pc-bios/vgabios-qxl.bin
/openbmc/qemu/pc-bios/vgabios-stdvga.bin
/openbmc/qemu/pc-bios/vgabios-virtio.bin
/openbmc/qemu/pc-bios/vgabios-vmware.bin
/openbmc/qemu/pc-bios/vgabios.bin
/openbmc/qemu/qapi/tpm.json
/openbmc/qemu/qemu-doc.texi
/openbmc/qemu/qemu-keymap.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qom/object.c
/openbmc/qemu/roms/config.seabios-128k
/openbmc/qemu/roms/openbios
/openbmc/qemu/roms/seabios
/openbmc/qemu/scripts/archive-source.sh
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/dump-guest-memory.py
/openbmc/qemu/scripts/git-submodule.sh
/openbmc/qemu/scsi/qemu-pr-helper.c
/openbmc/qemu/target/i386/translate.c
/openbmc/qemu/target/mips/mips-defs.h
/openbmc/qemu/target/nios2/cpu.h
/openbmc/qemu/target/nios2/translate.c
/openbmc/qemu/target/ppc/Makefile.objs
/openbmc/qemu/target/ppc/cpu-models.c
/openbmc/qemu/target/ppc/cpu-models.h
/openbmc/qemu/target/ppc/cpu-qom.h
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/target/s390x/Makefile.objs
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/diag.c
/openbmc/qemu/target/s390x/excp_helper.c
/openbmc/qemu/target/s390x/helper.c
/openbmc/qemu/target/s390x/helper.h
/openbmc/qemu/target/s390x/insn-data.def
/openbmc/qemu/target/s390x/internal.h
/openbmc/qemu/target/s390x/interrupt.c
/openbmc/qemu/target/s390x/ioinst.c
/openbmc/qemu/target/s390x/kvm-stub.c
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/kvm_s390x.h
/openbmc/qemu/target/s390x/mem_helper.c
/openbmc/qemu/target/s390x/misc_helper.c
/openbmc/qemu/target/s390x/mmu_helper.c
/openbmc/qemu/target/s390x/sigp.c
/openbmc/qemu/target/s390x/trace-events
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/target/sh4/cpu.h
/openbmc/qemu/tests/.gitignore
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/ahci-test.c
/openbmc/qemu/tests/boot-order-test.c
/openbmc/qemu/tests/boot-serial-test.c
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/run
/openbmc/qemu/tests/endianness-test.c
/openbmc/qemu/tests/fw_cfg-test.c
/openbmc/qemu/tests/ipmi-bt-test.c
/openbmc/qemu/tests/libqos/ahci.c
/openbmc/qemu/tests/libqos/libqos.c
/openbmc/qemu/tests/libqos/malloc.c
/openbmc/qemu/tests/libqtest.c
/openbmc/qemu/tests/libqtest.h
/openbmc/qemu/tests/m25p80-test.c
/openbmc/qemu/tests/pc-cpu-test.c
/openbmc/qemu/tests/pnv-xscom-test.c
/openbmc/qemu/tests/prom-env-test.c
/openbmc/qemu/tests/pxe-test.c
/openbmc/qemu/tests/qemu-iotests/nbd-fault-injector.py
/openbmc/qemu/tests/tco-test.c
/openbmc/qemu/tests/test-filter-mirror.c
/openbmc/qemu/tests/test-filter-redirector.c
/openbmc/qemu/tests/vhost-user-bridge.c
/openbmc/qemu/tests/virtio-balloon-test.c
/openbmc/qemu/tests/virtio-blk-test.c
/openbmc/qemu/tests/virtio-console-test.c
/openbmc/qemu/tests/virtio-serial-test.c
/openbmc/qemu/tests/vmgenid-test.c
/openbmc/qemu/tpm.c
/openbmc/qemu/ui/console-gl.c
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/egl-headless.c
/openbmc/qemu/ui/egl-helpers.c
/openbmc/qemu/ui/gtk-egl.c
/openbmc/qemu/ui/gtk-gl-area.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/input-keymap.c
/openbmc/qemu/ui/input.c
/openbmc/qemu/ui/keycodemapdb
/openbmc/qemu/ui/sdl2-gl.c
/openbmc/qemu/ui/shader.c
/openbmc/qemu/ui/shader/texture-blit-flip.vert
/openbmc/qemu/ui/spice-display.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/qemu-sockets.c
/openbmc/qemu/vl.c
cf5f793710-Oct-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Fix miscalculation of offsets into ITNS array

This calculation of the first exception vector in
the ITNS<n> register being accessed:
int startvec = 32 * (offset - 0x380) + NVIC_FIRST_I

nvic: Fix miscalculation of offsets into ITNS array

This calculation of the first exception vector in
the ITNS<n> register being accessed:
int startvec = 32 * (offset - 0x380) + NVIC_FIRST_IRQ;

is incorrect, because offset is in bytes, so we only want
to multiply by 8.

Spotted by Coverity (CID 1381484, CID 1381488), though it is
not correct that it actually overflows the buffer, because
we have a 'startvec + i < s->num_irq' guard.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1507650856-11718-1-git-send-email-peter.maydell@linaro.org

show more ...

a94bb9cd11-Oct-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Add missing 'break'

Coverity points out that we forgot the 'break' for
the SAU_CTRL write case (CID1381683). This has
no actual visible consequences because it happens
that the following case

nvic: Add missing 'break'

Coverity points out that we forgot the 'break' for
the SAU_CTRL write case (CID1381683). This has
no actual visible consequences because it happens
that the following case is effectively a no-op.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 1507742676-9908-1-git-send-email-peter.maydell@linaro.org
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/openbmc/qemu/Makefile
/openbmc/qemu/Makefile.objs
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/tcg-runtime.c
/openbmc/qemu/accel/tcg/tcg-runtime.h
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/block.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/dirty-bitmap.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2-refcount.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/contrib/libvhost-user/Makefile.objs
/openbmc/qemu/contrib/libvhost-user/libvhost-user-glib.c
/openbmc/qemu/contrib/libvhost-user/libvhost-user-glib.h
/openbmc/qemu/contrib/libvhost-user/libvhost-user.c
/openbmc/qemu/contrib/libvhost-user/libvhost-user.h
/openbmc/qemu/contrib/vhost-user-scsi/vhost-user-scsi.c
/openbmc/qemu/crypto/block-luks.c
/openbmc/qemu/crypto/block-qcow.c
/openbmc/qemu/crypto/block.c
/openbmc/qemu/crypto/blockpriv.h
/openbmc/qemu/exec.c
/openbmc/qemu/hw/block/onenand.c
/openbmc/qemu/hw/core/machine.c
armv7m_nvic.c
/openbmc/qemu/hw/watchdog/wdt_aspeed.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/block/dirty-bitmap.h
/openbmc/qemu/include/crypto/block.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/cpu-defs.h
/openbmc/qemu/include/exec/cputlb.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/tb-lookup.h
/openbmc/qemu/include/glib-compat.h
/openbmc/qemu/include/hw/arm/arm.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/qemu/hbitmap.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/migration/block.c
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qemu-doc.texi
/openbmc/qemu/qemu-io.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qom/cpu.c
/openbmc/qemu/scripts/qemu.py
/openbmc/qemu/scripts/qmp/qmp.py
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/alpha/translate.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/cris/cpu.c
/openbmc/qemu/target/hppa/translate.c
/openbmc/qemu/target/i386/translate.c
/openbmc/qemu/target/lm32/cpu.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/translate.c
/openbmc/qemu/target/moxie/cpu.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/translate.c
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/unicore32/cpu.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/tcg/i386/tcg-target.inc.c
/openbmc/qemu/tcg/mips/tcg-target.inc.c
/openbmc/qemu/tcg/tcg-op.c
/openbmc/qemu/tcg/tcg-op.h
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tcg/tcg.h
/openbmc/qemu/tcg/tci.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/migration/guestperf/engine.py
/openbmc/qemu/tests/migration/guestperf/shell.py
/openbmc/qemu/tests/qemu-iotests/030
/openbmc/qemu/tests/qemu-iotests/039.out
/openbmc/qemu/tests/qemu-iotests/061.out
/openbmc/qemu/tests/qemu-iotests/137.out
/openbmc/qemu/tests/qemu-iotests/165
/openbmc/qemu/tests/qemu-iotests/191
/openbmc/qemu/tests/qemu-iotests/191.out
/openbmc/qemu/tests/qemu-iotests/195
/openbmc/qemu/tests/qemu-iotests/197
/openbmc/qemu/tests/qemu-iotests/197.out
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/common.config
/openbmc/qemu/tests/qemu-iotests/common.filter
/openbmc/qemu/tests/qemu-iotests/common.qemu
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/test-hbitmap.c
/openbmc/qemu/tests/vm/basevm.py
/openbmc/qemu/util/Makefile.objs
/openbmc/qemu/util/hbitmap.c
/openbmc/qemu/util/pagesize.c
/openbmc/qemu/util/qemu-config.c
/openbmc/qemu/vl.c
04829ce306-Oct-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Add missing code for writing SHCSR.HARDFAULTPENDED bit

When we added support for the new SHCSR bits in v8M in commit
437d59c17e9 the code to support writing to the new HARDFAULTPENDED
bit was

nvic: Add missing code for writing SHCSR.HARDFAULTPENDED bit

When we added support for the new SHCSR bits in v8M in commit
437d59c17e9 the code to support writing to the new HARDFAULTPENDED
bit was accidentally only added for non-secure writes; the
secure banked version of the bit should also be writable.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1506092407-26985-21-git-send-email-peter.maydell@linaro.org

show more ...

9901c57606-Oct-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Implement Security Attribution Unit registers

Implement the register interface for the SAU: SAU_CTRL,
SAU_TYPE, SAU_RNR, SAU_RBAR and SAU_RLAR. None of the
actual behaviour is implemented here

nvic: Implement Security Attribution Unit registers

Implement the register interface for the SAU: SAU_CTRL,
SAU_TYPE, SAU_RNR, SAU_RBAR and SAU_RLAR. None of the
actual behaviour is implemented here; registers just
read back as written.

When the CPU definition for Cortex-M33 is eventually
added, its initfn will set cpu->sau_sregion, in the same
way that we currently set cpu->pmsav7_dregion for the
M3 and M4.

Number of SAU regions is typically a configurable
CPU parameter, but this patch doesn't provide a
QEMU CPU property for it. We can easily add one when
we have a board that requires it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1506092407-26985-14-git-send-email-peter.maydell@linaro.org

show more ...

bed079da06-Oct-2017 Peter Maydell <peter.maydell@linaro.org>

target/arm: Add new-in-v8M SFSR and SFAR

Add the new M profile Secure Fault Status Register
and Secure Fault Address Register.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: R

target/arm: Add new-in-v8M SFSR and SFAR

Add the new M profile Secure Fault Status Register
and Secure Fault Address Register.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1506092407-26985-10-git-send-email-peter.maydell@linaro.org

show more ...

de2db7ec06-Oct-2017 Peter Maydell <peter.maydell@linaro.org>

target/arm: Prepare for CONTROL.SPSEL being nonzero in Handler mode

In the v7M architecture, there is an invariant that if the CPU is
in Handler mode then the CONTROL.SPSEL bit cannot be nonzero.
Th

target/arm: Prepare for CONTROL.SPSEL being nonzero in Handler mode

In the v7M architecture, there is an invariant that if the CPU is
in Handler mode then the CONTROL.SPSEL bit cannot be nonzero.
This in turn means that the current stack pointer is always
indicated by CONTROL.SPSEL, even though Handler mode always uses
the Main stack pointer.

In v8M, this invariant is removed, and CONTROL.SPSEL may now
be nonzero in Handler mode (though Handler mode still always
uses the Main stack pointer). In preparation for this change,
change how we handle this bit: rename switch_v7m_sp() to
the now more accurate write_v7m_control_spsel(), and make it
check both the handler mode state and the SPSEL bit.

Note that this implicitly changes the point at which we switch
active SP on exception exit from before we pop the exception
frame to after it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1506092407-26985-4-git-send-email-peter.maydell@linaro.org

show more ...

8ff26a3306-Oct-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Clear the vector arrays and prigroup on reset

Reset for devices does not include an automatic clear of the
device state (unlike CPU state, where most of the state
structure is cleared to zero)

nvic: Clear the vector arrays and prigroup on reset

Reset for devices does not include an automatic clear of the
device state (unlike CPU state, where most of the state
structure is cleared to zero). Add some missing initialization
of NVIC state that meant that the device was left in the wrong
state if the guest did a warm reset.

(In particular, since we were resetting the computed state like
s->exception_prio but not all the state it was computed
from like s->vectors[x].active, the NVIC wound up in an
inconsistent state that could later trigger assertion failures.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 1506092407-26985-2-git-send-email-peter.maydell@linaro.org

show more ...


/openbmc/qemu/.gitignore
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/stubs/kvm-stub.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp.c
/openbmc/qemu/hw/arm/xlnx-zynqmp.c
/openbmc/qemu/hw/char/terminal3270.c
/openbmc/qemu/hw/i386/kvm/clock.c
/openbmc/qemu/hw/input/virtio-input-hid.c
armv7m_nvic.c
/openbmc/qemu/hw/s390x/3270-ccw.c
/openbmc/qemu/hw/s390x/css.c
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/sclp.c
/openbmc/qemu/hw/s390x/sclpcpu.c
/openbmc/qemu/hw/s390x/sclpquiesce.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/usb/Makefile.objs
/openbmc/qemu/hw/usb/bus.c
/openbmc/qemu/hw/usb/ccid-card-passthru.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/pci.h
/openbmc/qemu/hw/watchdog/watchdog.c
/openbmc/qemu/hw/watchdog/wdt_diag288.c
/openbmc/qemu/include/hw/compat.h
/openbmc/qemu/include/hw/s390x/3270-ccw.h
/openbmc/qemu/include/hw/s390x/css.h
/openbmc/qemu/include/hw/virtio/virtio-input.h
/openbmc/qemu/include/io/channel-websock.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/include/standard-headers/asm-x86/hyperv.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/include/standard-headers/linux/virtio_ring.h
/openbmc/qemu/include/sysemu/iothread.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/include/sysemu/watchdog.h
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/include/ui/egl-helpers.h
/openbmc/qemu/io/channel-websock.c
/openbmc/qemu/io/trace-events
/openbmc/qemu/iothread.c
/openbmc/qemu/linux-headers/asm-s390/kvm.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/userfaultfd.h
/openbmc/qemu/monitor.c
/openbmc/qemu/qapi-schema.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qom/object.c
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/s390x/Makefile.objs
/openbmc/qemu/target/s390x/cpu-qom.h
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/cpu_features.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/crypto_helper.c
/openbmc/qemu/target/s390x/excp_helper.c
/openbmc/qemu/target/s390x/helper.h
/openbmc/qemu/target/s390x/insn-data.def
/openbmc/qemu/target/s390x/internal.h
/openbmc/qemu/target/s390x/kvm-stub.c
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/kvm_s390x.h
/openbmc/qemu/target/s390x/mem_helper.c
/openbmc/qemu/target/s390x/misc_helper.c
/openbmc/qemu/target/s390x/mmu_helper.c
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/target/unicore32/helper.c
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/common.rc
/openbmc/qemu/tests/docker/dockerfiles/centos6.docker
/openbmc/qemu/tests/docker/dockerfiles/centos7.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ports.docker
/openbmc/qemu/tests/docker/dockerfiles/debian8.docker
/openbmc/qemu/tests/docker/dockerfiles/debian9.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/min-glib.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu.docker
/openbmc/qemu/tests/docker/run
/openbmc/qemu/tests/docker/test-block
/openbmc/qemu/tests/docker/test-build
/openbmc/qemu/tests/docker/test-clang
/openbmc/qemu/tests/docker/test-full
/openbmc/qemu/tests/docker/test-mingw
/openbmc/qemu/tests/docker/test-quick
/openbmc/qemu/ui/curses.c
/openbmc/qemu/ui/egl-headless.c
/openbmc/qemu/ui/egl-helpers.c
/openbmc/qemu/ui/gtk-egl.c
/openbmc/qemu/ui/gtk-gl-area.c
/openbmc/qemu/ui/sdl2-gl.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/ui/vnc-auth-sasl.c
/openbmc/qemu/ui/vnc-auth-vencrypt.c
/openbmc/qemu/ui/vnc-ws.c
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/util/aio-posix.c
ab16152927-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20170927a' into staging

Migration pull 2017-09-27

# gpg: Signature made Wed 27 Sep 2017 14:56:23 BST
# gpg: using R

Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20170927a' into staging

Migration pull 2017-09-27

# gpg: Signature made Wed 27 Sep 2017 14:56:23 BST
# gpg: using RSA key 0x0516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A 9FA9 0516 331E BC5B FDE7

* remotes/dgilbert/tags/pull-migration-20170927a:
migration: Route more error paths
migration: Route errors up through vmstate_save
migration: wire vmstate_save_state errors up to vmstate_subsection_save
migration: Check field save returns
migration: check pre_save return in vmstate_save_state
migration: pre_save return int
migration: disable auto-converge during bulk block migration

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/openbmc/qemu/Makefile
/openbmc/qemu/block.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2-cache.c
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2-refcount.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/replication.c
/openbmc/qemu/block/throttle-groups.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/configure
/openbmc/qemu/docs/devel/migration.txt
/openbmc/qemu/docs/qemu-block-drivers.texi
/openbmc/qemu/hw/arm/pxa2xx.c
/openbmc/qemu/hw/arm/strongarm.c
/openbmc/qemu/hw/audio/wm8750.c
/openbmc/qemu/hw/block/fdc.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/nand.c
/openbmc/qemu/hw/block/onenand.c
/openbmc/qemu/hw/char/serial.c
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/i2c/core.c
/openbmc/qemu/hw/i386/kvm/clock.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/ide/pci.c
/openbmc/qemu/hw/input/ps2.c
/openbmc/qemu/hw/input/tsc210x.c
apic_common.c
arm_gic_common.c
arm_gicv3_common.c
arm_gicv3_its_common.c
i8259_common.c
ioapic_common.c
s390_flic_kvm.c
xics.c
/openbmc/qemu/hw/misc/macio/mac_dbdma.c
/openbmc/qemu/hw/misc/macio/macio.c
/openbmc/qemu/hw/net/e1000.c
/openbmc/qemu/hw/net/e1000e.c
/openbmc/qemu/hw/net/rtl8139.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/net/vmxnet3.c
/openbmc/qemu/hw/pci-host/piix.c
/openbmc/qemu/hw/ppc/mac.h
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/s390x/css.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/vmw_pvscsi.c
/openbmc/qemu/hw/timer/cadence_ttc.c
/openbmc/qemu/hw/timer/hpet.c
/openbmc/qemu/hw/timer/i8254_common.c
/openbmc/qemu/hw/timer/mc146818rtc.c
/openbmc/qemu/hw/timer/pl031.c
/openbmc/qemu/hw/timer/twl92230.c
/openbmc/qemu/hw/usb/dev-smartcard-reader.c
/openbmc/qemu/hw/usb/hcd-ehci.c
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/virtio/vhost-vsock.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/hw/ppc/mac_dbdma.h
/openbmc/qemu/include/hw/ppc/pnv_xscom.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/migration/vmstate.h
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/block.h
/openbmc/qemu/migration/colo-comm.c
/openbmc/qemu/migration/global_state.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/migration/vmstate-types.c
/openbmc/qemu/migration/vmstate.c
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qemu-doc.texi
/openbmc/qemu/qemu-img-cmds.hx
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-img.texi
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/replay/replay-snapshot.c
/openbmc/qemu/scripts/create_config
/openbmc/qemu/slirp/slirp.c
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/ppc/cpu-models.h
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/kvm_ppc.h
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/s390x/gen-features.c
/openbmc/qemu/target/s390x/machine.c
/openbmc/qemu/target/sparc/machine.c
/openbmc/qemu/tests/qemu-iotests/040
/openbmc/qemu/tests/qemu-iotests/051
/openbmc/qemu/tests/qemu-iotests/051.out
/openbmc/qemu/tests/qemu-iotests/051.pc.out
/openbmc/qemu/tests/qemu-iotests/067
/openbmc/qemu/tests/qemu-iotests/067.out
/openbmc/qemu/tests/qemu-iotests/102
/openbmc/qemu/tests/qemu-iotests/106
/openbmc/qemu/tests/qemu-iotests/139
/openbmc/qemu/tests/qemu-iotests/163
/openbmc/qemu/tests/qemu-iotests/163.out
/openbmc/qemu/tests/qemu-iotests/172
/openbmc/qemu/tests/qemu-iotests/181
/openbmc/qemu/tests/qemu-iotests/181.out
/openbmc/qemu/tests/qemu-iotests/182
/openbmc/qemu/tests/qemu-iotests/186
/openbmc/qemu/tests/qemu-iotests/187.out
/openbmc/qemu/tests/qemu-iotests/195
/openbmc/qemu/tests/qemu-iotests/195.out
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/test-vmstate.c
/openbmc/qemu/util/throttle.c
/openbmc/qemu/vl.c
44b1ff3125-Sep-2017 Dr. David Alan Gilbert <dgilbert@redhat.com>

migration: pre_save return int

Modify the pre_save method on VMStateDescription to return an int
rather than void so that it potentially can fail.

Changed zillions of devices to make them return 0;

migration: pre_save return int

Modify the pre_save method on VMStateDescription to return an int
rather than void so that it potentially can fail.

Changed zillions of devices to make them return 0; the only
case I've made it return non-0 is hw/intc/s390_flic_kvm.c that already
had an error_report/return case.

Note: If you add an error exit in your pre_save you must emit
an error_report to say why.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20170925112917.21340-2-dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/block/nbd-client.c
/openbmc/qemu/chardev/baum.c
/openbmc/qemu/configure
/openbmc/qemu/docs/devel/migration.txt
/openbmc/qemu/docs/memory-hotplug.txt
/openbmc/qemu/hw/arm/pxa2xx.c
/openbmc/qemu/hw/arm/strongarm.c
/openbmc/qemu/hw/audio/wm8750.c
/openbmc/qemu/hw/block/fdc.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/nand.c
/openbmc/qemu/hw/block/onenand.c
/openbmc/qemu/hw/char/serial.c
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/trace-events
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/xenfb.c
/openbmc/qemu/hw/i2c/core.c
/openbmc/qemu/hw/i386/kvm/clock.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/pci.c
/openbmc/qemu/hw/input/ps2.c
/openbmc/qemu/hw/input/tsc210x.c
apic_common.c
arm_gic_common.c
arm_gicv3_common.c
arm_gicv3_its_common.c
i8259_common.c
ioapic_common.c
s390_flic_kvm.c
xics.c
/openbmc/qemu/hw/isa/pc87312.c
/openbmc/qemu/hw/misc/auxbus.c
/openbmc/qemu/hw/net/e1000.c
/openbmc/qemu/hw/net/e1000e.c
/openbmc/qemu/hw/net/rtl8139.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/net/vmxnet3.c
/openbmc/qemu/hw/pci-host/piix.c
/openbmc/qemu/hw/ppc/mac_newworld.c
/openbmc/qemu/hw/ppc/mac_oldworld.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/s390x/css.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/vmw_pvscsi.c
/openbmc/qemu/hw/timer/cadence_ttc.c
/openbmc/qemu/hw/timer/hpet.c
/openbmc/qemu/hw/timer/i8254_common.c
/openbmc/qemu/hw/timer/mc146818rtc.c
/openbmc/qemu/hw/timer/pl031.c
/openbmc/qemu/hw/timer/twl92230.c
/openbmc/qemu/hw/usb/dev-smartcard-reader.c
/openbmc/qemu/hw/usb/hcd-ehci.c
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/virtio/vhost-vsock.c
/openbmc/qemu/include/migration/vmstate.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/thread-posix.h
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/block.h
/openbmc/qemu/migration/colo-comm.c
/openbmc/qemu/migration/global_state.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/net/slirp.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/replay/replay-snapshot.c
/openbmc/qemu/slirp/if.c
/openbmc/qemu/slirp/slirp.c
/openbmc/qemu/slirp/slirp.h
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/s390x/machine.c
/openbmc/qemu/target/sparc/machine.c
/openbmc/qemu/target/xtensa/op_helper.c
/openbmc/qemu/tests/boot-sector.c
/openbmc/qemu/tests/test-vmstate.c
/openbmc/qemu/util/qemu-thread-posix.c
58b6283517-Sep-2017 Benjamin Herrenschmidt <benh@kernel.crashing.org>

ppc: Fix OpenPIC model

Apple uses an IBM MPIC2A without timers, it has 64 sources.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbea

ppc: Fix OpenPIC model

Apple uses an IBM MPIC2A without timers, it has 64 sources.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>

show more ...

460b6c8e23-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* Speed up AddressSpaceDispatch creation (Alexey)
* Fix kvm.c assert (David)
* Memory fixes and further speedup (me)
* P

Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* Speed up AddressSpaceDispatch creation (Alexey)
* Fix kvm.c assert (David)
* Memory fixes and further speedup (me)
* Persistent reservation manager infrastructure (me)
* virtio-serial: add enable_backend callback (Pavel)
* chardev GMainContext fixes (Peter)

# gpg: Signature made Fri 22 Sep 2017 20:07:33 BST
# gpg: using RSA key 0xBFFBD25F78C7AE83
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
# gpg: aka "Paolo Bonzini <pbonzini@redhat.com>"
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1
# Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream: (32 commits)
chardev: remove context in chr_update_read_handler
chardev: use per-dev context for io_add_watch_poll
chardev: add Chardev.gcontext field
chardev: new qemu_chr_be_update_read_handlers()
scsi: add persistent reservation manager using qemu-pr-helper
scsi: add multipath support to qemu-pr-helper
scsi: build qemu-pr-helper
scsi, file-posix: add support for persistent reservation management
memory: Share special empty FlatView
memory: seek FlatView sharing candidates among children subregions
memory: trace FlatView creation and destruction
memory: Create FlatView directly
memory: Get rid of address_space_init_shareable
memory: Rework "info mtree" to print flat views and dispatch trees
memory: Do not allocate FlatView in address_space_init
memory: Share FlatView's and dispatch trees between address spaces
memory: Move address_space_update_ioeventfds
memory: Alloc dispatch tree where topology is generared
memory: Store physical root MR in FlatView
memory: Rename mem_begin/mem_commit/mem_add helpers
...

# Conflicts:
# configure

show more ...


/openbmc/qemu/.gitignore
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/Makefile.objs
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/audio/Makefile.objs
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/chardev/Makefile.objs
/openbmc/qemu/chardev/char-fd.c
/openbmc/qemu/chardev/char-fe.c
/openbmc/qemu/chardev/char-pty.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/chardev/char-udp.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configure
/openbmc/qemu/cpus.c
/openbmc/qemu/default-configs/arm-softmmu.mak
/openbmc/qemu/docs/devel/atomics.txt
/openbmc/qemu/docs/interop/pr-helper.rst
/openbmc/qemu/docs/pr-manager.rst
/openbmc/qemu/exec.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp.c
/openbmc/qemu/hw/arm/Makefile.objs
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/msf2-soc.c
/openbmc/qemu/hw/arm/msf2-som.c
/openbmc/qemu/hw/arm/omap2.c
/openbmc/qemu/hw/arm/palm.c
/openbmc/qemu/hw/char/virtio-console.c
/openbmc/qemu/hw/char/virtio-serial-bus.c
/openbmc/qemu/hw/gpio/omap_gpio.c
/openbmc/qemu/hw/i2c/omap_i2c.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/ide/core.c
openpic_kvm.c
/openbmc/qemu/hw/misc/Makefile.objs
/openbmc/qemu/hw/misc/msf2-sysreg.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/ssi/Makefile.objs
/openbmc/qemu/hw/ssi/mss-spi.c
/openbmc/qemu/hw/timer/Makefile.objs
/openbmc/qemu/hw/timer/mss-timer.c
/openbmc/qemu/hw/timer/omap_gptimer.c
/openbmc/qemu/hw/timer/omap_synctimer.c
/openbmc/qemu/hw/usb/Makefile.objs
/openbmc/qemu/include/chardev/char.h
/openbmc/qemu/include/exec/memory-internal.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/glib-compat.h
/openbmc/qemu/include/hw/arm/armv7m.h
/openbmc/qemu/include/hw/arm/msf2-soc.h
/openbmc/qemu/include/hw/ide/internal.h
/openbmc/qemu/include/hw/misc/msf2-sysreg.h
/openbmc/qemu/include/hw/ssi/mss-spi.h
/openbmc/qemu/include/hw/timer/mss-timer.h
/openbmc/qemu/include/hw/virtio/virtio-serial.h
/openbmc/qemu/include/migration/register.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/bitmap.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/scsi/pr-manager.h
/openbmc/qemu/include/scsi/utils.h
/openbmc/qemu/include/sysemu/seccomp.h
/openbmc/qemu/memory.c
/openbmc/qemu/migration/Makefile.objs
/openbmc/qemu/migration/channel.c
/openbmc/qemu/migration/exec.c
/openbmc/qemu/migration/fd.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/postcopy-ram.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/socket.c
/openbmc/qemu/monitor.c
/openbmc/qemu/net/Makefile.objs
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/scripts/archive-source.sh
/openbmc/qemu/scripts/qemu.py
/openbmc/qemu/scsi/Makefile.objs
/openbmc/qemu/scsi/pr-helper.h
/openbmc/qemu/scsi/pr-manager-helper.c
/openbmc/qemu/scsi/pr-manager.c
/openbmc/qemu/scsi/qemu-pr-helper.c
/openbmc/qemu/scsi/trace-events
/openbmc/qemu/scsi/utils.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/tests/.gitignore
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/common.rc
/openbmc/qemu/tests/docker/docker.py
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/travis.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu.docker
/openbmc/qemu/tests/docker/run
/openbmc/qemu/tests/docker/test-block
/openbmc/qemu/tests/docker/test-full
/openbmc/qemu/tests/keys/README
/openbmc/qemu/tests/keys/id_rsa
/openbmc/qemu/tests/keys/id_rsa.pub
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/README
/openbmc/qemu/tests/vm/basevm.py
/openbmc/qemu/tests/vm/freebsd
/openbmc/qemu/tests/vm/netbsd
/openbmc/qemu/tests/vm/openbsd
/openbmc/qemu/tests/vm/ubuntu.i386
/openbmc/qemu/trace-events
/openbmc/qemu/ui/Makefile.objs
/openbmc/qemu/util/bitmap.c
/openbmc/qemu/util/bitops.c
/openbmc/qemu/vl.c
1662068421-Sep-2017 Alexey Kardashevskiy <aik@ozlabs.ru>

memory: Switch memory from using AddressSpace to FlatView

FlatView's will be shared between AddressSpace's and subpage_t
and MemoryRegionSection cannot store AS anymore, hence this change.

In parti

memory: Switch memory from using AddressSpace to FlatView

FlatView's will be shared between AddressSpace's and subpage_t
and MemoryRegionSection cannot store AS anymore, hence this change.

In particular, for:

typedef struct subpage_t {
MemoryRegion iomem;
- AddressSpace *as;
+ FlatView *fv;
hwaddr base;
uint16_t sub_section[];
} subpage_t;

struct MemoryRegionSection {
MemoryRegion *mr;
- AddressSpace *address_space;
+ FlatView *fv;
hwaddr offset_within_region;
Int128 size;
hwaddr offset_within_address_space;
bool readonly;
};

This should cause no behavioural change.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Message-Id: <20170921085110.25598-7-aik@ozlabs.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/Makefile.objs
/openbmc/qemu/Makefile.target
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/stubs/Makefile.objs
/openbmc/qemu/accel/stubs/hax-stub.c
/openbmc/qemu/accel/tcg/Makefile.objs
/openbmc/qemu/accel/tcg/atomic_template.h
/openbmc/qemu/accel/tcg/softmmu_template.h
/openbmc/qemu/accel/tcg/tcg-runtime.c
/openbmc/qemu/accel/tcg/tcg-runtime.h
/openbmc/qemu/accel/tcg/user-exec-stub.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/backends/hostmem-file.c
/openbmc/qemu/block/iscsi.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/configure
/openbmc/qemu/default-configs/pci.mak
/openbmc/qemu/default-configs/ppc-softmmu.mak
/openbmc/qemu/default-configs/ppc64-softmmu.mak
/openbmc/qemu/default-configs/s390x-softmmu.mak
/openbmc/qemu/docs/devel/atomics.txt
/openbmc/qemu/docs/devel/build-system.txt
/openbmc/qemu/dump.c
/openbmc/qemu/exec.c
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/acpi/core.c
/openbmc/qemu/hw/alpha/dp264.c
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/collie.c
/openbmc/qemu/hw/arm/exynos4210.c
/openbmc/qemu/hw/arm/gumstix.c
/openbmc/qemu/hw/arm/highbank.c
/openbmc/qemu/hw/arm/integratorcp.c
/openbmc/qemu/hw/arm/mainstone.c
/openbmc/qemu/hw/arm/mps2.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/netduino2.c
/openbmc/qemu/hw/arm/nseries.c
/openbmc/qemu/hw/arm/omap1.c
/openbmc/qemu/hw/arm/omap2.c
/openbmc/qemu/hw/arm/omap_sx1.c
/openbmc/qemu/hw/arm/palm.c
/openbmc/qemu/hw/arm/pxa2xx.c
/openbmc/qemu/hw/arm/realview.c
/openbmc/qemu/hw/arm/spitz.c
/openbmc/qemu/hw/arm/stellaris.c
/openbmc/qemu/hw/arm/stm32f205_soc.c
/openbmc/qemu/hw/arm/strongarm.c
/openbmc/qemu/hw/arm/tosa.c
/openbmc/qemu/hw/arm/versatilepb.c
/openbmc/qemu/hw/arm/vexpress.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/arm/z2.c
/openbmc/qemu/hw/audio/intel-hda.c
/openbmc/qemu/hw/audio/wm8750.c
/openbmc/qemu/hw/block/fdc.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/char/virtio-console.c
/openbmc/qemu/hw/char/virtio-serial-bus.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/multiboot.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/xen/xen-mapcache.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/microdrive.c
/openbmc/qemu/hw/ide/pci.c
/openbmc/qemu/hw/ide/piix.c
/openbmc/qemu/hw/ide/qdev.c
/openbmc/qemu/hw/ide/trace-events
/openbmc/qemu/hw/ide/via.c
openpic_kvm.c
/openbmc/qemu/hw/lm32/lm32_boards.c
/openbmc/qemu/hw/lm32/milkymist.c
/openbmc/qemu/hw/m68k/an5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/mips/cps.c
/openbmc/qemu/hw/mips/mips_fulong2e.c
/openbmc/qemu/hw/mips/mips_jazz.c
/openbmc/qemu/hw/mips/mips_malta.c
/openbmc/qemu/hw/mips/mips_mipssim.c
/openbmc/qemu/hw/mips/mips_r4k.c
/openbmc/qemu/hw/misc/applesmc.c
/openbmc/qemu/hw/misc/ivshmem.c
/openbmc/qemu/hw/moxie/moxiesim.c
/openbmc/qemu/hw/openrisc/openrisc_sim.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/mac_newworld.c
/openbmc/qemu/hw/ppc/mac_oldworld.c
/openbmc/qemu/hw/ppc/ppc440_bamboo.c
/openbmc/qemu/hw/ppc/ppc4xx_devs.c
/openbmc/qemu/hw/ppc/prep.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/virtex_ml507.c
/openbmc/qemu/hw/s390x/Makefile.objs
/openbmc/qemu/hw/s390x/css.c
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-pci-bus.h
/openbmc/qemu/hw/s390x/s390-pci-inst.c
/openbmc/qemu/hw/s390x/s390-pci-stub.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/s390-virtio-hcall.c
/openbmc/qemu/hw/s390x/s390-virtio-hcall.h
/openbmc/qemu/hw/s390x/sclp.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/s390x/virtio-ccw.h
/openbmc/qemu/hw/scsi/esp.c
/openbmc/qemu/hw/scsi/megasas.c
/openbmc/qemu/hw/scsi/mptendian.c
/openbmc/qemu/hw/scsi/mptsas.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/scsi/scsi-generic.c
/openbmc/qemu/hw/scsi/spapr_vscsi.c
/openbmc/qemu/hw/scsi/virtio-scsi-dataplane.c
/openbmc/qemu/hw/scsi/virtio-scsi.c
/openbmc/qemu/hw/scsi/vmw_pvscsi.c
/openbmc/qemu/hw/sh4/r2d.c
/openbmc/qemu/hw/sh4/shix.c
/openbmc/qemu/hw/sparc/leon3.c
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/sparc64/sparc64.c
/openbmc/qemu/hw/tricore/tricore_testboard.c
/openbmc/qemu/hw/unicore32/puv3.c
/openbmc/qemu/hw/usb/dev-uas.c
/openbmc/qemu/hw/usb/hcd-ehci.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/hw/xtensa/sim.c
/openbmc/qemu/hw/xtensa/xtfpga.c
/openbmc/qemu/include/exec/memory-internal.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/arm/armv7m.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/arm/stm32f205_soc.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/ide/internal.h
/openbmc/qemu/include/hw/s390x/s390-virtio-ccw.h
/openbmc/qemu/include/hw/s390x/sclp.h
/openbmc/qemu/include/hw/scsi/scsi.h
/openbmc/qemu/include/hw/virtio/virtio-scsi.h
/openbmc/qemu/include/hw/virtio/virtio-serial.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qom/cpu.h
/openbmc/qemu/include/qom/object_interfaces.h
/openbmc/qemu/include/scsi/constants.h
/openbmc/qemu/include/scsi/utils.h
/openbmc/qemu/include/sysemu/seccomp.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/memory.c
/openbmc/qemu/net/hub.c
/openbmc/qemu/net/net.c
/openbmc/qemu/numa.c
/openbmc/qemu/pc-bios/s390-ccw/netboot.mak
/openbmc/qemu/qapi-schema.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qemu-seccomp.c
/openbmc/qemu/qga/vss-win32.c
/openbmc/qemu/qom/cpu.c
/openbmc/qemu/qom/object_interfaces.c
/openbmc/qemu/qtest.c
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/qemu.py
/openbmc/qemu/scripts/qmp/qmp-shell
/openbmc/qemu/scripts/qmp/qmp.py
/openbmc/qemu/scripts/qtest.py
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/scsi/Makefile.objs
/openbmc/qemu/scsi/utils.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/i386/arch_dump.c
/openbmc/qemu/target/i386/arch_memory_mapping.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/hax-mem.c
/openbmc/qemu/target/i386/hyperv-proto.h
/openbmc/qemu/target/i386/hyperv.c
/openbmc/qemu/target/i386/kvm.c
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/i386/monitor.c
/openbmc/qemu/target/i386/ops_sse.h
/openbmc/qemu/target/i386/svm_helper.c
/openbmc/qemu/target/i386/translate.c
/openbmc/qemu/target/mips/kvm.c
/openbmc/qemu/target/ppc/arch_dump.c
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/target/s390x/arch_dump.c
/openbmc/qemu/target/s390x/cpu-qom.h
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/cpu_models.h
/openbmc/qemu/target/s390x/diag.c
/openbmc/qemu/target/s390x/excp_helper.c
/openbmc/qemu/target/s390x/helper.c
/openbmc/qemu/target/s390x/internal.h
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/misc_helper.c
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.inc.c
/openbmc/qemu/tcg/arm/tcg-target.inc.c
/openbmc/qemu/tcg/i386/tcg-target.inc.c
/openbmc/qemu/tcg/mips/tcg-target.inc.c
/openbmc/qemu/tcg/ppc/tcg-target.inc.c
/openbmc/qemu/tcg/s390/tcg-target.inc.c
/openbmc/qemu/tcg/sparc/tcg-target.inc.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tcg/tcg.h
/openbmc/qemu/tcg/tci/tcg-target.inc.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/drive_del-test.c
/openbmc/qemu/tests/libqos/pci.c
/openbmc/qemu/tests/libqos/usb.c
/openbmc/qemu/tests/libqos/virtio.c
/openbmc/qemu/tests/libqos/virtio.h
/openbmc/qemu/tests/libqtest.c
/openbmc/qemu/tests/libqtest.h
/openbmc/qemu/tests/numa-test.c
/openbmc/qemu/tests/ptimer-test-stubs.c
/openbmc/qemu/tests/qemu-iotests/051.pc.out
/openbmc/qemu/tests/qemu-iotests/172.out
/openbmc/qemu/tests/test-hmp.c
/openbmc/qemu/tests/test-qga.c
/openbmc/qemu/tests/usb-hcd-uhci-test.c
/openbmc/qemu/tests/usb-hcd-xhci-test.c
/openbmc/qemu/tests/virtio-scsi-test.c
/openbmc/qemu/tests/virtio-serial-test.c
/openbmc/qemu/trace/control-target.c
/openbmc/qemu/trace/control.c
/openbmc/qemu/trace/simple.c
/openbmc/qemu/ui/keymaps.c
/openbmc/qemu/ui/spice-display.c
/openbmc/qemu/util/cutils.c
/openbmc/qemu/util/main-loop.c
/openbmc/qemu/vl.c
5cb1806912-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Support banked exceptions in acknowledge and complete

Update armv7m_nvic_acknowledge_irq() and armv7m_nvic_complete_irq()
to handle banked exceptions:
* acknowledge needs to use the correct v

nvic: Support banked exceptions in acknowledge and complete

Update armv7m_nvic_acknowledge_irq() and armv7m_nvic_complete_irq()
to handle banked exceptions:
* acknowledge needs to use the correct vector, which may be
in sec_vectors[]
* acknowledge needs to return to its caller whether the
exception should be taken to secure or non-secure state
* complete needs its caller to tell it whether the exception
being completed is a secure one or not

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-20-git-send-email-peter.maydell@linaro.org

show more ...

437d59c112-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Make SHCSR banked for v8M

Handle banking of SHCSR: some register bits are banked between
Secure and Non-Secure, and some are only accessible to Secure.

Signed-off-by: Peter Maydell <peter.may

nvic: Make SHCSR banked for v8M

Handle banking of SHCSR: some register bits are banked between
Secure and Non-Secure, and some are only accessible to Secure.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-19-git-send-email-peter.maydell@linaro.org

show more ...

3f1e0eb712-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Make ICSR banked for v8M

The ICSR NVIC register is banked for v8M. This doesn't
require any new state, but it does mean that some bits
are controlled by BFHNFNMINS and some bits must work
with

nvic: Make ICSR banked for v8M

The ICSR NVIC register is banked for v8M. This doesn't
require any new state, but it does mean that some bits
are controlled by BFHNFNMINS and some bits must work
with the correct banked exception. There is also a new
in v8M PENDNMICLR bit.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-18-git-send-email-peter.maydell@linaro.org

show more ...

5d47919912-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

target/arm: Handle banking in negative-execution-priority check in cpu_mmu_index()

Now that we have a banked FAULTMASK register and banked exceptions,
we can implement the correct check in cpu_mmu_i

target/arm: Handle banking in negative-execution-priority check in cpu_mmu_index()

Now that we have a banked FAULTMASK register and banked exceptions,
we can implement the correct check in cpu_mmu_index() for whether
the MPU_CTRL.HFNMIENA bit's effect should apply. This bit causes
handlers which have requested a negative execution priority to run
with the MPU disabled. In v8M the test has to check this for the
current security state and so takes account of banking.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-17-git-send-email-peter.maydell@linaro.org

show more ...

49c80c3812-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Handle v8M changes in nvic_exec_prio()

Update nvic_exec_prio() to support the v8M changes:
* BASEPRI, FAULTMASK and PRIMASK are all banked
* AIRCR.PRIS can affect NS priorities
* AIRCR.BFHF

nvic: Handle v8M changes in nvic_exec_prio()

Update nvic_exec_prio() to support the v8M changes:
* BASEPRI, FAULTMASK and PRIMASK are all banked
* AIRCR.PRIS can affect NS priorities
* AIRCR.BFHFNMINS affects FAULTMASK behaviour

These changes mean that it's no longer possible to
definitely say that if FAULTMASK is set it overrides
PRIMASK, and if PRIMASK is set it overrides BASEPRI
(since if PRIMASK_NS is set and AIRCR.PRIS is set then
whether that 0x80 priority should take effect or the
priority in BASEPRI_S depends on the value of BASEPRI_S,
for instance). So we switch to the same approach used
by the pseudocode of working through BASEPRI, PRIMASK
and FAULTMASK and overriding the previous values if
needed.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-16-git-send-email-peter.maydell@linaro.org

show more ...

7208b42612-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Disable the non-secure HardFault if AIRCR.BFHFNMINS is clear

If AIRCR.BFHFNMINS is clear, then although NonSecure HardFault
can still be pended via SHCSR.HARDFAULTPENDED it mustn't actually
pr

nvic: Disable the non-secure HardFault if AIRCR.BFHFNMINS is clear

If AIRCR.BFHFNMINS is clear, then although NonSecure HardFault
can still be pended via SHCSR.HARDFAULTPENDED it mustn't actually
preempt execution. The simple way to achieve this is to clear the
enable bit for it, since the enable bit isn't guest visible.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-15-git-send-email-peter.maydell@linaro.org

show more ...

331f4bae12-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Implement v8M changes to fixed priority exceptions

In v7M, the fixed-priority exceptions are:
Reset: -3
NMI: -2
HardFault: -1

In v8M, this changes because Secure HardFault may need
to be p

nvic: Implement v8M changes to fixed priority exceptions

In v7M, the fixed-priority exceptions are:
Reset: -3
NMI: -2
HardFault: -1

In v8M, this changes because Secure HardFault may need
to be prioritised above NMI:
Reset: -4
Secure HardFault if AIRCR.BFHFNMINS == 1: -3
NMI: -2
Secure HardFault if AIRCR.BFHFNMINS == 0: -1
NonSecure HardFault: -1

Make these changes, including support for changing the
priority of Secure HardFault as AIRCR.BFHFNMINS changes.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-14-git-send-email-peter.maydell@linaro.org

show more ...

94a34abe12-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: In escalation to HardFault, support HF not being priority -1

When escalating to HardFault, we must go into Lockup if we
can't take the synchronous HardFault because the current
execution prior

nvic: In escalation to HardFault, support HF not being priority -1

When escalating to HardFault, we must go into Lockup if we
can't take the synchronous HardFault because the current
execution priority is already at or below the priority of
HardFault. In v7M HF is always priority -1 so a simple < 0
comparison sufficed; in v8M the priority of HardFault can
vary depending on whether it is a Secure or NonSecure
HardFault, so we must check against the priority of the
HardFault exception vector we're about to use.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-13-git-send-email-peter.maydell@linaro.org

show more ...

80ac239012-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Compare group priority for escalation to HF

In armv7m_nvic_set_pending() we have to compare the
priority of an exception against the execution priority
to decide whether it needs to be escalat

nvic: Compare group priority for escalation to HF

In armv7m_nvic_set_pending() we have to compare the
priority of an exception against the execution priority
to decide whether it needs to be escalated to HardFault.
In the specification this is a comparison against the
exception's group priority; for v7M we implemented it
as a comparison against the raw exception priority
because the two comparisons will always give the
same answer. For v8M the existence of AIRCR.PRIS and
the possibility of different PRIGROUP values for secure
and nonsecure exceptions means we need to explicitly
calculate the vector's group priority for this check.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-12-git-send-email-peter.maydell@linaro.org

show more ...

e6a0d35012-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Make SHPR registers banked

Make the set_prio() function take a bool indicating
whether to pend the secure or non-secure version of a banked
interrupt, and use this to implement the correct ban

nvic: Make SHPR registers banked

Make the set_prio() function take a bool indicating
whether to pend the secure or non-secure version of a banked
interrupt, and use this to implement the correct banking
semantics for the SHPR registers.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-11-git-send-email-peter.maydell@linaro.org

show more ...

2fb50a3312-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

nvic: Make set_pending and clear_pending take a secure parameter

Make the armv7m_nvic_set_pending() and armv7m_nvic_clear_pending()
functions take a bool indicating whether to pend the secure
or non

nvic: Make set_pending and clear_pending take a secure parameter

Make the armv7m_nvic_set_pending() and armv7m_nvic_clear_pending()
functions take a bool indicating whether to pend the secure
or non-secure version of a banked interrupt, and update the
callsites accordingly.

In most callsites we can simply pass the correct security
state in; in a couple of cases we use TODO comments to indicate
that we will return the code in a subsequent commit.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1505240046-11454-10-git-send-email-peter.maydell@linaro.org

show more ...

1...<<51525354555657585960>>...74