Hi Thomas On Fri, Nov 3, 2017 at 1:01 PM, Thomas Huth <[email protected]> wrote: > On 03.11.2017 12:49, Marc-André Lureau wrote: >> Hi Daniel >> >> On Fri, Oct 27, 2017 at 8:17 PM, Daniel Henrique Barboza >> <[email protected]> wrote: >>> The device vmcoreinfo depends on the fw_cfg device to work, a device >>> that isn't available in most ppc64 machines. This makes device-crash-test >>> spams the following error when running with qemu-system-ppc64: >>> >>> "INFO: log: qemu-system-ppc64: -device vmcoreinfo: vmcoreinfo device >>> requires fw_cfg with DMA" >>> >>> To fix it, this patch adds the following ppc64 machines into the >>> error_whitelist for the vmcoreinfo device: >>> >>> - pseries.* >>> - 40p >>> - bamboo >>> - g3beige >>> - mac99 >>> - mpc8544ds >>> - powernv >>> - ppce500 >>> - prep >>> - virtex-ml507 >>> >>> After this patch, the only ppc64 machine that reports error on the >>> vmcoreinfo device is the 'none' type. >>> >>> Signed-off-by: Daniel Henrique Barboza <[email protected]> >>> --- >>> scripts/device-crash-test | 12 ++++++++++++ >>> 1 file changed, 12 insertions(+) >>> >>> diff --git a/scripts/device-crash-test b/scripts/device-crash-test >>> index 043b24a4aa..fb8a43d679 100755 >>> --- a/scripts/device-crash-test >>> +++ b/scripts/device-crash-test >>> @@ -163,6 +163,18 @@ ERROR_WHITELIST = [ >>> # "spapr-cpu-core needs a pseries machine" >>> {'machine':'(?!pseries).*', 'device':'.*-spapr-cpu-core', >>> 'expected':True}, >>> >>> + # vmcoreinfo requires a fw_cfg device and will fail in these ppc64 >>> machines >>> + {'machine':'pseries.*', 'device':'vmcoreinfo', 'expected':True}, >>> + {'machine':'40p', 'device':'vmcoreinfo', 'expected':True}, >>> + {'machine':'bamboo', 'device':'vmcoreinfo', 'expected':True}, >>> + {'machine':'g3beige', 'device':'vmcoreinfo', 'expected':True}, >>> + {'machine':'mac99', 'device':'vmcoreinfo', 'expected':True}, >>> + {'machine':'mpc8544ds', 'device':'vmcoreinfo', 'expected':True}, >>> + {'machine':'powernv', 'device':'vmcoreinfo', 'expected':True}, >>> + {'machine':'ppce500', 'device':'vmcoreinfo', 'expected':True}, >>> + {'machine':'prep', 'device':'vmcoreinfo', 'expected':True}, >>> + {'machine':'virtex-ml507', 'device':'vmcoreinfo', 'expected':True}, >> >> You could try to make it fit on one line with >> r"(pseries.*|40p|bamboo|...)". Declaring a ppc64_machines before would >> probably help too. >> >> Any idea for an alternative vmcoreinfo device approach on ppc64? > > It's not only about ppc64 - this problem exists also on most other > targets, e.g.: > > $ m68k-softmmu/qemu-system-m68k -M none -device vmcoreinfo > qemu-system-m68k: -device vmcoreinfo: vmcoreinfo device requires fw_cfg > with DMA > > So for the device-crash-test script, I think it would make more sense to > add a generic, machine-independent entry for this. > > Additionally, I think it's also a bad idea to blindly add this > vmcoreinfo device to all targets! We should only add it to the targets > that actually feature the fw_cfg device with DMA, so we need a proper > CONFIG_xxx switch for this. Marc-André or Daniel, do you have time to > work on such a patch? Otherwise, I can have a look at this, too.
Ah the DMA interface is only available on x86 & arm virt apparently. I thought it would be more widely available. I can add a CONFIG_FW_CFG_DMA, set by x86)64-softmuu & arm-softmmu, and make vmcoreinfo depend on it. Would that be good enough? -- Marc-André Lureau
