[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] bios-tables-test: delete a assert about block n
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH] bios-tables-test: delete a assert about block name |
Date: |
Tue, 15 Aug 2017 05:49:42 +0300 |
On Tue, Aug 15, 2017 at 10:46:27AM +0800, wyang wrote:
>
>
> On 2017年08月15日 10:39, Michael S. Tsirkin wrote:
> > On Tue, Aug 15, 2017 at 10:21:08AM +0800, wyang wrote:
> > > On 2017年08月14日 23:58, Michael S. Tsirkin wrote:
> > > > On Mon, Aug 14, 2017 at 04:48:38PM +0800, address@hidden wrote:
> > > > > From: Wei Yang <address@hidden>
> > > > >
> > > > > The assert would be touched when the version of acpica is greater
> > > > > than or
> > > > > equal to 20160318. its reason is that "Disasembler: Update a couple
> > > > > output items(commit id: 1ecbb3d)" is introduced by Robert, the patch
> > > > > emits the AML filename as a zero-length string, and allows the
> > > > > compiler
> > > > > to create the name later.
> > > > So how does the output look then? Do you mean there's no comma then?
> > > sorry for confusion, more clearly, since the AML filename is a
> > > zero-length
> > > string, so the output of dsl file looks like this after
> > > executing iasl command to disassemble AML file to DSL file
> > >
> > >
> > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
> > >
> > > the block name is NULL string.
> > It's an empty string, sure, but is it NULL?
> > I see:
> > block_name = g_strstr_len(asl->str, asl->len, BLOCK_NAME_END);
> >
> > which looks for "," and assigns a pointer to it to block_name.
> >
> > Is it actually NULL in your testing?
> Hmm, as I touched the assert, so I thought it is NULL, seems I SHOULD go on
> deeply digging into it. Thank MST for your review.
>
> Wei
> > > If the version of iasl command is less than 20160318, the output looks
> > > like
> > >
> > > DefinitionBlock ("/tmp/xxxx.aml", "DSDT", 1, "BOCHS ", "BXPCDSDT",
> > > 0x00000001)
> > >
> > > >
> > > > > Signed-off-by: Yang, Wei <address@hidden>
> > > > > CC: Michael S. Tsirkin <address@hidden>
> > > > > CC: Igor Mammedov <address@hidden>
> > > > > CC: address@hidden
> > > > > ---
> > > > > tests/bios-tables-test.c | 1 -
> > > > > 1 file changed, 1 deletion(-)
> > > > >
> > > > > diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
> > > > > index 88dbf97853..d2ab073848 100644
> > > > > --- a/tests/bios-tables-test.c
> > > > > +++ b/tests/bios-tables-test.c
> > > > > @@ -350,7 +350,6 @@ static GString *normalize_asl(gchar *asl_code)
> > > > > /* strip def block name (it has file path in it) */
> > > > > if (g_str_has_prefix(asl->str, DEF_BLOCK)) {
> > > > > block_name = g_strstr_len(asl->str, asl->len,
> > > > > BLOCK_NAME_END);
> > > > > - g_assert(block_name);
> > > > > asl = g_string_erase(asl, 0,
> > > > > block_name + sizeof(BLOCK_NAME_END) -
> > > > > asl->str);
> > > > The pointer math here won't do the right thing then, will it?
> > > Yes, I will fix it.
> > >
> > > Thanks
> > > Wei
BTW sizeof(BLOCK_NAME_END) is actually 2. I think it works
because there's a space after ,. It is better to replace it with
strlen so it will work without a space too.
> > > > > }
> > > > > --
> > > > > 2.11.0
> > > > >
> > > --
> > > Wei Yang(杨伟)
> > > Mobile: +86-13436682065
> > > Email: address@hidden
> > >
>
> --
> Wei Yang(杨伟)
> Mobile: +86-13436682065
> Email: address@hidden
>