From: Borislav Petkov <bp@alien8.de>
To: Paolo Giarrusso <p.giarrusso@gmail.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
"Geert Uytterhoeven" <geert@linux-m68k.org>,
"Borislav Petkov" <borislav.petkov@amd.com>,
"Toralf Förster" <toralf.foerster@gmx.de>,
user-mode-linux-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org, "Jeff Dike" <jdike@addtoit.com>
Subject: Re: [uml-devel] [PATCH] x86, hweight: Fix UML boot crash
Date: Sat, 12 Jun 2010 16:18:37 +0200 [thread overview]
Message-ID: <20100612141837.GA28572@liondog.tnic> (raw)
In-Reply-To: <AANLkTimPSQ3K6ulqGV243w__IbMaJTG71VckB8gl701u@mail.gmail.com>
From: Paolo Giarrusso <p.giarrusso@gmail.com>
Date: Sat, Jun 12, 2010 at 03:34:38PM +0200
Hi,
> > That looks better to me, although I'm still wondering why UML can't
> > stomach the register-saving tricks... it is not at all "obvious" why
> > that can't be done.
> Hi all, and sorry for the delay, I hope you still care about this.
>
> First, ARCH_HWEIGHT_CFLAGS should IMHO be shared with UML. I.e., moved
> to arch/x86/Kconfig.cpu (which was born as Kconfig code shared with
> UML), or copied in UML (it's not defined, as far as I can see).
> Otherwise it just can't work. And I think that's it.
>
> Second, I've been looking at arch_hweight.h to try answering as well,
> and my question is: did somebody ever implement ALTERNATIVE support on
> UML? When I worked on it, this thing didn't exist at all. The user
> declared the host CPU, and we enabled features based on that. There's
> barely code for exception tables, and we never used it to implement
> copy_from_user and staff like that (I recall the exception handler was
> set at run-time).
>
> Indeed, arch/um/kernel/um_arch.c:apply_alternatives() is empty. And I
> mean, implementing it is not so trivial (unlike exception handling),
> simply because it requires making the binary mapping writable, and I'm
> not sure UML does it already.
Which would mean that UML doesn't use alternatives at all and uses the
instructions which are meant to be replaced instead, no? In that case,
fixing this is either by rerouting the includes (easiest, already in
-tip) or adding alternatives support (harder, needs volunteers :)).
> A third note is that UML links with glibc, so it can have a different
> calling convention from the kernel. Say, on x86 32bit regparm doesn't
> work (in fact, -mregparm is set in arch/x86/Makefile and not in
> arch/x86/Makefile_32.cpu). And since popcnt is supported on 32bit, it
> might in theory make a difference for that case. But maybe those flags
> are simply fine, I didn't recheck the possible calling conventions.
If this is also the case, the -fcall-saved-* stuff won't work on UML and
yet another way of doing "call *func" from within asm("...") and making
sure the callee doesn't clobber caller's regs will be needed for UML.
--
Regards/Gruss,
Boris.
next prev parent reply other threads:[~2010-06-12 14:18 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-27 17:44 current git kernel crashes UML system during boot Toralf Förster
2010-05-30 11:39 ` Geert Uytterhoeven
2010-05-30 11:57 ` Geert Uytterhoeven
2010-05-30 15:02 ` Borislav Petkov
2010-05-30 15:18 ` Geert Uytterhoeven
2010-05-30 15:46 ` Borislav Petkov
2010-05-30 15:28 ` Toralf Förster
2010-05-30 17:03 ` [PATCH] x86, hweight: Fix UML boot crash Borislav Petkov
2010-05-30 18:36 ` H. Peter Anvin
2010-05-30 19:39 ` Borislav Petkov
2010-05-30 20:17 ` Borislav Petkov
2010-05-30 21:09 ` H. Peter Anvin
2010-06-12 13:34 ` [uml-devel] " Paolo Giarrusso
2010-06-12 14:18 ` Borislav Petkov [this message]
2010-06-12 16:01 ` Paolo Giarrusso
2010-06-12 16:34 ` Borislav Petkov
2010-06-12 18:37 ` Geert Uytterhoeven
2010-06-13 6:58 ` Borislav Petkov
2010-05-31 13:55 ` Toralf Förster
2010-05-31 14:10 ` Borislav Petkov
2010-05-31 14:36 ` Toralf Förster
2010-06-14 9:49 ` Toralf Förster
2010-06-14 10:26 ` [uml-devel] " Paolo Giarrusso
2010-06-14 12:54 ` Toralf Förster
2010-06-14 13:00 ` Borislav Petkov
2010-06-14 13:44 ` Toralf Förster
2010-06-14 14:39 ` Geert Uytterhoeven
2010-06-14 15:11 ` Toralf Förster
2010-06-14 15:20 ` H. Peter Anvin
2010-05-31 14:25 ` [uml-devel] " Boaz Harrosh
2010-05-31 2:32 ` Jeff Dike
2010-05-31 13:51 ` Borislav Petkov
2010-05-31 15:56 ` Jeff Dike
2010-05-31 16:29 ` Borislav Petkov
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=20100612141837.GA28572@liondog.tnic \
--to=bp@alien8.de \
--cc=borislav.petkov@amd.com \
--cc=geert@linux-m68k.org \
--cc=hpa@zytor.com \
--cc=jdike@addtoit.com \
--cc=linux-kernel@vger.kernel.org \
--cc=p.giarrusso@gmail.com \
--cc=toralf.foerster@gmx.de \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/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