qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fabrice Bellard <fabrice.bellard@free.fr>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH] Updated Sparc support
Date: Tue, 13 May 2003 14:31:22 +0200	[thread overview]
Message-ID: <3EC0E59A.5070907@free.fr> (raw)
In-Reply-To: 20030512.211328.90815820.davem@redhat.com

David S. Miller wrote:
> Fabrice, here are updated patches for Sparc support.
> With the mmap changes you installed today, things work
> quite well :-)

Thanx! I'll commit them tonight.

> The current state is that for 32-bit Sparc static binaries seem to
> work and test-i386 passes except for 2 or 3 float tests which I will
> fix shortly.  My plan is to fix the float tests, make sure 64-bit
> sparc is working properly, then move on to playing with dynamically
> loaded libraries and making other improvements.

OK. There seem to be a bug in mmap.c when using 'qemu -p 16384 /bin/ls' 
on i386 (although -p 8192 and -p 32768 work !). I will investigate.

My next patches will mainly add support for code invalidation (when 
unloading dlls for example) and self-modifying code (by using mprotect 
to protect host pages containing writable translated code - that's why 
unlike em86 I chose to maintain mapping of the target pages instead of 
the host ones). It is a vital feature to have good performances in 
dosemu. The support for the custom signal handler for SIGSEGV and SIGBUS 
in exec-i386.c will become mandatory for all host CPUs.

I also plan to add direct block chaining. I will try to make it portable 
by using the 'goto *' gcc extension, but I don't know yet if it will 
work on every CPU. The direct block chaining will generate something like:

  'goto *addr'

at the end of some translated blocks to jump either to the CPU core or 
directly to the next translated block. 'addr' will be a global 'void *' 
variable. Since no code will be patched to change block chaining, it 
will simplify the instruction cache invalidation issues and the 
threading issues.

Another subject: as you may have seen, most of the qemu code is designed 
to be independent of the target CPU. I hope that someone will have the 
time to add support for some other target CPUs such as PowerPC, ARM, 
MIPS or Sparc :-)

It would be an useful tool for embedded Linux software development or 
for automatic testing of Linux software without bothering to have 
accounts on every possible Linux host (it would ease the testing of qemu 
itself :-)).

Fabrice.

  reply	other threads:[~2003-05-13 12:35 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-13  4:13 [Qemu-devel] [PATCH] Updated Sparc support David S. Miller
2003-05-13 12:31 ` Fabrice Bellard [this message]
2003-05-13 19:49   ` [Qemu-devel] " David S. Miller
2003-05-14  0:13   ` Rusty Russell
2003-05-14 11:48     ` Fabrice Bellard
2003-05-16 13:54       ` [Qemu-devel] Regression tests - syscall note Fabrice Bellard
2003-05-15 13:03 ` [Qemu-devel] [PATCH] Updated Sparc support Johan Rydberg
2003-05-15 20:05   ` David S. Miller
2003-05-15 20:17     ` Johan Rydberg
2003-05-15 20:24       ` David S. Miller

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=3EC0E59A.5070907@free.fr \
    --to=fabrice.bellard@free.fr \
    --cc=qemu-devel@nongnu.org \
    /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;
as well as URLs for NNTP newsgroup(s).