qemu-devel
[Top][All Lists]
Advanced

[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
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]