From: Willy Tarreau <willy@w.ods.org>
To: Alan Cox <alan@redhat.com>
Cc: Christoph Hellwig <hch@alpha.home.local>,
akpm@osdl.org, linux-kernel@vger.kernel.org,
vda@port.imtp.ilyichevsk.odessa.ua
Subject: Re: i486 emu in mainline?
Date: Sun, 23 May 2004 13:57:35 +0200 [thread overview]
Message-ID: <20040523115735.GA16726@alpha.home.local> (raw)
In-Reply-To: <20040523110836.GE25746@devserv.devel.redhat.com>
On Sun, May 23, 2004 at 07:08:36AM -0400, Alan Cox wrote:
> On Sun, May 23, 2004 at 10:29:12AM +0200, Willy Tarreau wrote:
> > being emulated. I think it's already the case. He also said that I
> > didn't take care of the segment selectors (such as SS) which some
> > programs use perfectly legally (eg Wine). I don't know how to do
> > that.
>
> You have to parse all the valid header bytes (the opcode prefixes) that
> change segment, cause repeats and change sizes. DOSemu has a worked example
> of this particular set of horrors.
It's already what it does, but I don't use the segment base in the TSS nor
check the segment limit. It will take me quite some time to understand how
all this is implemented in the kernel and unfortunately I don't have such
time now.
> > - why not include the CMOV emulation while we're at it ? There are so
> > many people using VIA EDEN chips who think it's i686 compatible that
> > they may get hit too. IIRC, the chip only executes CMOV on registers,
> > but very slowly (a few tens of cycles), while register to memory
> > accesses generate a trap.
>
> gcc generates a lot of cmov on i686 so many that people I've talked with
> on the compiler side also feel cmov emulation isnt useful. Newer Eden btw
> has cmov.
agreed, but there are some programs which don't need speed at all, hence the
reason for my first implementation of cmov (which burnt about 400 cycles IIRC).
> > Other than that, I'm happy that someone found it useful, and happy too that
> > someone did the 2.6 port :-)
>
> Is there a reason btw it can't be done with LD_PRELOAD ?
Well, this is an interesting question. I don't know how to do it this way
(how can a program know exactly where the trap occured, etc... I don't know
how to program this). Other than that, LD_PRELOAD will not work against setuid
binaries. But if it does for the rest, I think it can become an elegant
approach.
Thanks for your insights,
Willy
next prev parent reply other threads:[~2004-05-23 12:00 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-22 23:40 Christoph Hellwig
2004-05-23 0:20 ` Rene Rebe
2004-05-23 7:13 ` Arjan van de Ven
2004-05-23 8:44 ` Willy Tarreau
2004-05-23 9:13 ` Arjan van de Ven
2004-05-23 9:48 ` Willy Tarreau
2004-05-23 9:58 ` Arjan van de Ven
2004-05-23 11:49 ` Helge Hafting
2004-05-23 9:20 ` Andrew Morton
2004-05-23 17:11 ` Brian Gerst
2004-05-24 2:47 ` Herbert Xu
2004-05-27 21:03 ` Pavel Machek
2004-05-23 8:29 ` Willy Tarreau
2004-05-23 11:08 ` Alan Cox
2004-05-23 11:57 ` Willy Tarreau [this message]
2004-05-23 13:15 ` Alan Cox
2004-05-24 15:17 ` Jan-Benedict Glaw
2004-05-24 17:41 ` Alan Cox
2004-05-25 9:36 ` Jan-Benedict Glaw
2004-05-25 13:48 ` Alan Cox
[not found] ` <20040523105130.GA588@samarkand.rivenstone.net>
2004-05-23 11:59 ` Willy Tarreau
2004-05-24 9:08 ` P
2004-05-23 15:18 ` Jeff Garzik
2004-05-23 21:14 ` Alan Cox
2004-05-24 12:28 ` Maciej W. Rozycki
2004-05-25 17:21 ` Kronos
2004-05-25 17:03 Albert Cahalan
2004-05-25 22:43 ` Alan Cox
2004-10-10 20:33 Nathanael Nerode
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=20040523115735.GA16726@alpha.home.local \
--to=willy@w.ods.org \
--cc=akpm@osdl.org \
--cc=alan@redhat.com \
--cc=hch@alpha.home.local \
--cc=linux-kernel@vger.kernel.org \
--cc=vda@port.imtp.ilyichevsk.odessa.ua \
/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
all inboxes | Powered by JetHome®