On 2019/12/3 20:34, Peter Maydell wrote:
> On Tue, 3 Dec 2019 at 12:29, Xiang Zheng <zhengxia...@huawei.com> wrote:
>>
>> Rename pc_fw_cfg_* to fw_cfg_* to make them common for other
>> architectures so that we can run fw_cfg tests on aarch64.
>>
>> Signed-off-by: Xiang Zheng <zhengxia...@huawei.com>
>
>> -static inline QFWCFG *pc_fw_cfg_init(QTestState *qts)
>> +static inline QFWCFG *fw_cfg_init(QTestState *qts)
>> {
>> - return io_fw_cfg_init(qts, 0x510);
>> + const char *arch = qtest_get_arch();
>> +
>> + if (!strcmp(arch, "aarch64")) {
>> + return mm_fw_cfg_init(qts, 0x09020000);
>> + } else {
>> + return io_fw_cfg_init(qts, 0x510);
>> + }
>
> Presence and address of the fw_cfg device depends
> on the machine type, not the architecture, so is
> it possible to write this so that it varies by
> machine type, rather than by guest arch ?
> There should also presumably be a fallback path
> for "fw_cfg not present here", I suppose.
>
Yes, "0x09020000" is the address of the fw_cfg device on virt machine, I
should have noticed it. I will have a try for varying the addresses
by machine type.
--
Thanks,
Xiang