Re: [Qemu-devel] [PATCH v2 0/5] fw_cfg_test refactor and add two test cases

2019-05-20 Thread Li Qiang
Philippe Mathieu-Daudé  于2019年5月21日周二 上午5:29写道:

> Hi Li,
>
> On 5/17/19 4:28 AM, Li Qiang wrote:
> > Ping.
> >
> > Li Qiang mailto:liq...@gmail.com>> 于2019年5月9日周四
> > 下午5:57写道:
> >
> > Ping this serials.
>
> I apologize I hold this series for too long.
> With your v1 I wanted to clarify the commit descriptions without asking
> you to send a v2, then I reword your patches and the same day you sent
> your v2, then I had mixed feeling about how to do to not frustrate you
> asking to respin again, but I ended it worst :(
>


Hi Philippe, not afraid to frustrate me next time, just send out the review
email. I don't mind to make
revisions to improve the patches.



> I adapted the descriptions on your v2 and will repost as v3, then merge
> if you are OK with v3.
>
>

I have no objection for this, just merge it.

Thanks,
Li Qiang




> Regards,
>
> Phil.
>
> >
> > Thanks,
> > Li Qiang
> >
> > Li Qiang mailto:liq...@163.com>> 于2019年4月24日周
> > 三 下午10:07写道:
> >
> > In the disscuss of adding reboot timeout test case:
> >
> https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg03304.html
> >
> > Philippe suggested we should uses the only related option for one
> > specific test. However currently we uses one QTestState for all
> the
> > test cases. In order to achieve Philippe's idea, I split the
> > test case
> > for its own QTestState. As this patchset has changed a lot, I
> > don't bump
> > the version.
> >
> > Change since v1:
> > Add a patch to store the reboot_timeout as little endian
> > Fix the endian issue per Thomas's review
> >
> > Li Qiang (5):
> >   tests: refactor fw_cfg_test
> >   tests: fw_cfg: add a function to get the fw_cfg file
> >   fw_cfg: reboot: store reboot-timeout as little endian
> >   tests: fw_cfg: add reboot_timeout test case
> >   tests: fw_cfg: add splash time test case
> >
> >  hw/nvram/fw_cfg.c |   4 +-
> >  tests/fw_cfg-test.c   | 125
> > +++---
> >  tests/libqos/fw_cfg.c |  55 +++
> >  tests/libqos/fw_cfg.h |   9 +++
> >  4 files changed, 184 insertions(+), 9 deletions(-)
> >
> > --
> > 2.17.1
> >
> >
>


Re: [Qemu-devel] [PATCH v2 0/5] fw_cfg_test refactor and add two test cases

2019-05-20 Thread Philippe Mathieu-Daudé
Hi Li,

On 5/17/19 4:28 AM, Li Qiang wrote:
> Ping.
> 
> Li Qiang mailto:liq...@gmail.com>> 于2019年5月9日周四
> 下午5:57写道:
> 
> Ping this serials.

I apologize I hold this series for too long.
With your v1 I wanted to clarify the commit descriptions without asking
you to send a v2, then I reword your patches and the same day you sent
your v2, then I had mixed feeling about how to do to not frustrate you
asking to respin again, but I ended it worst :(
I adapted the descriptions on your v2 and will repost as v3, then merge
if you are OK with v3.

Regards,

Phil.

> 
> Thanks,
> Li Qiang
> 
> Li Qiang mailto:liq...@163.com>> 于2019年4月24日周
> 三 下午10:07写道:
> 
> In the disscuss of adding reboot timeout test case:
> https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg03304.html
> 
> Philippe suggested we should uses the only related option for one
> specific test. However currently we uses one QTestState for all the
> test cases. In order to achieve Philippe's idea, I split the
> test case
> for its own QTestState. As this patchset has changed a lot, I
> don't bump
> the version.
> 
> Change since v1:
> Add a patch to store the reboot_timeout as little endian
> Fix the endian issue per Thomas's review
> 
> Li Qiang (5):
>   tests: refactor fw_cfg_test
>   tests: fw_cfg: add a function to get the fw_cfg file
>   fw_cfg: reboot: store reboot-timeout as little endian
>   tests: fw_cfg: add reboot_timeout test case
>   tests: fw_cfg: add splash time test case
> 
>  hw/nvram/fw_cfg.c     |   4 +-
>  tests/fw_cfg-test.c   | 125
> +++---
>  tests/libqos/fw_cfg.c |  55 +++
>  tests/libqos/fw_cfg.h |   9 +++
>  4 files changed, 184 insertions(+), 9 deletions(-)
> 
> -- 
> 2.17.1
> 
> 



Re: [Qemu-devel] [PATCH v2 0/5] fw_cfg_test refactor and add two test cases

2019-05-16 Thread Li Qiang
Ping.

Li Qiang  于2019年5月9日周四 下午5:57写道:

> Ping this serials.
>
> Thanks,
> Li Qiang
>
> Li Qiang  于2019年4月24日周三 下午10:07写道:
>
>> In the disscuss of adding reboot timeout test case:
>> https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg03304.html
>>
>> Philippe suggested we should uses the only related option for one
>> specific test. However currently we uses one QTestState for all the
>> test cases. In order to achieve Philippe's idea, I split the test case
>> for its own QTestState. As this patchset has changed a lot, I don't bump
>> the version.
>>
>> Change since v1:
>> Add a patch to store the reboot_timeout as little endian
>> Fix the endian issue per Thomas's review
>>
>> Li Qiang (5):
>>   tests: refactor fw_cfg_test
>>   tests: fw_cfg: add a function to get the fw_cfg file
>>   fw_cfg: reboot: store reboot-timeout as little endian
>>   tests: fw_cfg: add reboot_timeout test case
>>   tests: fw_cfg: add splash time test case
>>
>>  hw/nvram/fw_cfg.c |   4 +-
>>  tests/fw_cfg-test.c   | 125 +++---
>>  tests/libqos/fw_cfg.c |  55 +++
>>  tests/libqos/fw_cfg.h |   9 +++
>>  4 files changed, 184 insertions(+), 9 deletions(-)
>>
>> --
>> 2.17.1
>>
>>
>>


Re: [Qemu-devel] [PATCH v2 0/5] fw_cfg_test refactor and add two test cases

2019-05-09 Thread Li Qiang
Ping this serials.

Thanks,
Li Qiang

Li Qiang  于2019年4月24日周三 下午10:07写道:

> In the disscuss of adding reboot timeout test case:
> https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg03304.html
>
> Philippe suggested we should uses the only related option for one
> specific test. However currently we uses one QTestState for all the
> test cases. In order to achieve Philippe's idea, I split the test case
> for its own QTestState. As this patchset has changed a lot, I don't bump
> the version.
>
> Change since v1:
> Add a patch to store the reboot_timeout as little endian
> Fix the endian issue per Thomas's review
>
> Li Qiang (5):
>   tests: refactor fw_cfg_test
>   tests: fw_cfg: add a function to get the fw_cfg file
>   fw_cfg: reboot: store reboot-timeout as little endian
>   tests: fw_cfg: add reboot_timeout test case
>   tests: fw_cfg: add splash time test case
>
>  hw/nvram/fw_cfg.c |   4 +-
>  tests/fw_cfg-test.c   | 125 +++---
>  tests/libqos/fw_cfg.c |  55 +++
>  tests/libqos/fw_cfg.h |   9 +++
>  4 files changed, 184 insertions(+), 9 deletions(-)
>
> --
> 2.17.1
>
>
>


Re: [Qemu-devel] [PATCH v2 0/5] fw_cfg_test refactor and add two test cases

2019-04-29 Thread Li Qiang
Thomas Huth  于2019年4月29日周一 下午9:18写道:

> On 29/04/2019 07.09, Li Qiang wrote:
> >
> >
> > Li Qiang mailto:liq...@gmail.com>> 于2019年4月25日周
> > 四 下午10:29写道:
> >
> >
> >
> > Thomas Huth mailto:th...@redhat.com>> 于2019年4月
> > 25日周四 下午5:57写道:
> >
> > On 24/04/2019 16.06, Li Qiang wrote:
> > > In the disscuss of adding reboot timeout test case:
> > >
> >
> https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg03304.html
> > >
> > > Philippe suggested we should uses the only related option for
> one
> > > specific test. However currently we uses one QTestState for
> > all the
> > > test cases. In order to achieve Philippe's idea, I split the
> > test case
> > > for its own QTestState. As this patchset has changed a lot, I
> > don't bump
> > > the version.
> > >
> > > Change since v1:
> > > Add a patch to store the reboot_timeout as little endian
> > > Fix the endian issue per Thomas's review
> >
> > The test still aborts on a big endian host:
> >
> > $ QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64
> > tests/fw_cfg-test
> > /x86_64/fw_cfg/signature: OK
> > /x86_64/fw_cfg/id: OK
> > /x86_64/fw_cfg/uuid: OK
> > /x86_64/fw_cfg/ram_size: OK
> > /x86_64/fw_cfg/nographic: OK
> > /x86_64/fw_cfg/nb_cpus: OK
> > /x86_64/fw_cfg/max_cpus: OK
> > /x86_64/fw_cfg/numa: OK
> > /x86_64/fw_cfg/boot_menu: OK
> > /x86_64/fw_cfg/reboot_timeout: **
> >
>  
> ERROR:/home/thuth/devel/qemu/tests/fw_cfg-test.c:190:test_fw_cfg_reboot_timeout:
> > assertion failed (reboot_timeout == 15): (251658240 == 15)
> > Aborted
> >
> > 251658240 is 0x0F00, i.e. a byte-swapped 0xf = 15 ... i.e.
> > you still
> > got an endianess issue somewhere in the code.
> >
> >
> >
> > H,
> >
> > I have thought a long time, still can't point where is wrong.
> >
> > Let's from the result:
> > 0x0f00 in the big endian laid as this:
> > low ---> high
> > 0x0f 00 00 00
> >
> > As I have swapped before the compare so it is read as this:
> > low ---> high
> > 00 00 00 0x0f
> >
> > However from the store side:
> > the 15 in big endian is:
> > low ---> high
> > 00 00 00 0x0f
> >
> > But Before I store it, I convert it to little endian, so following
> > should be stored:
> > low ---> high
> > 0x0f 00 00 00
> >
> > Do you apply the patch 3 and recompile the qemu binary?
> >
> >
> >
> > Hello Thomas,
> > I have tested again this and just store it as big endian(so that the
> > store/load has different endianness),
> > I don't see any error.
>
> Uh, now this is embarrassing... I just tried again to see whether I
> could find the issue, but now the test passes without problems!
> I guess I simply only did a "make tests/fw_cfg-test" before and forgot
> to recompile qemu itself. Big sorry for this!
>
> Anyway, patch series works fine for me, so for the series:
>
> Tested-by: Thomas Huth 
>
>

OK, Thanks Thomas.

Philippe maybe you can take a look at this series and merge it.

Thanks,
Li Qiang




> > Also, can we add these test sceneries(big-endian host) in our CI? so
> > that the bot can report for every commit.
>
> Patchew only runs on x86, but Peter has some big endian hosts for his
> acceptance tests - so problems should be found during PULL requests at
> least.
>
>  Thomas
>


Re: [Qemu-devel] [PATCH v2 0/5] fw_cfg_test refactor and add two test cases

2019-04-29 Thread Thomas Huth
On 29/04/2019 07.09, Li Qiang wrote:
> 
> 
> Li Qiang mailto:liq...@gmail.com>> 于2019年4月25日周
> 四 下午10:29写道:
> 
> 
> 
> Thomas Huth mailto:th...@redhat.com>> 于2019年4月
> 25日周四 下午5:57写道:
> 
> On 24/04/2019 16.06, Li Qiang wrote:
> > In the disscuss of adding reboot timeout test case:
> >
> https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg03304.html
> >
> > Philippe suggested we should uses the only related option for one
> > specific test. However currently we uses one QTestState for
> all the
> > test cases. In order to achieve Philippe's idea, I split the
> test case
> > for its own QTestState. As this patchset has changed a lot, I
> don't bump
> > the version.
> >
> > Change since v1:
> > Add a patch to store the reboot_timeout as little endian
> > Fix the endian issue per Thomas's review
> 
> The test still aborts on a big endian host:
> 
> $ QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64
> tests/fw_cfg-test
> /x86_64/fw_cfg/signature: OK
> /x86_64/fw_cfg/id: OK
> /x86_64/fw_cfg/uuid: OK
> /x86_64/fw_cfg/ram_size: OK
> /x86_64/fw_cfg/nographic: OK
> /x86_64/fw_cfg/nb_cpus: OK
> /x86_64/fw_cfg/max_cpus: OK
> /x86_64/fw_cfg/numa: OK
> /x86_64/fw_cfg/boot_menu: OK
> /x86_64/fw_cfg/reboot_timeout: **
> 
> ERROR:/home/thuth/devel/qemu/tests/fw_cfg-test.c:190:test_fw_cfg_reboot_timeout:
> assertion failed (reboot_timeout == 15): (251658240 == 15)
> Aborted
> 
> 251658240 is 0x0F00, i.e. a byte-swapped 0xf = 15 ... i.e.
> you still
> got an endianess issue somewhere in the code.
> 
> 
> 
> H,
> 
> I have thought a long time, still can't point where is wrong.
> 
> Let's from the result: 
> 0x0f00 in the big endian laid as this:
> low ---> high
> 0x0f 00 00 00
> 
> As I have swapped before the compare so it is read as this:
> low ---> high
> 00 00 00 0x0f
> 
> However from the store side:
> the 15 in big endian is:
> low ---> high
> 00 00 00 0x0f
> 
> But Before I store it, I convert it to little endian, so following
> should be stored:
> low ---> high
> 0x0f 00 00 00
> 
> Do you apply the patch 3 and recompile the qemu binary?
> 
> 
> 
> Hello Thomas, 
> I have tested again this and just store it as big endian(so that the
> store/load has different endianness), 
> I don't see any error. 

Uh, now this is embarrassing... I just tried again to see whether I
could find the issue, but now the test passes without problems!
I guess I simply only did a "make tests/fw_cfg-test" before and forgot
to recompile qemu itself. Big sorry for this!

Anyway, patch series works fine for me, so for the series:

Tested-by: Thomas Huth 

> Also, can we add these test sceneries(big-endian host) in our CI? so
> that the bot can report for every commit.

Patchew only runs on x86, but Peter has some big endian hosts for his
acceptance tests - so problems should be found during PULL requests at
least.

 Thomas



Re: [Qemu-devel] [PATCH v2 0/5] fw_cfg_test refactor and add two test cases

2019-04-28 Thread Li Qiang
Li Qiang  于2019年4月25日周四 下午10:29写道:

>
>
> Thomas Huth  于2019年4月25日周四 下午5:57写道:
>
>> On 24/04/2019 16.06, Li Qiang wrote:
>> > In the disscuss of adding reboot timeout test case:
>> > https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg03304.html
>> >
>> > Philippe suggested we should uses the only related option for one
>> > specific test. However currently we uses one QTestState for all the
>> > test cases. In order to achieve Philippe's idea, I split the test case
>> > for its own QTestState. As this patchset has changed a lot, I don't bump
>> > the version.
>> >
>> > Change since v1:
>> > Add a patch to store the reboot_timeout as little endian
>> > Fix the endian issue per Thomas's review
>>
>> The test still aborts on a big endian host:
>>
>> $ QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 tests/fw_cfg-test
>> /x86_64/fw_cfg/signature: OK
>> /x86_64/fw_cfg/id: OK
>> /x86_64/fw_cfg/uuid: OK
>> /x86_64/fw_cfg/ram_size: OK
>> /x86_64/fw_cfg/nographic: OK
>> /x86_64/fw_cfg/nb_cpus: OK
>> /x86_64/fw_cfg/max_cpus: OK
>> /x86_64/fw_cfg/numa: OK
>> /x86_64/fw_cfg/boot_menu: OK
>> /x86_64/fw_cfg/reboot_timeout: **
>>
>> ERROR:/home/thuth/devel/qemu/tests/fw_cfg-test.c:190:test_fw_cfg_reboot_timeout:
>> assertion failed (reboot_timeout == 15): (251658240 == 15)
>> Aborted
>>
>> 251658240 is 0x0F00, i.e. a byte-swapped 0xf = 15 ... i.e. you still
>> got an endianess issue somewhere in the code.
>>
>
>
> H,
>
> I have thought a long time, still can't point where is wrong.
>
> Let's from the result:
> 0x0f00 in the big endian laid as this:
> low ---> high
> 0x0f 00 00 00
>
> As I have swapped before the compare so it is read as this:
> low ---> high
> 00 00 00 0x0f
>
> However from the store side:
> the 15 in big endian is:
> low ---> high
> 00 00 00 0x0f
>
> But Before I store it, I convert it to little endian, so following should
> be stored:
> low ---> high
> 0x0f 00 00 00
>
> Do you apply the patch 3 and recompile the qemu binary?
>


Hello Thomas,
I have tested again this and just store it as big endian(so that the
store/load has different endianness),
I don't see any error.

Also, can we add these test sceneries(big-endian host) in our CI? so that
the bot can report for every commit.


Thanks,
Li Qiang



If it is, I may need your help as I have no big endian host device.
>
> You can debug and  inspect the memory layout and point out where is wrong.
>
> Thanks,
> Li Qiang
>
>
>
>
>
>
>
>>
>>  Thomas
>>
>


Re: [Qemu-devel] [PATCH v2 0/5] fw_cfg_test refactor and add two test cases

2019-04-25 Thread Li Qiang
Thomas Huth  于2019年4月25日周四 下午5:57写道:

> On 24/04/2019 16.06, Li Qiang wrote:
> > In the disscuss of adding reboot timeout test case:
> > https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg03304.html
> >
> > Philippe suggested we should uses the only related option for one
> > specific test. However currently we uses one QTestState for all the
> > test cases. In order to achieve Philippe's idea, I split the test case
> > for its own QTestState. As this patchset has changed a lot, I don't bump
> > the version.
> >
> > Change since v1:
> > Add a patch to store the reboot_timeout as little endian
> > Fix the endian issue per Thomas's review
>
> The test still aborts on a big endian host:
>
> $ QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 tests/fw_cfg-test
> /x86_64/fw_cfg/signature: OK
> /x86_64/fw_cfg/id: OK
> /x86_64/fw_cfg/uuid: OK
> /x86_64/fw_cfg/ram_size: OK
> /x86_64/fw_cfg/nographic: OK
> /x86_64/fw_cfg/nb_cpus: OK
> /x86_64/fw_cfg/max_cpus: OK
> /x86_64/fw_cfg/numa: OK
> /x86_64/fw_cfg/boot_menu: OK
> /x86_64/fw_cfg/reboot_timeout: **
>
> ERROR:/home/thuth/devel/qemu/tests/fw_cfg-test.c:190:test_fw_cfg_reboot_timeout:
> assertion failed (reboot_timeout == 15): (251658240 == 15)
> Aborted
>
> 251658240 is 0x0F00, i.e. a byte-swapped 0xf = 15 ... i.e. you still
> got an endianess issue somewhere in the code.
>


H,

I have thought a long time, still can't point where is wrong.

Let's from the result:
0x0f00 in the big endian laid as this:
low ---> high
0x0f 00 00 00

As I have swapped before the compare so it is read as this:
low ---> high
00 00 00 0x0f

However from the store side:
the 15 in big endian is:
low ---> high
00 00 00 0x0f

But Before I store it, I convert it to little endian, so following should
be stored:
low ---> high
0x0f 00 00 00

Do you apply the patch 3 and recompile the qemu binary?
If it is, I may need your help as I have no big endian host device.

You can debug and  inspect the memory layout and point out where is wrong.

Thanks,
Li Qiang







>
>  Thomas
>


Re: [Qemu-devel] [PATCH v2 0/5] fw_cfg_test refactor and add two test cases

2019-04-25 Thread Thomas Huth
On 24/04/2019 16.06, Li Qiang wrote:
> In the disscuss of adding reboot timeout test case:
> https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg03304.html
> 
> Philippe suggested we should uses the only related option for one
> specific test. However currently we uses one QTestState for all the
> test cases. In order to achieve Philippe's idea, I split the test case
> for its own QTestState. As this patchset has changed a lot, I don't bump
> the version.
> 
> Change since v1:
> Add a patch to store the reboot_timeout as little endian
> Fix the endian issue per Thomas's review

The test still aborts on a big endian host:

$ QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 tests/fw_cfg-test
/x86_64/fw_cfg/signature: OK
/x86_64/fw_cfg/id: OK
/x86_64/fw_cfg/uuid: OK
/x86_64/fw_cfg/ram_size: OK
/x86_64/fw_cfg/nographic: OK
/x86_64/fw_cfg/nb_cpus: OK
/x86_64/fw_cfg/max_cpus: OK
/x86_64/fw_cfg/numa: OK
/x86_64/fw_cfg/boot_menu: OK
/x86_64/fw_cfg/reboot_timeout: **
ERROR:/home/thuth/devel/qemu/tests/fw_cfg-test.c:190:test_fw_cfg_reboot_timeout:
assertion failed (reboot_timeout == 15): (251658240 == 15)
Aborted

251658240 is 0x0F00, i.e. a byte-swapped 0xf = 15 ... i.e. you still
got an endianess issue somewhere in the code.

 Thomas