[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-stable] [PATCH 10/60] pcie_aer: clear cmask for Advanced Error
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-stable] [PATCH 10/60] pcie_aer: clear cmask for Advanced Error Interrupt Message Number |
Date: |
Mon, 4 Feb 2013 12:52:45 +0200 |
On Mon, Feb 04, 2013 at 02:40:20PM +0400, Michael Tokarev wrote:
> From: Jason Baron <address@hidden>
>
> The Advanced Error Interrupt Message Number (bits 31:27 of the Root
> Error Status Register) is updated when the number of msi messages assigned to
> a
> device changes. Migration of windows 7 on q35 chipset failed because the check
> in get_pci_config_device() fails due to cmask being set on these bits. Its
> valid
> to update these bits and we must restore this state across migration.
>
> Signed-off-by: Jason Baron <address@hidden>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> (cherry picked from commit 0e180d9c8a7429c55d23d2e7855f1e490a063aaa)
>
> Signed-off-by: Michael Tokarev <address@hidden>
q35 isn't part of 1.1 so why do we want this patch there?
> ---
> hw/pcie_aer.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/hw/pcie_aer.c b/hw/pcie_aer.c
> index 3b6981c..b04c164 100644
> --- a/hw/pcie_aer.c
> +++ b/hw/pcie_aer.c
> @@ -738,6 +738,11 @@ void pcie_aer_root_init(PCIDevice *dev)
> PCI_ERR_ROOT_CMD_EN_MASK);
> pci_set_long(dev->w1cmask + pos + PCI_ERR_ROOT_STATUS,
> PCI_ERR_ROOT_STATUS_REPORT_MASK);
> + /* PCI_ERR_ROOT_IRQ is RO but devices change it using a
> + * device-specific method.
> + */
> + pci_set_long(dev->cmask + pos + PCI_ERR_ROOT_STATUS,
> + ~PCI_ERR_ROOT_IRQ);
> }
>
> void pcie_aer_root_reset(PCIDevice *dev)
> --
> 1.7.10.4
- [Qemu-stable] [PATCH 02/60] qemu-char: BUGFIX, don't call FD_ISSET with negative fd, (continued)
- [Qemu-stable] [PATCH 02/60] qemu-char: BUGFIX, don't call FD_ISSET with negative fd, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 03/60] use --libexecdir instead of ignoring it first and reinventing it later, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 01/60] tcg/s390: fix ld/st with CONFIG_TCG_PASS_AREG0, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 05/60] fix CONFIG_QEMU_HELPERDIR generation again, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 04/60] configure: Fix CONFIG_QEMU_HELPERDIR generation, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 23/60] hw/qxl: qxl_dirty_surfaces: use uintptr_t, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 54/60] hw/arm_boot.c: Consistently use ram_size from arm_boot_info struct, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 29/60] usb-storage: fix SYNCHRONIZE_CACHE, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 41/60] mips/malta: fix CBUS UART interrupt pin, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 10/60] pcie_aer: clear cmask for Advanced Error Interrupt Message Number, Michael Tokarev, 2013/02/04
- Re: [Qemu-stable] [PATCH 10/60] pcie_aer: clear cmask for Advanced Error Interrupt Message Number,
Michael S. Tsirkin <=
- [Qemu-stable] [PATCH 22/60] uhci: Raise interrupt when requested even for non active tds, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 35/60] s390x: fix -initrd in virtio machine, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 16/60] blockdev: preserve readonly and snapshot states across media changes, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 32/60] qed: refuse unaligned zero writes with a backing file, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 15/60] i386: kvm: bit 10 of CPUID[8000_0001].EDX is reserved, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 47/60] kvm: fix incorrect length in a loop over kvm dirty pages map, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 45/60] e1000: Discard packets that are too long if !SBP and !LPE, Michael Tokarev, 2013/02/04
- [Qemu-stable] [PATCH 46/60] e1000: Discard oversized packets based on SBP|LPE, Michael Tokarev, 2013/02/04