From: Keith Owens <kaos@ocs.com.au>
To: Hugh Dickins <hugh@veritas.com>
Cc: Horst von Brand <vonbrand@inf.utfsm.cl>,
Dave Jones <davej@redhat.com>, Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] WTF is VLI?
Date: Wed, 17 Nov 2004 16:55:49 +1100 [thread overview]
Message-ID: <5431.1100670949@kao2.melbourne.sgi.com> (raw)
In-Reply-To: Your message of "Tue, 16 Nov 2004 09:56:34 -0000." <Pine.LNX.4.44.0411160948530.4179-100000@localhost.localdomain>
On Tue, 16 Nov 2004 09:56:34 +0000 (GMT),
Hugh Dickins <hugh@veritas.com> wrote:
>On Tue, 16 Nov 2004, Keith Owens wrote:
>>
>> ksymoops has to work with lots of different log formats from lots of
>> different architectures. Some arch's already print the code around the
>> oops and enclose the failing instruction in <> or [], some do not.
>>
>> Just looking at a code string, you cannot tell if the arch has variable
>> length instructions or not (don't forget that ksymoops also works cross
>> architecture). The VLI tag will work for _all_ architectures that have
>> variable length instructions, not just i386. At the very least, s390
>> can use it as well.
>
>But, to an outsider, it seems that the "VLI" can only be relevant when
>disassembling the "Code:", and surely each arch disassembler knows
>already if it's dealing with Variable Length Instructions.
ksymoops takes the Code: line, converts it to a suitable object file,
passes that object to the arch specific disassembler then ksymoops
reformats the output to match the kernel symbol table. With fixed
length instructions, ksymoops can dump the entire code line into a
single object. With variable length instructions, disassembling the
code before the instruction pointer is dodgy, it may or may not work.
So for VLI code, ksymoops splits the code line into two separate pieces
and processes each one seperately. ksymoops prints the first bit with
a warning that it may not be reliable. The second bit, and all the
code line for non-VLI architectures, is reliable and is printed without
a warning.
The VLI tag, together with <> or [] around the failing instruction,
tells ksymoops if this oops needs to be processed in one chunk or two.
_Before_ passing the synthesized object(s) to the disassembler.
next prev parent reply other threads:[~2004-11-17 5:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-11 21:05 [PATCH] WTF is VLI? Hugh Dickins
2004-11-11 21:10 ` Dave Jones
2004-11-12 23:26 ` Horst von Brand
2004-11-15 21:18 ` Hugh Dickins
2004-11-16 6:00 ` Keith Owens
2004-11-16 9:56 ` Hugh Dickins
2004-11-17 5:55 ` Keith Owens [this message]
2004-11-18 15:47 ` Avi Kivity
2004-11-18 18:08 ` Horst von Brand
2004-11-18 23:38 ` Avi Kivity
2004-11-21 3:58 ` Keith Owens
2004-11-11 21:14 ` Andrew Morton
[not found] <fa.inbtt12.195ed02@ifi.uio.no>
[not found] ` <fa.cg6f09j.ji89hv@ifi.uio.no>
2004-11-18 18:28 ` Bodo Eggert
2004-11-18 23:44 ` Avi Kivity
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=5431.1100670949@kao2.melbourne.sgi.com \
--to=kaos@ocs.com.au \
--cc=akpm@osdl.org \
--cc=davej@redhat.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=vonbrand@inf.utfsm.cl \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox