Skip to content
Snippets Groups Projects
  1. Jan 18, 2021
  2. Jan 17, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · e0cbcf1e
      Peter Maydell authored
      
      pc,pci,virtio: fixes, features
      
      Fixes all over the place.
      PXB support for ARM.
      boot index for vhost-user-fs.
      
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Sun 17 Jan 2021 11:44:55 GMT
      # gpg:                using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
      # gpg:                issuer "mst@redhat.com"
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>" [full]
      # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
      #      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469
      
      * remotes/mst/tags/for_upstream:
        acpi: Update _DSM method in expected files
        acpi: Enable pxb unit-test for ARM virt machine
        Kconfig: Compile PXB for ARM_VIRT
        acpi/gpex: Exclude pxb's resources from PCI0
        acpi/gpex: Inform os to keep firmware resource map
        acpi: Add addr offset in build_crs
        acpi: Fix unmatched expected DSDT.pxb file
        acpi: Allow DSDT acpi table changes
        vhost-user-fs: add the "bootindex" property
        pci/shpc: don't push attention button when ejecting powered-off device
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      e0cbcf1e
    • Jiahui Cen's avatar
      acpi: Update _DSM method in expected files · ccee1a81
      Jiahui Cen authored
      
      A new _DSM #5 method is added.
      
      Update expected DSDT files accordingly, and re-enable their testing.
      
      Full diff of changed files disassembly:
      
      tests/data/acpi/microvm/DSDT.pcie.dsl:
      @@ -5,13 +5,13 @@
        *
        * Disassembling to symbolic ASL+ operators
        *
      - * Disassembly of tests/data/acpi/microvm/DSDT.pcie, Thu Jan 14 13:39:35 2021
      + * Disassembly of tests/data/acpi/microvm/DSDT.pcie, Thu Jan 14 13:51:13 2021
        *
        * Original Table Header:
        *     Signature        "DSDT"
      - *     Length           0x00000BCF (3023)
      + *     Length           0x00000BD7 (3031)
        *     Revision         0x02
      - *     Checksum         0x29
      + *     Checksum         0x99
        *     OEM ID           "BOCHS "
        *     OEM Table ID     "BXPCDSDT"
        *     OEM Revision     0x00000001 (1)
      @@ -1302,9 +1302,14 @@
                           {
                               Return (Buffer (One)
                               {
      -                             0x01                                             // .
      +                             0x21                                             // !
                               })
                           }
      +
      +                    If ((Arg2 == 0x05))
      +                    {
      +                        Return (Zero)
      +                    }
                       }
      
                       Return (Buffer (One)
      
      tests/data/acpi/virt/DSDT.dsl:
      @@ -5,13 +5,13 @@
        *
        * Disassembling to symbolic ASL+ operators
        *
      - * Disassembly of tests/data/acpi/virt/DSDT, Thu Jan 14 13:39:35 2021
      + * Disassembly of tests/data/acpi/virt/DSDT, Thu Jan 14 13:51:13 2021
        *
        * Original Table Header:
        *     Signature        "DSDT"
      - *     Length           0x0000144C (5196)
      + *     Length           0x00001454 (5204)
        *     Revision         0x02
      - *     Checksum         0xF0
      + *     Checksum         0x60
        *     OEM ID           "BOCHS "
        *     OEM Table ID     "BXPCDSDT"
        *     OEM Revision     0x00000001 (1)
      @@ -1838,9 +1838,14 @@
                           {
                               Return (Buffer (One)
                               {
      -                             0x01                                             // .
      +                             0x21                                             // !
                               })
                           }
      +
      +                    If ((Arg2 == 0x05))
      +                    {
      +                        Return (Zero)
      +                    }
                       }
      
                       Return (Buffer (One)
      
      tests/data/acpi/virt/DSDT.memhp.dsl:
      @@ -5,13 +5,13 @@
        *
        * Disassembling to symbolic ASL+ operators
        *
      - * Disassembly of tests/data/acpi/virt/DSDT.memhp, Thu Jan 14 13:39:35 2021
      + * Disassembly of tests/data/acpi/virt/DSDT.memhp, Thu Jan 14 13:51:13 2021
        *
        * Original Table Header:
        *     Signature        "DSDT"
      - *     Length           0x0000199D (6557)
      + *     Length           0x000019A5 (6565)
        *     Revision         0x02
      - *     Checksum         0x11
      + *     Checksum         0x90
        *     OEM ID           "BOCHS "
        *     OEM Table ID     "BXPCDSDT"
        *     OEM Revision     0x00000001 (1)
      @@ -1840,9 +1840,14 @@
                           {
                               Return (Buffer (One)
                               {
      -                             0x01                                             // .
      +                             0x21                                             // !
                               })
                           }
      +
      +                    If ((Arg2 == 0x05))
      +                    {
      +                        Return (Zero)
      +                    }
                       }
      
                       Return (Buffer (One)
      
      tests/data/acpi/virt/DSDT.numamem.dsl:
      @@ -5,13 +5,13 @@
        *
        * Disassembling to symbolic ASL+ operators
        *
      - * Disassembly of tests/data/acpi/virt/DSDT.numamem, Thu Jan 14 13:39:35 2021
      + * Disassembly of tests/data/acpi/virt/DSDT.numamem, Thu Jan 14 13:51:13 2021
        *
        * Original Table Header:
        *     Signature        "DSDT"
      - *     Length           0x0000144C (5196)
      + *     Length           0x00001454 (5204)
        *     Revision         0x02
      - *     Checksum         0xF0
      + *     Checksum         0x60
        *     OEM ID           "BOCHS "
        *     OEM Table ID     "BXPCDSDT"
        *     OEM Revision     0x00000001 (1)
      @@ -1838,9 +1838,14 @@
                           {
                               Return (Buffer (One)
                               {
      -                             0x01                                             // .
      +                             0x21                                             // !
                               })
                           }
      +
      +                    If ((Arg2 == 0x05))
      +                    {
      +                        Return (Zero)
      +                    }
                       }
      
                       Return (Buffer (One)
      
      tests/data/acpi/virt/DSDT.pxb.dsl:
      @@ -5,13 +5,13 @@
        *
        * Disassembling to symbolic ASL+ operators
        *
      - * Disassembly of tests/data/acpi/virt/DSDT.pxb, Thu Jan 14 13:39:35 2021
      + * Disassembly of tests/data/acpi/virt/DSDT.pxb, Thu Jan 14 13:51:13 2021
        *
        * Original Table Header:
        *     Signature        "DSDT"
      - *     Length           0x00001DF9 (7673)
      + *     Length           0x00001E09 (7689)
        *     Revision         0x02
      - *     Checksum         0x42
      + *     Checksum         0x30
        *     OEM ID           "BOCHS "
        *     OEM Table ID     "BXPCDSDT"
        *     OEM Revision     0x00000001 (1)
      @@ -1810,9 +1810,14 @@
                           {
                               Return (Buffer (One)
                               {
      -                             0x01                                             // .
      +                             0x21                                             // !
                               })
                           }
      +
      +                    If ((Arg2 == 0x05))
      +                    {
      +                        Return (Zero)
      +                    }
                       }
      
                       Return (Buffer (One)
      @@ -3025,9 +3030,14 @@
                           {
                               Return (Buffer (One)
                               {
      -                             0x01                                             // .
      +                             0x21                                             // !
                               })
                           }
      +
      +                    If ((Arg2 == 0x05))
      +                    {
      +                        Return (Zero)
      +                    }
                       }
      
                       Return (Buffer (One)
      
      Acked-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarJiahui Cen <cenjiahui@huawei.com>
      Message-Id: <20210114100643.10617-9-cenjiahui@huawei.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      ccee1a81
    • Jiahui Cen's avatar
      acpi: Enable pxb unit-test for ARM virt machine · f698a88a
      Jiahui Cen authored
      
      No matter whether the pxb is enabled or not, the CONFIG_PXB macro in test
      would keep undefined. And since pxb is now enabled for ARM Virt machine
      by default, let's enable pxb unit-test by removing the CONFIG_PXB.
      
      Acked-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarJiahui Cen <cenjiahui@huawei.com>
      Message-Id: <20210114100643.10617-8-cenjiahui@huawei.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      f698a88a
    • Jiahui Cen's avatar
      Kconfig: Compile PXB for ARM_VIRT · cc9346e4
      Jiahui Cen authored
      
      PXB is now supported on ARM, so let's compile for arm_virt machine.
      
      Acked-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarJiahui Cen <cenjiahui@huawei.com>
      Message-Id: <20210114100643.10617-7-cenjiahui@huawei.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      cc9346e4
    • Jiahui Cen's avatar
      acpi/gpex: Exclude pxb's resources from PCI0 · aee519c2
      Jiahui Cen authored
      
      Exclude the resources of extra root bridges from PCI0's _CRS. Otherwise,
      the resource windows would overlap in guest, and the IO resource window
      would fail to be registered.
      
      Acked-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarJiahui Cen <cenjiahui@huawei.com>
      Message-Id: <20210114100643.10617-6-cenjiahui@huawei.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      aee519c2
    • Jiahui Cen's avatar
      acpi/gpex: Inform os to keep firmware resource map · 0cf8882f
      Jiahui Cen authored
      
      There may be some differences in pci resource assignment between guest os
      and firmware.
      
      Eg. A Bridge with Bus [d2]
          -+-[0000:d2]---01.0-[d3]----01.0
      
          where [d2:01.00] is a pcie-pci-bridge with BAR0 (mem, 64-bit, non-pref) [size=256]
                [d3:01.00] is a PCI Device with BAR0 (mem, 64-bit, pref) [size=128K]
                                                BAR4 (mem, 64-bit, pref) [size=64M]
      
          In EDK2, the Resource Map would be:
              PciBus: Resource Map for Bridge [D2|01|00]
              Type = PMem64; Base = 0x8004000000;     Length = 0x4100000;     Alignment = 0x3FFFFFF
                 Base = 0x8004000000; Length = 0x4000000;     Alignment = 0x3FFFFFF;  Owner = PCI [D3|01|00:20]
                 Base = 0x8008000000; Length = 0x20000;       Alignment = 0x1FFFF;    Owner = PCI [D3|01|00:10]
              Type =  Mem64; Base = 0x8008100000;     Length = 0x100; Alignment = 0xFFF
          It would use 0x4100000 to calculate the root bus's PMem64 resource window.
      
          While in Linux, kernel will use 0x1FFFFFF as the alignment to calculate
          the PMem64 size, which would be 0x6000000. So kernel would try to
          allocate 0x6000000 from the PMem64 resource window, but since the window
          size is 0x4100000 as assigned by EDK2, the allocation would fail.
      
      The diffences could result in resource assignment failure.
      
      Using _DSM #5 method to inform guest os not to ignore the PCI configuration
      that firmware has done at boot time could handle the differences.
      
      Acked-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarJiahui Cen <cenjiahui@huawei.com>
      Message-Id: <20210114100643.10617-5-cenjiahui@huawei.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      0cf8882f
    • Jiahui Cen's avatar
      acpi: Add addr offset in build_crs · e41ee855
      Jiahui Cen authored
      
      AML needs Address Translation offset to describe how a bridge translates
      addresses accross the bridge when using an address descriptor, and
      especially on ARM, the translation offset of pio resource is usually
      non zero.
      
      Therefore, it's necessary to pass offset for pio, mmio32, mmio64 and bus
      number into build_crs.
      
      Acked-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarJiahui Cen <cenjiahui@huawei.com>
      Message-Id: <20210114100643.10617-4-cenjiahui@huawei.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      e41ee855
    • Jiahui Cen's avatar
      acpi: Fix unmatched expected DSDT.pxb file · 4c4465ff
      Jiahui Cen authored
      
      Commit fe1127da ("unit-test: Add the binary file and clear diff.h") does
      not use the up-to-date expected file for pxb for ARM virt.
      
      Fix the expected DSDT.pxb file.
      
      Full diff of changed file disassembly:
      
      @@ -5,13 +5,13 @@
        *
        * Disassembling to symbolic ASL+ operators
        *
      - * Disassembly of tests/data/acpi/virt/DSDT.pxb, Thu Jan 14 09:33:09 2021
      + * Disassembly of tests/data/acpi/virt/DSDT.pxb, Thu Jan 14 13:34:47 2021
        *
        * Original Table Header:
        *     Signature        "DSDT"
      - *     Length           0x00001E7A (7802)
      + *     Length           0x00001DF9 (7673)
        *     Revision         0x02
      - *     Checksum         0x57
      + *     Checksum         0x42
        *     OEM ID           "BOCHS "
        *     OEM Table ID     "BXPCDSDT"
        *     OEM Revision     0x00000001 (1)
      @@ -45,32 +45,6 @@
                   })
               }
      
      -        Device (FLS0)
      -        {
      -            Name (_HID, "LNRO0015")  // _HID: Hardware ID
      -            Name (_UID, Zero)  // _UID: Unique ID
      -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
      -            {
      -                Memory32Fixed (ReadWrite,
      -                    0x00000000,         // Address Base
      -                    0x04000000,         // Address Length
      -                    )
      -            })
      -        }
      -
      -        Device (FLS1)
      -        {
      -            Name (_HID, "LNRO0015")  // _HID: Hardware ID
      -            Name (_UID, One)  // _UID: Unique ID
      -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
      -            {
      -                Memory32Fixed (ReadWrite,
      -                    0x04000000,         // Address Base
      -                    0x04000000,         // Address Length
      -                    )
      -            })
      -        }
      -
               Device (FWCF)
               {
                   Name (_HID, "QEMU0002")  // _HID: Hardware ID
      @@ -665,9 +639,6 @@
               {
                   Name (_HID, "PNP0A08" /* PCI Express Bus */)  // _HID: Hardware ID
                   Name (_CID, "PNP0A03" /* PCI Bus */)  // _CID: Compatible ID
      -            Name (_ADR, Zero)  // _ADR: Address
      -            Name (_CCA, One)  // _CCA: Cache Coherency Attribute
      -            Name (_SEG, Zero)  // _SEG: PCI Segment
                   Name (_BBN, 0x80)  // _BBN: BIOS Bus Number
                   Name (_UID, 0x80)  // _UID: Unique ID
                   Name (_STR, Unicode ("pxb Device"))  // _STR: Description String
      @@ -1857,7 +1828,7 @@
                   Name (_CID, "PNP0A03" /* PCI Bus */)  // _CID: Compatible ID
                   Name (_SEG, Zero)  // _SEG: PCI Segment
                   Name (_BBN, Zero)  // _BBN: BIOS Bus Number
      -            Name (_UID, "PCI0")  // _UID: Unique ID
      +            Name (_UID, Zero)  // _UID: Unique ID
                   Name (_STR, Unicode ("PCIe 0 Device"))  // _STR: Description String
                   Name (_CCA, One)  // _CCA: Cache Coherency Attribute
                   Name (_PRT, Package (0x80)  // _PRT: PCI Routing Table
      @@ -2983,41 +2954,37 @@
                       Return (0x0000004010000000)
                   }
      
      -            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
      +            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                   {
      -                Return (ResourceTemplate ()
      -                {
      -                    WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
      -                        0x0000,             // Granularity
      -                        0x0000,             // Range Minimum
      -                        0x007F,             // Range Maximum
      -                        0x0000,             // Translation Offset
      -                        0x0080,             // Length
      -                        ,, )
      -                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
      -                        0x00000000,         // Granularity
      -                        0x10000000,         // Range Minimum
      -                        0x3EFEFFFF,         // Range Maximum
      -                        0x00000000,         // Translation Offset
      -                        0x2EFF0000,         // Length
      -                        ,, , AddressRangeMemory, TypeStatic)
      -                    DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
      -                        0x00000000,         // Granularity
      -                        0x00000000,         // Range Minimum
      -                        0x0000FFFF,         // Range Maximum
      -                        0x3EFF0000,         // Translation Offset
      -                        0x00010000,         // Length
      -                        ,, , TypeStatic, DenseTranslation)
      -                    QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
      -                        0x0000000000000000, // Granularity
      -                        0x0000008000000000, // Range Minimum
      -                        0x000000FFFFFFFFFF, // Range Maximum
      -                        0x0000000000000000, // Translation Offset
      -                        0x0000008000000000, // Length
      -                        ,, , AddressRangeMemory, TypeStatic)
      -                })
      -            }
      -
      +                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
      +                    0x0000,             // Granularity
      +                    0x0000,             // Range Minimum
      +                    0x007F,             // Range Maximum
      +                    0x0000,             // Translation Offset
      +                    0x0080,             // Length
      +                    ,, )
      +                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
      +                    0x00000000,         // Granularity
      +                    0x10000000,         // Range Minimum
      +                    0x3EFEFFFF,         // Range Maximum
      +                    0x00000000,         // Translation Offset
      +                    0x2EFF0000,         // Length
      +                    ,, , AddressRangeMemory, TypeStatic)
      +                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
      +                    0x00000000,         // Granularity
      +                    0x00000000,         // Range Minimum
      +                    0x0000FFFF,         // Range Maximum
      +                    0x3EFF0000,         // Translation Offset
      +                    0x00010000,         // Length
      +                    ,, , TypeStatic, DenseTranslation)
      +                QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
      +                    0x0000000000000000, // Granularity
      +                    0x0000008000000000, // Range Minimum
      +                    0x000000FFFFFFFFFF, // Range Maximum
      +                    0x0000000000000000, // Translation Offset
      +                    0x0000008000000000, // Length
      +                    ,, , AddressRangeMemory, TypeStatic)
      +            })
                   Name (SUPP, Zero)
                   Name (CTRL, Zero)
                   Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
      
      Fixes: fe1127da ("unit-test: Add the binary file and clear diff.h")
      Acked-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarJiahui Cen <cenjiahui@huawei.com>
      Message-Id: <20210114100643.10617-3-cenjiahui@huawei.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      4c4465ff
    • Jiahui Cen's avatar
      acpi: Allow DSDT acpi table changes · 6f9ec653
      Jiahui Cen authored
      
      Acked-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarJiahui Cen <cenjiahui@huawei.com>
      Message-Id: <20210114100643.10617-2-cenjiahui@huawei.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      6f9ec653
  3. Jan 15, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kraxel/tags/audio-20210115-pull-request' into staging · 825a215c
      Peter Maydell authored
      
      audio: improvements for sdl, pulse, fsound.
      audio: cleanups & codestyle fixes.
      
      # gpg: Signature made Fri 15 Jan 2021 13:20:56 GMT
      # gpg:                using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/audio-20210115-pull-request: (30 commits)
        audio: space prohibited between function name and parenthesis'('
        audio: Suspect code indent for conditional statements
        audio: Don't use '%#' in format strings
        audio: Fix lines over 90 characters
        audio: foo* bar" should be "foo *bar".
        audio: Add spaces around operator/delete redundant spaces
        audio: Add braces for statements/fix braces' position
        dsoundaudio: fix log message
        dsoundaudio: enable f32 audio sample format
        dsoundaudio: rename dsound_open()
        dsoundaudio: replace GetForegroundWindow()
        paaudio: send recorded data in smaller chunks
        paaudio: limit minreq to 75% of audio timer_rate
        paaudio: comment bugs in functions qpa_init_*
        paaudio: remove unneeded code
        paaudio: wait until the playback stream is ready
        paaudio: wait for PA_STREAM_READY in qpa_write()
        paaudio: avoid to clip samples multiple times
        audio: remove remaining unused plive code
        sdlaudio: enable (in|out).mixing-engine=off
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      825a215c
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kraxel/tags/ui-20210115-pull-request' into staging · 7cb6b973
      Peter Maydell authored
      
      ui/gtk: refresh rate fixes.
      ui/vnc: add support for desktop resize and power contol.
      ui/vnc: misc bugfixes.
      
      # gpg: Signature made Fri 15 Jan 2021 10:24:10 GMT
      # gpg:                using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/ui-20210115-pull-request:
        vnc: add support for extended desktop resize
        vnc: move initialization to framebuffer_update_request
        vnc: move check into vnc_cursor_define
        vnc: Fix a memleak in vnc_display_connect()
        ui: add support for remote power control to VNC server
        vnc: fix unfinalized tlscreds for VncDisplay
        ui/gtk: update monitor interval on egl displays
        ui/gtk: expose gd_monitor_update_interval
        ui/gtk: limit virtual console max update interval
        ui/gtk: rename variable window to widget
        ui/gtk: don't try to redefine SI prefixes
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      7cb6b973
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/gkurz-gitlab/tags/9p-next-2021-01-15' into staging · a968a380
      Peter Maydell authored
      
      Fix for CVE-2021-20181
      
      # gpg: Signature made Fri 15 Jan 2021 08:52:19 GMT
      # gpg:                using RSA key B4828BAF943140CEF2A3491071D4D5E5822F73D6
      # gpg: Good signature from "Greg Kurz <groug@kaod.org>" [full]
      # gpg:                 aka "Gregory Kurz <gregory.kurz@free.fr>" [full]
      # gpg:                 aka "[jpeg image of size 3330]" [full]
      # Primary key fingerprint: B482 8BAF 9431 40CE F2A3  4910 71D4 D5E5 822F 73D6
      
      * remotes/gkurz-gitlab/tags/9p-next-2021-01-15:
        9pfs: Fully restart unreclaim loop (CVE-2021-20181)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      a968a380
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/philmd-gitlab/tags/mips-20210114' into staging · 256af05f
      Peter Maydell authored
      
      MIPS patches queue
      
      - Simplify CPU/ISA definitions
      - Various maintenance code movements in translate.c
      - Convert part of the MSA ASE instructions to decodetree
      - Convert some instructions removed from Release 6 to decodetree
      - Remove deprecated 'fulong2e' machine alias
      
      # gpg: Signature made Thu 14 Jan 2021 16:16:29 GMT
      # gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
      # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
      # Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE
      
      * remotes/philmd-gitlab/tags/mips-20210114: (69 commits)
        docs/system: Remove deprecated 'fulong2e' machine alias
        target/mips: Remove vendor specific CPU definitions
        target/mips: Remove CPU_NANOMIPS32 definition
        target/mips: Remove CPU_R5900 definition
        target/mips: Convert Rel6 LL/SC opcodes to decodetree
        target/mips: Convert Rel6 LLD/SCD opcodes to decodetree
        target/mips: Convert Rel6 LDL/LDR/SDL/SDR opcodes to decodetree
        target/mips: Convert Rel6 LWLE/LWRE/SWLE/SWRE opcodes to decodetree
        target/mips: Convert Rel6 LWL/LWR/SWL/SWR opcodes to decodetree
        target/mips: Convert Rel6 CACHE/PREF opcodes to decodetree
        target/mips: Convert Rel6 COP1X opcode to decodetree
        target/mips: Convert Rel6 Special2 opcode to decodetree
        target/mips: Remove now unreachable LSA/DLSA opcodes code
        target/mips: Introduce decodetree helpers for Release6 LSA/DLSA opcodes
        target/mips: Introduce decodetree helpers for MSA LSA/DLSA opcodes
        target/mips: Extract LSA/DLSA translation generators
        target/mips: Use decode_ase_msa() generated from decodetree
        target/mips: Introduce decode tree bindings for MSA ASE
        target/mips: Pass TCGCond argument to MSA gen_check_zero_element()
        target/mips: Extract MSA translation routines
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      256af05f
    • Zhang Han's avatar
      audio: space prohibited between function name and parenthesis'(' · 8abf3feb
      Zhang Han authored
      
      Delete spaces between function name and open parenthesis'('
      
      Signed-off-by: default avatarZhang Han <zhanghan64@huawei.com>
      Message-id: 20210115012431.79533-1-zhanghan64@huawei.com
      Message-Id: <20210115012431.79533-8-zhanghan64@huawei.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      8abf3feb
    • Zhang Han's avatar
      audio: Suspect code indent for conditional statements · 289db3c5
      Zhang Han authored
      
      Fix code indent.
      
      Signed-off-by: default avatarZhang Han <zhanghan64@huawei.com>
      Message-id: 20210115012431.79533-1-zhanghan64@huawei.com
      Message-Id: <20210115012431.79533-7-zhanghan64@huawei.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      289db3c5
    • Zhang Han's avatar
      audio: Don't use '%#' in format strings · dea7d84f
      Zhang Han authored
      
      Use '0x' prefix instead of '%#'
      
      Signed-off-by: default avatarZhang Han <zhanghan64@huawei.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20210115012431.79533-1-zhanghan64@huawei.com
      Message-Id: <20210115012431.79533-6-zhanghan64@huawei.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      dea7d84f
    • Zhang Han's avatar
      audio: Fix lines over 90 characters · c60840c7
      Zhang Han authored
      
      Fix the line width of code.
      
      Signed-off-by: default avatarZhang Han <zhanghan64@huawei.com>
      Message-id: 20210115012431.79533-1-zhanghan64@huawei.com
      Message-Id: <20210115012431.79533-5-zhanghan64@huawei.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      c60840c7
    • Zhang Han's avatar
      audio: foo* bar" should be "foo *bar". · dcf10e40
      Zhang Han authored
      
      transfer "foo* " to "foo *"
      
      Signed-off-by: default avatarZhang Han <zhanghan64@huawei.com>
      Message-id: 20210115012431.79533-1-zhanghan64@huawei.com
      Message-Id: <20210115012431.79533-4-zhanghan64@huawei.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      dcf10e40
    • Zhang Han's avatar
      audio: Add spaces around operator/delete redundant spaces · 3c8de96c
      Zhang Han authored
      
      Fix problems about spaces:
      -operator needs spaces around it, add them.
      -somespaces are redundant, remove them.
      
      Signed-off-by: default avatarZhang Han <zhanghan64@huawei.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20210115012431.79533-1-zhanghan64@huawei.com
      Message-Id: <20210115012431.79533-3-zhanghan64@huawei.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      3c8de96c
    • Zhang Han's avatar
      audio: Add braces for statements/fix braces' position · 6c6886bd
      Zhang Han authored
      
      Fix problems about braces:
      -braces are necessary for all arms of if/for/while statements
      -else should follow close brace '}'
      
      Signed-off-by: default avatarZhang Han <zhanghan64@huawei.com>
      Message-id: 20210115012431.79533-1-zhanghan64@huawei.com
      Message-Id: <20210115012431.79533-2-zhanghan64@huawei.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      6c6886bd
    • Volker Rümelin's avatar
      dsoundaudio: fix log message · 2d96a005
      Volker Rümelin authored
      
      There is a mismatch between message and used argument. Change
      the argument from frequency to format.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-23-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      2d96a005
    • Volker Rümelin's avatar
      dsoundaudio: enable f32 audio sample format · 11575061
      Volker Rümelin authored
      
      Enable the f32 audio sample format for the DirectSound backend.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-22-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      11575061
    • Volker Rümelin's avatar
      dsoundaudio: rename dsound_open() · 3c18e431
      Volker Rümelin authored
      
      Rename dsound_open() to dsound_set_cooperative_level(). The
      only task of that function is to set the cooperative level for
      DirectSound.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-21-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      3c18e431
    • Volker Rümelin's avatar
      dsoundaudio: replace GetForegroundWindow() · 401dcf05
      Volker Rümelin authored
      
      GetForegroundWindow() doesn't necessarily return the own window
      handle. It just returns a handle to the currently active window
      and can even return NULL. At the time dsound_open() gets called
      the active window is most likely the shell window and not the
      QEMU window.
      
      Replace GetForegroundWindow() with GetDesktopWindow() which
      always returns a valid window handle, and at the same time
      replace the DirectSound buffer flag DSBCAPS_STICKYFOCUS with
      DSBCAPS_GLOBALFOCUS where Windows only expects a valid window
      handle for DirectSound function SetCooperativeLevel(). The
      Microsoft online docs for IDirectSound::SetCooperativeLevel
      recommend this in the remarks.
      
      This fixes a bug where you can't hear sound from the guest.
      
      To reproduce start qemu with -machine pcspk-audiodev=audio0
      -device intel-hda -device hda-duplex,audiodev=audio0
      -audiodev dsound,id=audio0,out.mixing-engine=off
      from a shell and start audio playback with the hda device in the
      guest. The guest will be silent. To hear guest audio you have to
      activate the shell window once.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-20-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      401dcf05
    • Volker Rümelin's avatar
      paaudio: send recorded data in smaller chunks · d9a8b27a
      Volker Rümelin authored
      
      Tell PulseAudio to send recorded audio data in smaller chunks
      than timer_period, so there's a good chance that qemu can read
      recorded audio data every time it looks for new data.
      
      PulseAudio tries to send buffer updates at a fragsize / 2 rate.
      With fragsize = timer_period / 2 * 3 the update rate is 75% of
      timer_period. The lower limit for the recording buffer size
      maxlength is fragsize * 2.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-19-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      d9a8b27a
    • Volker Rümelin's avatar
      paaudio: limit minreq to 75% of audio timer_rate · 00413ed9
      Volker Rümelin authored
      
      Currently with the playback buffer attribute minreq = -1 and flag
      PA_STREAM_EARLY_REQUESTS PulseAudio uses minreq = tlength / 4.
      To improve audio playback with larger PulseAudio server side
      buffers, limit minreq to a maximum of 75% of audio timer_rate.
      That way there is a good chance qemu receives a stream buffer
      size update before it tries to write data to the playback stream.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-18-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      00413ed9
    • Volker Rümelin's avatar
      paaudio: comment bugs in functions qpa_init_* · cffd2fdf
      Volker Rümelin authored
      
      The audio buffer size in audio/paaudio.c is typically larger
      than expected. Just comment the bugs in qpa_init_in() and
      qpa_init_out() for now. Fixing these bugs may break glitch free
      audio playback with fine tuned user audio settings.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-17-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      cffd2fdf
    • Volker Rümelin's avatar
      paaudio: remove unneeded code · 521ce714
      Volker Rümelin authored
      
      Commit baea032e "audio/paaudio: fix ignored buffer_length setting"
      added code to handle buffer_length defaults. This was unnecessary
      because the audio_buffer_* functions in audio/audio.c already handle
      this. Remove the unneeded code.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-16-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      521ce714
    • Volker Rümelin's avatar
      paaudio: wait until the playback stream is ready · 7007cd3f
      Volker Rümelin authored
      
      Don't call pa_stream_writable_size() in qpa_get_buffer_out()
      before the playback stream is ready. This prevents a lot of the
      following pulseaudio error messages.
      
      pulseaudio: pa_stream_writable_size failed
      pulseaudio: Reason: Bad state
      
      To reproduce start qemu with
      -parallel none -device gus,audiodev=audio0 -audiodev pa,id=audio0
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-15-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      7007cd3f
    • Volker Rümelin's avatar
      paaudio: wait for PA_STREAM_READY in qpa_write() · e270c548
      Volker Rümelin authored
      
      Don't call pa_stream_writable_size() in qpa_write() before the
      playback stream is ready. This prevents a lot of the following
      pulseaudio error messages.
      
      pulseaudio: pa_stream_writable_size failed
      pulseaudio: Reason: Bad state
      
      To reproduce start qemu with
      -parallel none -device gus,audiodev=audio0
      -audiodev pa,id=audio0,out.mixing-engine=off
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-14-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      e270c548
    • Volker Rümelin's avatar
      paaudio: avoid to clip samples multiple times · bea29e9f
      Volker Rümelin authored
      
      The pulseaudio backend currently converts, clips and copies audio
      playback samples in the mixing-engine sample buffer multiple
      times.
      
      In qpa_get_buffer_out() the function pa_stream_begin_write()
      returns a rather large buffer and this allows audio_pcm_hw_run_out()
      in audio/audio.c to copy all samples in the mixing-engine buffer
      to the pulse audio buffer. Immediately after copying, qpa_write()
      notices with a call to pa_stream_writable_size() that pulse audio
      only needs a smaller part of the copied samples and ignores the
      rest. This copy and ignore process happens several times for each
      audio sample.
      
      To fix this behaviour, call pa_stream_writable_size() in
      qpa_get_buffer_out() to limit the number of samples
      audio_pcm_hw_run_out() will convert. With this change the
      pulseaudio pcm_ops functions put_buffer_out and write are no
      longer identical and a separate qpa_put_buffer_out is needed.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-13-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      bea29e9f
    • Volker Rümelin's avatar
      audio: remove remaining unused plive code · 6fb0cd50
      Volker Rümelin authored
      
      Commit 73ad33ef "audio: remove plive" forgot to remove this code.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-12-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      6fb0cd50
    • Volker Rümelin's avatar
      sdlaudio: enable (in|out).mixing-engine=off · bd37ede4
      Volker Rümelin authored
      
      Enable the SDL2 backend options -audiodev sdl,out.mixing-
      engine=off,in.mixing-engine=off.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-11-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      bd37ede4
    • Volker Rümelin's avatar
      audio: break generic buffer dependency on mixing-engine · 1d8549ad
      Volker Rümelin authored
      
      Break the unnecessary dependency of the generic buffer management
      code on mixing-engine. This is required for the next patch.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-10-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      1d8549ad
    • Volker Rümelin's avatar
      sdlaudio: add recording functions · c2031dea
      Volker Rümelin authored
      
      Add audio recording functions. SDL 2.0.5 or later is required to
      use the recording functions. Playback continues to work with
      earlier SDL 2.0 versions.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-9-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      c2031dea
    • Volker Rümelin's avatar
      audio: split pcm_ops function get_buffer_in · a2893c83
      Volker Rümelin authored
      
      Split off pcm_ops function run_buffer_in from get_buffer_in and
      call run_buffer_in before get_buffer_in.
      
      The next patch only needs the generic buffer management part
      from audio_generic_get_buffer_in().
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
      Message-Id: <20210110100239.27588-8-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      a2893c83
Loading