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.
next prev parent 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.