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:39:43 +0300

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?

> 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
> > 
> > >       }
> > > -- 
> > > 2.11.0
> > > 
> 
> -- 
> Wei Yang(杨伟)
> Mobile: +86-13436682065
> Email: address@hidden
> 



reply via email to

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