All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: Thomas Huth <thuth@redhat.com>, Eduardo Otubo <otubo@redhat.com>,
	qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Cleber Rosa <crosa@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] fix qemu-system-unicore32 crashing when calling without -kernel
Date: Wed, 26 Jul 2017 13:50:28 -0300	[thread overview]
Message-ID: <f689dafd-fbbc-44b8-ca19-6e615c21895c@amsat.org> (raw)
In-Reply-To: <06b166d8-4c5c-aa78-c9c9-4be10b1c1e35@redhat.com>

On 07/26/2017 01:05 PM, Thomas Huth wrote:
> On 26.07.2017 18:00, Philippe Mathieu-Daudé wrote:
>> On 07/26/2017 12:04 PM, Eduardo Otubo wrote:
>>> Starting qemu-system-unicore32 without the -kernel parameter results in
>>> an assert() returns false and aborts qemu. This patch replaces it with a
>>> proper error message followed by exit(1).
>>>
>>> Signed-off-by: Eduardo Otubo <otubo@redhat.com>
>>> ---
>>>    hw/unicore32/puv3.c | 5 ++++-
>>>    1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
>>> index e9d1a60b6f..ff62efb4df 100644
>>> --- a/hw/unicore32/puv3.c
>>> +++ b/hw/unicore32/puv3.c
>>> @@ -92,7 +92,10 @@ static void puv3_load_kernel(const char
>>> *kernel_filename)
>>>        if (kernel_filename == NULL && qtest_enabled()) {
>>>            return;
>>>        }
>>> -    assert(kernel_filename != NULL);
>>> +    if (kernel_filename == NULL) {
>>> +        error_report("kernel parameter cannot be empty");
>>> +        exit(1);
>>> +    }
>>
>> This seems a temporary kludge for 2.10 but not the correct long-term fix.
>>
>> As commented in another thread [1] where I got a bit discomfited, it'd
>> be nice if during the 2.11 schedule the industry provide some help to
>> clean/unify the loader.c code, ideally remove all duplicated code not
>> arch-specific and use hw/core/loader*.
>>
>> [1] http://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg06760.html
> 
> Sorry, but this here *is* a machine-specific problem. I fail to see how
> this should be related to the hw/core/loader.c code?

Yes, this assert is a problem, same as the one in xen_load_linux() and 
this is a surgical fix, indeed.

I probably misused the "kludge" word, sorry. My comment was about 
long-term use of -kernel.

Maybe I didn't point to the correct file, I was thinking about the 
various hw/$arch/boot.c. My feeling is the -kernel parameter started as 
something simple years ago then grow and now his usage is somehow 
abused. I'd rather see a common hw/core/boot.c with each arch just 
adding arch-related fixes.

For example in hw/arm/boot.c, see arm_load_kernel_notify(), except 
features parsing, initrd_start and the fixupcontext part, most of the 
code is multiarch and could benefit other archs less lov^H^H^Hsupported. 
arm_load_kernel() is generic. In load_dtb() only the acells/scells is 
arm-specific and could replace dup microblaze code, work on mips, etc.

Regards,

Phil.

  reply	other threads:[~2017-07-26 16:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-26 15:04 [Qemu-devel] [PATCH] fix qemu-system-unicore32 crashing when calling without -kernel Eduardo Otubo
2017-07-26 15:28 ` Paolo Bonzini
2017-07-26 15:28 ` Cleber Rosa
2017-07-26 15:38   ` Cleber Rosa
2017-07-26 15:52 ` Thomas Huth
2017-07-26 16:00 ` Philippe Mathieu-Daudé
2017-07-26 16:05   ` Thomas Huth
2017-07-26 16:50     ` Philippe Mathieu-Daudé [this message]
2017-07-28 11:53 Eduardo Otubo
2017-07-31 10:16 ` Michael Tokarev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f689dafd-fbbc-44b8-ca19-6e615c21895c@amsat.org \
    --to=f4bug@amsat.org \
    --cc=crosa@redhat.com \
    --cc=otubo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.