qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Alpha update
@ 2003-04-30 11:34 Falk Hueffner
  2003-04-30 10:48 ` David S. Miller
  0 siblings, 1 reply; 11+ messages in thread
From: Falk Hueffner @ 2003-04-30 11:34 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 460 bytes --]

Hi,

this patch will actually make "hello" run :) Some relocations are not
handled properly yet, though, and dynamically linked binaries don't
work. For the 4k page emulation, I grabbed mmap4k.c and pagemap.c from
em86. I've attached them as single files. The code looks somewhat
crufty though, maybe we should write something ourselves. By the way,
doesn't IA64 have the same problem? Also, it could probably be made
easier with a kernel patch...

-- 
	Falk


[-- Attachment #2: qemu-alpha-2003.04.30.patch.bz2 --]
[-- Type: application/octet-stream, Size: 3672 bytes --]

[-- Attachment #3: mmap4k.c.bz2 --]
[-- Type: application/octet-stream, Size: 4560 bytes --]

[-- Attachment #4: pagemap.c.bz2 --]
[-- Type: application/octet-stream, Size: 1248 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread
* [Qemu-devel] Alpha update
@ 2003-05-11  1:41 Falk Hueffner
  2003-05-11 13:10 ` Fabrice Bellard
  0 siblings, 1 reply; 11+ messages in thread
From: Falk Hueffner @ 2003-05-11  1:41 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 941 bytes --]

Hi,

this patch does gp and __op_param handling correctly, following a
suggestion from Richard Henderson. Also adds support for PC-relative
jumps. I believe the translation engine itself is now complete. And I
added an Alpha disassembler lifted from binutils.

However, there are still problems with the ELF loader. It seems like
some binaries want a mmaping at an offset that is not divisible by the
page size:

./qemu -d /usr/local/qemu-i386/bin/ls-i386
[...]
mmap4k(start = 0x8052000, length = 592, prot = 0x3 (rw),
       flags = 0x2102 (MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE),
       fd = 4, offset = 39040)

39040 % 4096 == 2176

Alpha Linux 2.5.69 doesn't seem to handle unaligned offsets. Do other
architecures? Or earlier versions? The em86 code doesn't seem to care
about this at all. The only thing to handle this I can think of is to
mmap anonymously and use read() to fill in the data... or am I missing
something?

-- 
	Falk

[-- Attachment #2: qemu-alpha-2003.05.11.patch.bz2 --]
[-- Type: application/octet-stream, Size: 16416 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2003-05-11 22:31 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-30 11:34 [Qemu-devel] Alpha update Falk Hueffner
2003-04-30 10:48 ` David S. Miller
2003-04-30 14:01   ` David S. Miller
2003-05-01 19:27     ` Falk Hueffner
2003-05-01 18:48       ` David S. Miller
2003-05-03 17:29         ` fabrice.bellard
2003-05-03 16:32           ` David S. Miller
  -- strict thread matches above, loose matches on Subject: below --
2003-05-11  1:41 Falk Hueffner
2003-05-11 13:10 ` Fabrice Bellard
2003-05-11 18:40   ` David S. Miller
2003-05-11 22:27   ` Fabrice Bellard

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).