- 31 10月, 2016 6 次提交
-
-
由 Yongji Xie 提交于
Now the kernel commit 05f0c03fbac1 ("vfio-pci: Allow to mmap sub-page MMIO BARs if the mmio page is exclusive") allows VFIO to mmap sub-page BARs. This is the corresponding QEMU patch. With those patches applied, we could passthrough sub-page BARs to guest, which can help to improve IO performance for some devices. In this patch, we expand MemoryRegions of these sub-page MMIO BARs to PAGE_SIZE in vfio_pci_write_config(), so that the BARs could be passed to KVM ioctl KVM_SET_USER_MEMORY_REGION with a valid size. The expanding size will be recovered when the base address of sub-page BAR is changed and not page aligned any more in guest. And we also set the priority of these BARs' memory regions to zero in case of overlap with BARs which share the same page with sub-page BARs in guest. Signed-off-by: NYongji Xie <xyjxie@linux.vnet.ibm.com> Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
由 Ido Yariv 提交于
When a PCI device is reset, pci_do_device_reset resets all BAR addresses in the relevant PCIDevice's config buffer. The VFIO configuration space stays untouched, so the guest OS may choose to skip restoring the BAR addresses as they would seem intact. The PCI device may be left non-operational. One example of such a scenario is when the guest exits S3. Fix this by resetting the BAR addresses in the VFIO configuration space as well. Signed-off-by: NIdo Yariv <ido@wizery.com> Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
由 Alex Williamson 提交于
As reported in the link below, user has a PCI device with a 4KB BAR which contains the MSI-X table. This seems to hit a corner case in the kernel where the region reports being mmap capable, but the sparse mmap information reports a zero sized range. It's not entirely clear that the kernel is incorrect in doing this, but regardless, we need to handle it. To do this, fill our mmap array only with non-zero sized sparse mmap entries and add an error return from the function so we can tell the difference between nr_mmaps being zero based on sparse mmap info vs lack of sparse mmap info. NB, this doesn't actually change the behavior of the device, it only removes the scary "Failed to mmap ... Performance may be slow" error message. We cannot currently create an mmap over the MSI-X table. Link: http://lists.nongnu.org/archive/html/qemu-discuss/2016-10/msg00009.htmlSigned-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
由 Alex Williamson 提交于
Setting skip_dump on a MemoryRegion allows us to modify one specific code path, but the restriction we're trying to address encompasses more than that. If we have a RAM MemoryRegion backed by a physical device, it not only restricts our ability to dump that region, but also affects how we should manipulate it. Here we recognize that MemoryRegions do not change to sometimes allow dumps and other times not, so we replace setting the skip_dump flag with a new initializer so that we know exactly the type of region to which we're applying this behavior. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Acked-by: NPaolo Bonzini <pbonzini@redhat.com>
-
由 Pierre Morel 提交于
The instructions PCI STORE, PCI LOAD and PCI STORE BLOCK use calls to memory_region_dispatch_write() and memory_region_dispatch_read() but do not test the return value. Furthermore, the instruction PCI STORE BLOCK sets up a PGM_ADDRESSING exception when the operand 3 is not within the designated PCI address space instead of a PGM_OPERAND exception. Let's setup a PGM_OPERAND exception in all of these failure cases. Signed-off-by: NPierre Morel <pmorel@linux.vnet.ibm.com> Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com>
-
由 Yi Min Zhao 提交于
Let's use the generic interface to inject adapter interrupts. Signed-off-by: NYi Min Zhao <zyimin@linux.vnet.ibm.com> Acked-by: NCornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com>
-
- 29 10月, 2016 13 次提交
-
-
由 Emil Condrea 提交于
Prepare xen_be_del_xendev to be shared with frontends: * xen_be_del_xendev -> xen_pv_del_xendev Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
Prepare xen_be_find_xendev to be shared with frontends: * xen_be_find_xendev -> xen_pv_find_xendev Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
Prepare xen_be_evtchn_event to be shared with frontends: * xen_be_evtchn_event -> xen_pv_evtchn_event Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
Prepare xen_be_send_notify to be shared with frontends: * xen_be_send_notify -> xen_pv_send_notify Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
Prepare xen_be_unbind_evtchn to be shared with frontends: * xen_be_unbind_evtchn -> xen_pv_unbind_evtchn Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
Prepare xen_be_printf to be used by both backend and frontends: * xen_be_printf -> xen_pv_printf Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
The name of the functions moved to xen_pvdev.c: * xenstore_cleanup_dir * xen_config_cleanup * xenstore_mkdir Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
* move xendevs qtail to xen_pvdev.c * change xen_be_get_xendev to use a new function: xen_pv_insert_xendev Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
The name of the functions moved: * xen_be_evtchn_event * xen_be_unbind_evtchn * xen_be_send_notify Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
* xenstore_update -> xen_pvdev.c Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
The purpose of the new file is to store generic functions shared by frontend and backends such as xenstore operations, xendevs. Signed-off-by: NQuan Xu <quan.xu@intel.com> Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
Fixes: * WARNING: line over 80 characters Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
由 Emil Condrea 提交于
Fixes the following errors: * ERROR: line over 90 characters * ERROR: code indent should never use tabs * ERROR: space prohibited after that open square bracket '[' * ERROR: do not initialise statics to 0 or NULL * ERROR: "(foo*)" should be "(foo *)" Signed-off-by: NEmil Condrea <emilcondrea@gmail.com> Signed-off-by: NStefano Stabellini <sstabellini@kernel.org> Signed-off-by: NQuan Xu <xuquan8@huawei.com> Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
-
- 28 10月, 2016 21 次提交
-
-
由 Anand J 提交于
Some files contain multiple #includes of the same header file. Removed most of those unnecessary duplicate entries using scripts/clean-includes. Reviewed-by: NThomas Huth <thuth@redhat.com> Signed-off-by: NAnand J <anand.indukala@gmail.com> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
由 Peter Maydell 提交于
Coverity points out that the comparison "fid <= ZPCI_MAX_FID" in s390_pci_generate_fid() is always true (because fid is 32 bits and ZPCI_MAX_FID is 0xffffffff). This isn't a bug because the real loop termination condition is expressed later via an "if (...) break;" inside the loop, but it is a bit odd. Rephrase the loop to avoid the unnecessary duplicate-but-never-true conditional. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Acked-by: NCornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
由 Akanksha Srivastava 提交于
The *_exitfn functions cannot fail and should not be returning int. This also removes the passthru_exitfn since this callback does nothing as of now. This was suggested as a Bite-sized task for code cleanup. Signed-off-by: NAkanksha Srivastava <akanksha.dlf@gmail.com> Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
由 Michael Walle 提交于
Since the lm32 is a 32 bit architecture, just return a 32 bit value which is then converted to a 64 bit value. Spotted by coverity, CID 1005506. Signed-off-by: NMichael Walle <michael@walle.cc> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
由 Thomas Huth 提交于
The condition '!A || (A && B)' is equivalent to '!A || B'. Buglink: https://bugs.launchpad.net/qemu/+bug/1464611Signed-off-by: NThomas Huth <thuth@redhat.com> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
由 Michael Walle 提交于
Don't truncate the multiplication and do a 64 bit one instead because because the result is stored in a 64 bit variable. Spotted by coverity, CID 1167561. Signed-off-by: NMichael Walle <michael@walle.cc> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
由 Thomas Huth 提交于
The condition '!A || (A && B)' is equivalent to '!A || B' Buglink: https://bugs.launchpad.net/qemu/+bug/1464611Signed-off-by: NThomas Huth <thuth@redhat.com> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
由 Guenter Roeck 提交于
Using the CPU reset handler for resets triggered by writing into gpio pins other than GPIO01 is not appropriate and does not work, since the reset triggered by writing into GPIO01 is configurable. Use a separate reset handler for tosa to reset the entire system and not just the CPU. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Message-id: 1477597646-24111-2-git-send-email-linux@roeck-us.net Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Guenter Roeck 提交于
Using the CPU reset handler for resets triggered by writing into gpio pins other than GPIO01 is not appropriate and does not work, since the reset triggered by writing into GPIO01 is configurable. Use a separate reset handler for spitz to reset the entire system and not just the CPU. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Message-id: 1477597646-24111-1-git-send-email-linux@roeck-us.net Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Wei Huang 提交于
CPU vPMU is now turned ON by default, but this feature wasn't introduced until virt-2.7 machine type. To solve this problem, this patch adds a PMU option in machine state, which is used to control CPU's vPMU status. This PMU option is not exposed to command line and is turned off in virt-2.6 machine type. Reviewed-by: NAndrew Jones <drjones@redhat.com> Signed-off-by: NWei Huang <wei@redhat.com> Message-id: 1477463301-17175-3-git-send-email-wei@redhat.com Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Wei Huang 提交于
This patch adds a pmu=[on/off] option to enable/disable vPMU support in guest vCPU. It allows virt tools, such as libvirt, to determine the exsitence of vPMU and configure it. Note this option is only available for cortex-a57/cortex-53/ host CPUs, but unavailable on ARMv7 and other processors. Also even though "pmu=" option is available for TCG mode, setting it doesn't turn PMU on. Signed-off-by: NWei Huang <wei@redhat.com> Reviewed-by: NAndrew Jones <drjones@redhat.com> Message-id: 1477463301-17175-2-git-send-email-wei@redhat.com Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Prasad J Pandit 提交于
The Cadence UART device emulator stores 'baud rate generator' and 'baud rate divider' values, used in computing speed, in two registers. The device specification defines their range and their reset value. Use their correct value when resetting the device in cadence_uart_reset. Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org> Message-id: 1477378140-2670-1-git-send-email-ppandit@redhat.com Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Jean-Christophe Dubois 提交于
The versatilepb physical address space layout only has a 256MB region for RAM before the devices. Without a guard on the amount of RAM requested by the user we would happily create a RAM area that overlapped with the devices, resulting in very confusing behaviour (typically a guest crash). Report the problem to the user if they try to request more RAM than the board can handle (as we do already for some other board models). Signed-off-by: NJean-Christophe Dubois <jcd@tribudubois.net> Message-id: 20161025093711.17407-1-jcd@tribudubois.net [PMM: tidied up commit message, comments. Use error_report() rather than fprintf(stderr, ...).] Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Guenter Roeck 提交于
The code used default values for PXA270 to configure CCCR. For PXA255, the resulting register value is invalid (unsupported) and resulted in a division by zero in the Linux kernel. Use default values from datasheet instead. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Message-id: 1477361273-18888-1-git-send-email-linux@roeck-us.net [PMM: fixed tabs-vs-spaces nit] Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Guenter Roeck 提交于
Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Message-id: 1477361131-18752-1-git-send-email-linux@roeck-us.net Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Guenter Roeck 提交于
Writing the ISR register is supposed to clear interrupt status bits, not to set them. This patch makes '-M sabrelite' work without devicetree changes (Linux kernel versions 3.18 to 4.7 with imx_v6_v7_defconfig and up to v4.8 with multi_v7_defconfig; mainline has different problems). Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Message-id: 1477361005-18646-1-git-send-email-linux@roeck-us.net Acked-by: NJean-Christophe Dubois <jcd@tribudubois.net> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Paolo Bonzini 提交于
aio_poll is not thread safe; for example bdrv_drain can hang if the last in-flight I/O operation is completed in the I/O thread after the main thread has checked bs->in_flight. The bug remains latent as long as all of it is called within aio_context_acquire/aio_context_release, but this will change soon. To fix this, if bdrv_drain is called from outside the I/O thread, signal the main AioContext through a dummy bottom half. The event loop then only runs in the I/O thread. Reviewed-by: NFam Zheng <famz@redhat.com> Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com> Message-Id: <1477565348-5458-18-git-send-email-pbonzini@redhat.com> Signed-off-by: NFam Zheng <famz@redhat.com>
-
由 Bharata B Rao 提交于
Add support to hot remove pc-dimm memory devices. Since we're introducing a machine-level unplug_request hook, we also had handling for CPU unplug there as well to ensure CPU unplug continues to work as it did before. Signed-off-by: NBharata B Rao <bharata@linux.vnet.ibm.com> * add hooks to CAS/cmdline enablement of hotplug ACR support * add hook for CPU unplug Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au> Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
-
由 Michael Roth 提交于
Commit 0a417869: spapr: Move memory hotplug to RTAS_LOG_V6_HP_ID_DRC_COUNT type dropped per-DRC/per-LMB hotplugs event in favor of a bulk add via a single LMB count value. This was to avoid overrunning the guest EPOW event queue with hotplug events. This works fine, but relies on the guest exhaustively scanning for pluggable LMBs to satisfy the requested count by issuing rtas-get-sensor(DR_ENTITY_SENSE, ...) calls until all the LMBs associated with the DIMM are identified. With newer support for dedicated hotplug event source, this queue exhaustion is no longer as much of an issue due to implementation details on the guest side, but we still try to avoid excessive hotplug events by now supporting both a count and a starting index to avoid unecessary work. This patch makes use of that approach when the capability is available. Cc: bharata@linux.vnet.ibm.com Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au> Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
-
由 Bharata B Rao 提交于
Add support for DRC count indexed hotplug ID type which is primarily needed for memory hot unplug. This type allows for specifying the number of DRs that should be plugged/unplugged starting from a given DRC index. Signed-off-by: NBharata B Rao <bharata@linux.vnet.ibm.com> * updated rtas_event_log_v6_hp to reflect count/index field ordering used in PAPR hotplug ACR Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au> Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
-
由 Michael Roth 提交于
This adds machine options of the form: -machine pseries,modern-hotplug-events=true -machine pseries,modern-hotplug-events=false If false, QEMU will force the use of "legacy" style hotplug events, which are surfaced through EPOW events instead of a dedicated hot plug event source, and lack certain features necessary, mainly, for memory unplug support. If true, QEMU will enable support for "modern" dedicated hot plug event source. Note that we will still default to "legacy" style unless the guest advertises support for the "modern" hotplug events via ibm,client-architecture-support hcall during early boot. For pseries-2.7 and earlier we default to false, for newer machine types we default to true. Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
-