Hi Stefan,
On 2021/2/23 17:40, Stefan Hajnoczi wrote:
> On Fri, Feb 05, 2021 at 06:13:06PM +0800, Jiahui Cen wrote:
>> This patch series propose to extend the werror=/rerror= mechanism to add
>> a 'retry' feature. It can automatically retry failed I/O requests on error
Kindly ping.
Any comments and reviews are wellcome :)
Thanks,
Jiahui
On 2021/2/5 18:13, Jiahui Cen wrote:
> A VM in the cloud environment may use a virutal disk as the backend storage,
> and there are usually filesystems on the virtual block device. When backend
> storage is tempora
Retry should only be triggered when timeout is not reached, so let's check
timeout before retry. Device should also reset retry_start_time after
successful retry.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend.c | 25 +++-
include/s
Mark failed requests as to be retried and implement retry_request_cb to
handle these requests.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
hw/scsi/scsi-disk.c | 16
1 file changed, 16 insertions(+)
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index
Add retry_request_cb in BlockDevOps to do device specific retry action.
Backend's timer would be registered only when the backend is set 'retry'
on errors and the device supports retry action.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend
Move the code that retries requests from scsi_dma_restart_bh() to its own,
non-static, function. This will allow us to call it from the
retry_request_cb() of scsi-disk in a future patch.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
hw/scsi/scsi-bus.c | 16
* Rebase to fix compile problems.
* Fix incorrect remove of rehandle list.
* Provide rehandle pause interface.
REF: https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg06560.html
Jiahui Cen (9):
qapi/block-core: Add retry option for error action
block-backend: Introduce retry timer
block-ba
Add a timer to regularly trigger retry on errors.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend.c | 21
1 file changed, 21 insertions(+)
diff --git a/block/block-backend.c b/block/block-backend.c
index e493f17515..3a9d55cbe3 100644
--- a/block
Add "retry_interval" and "retry_timeout" parameter for drive and device
option. These parameter are valid only when werror/rerror=retry.
eg. --drive file=image,rerror=retry,retry_interval=1000,retry_timeout=5000
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
b
Add a new error action 'retry' to support retry on errors.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
blockdev.c | 2 ++
qapi/block-core.json | 9 +++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index b250b9b959..
Enable retry action when backend's retry timer is available. It would
trigger the timer to do device specific retry action.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/block/block-backend.c b/
Insert failed requests into device's list for later retry and handle
queued requests to implement retry_request_cb.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
hw/block/virtio-blk.c | 21 +---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/hw/
d bus
number into build_crs.
Acked-by: Igor Mammedov
Signed-off-by: Jiahui Cen
---
hw/acpi/aml-build.c | 18 ++
hw/i386/acpi-build.c| 3 ++-
hw/pci-host/gpex-acpi.c | 3 ++-
include/hw/acpi/aml-build.h | 4 +++-
4 files changed, 17 insertions(+), 11 deletions(-)
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: Igor Mammedov
Signed-off-by: Jiahui Cen
---
hw/pci-host/gpex-acpi.c | 64 +---
1 file ch
})
}
+
+If ((Arg2 == 0x05))
+{
+ Return (Zero)
+}
}
Return (Buffer (One)
Acked-by: Igor Mammedov
Signed-off-by: Jiahui Cen
---
tests/data/acpi/microvm/DSDT.pcie
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: Igor Mammedov
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-t
PXB is now supported on ARM, so let's compile for arm_virt machine.
Acked-by: Igor Mammedov
Signed-off-by: Jiahui Cen
---
hw/pci-bridge/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/pci-bridge/Kconfig b/hw/pci-bridge/Kconfig
index a51ec716f5..f8df4315ba 1
Acked-by: Igor Mammedov
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test-allowed-diff.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/tests/qtest/bios-tables-test-allowed-diff.h
b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..42418e58e7 100644
--- a/tests
ff-by: Jiahui Cen
---
hw/pci-host/gpex-acpi.c | 20 ++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
index 11b3db8f71..cb13e75d2f 100644
--- a/hw/pci-host/gpex-acpi.c
+++ b/hw/pci-host/gpex-acpi.c
@@ -112,10 +1
e.kernel.org/qemu-devel/20201217132926.4812-1-cenjia...@huawei.com/
[3]:
https://lore.kernel.org/qemu-devel/dca69f55-dfd1-3f97-dc3f-13eeedec5...@huawei.com/
Acked-by: Igor Mammedov
Signed-off-by: Jiahui Cen
Jiahui Cen (8):
acpi: Allow DSDT acpi table changes
acpi: Fix unmatched expected DSD
,, , AddressRangeMemory, TypeStatic)
+})
Name (SUPP, Zero)
Name (CTRL, Zero)
Method (_OSC, 4, NotSerialized) // _OSC: Operating System
Capabilities
Fixes: fe1127da11 ("unit-test: Add the binary file and clear diff.h")
Acked-by: Igor Ma
Hi Michael,
On 2021/1/13 22:00, Michael S. Tsirkin wrote:
> On Thu, Jan 07, 2021 at 07:40:37PM +0800, Jiahui Cen wrote:
>> Commit fe1127da11 ("unit-test: Add the binary file and clear diff.h") does
>> not
>> use the up-to-date expected file for pxb for ARM virt.
Kindly ping...
Thanks,
Jiahui
On 2021/1/7 19:40, Jiahui Cen wrote:
> This patch series adds some fixes for ARM virt machine pxb support.
> 1. Pass addr offset for IO, MMIO and bus number when builing crs, because
> the addr_trans is needed to describe an addr resource. [1]
> 2. Inf
ne)
{
- 0x01
// .
+ 0x21
// !
})
}
+
+If ((Arg2 == 0x05))
+ {
+Return (Zero)
+
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.
Signed-off-by: Jiahui Cen
---
hw/pci-host/gpex-acpi.c | 64 +---
1 file changed, 43 insertions(+
ze is 0x410 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.
Signed-off-by: Jiahui Cen
---
h
d bus
number into build_crs.
Signed-off-by: Jiahui Cen
---
hw/acpi/aml-build.c | 18 ++
hw/i386/acpi-build.c| 3 ++-
hw/pci-host/gpex-acpi.c | 3 ++-
include/hw/acpi/aml-build.h | 4 +++-
4 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/hw/acp
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.
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test.c | 4
1
0x0080, // Length
+,, , AddressRangeMemory, TypeStatic)
+})
Name (SUPP, Zero)
Name (CTRL, Zero)
Method (_OSC, 4, NotSerialized) // _OSC: Operating System
Capabilities
Fixes: fe1127da11 ("unit-test
PXB is now supported on ARM, so let's compile for arm_virt machine.
Signed-off-by: Jiahui Cen
---
hw/pci-bridge/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/pci-bridge/Kconfig b/hw/pci-bridge/Kconfig
index a51ec716f5..f8df4315ba 100644
--- a/hw/pci-b
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test-allowed-diff.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/tests/qtest/bios-tables-test-allowed-diff.h
b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..42418e58e7 100644
--- a/tests/qtest/bios-tables-test
m/
[3]:
https://lore.kernel.org/qemu-devel/dca69f55-dfd1-3f97-dc3f-13eeedec5...@huawei.com/
Jiahui Cen (8):
acpi: Allow DSDT acpi table changes
acpi: Fix unmatched expected DSDT.pxb file
acpi: Add addr offset in build_crs
acpi/gpex: Inform os to keep firmware resource map
acpi/gpex: Exclude pxb's
On 2021/1/6 21:29, Igor Mammedov wrote:
> On Tue, 5 Jan 2021 09:53:49 +0800
> Jiahui Cen wrote:
>
>> On 2021/1/5 8:35, Igor Mammedov wrote:
>>> On Wed, 30 Dec 2020 16:22:08 -0500
>>> "Michael S. Tsirkin" wrote:
>>>
>>>&g
Hi Kevin,
What do you think of these patches?
Thanks,
Jiahui
On 2020/12/15 20:30, Jiahui Cen wrote:
> A VM in the cloud environment may use a virutal disk as the backend storage,
> and there are usually filesystems on the virtual block device. When backend
> storage is temporarily down
On 2021/1/5 8:35, Igor Mammedov wrote:
> On Wed, 30 Dec 2020 16:22:08 -0500
> "Michael S. Tsirkin" wrote:
>
>> On Tue, Dec 29, 2020 at 02:41:42PM +0100, Igor Mammedov wrote:
>>> On Wed, 23 Dec 2020 17:08:31 +0800
>>> Jiahui Cen wrote:
>>>
On 2020/12/31 5:22, Michael S. Tsirkin wrote:
> On Tue, Dec 29, 2020 at 02:41:42PM +0100, Igor Mammedov wrote:
>> On Wed, 23 Dec 2020 17:08:31 +0800
>> Jiahui Cen wrote:
>>
>>> There may be some differences in pci resource assignment between guest os
>>>
On 2020/12/29 21:50, Igor Mammedov wrote:
> On Wed, 23 Dec 2020 17:08:34 +0800
> Jiahui Cen wrote:
> subj
> s/by default//
> s/enable/compile/
>
>> PXB is now supported on ARM, so let's enable it by default.
> s/it by default/for arm_virt machine/
> s/enab
On 2020/12/31 5:17, Michael S. Tsirkin wrote:
> On Tue, Dec 29, 2020 at 02:47:35PM +0100, Igor Mammedov wrote:
>> On Wed, 23 Dec 2020 17:08:33 +0800
>> Jiahui Cen wrote:
>>
>>> The overlap check of IO resource window would fail when Linux kernel
>>> regis
On 2020/12/29 21:41, Igor Mammedov wrote:
> On Wed, 23 Dec 2020 17:08:31 +0800
> Jiahui Cen wrote:
>
>> There may be some differences in pci resource assignment between guest os
>> and firmware.
>>
>> Eg. A Bridge with Bus [d2]
>> -+-[:d2]---01.0
On 2020/12/29 21:36, Igor Mammedov wrote:
> On Wed, 23 Dec 2020 17:08:30 +0800
> Jiahui Cen wrote:
>
>> AML needs Address Translation offset to describe how a bridge translates
>> addresses accross the bridge when using an address descriptor, and
>> especially on
/20201218062335.5320-1-cenjia...@huawei.com/
Signed-off-by: Jiahui Cen
---
hw/pci-host/gpex-acpi.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
index 4bf1e94309..95a7a0f12b 100644
--- a/hw/pci-host/gpex-acpi.c
0x00401FFF, // Range Maximum
-0x, // Translation Offset
-0x1000, // Length
-,, , AddressRangeMemory, TypeStatic)
-})
-}
}
Device (\_SB.GED)
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.
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test.c | 4
1
.@huawei.com/
[3]: https://lore.kernel.org/lkml/20201218062335.5320-1-cenjia...@huawei.com/
Jiahui Cen (8):
acpi: Allow DSDT acpi table changes
acpi: Add addr offset in build_crs
acpi/gpex: Inform os to keep firmware resource map
acpi/gpex: Exclude pxb's resources from PCI0
acpi/gpe
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test-allowed-diff.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/tests/qtest/bios-tables-test-allowed-diff.h
b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..42418e58e7 100644
--- a/tests/qtest/bios-tables-test
d bus
number into build_crs.
Signed-off-by: Jiahui Cen
---
hw/acpi/aml-build.c | 18 ++
hw/i386/acpi-build.c| 3 ++-
hw/pci-host/gpex-acpi.c | 3 ++-
include/hw/acpi/aml-build.h | 4 +++-
4 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/hw/acp
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.
Signed-off-by: Jiahui Cen
---
hw/pci-host/gpex-acpi.c | 64 +---
1 file changed, 43 insertions(+
ze is 0x410 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.
Signed-off-by: Jiahui Cen
---
h
PXB is now supported on ARM, so let's enable it by default.
Signed-off-by: Jiahui Cen
---
hw/pci-bridge/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/pci-bridge/Kconfig b/hw/pci-bridge/Kconfig
index a51ec716f5..f8df4315ba 100644
--- a/hw/pci-bridge/Kconfig
@ -3058,9 +3030,14 @@
{
Return (Buffer (One)
{
- 0x01
/* . */
+ 0x21
/* ! */
})
}
+
+If (Arg2 == 0x05
d bus
number into build_crs.
Signed-off-by: Jiahui Cen
---
hw/acpi/aml-build.c | 18 ++
hw/i386/acpi-build.c| 3 ++-
hw/pci-host/gpex-acpi.c | 3 ++-
include/hw/acpi/aml-build.h | 4 +++-
4 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/hw/acp
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test-allowed-diff.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/tests/qtest/bios-tables-test-allowed-diff.h
b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..42418e58e7 100644
--- a/tests/qtest/bios-tables-test
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.
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test.c | 4
1
tps://lore.kernel.org/qemu-devel/20201217132926.4812-1-cenjia...@huawei.com/
Jiahui Cen (6):
acpi: Allow DSDT acpi table changes
acpi: Add addr offset in build_crs
acpi/gpex: Inform os to keep firmware resource map
Kconfig: Enable PXB for ARM_VIRT by default
acpi: Enable pxb unit-test for
ze is 0x410 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.
Signed-off-by: Jiahui Cen
---
h
PXB is now supported on ARM, so let's enable it by default.
Signed-off-by: Jiahui Cen
---
hw/pci-bridge/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/pci-bridge/Kconfig b/hw/pci-bridge/Kconfig
index a51ec716f5..f8df4315ba 100644
--- a/hw/pci-bridge/Kconfig
Kindly ping...
On 2020/12/15 20:30, Jiahui Cen wrote:
> A VM in the cloud environment may use a virutal disk as the backend storage,
> and there are usually filesystems on the virtual block device. When backend
> storage is temporarily down, any I/O issued to the virtual block device
>
Hi Michael,
On 2020/12/20 3:06, Michael S. Tsirkin wrote:
> On Fri, Dec 18, 2020 at 01:56:29PM +0800, Jiahui Cen wrote:
>> Hi Michael,
>>
>> On 2020/12/18 4:04, Michael S. Tsirkin wrote:
>>> On Thu, Dec 17, 2020 at 09:29:26PM +0800, Jiahui Cen wrote:
>>>
Hi Michael,
On 2020/12/18 2:32, Michael S. Tsirkin wrote:
> On Thu, Dec 17, 2020 at 09:27:47PM +0800, Jiahui Cen wrote:
>> AML needs Address Translation offset to describe how a bridge translates
>> addresses accross the bridge when using an address descriptor, and
>> e
Hi Michael,
On 2020/12/18 2:29, Michael S. Tsirkin wrote:
> On Thu, Dec 17, 2020 at 09:29:26PM +0800, Jiahui Cen wrote:
>> There may be some differences in pci resource assignment between guest os
>> and firmware.
>>
>> Eg. A Bridge with Bus [d2]
>>
Hi Michael,
On 2020/12/18 4:04, Michael S. Tsirkin wrote:
> On Thu, Dec 17, 2020 at 09:29:26PM +0800, Jiahui Cen wrote:
>> There may be some differences in pci resource assignment between guest os
>> and firmware.
>>
>> Eg. A Bridge with Bus [d2]
>>
+Laszlo
On 2020/12/17 21:29, Jiahui Cen wrote:
> There may be some differences in pci resource assignment between guest os
> and firmware.
>
> Eg. A Bridge with Bus [d2]
> -+-[:d2]---01.0-[d3]01.0
>
> where [d2:01.00] is a pcie-pci-bridge with BAR0 (
differences.
Signed-off-by: Jiahui Cen
---
hw/pci-host/gpex-acpi.c | 11 ++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
index 071aa11b5c..2b490f3379 100644
--- a/hw/pci-host/gpex-acpi.c
+++ b/hw/pci-host/gpex-acpi.c
into build_crs.
Signed-off-by: Jiahui Cen
---
hw/acpi/aml-build.c | 15 ---
hw/i386/acpi-build.c| 3 ++-
hw/pci-host/gpex-acpi.c | 3 ++-
include/hw/acpi/aml-build.h | 4 +++-
4 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/hw/acpi/aml-build.c
Add a timer to regularly trigger retry on errors.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend.c | 21
1 file changed, 21 insertions(+)
diff --git a/block/block-backend.c b/block/block-backend.c
index ce78d30794..fe775ea298 100644
--- a/block
Enable retry action when backend's retry timer is available. It would
trigger the timer to do device specific retry action.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/block/block-backend.c b/
Add retry_request_cb in BlockDevOps to do device specific retry action.
Backend's timer would be registered only when the backend is set 'retry'
on errors and the device supports retry action.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend
Add "retry_interval" and "retry_timeout" parameter for drive and device
option. These parameter are valid only when werror/rerror=retry.
eg. --drive file=image,rerror=retry,retry_interval=1000,retry_timeout=5000
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
b
Retry should only be triggered when timeout is not reached, so let's check
timeout before retry. Device should also reset retry_start_time after
successful retry.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend.c | 25 +++-
include/s
Add a new error action 'retry' to support retry on errors.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
blockdev.c | 2 ++
qapi/block-core.json | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index 412354b4b6..
Insert failed requests into device's list for later retry and handle
queued requests to implement retry_request_cb.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
hw/block/virtio-blk.c | 19 ---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/hw/
g/archive/html/qemu-devel/2020-10/msg06560.html
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
Jiahui Cen (7):
qapi/block-core: Add retry option for error action
block-backend: Introduce retry timer
block-backend: Add device specific retry callback
block-backend: Enable retry actio
Hi Michael,
On 2020/12/2 17:53, Michael S. Tsirkin wrote:
> On Thu, Nov 19, 2020 at 09:48:32AM +0800, Jiahui Cen wrote:
>> Changes with v9
>> v9->v10:
>> Refactor patch2 to drop useless macros and variables.
>> Split patch2 into two patches.
>
> I tagged this
// Range Maximum
0x, // Translation Offset
-0x0100, // Length
+ 0x0080, // Length
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test-allowed-diff.h | 1 +
1 f
.
Signed-off-by: Jiahui Cen
Signed-off-by: Yubo Miao
---
hw/i386/pc.c | 18 +--
hw/nvram/fw_cfg.c | 23
include/hw/nvram/fw_cfg.h | 9
3 files changed, 33 insertions(+), 17 deletions(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index
From: Yubo Miao
Add testcase for pxb to make sure the ACPI table is correct for guest.
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test.c | 58 ++--
1 file changed, 52 insertions(+), 6 deletions(-)
diff --git a/tests/qtest/bios-tables
obtained from the config via two APIs:
pci_bridge_get_base and pci_bridge_get_limit
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
hw/acpi/aml-build.c | 285 +++
hw/i386/acpi-build.c| 293
include/hw/acpi/aml-build.h | 22 ++
3 files
s.
This series of patches make arm to support PXB-PCIE.
Users can configure pxb-pcie with certain numa, Example command
is:
-device pxb-pcie,id=pci.7,bus_nr=128,numa_node=0,bus=pcie.0,addr=0x9
Jiahui Cen (2):
fw_cfg: Refactor extra pci roots addition
hw/arm/virt: Write extra pci roots i
From: Yubo Miao
Add the binary file DSDT.pxb and clear bios-tables-test-allowed-diff.h
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
tests/data/acpi/virt/DSDT.pxb | Bin 0 -> 7802 bytes
tests/qtest/bios-tables-test-allowed-diff.h | 1 -
2 files changed, 1 delet
DSDT.
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
hw/pci-host/gpex-acpi.c | 112 +++-
1 file changed, 63 insertions(+), 49 deletions(-)
diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
index dbb350a837..32a9f2796d 100644
--- a/hw/pci-host/gpex-acpi.c
-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
hw/arm/virt-acpi-build.c | 25
1 file changed, 25 insertions(+)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index e0bed9037c..711cf2069f 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
of devices behind it.
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
hw/arm/virt-acpi-build.c | 6 ++-
hw/pci-host/gpex-acpi.c| 54
include/hw/pci-host/gpex.h | 1 +
3 files changed, 59 insertions(+), 2 deletions(-)
diff --git a/hw/arm/virt-acpi-build.c b/hw
Add bus property to virt machine for primary PCI root bus and use it to add
extra pci roots behind it.
Signed-off-by: Jiahui Cen
Signed-off-by: Yubo Miao
---
hw/arm/virt.c | 7 +--
include/hw/arm/virt.h | 1 +
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/arm
Hi Phil,
On 2020/11/5 5:11, Philippe Mathieu-Daudé wrote:
> Hi Laszlo,
>
> On 11/4/20 9:05 PM, Laszlo Ersek wrote:
>> +Phil, +Gerd
>>
>> On 11/04/20 20:54, Laszlo Ersek wrote:
>>> +Marcel
>>>
>>> On 11/03/20 13:01, Jiahui Cen wrote:
>>
On 2020/11/5 4:05, Laszlo Ersek wrote:
> +Phil, +Gerd
>
> On 11/04/20 20:54, Laszlo Ersek wrote:
>> +Marcel
>>
>> On 11/03/20 13:01, Jiahui Cen wrote:
>>> From: Yubo Miao
>>>
>>> Write the extra roots into the fw_cfg, therefore the uefi
of devices behind it.
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
hw/arm/virt-acpi-build.c | 5 +-
hw/pci-host/gpex-acpi.c | 129 ---
2 files changed, 111 insertions(+), 23 deletions(-)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi
From: Yubo Miao
Add testcase for pxb to make sure the ACPI table is correct for guest.
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test.c | 58 ++
1 file changed, 52 insertions(+), 6 deletions(-)
diff --git a/tests/qtest
// Range Maximum
0x, // Translation Offset
-0x0100, // Length
+ 0x0080, // Length
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
tests/qtest/bios-tables-test-allowed-diff.h | 1 +
1 f
DSDT.
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
hw/pci-host/gpex-acpi.c | 118 +++-
1 file changed, 67 insertions(+), 51 deletions(-)
diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
index dbb350a837..86ddb52cbd 100644
--- a/hw/pci
From: Yubo Miao
Add the binary file DSDT.pxb and clear bios-tables-test-allowed-diff.h
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
tests/data/acpi/virt/DSDT.pxb | Bin 0 -> 7802 bytes
tests/qtest/bios-tables-test-allowed-diff.h | 1 -
2 files changed, 1 delet
From: Yubo Miao
Write the extra roots into the fw_cfg, therefore the uefi could
get the extra roots. Only if the uefi knows there are extra roots,
the config space of devices behind the root could be obtained.
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
hw/arm/virt.c
Changes with v8
v8->v9:
Rebase to master
Changes with v7
v7->v8:
Fix the error:no member named 'fw_cfg' in 'struct PCMachineState'
Changes with v6
v6->v7:
Refactor fw_cfg_write_extra_pci_roots
Add API PCI_GET_PCIE_HOST_STATE
Fix typos
Changes with v5
v5->v6: stat crs_range_insert in aml_build.h
obtained from the config via two APIs:
pci_bridge_get_base and pci_bridge_get_limit
Signed-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
hw/acpi/aml-build.c | 273 +
hw/i386/acpi-build.c| 293
include/hw/acpi/aml
-off-by: Yubo Miao
Signed-off-by: Jiahui Cen
---
hw/arm/virt-acpi-build.c | 25 +
1 file changed, 25 insertions(+)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index fd9c2007c0..7f57ab6938 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi
Give some details about the I/O hang and how to use it.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
docs/io-hang.rst | 45 +
1 file changed, 45 insertions(+)
create mode 100644 docs/io-hang.rst
diff --git a/docs/io-hang.rst b/docs/io
Sometimes hypervisor management tools like libvirt may need to monitor
I/O hang events. Let's report I/O hang and I/O hang timeout event via qapi.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend.c | 3 +++
qapi/block-core.json | 26
Setting a non-zero timeout of I/O hang indicates I/O hang is enabled for the
block backend. And when the block backend is going to be deleted, we should
disable I/O hang.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend.c | 40
I/O hang timeout should be different under different situations. So it is
better to provide an option for user to determine I/O hang timeout for
each block device.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
blockdev.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a
: Jiahui Cen
Signed-off-by: Ying Fang
---
block/block-backend.c | 60 +++---
include/sysemu/block-backend.h | 2 ++
2 files changed, 58 insertions(+), 4 deletions(-)
diff --git a/block/block-backend.c b/block/block-backend.c
index 90fcc678b5..c16d95a2c9 100644
When resetting virtio-blk, we have to drain all AIOs but do not care about the
results. So it is necessary to disable I/O hang before resetting virtio-blk,
and enable it after resetting.
Signed-off-by: Jiahui Cen
Signed-off-by: Ying Fang
---
hw/block/virtio-blk.c | 8
1 file changed
1 - 100 of 114 matches
Mail list logo