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: wyang
Subject: Re: [Qemu-devel] [PATCH] bios-tables-test: delete a assert about block name
Date: Tue, 15 Aug 2017 10:46:27 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0



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
       }
--
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]