Jeshua Lacock | 1 Feb 06:02 2006

Qemu on Intel Macs


Greetings,

I am trying to build Qemu on a Intel Mac and after a little bit of work 
I got it building. It is having trouble with the "mach-o/ppc/reloc.h" 
file. Someone from Apple says:

	"Mac OS X's ABI for Intel uses 'generic' relocation entry types, which
           are defined in <mach-o/reloc.h>.  You can see this by running
           'otool -arch i386 -rv /path/to/binary', where the binary is 
universal or
	Intel-only."

The generic entry types are:

	enum reloc_type_generic
	{
	    GENERIC_RELOC_VANILLA,	/* generic relocation as discribed above */
	    GENERIC_RELOC_PAIR,		/* Only follows a GENRIC_RELOC_SECTDIFF */
	    GENERIC_RELOC_SECTDIFF,
	    GENERIC_RELOC_PB_LA_PTR,	/* prebound lazy pointer */
	    GENERIC_RELOC_LOCAL_SECTDIFF
	};

I don't see anything similar to "PPC_RELOC_BR24" . I realize that those 
are specific to the PPC and "GENERIC_RELOC_VANILLA" will have to be 
used, although I have no idea how to implement them. The scheme should 
be pretty similar to the PPC Mach-O port.

The other (most likely related) error is:
(Continue reading)

Gwenole Beauchesne | 1 Feb 07:48 2006

Re: Qemu on Intel Macs

Hi,

> Anyone out there feel qualified to help me get this going? Its a bit  
> beyond my ability at this time and I would be happy to compensate for  
> time.

I still haven't had the time to merge back to QEMU the following change:
<http://www.cebix.net/viewcvs/cebix/SheepShaver/src/kpx_cpu/src/cpu/ 
jit/dyngen.c?r1=1.14&r2=1.15>
Probably on next weekend...

> Jeshua Lacock ___________________________
> Programmer/Owner		Phone:	877.240.1364
> http://OpenOSX.com		Fax:		415.462.6211
> -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

Ah, you claimed that Wintel^WBochs ran at near native performance, how  
would you communicate on QEMU then?
Mike Kronenberg | 1 Feb 10:14 2006
Picon

Re: Qemu on Intel Macs

Hi there,

thanks to a tipster I had a look at your sheepshaver 2 days ago :).  
qemu dyngen.c is compiling with the added i386 mach lines. Later I  
had some problems with osdep.h which is used by the qemu tools. I  
disabled it for now.

Now I stuck with:
softmmu_header.h:204: error can't find a register in class  
'GENERAL_REGS' while reloading 'asm'
which is used by:
target-i386:ops_template_mem.h:  In function  
'op_cmpxchgb_kernel_T0_T1_EAX_CC

I tried with and without the gcc4 fixes... and it seams to be another  
register issue which will be a lot of reading form me :)

Mike

On 01.02.2006, at 07:48, Gwenole Beauchesne wrote:

> Hi,
>
>> Anyone out there feel qualified to help me get this going? Its a  
>> bit beyond my ability at this time and I would be happy to  
>> compensate for time.
>
> I still haven't had the time to merge back to QEMU the following  
> change:
> <http://www.cebix.net/viewcvs/cebix/SheepShaver/src/kpx_cpu/src/cpu/ 
(Continue reading)

bcanet | 1 Feb 11:17 2006
Picon

[PATCH] 16550A FIFO emulation


Hi,

This is a small patch I wrote to add 16550A FIFO emulation to QEMU.
The main motivation to write this patch was the slowliness of the QEMU serial 
port when the guest operating system is under high load. 
With the 16450 UART an interrupt is generated for every byte send or received.
With FIFO support fewer interrupt are generated.
If anybody has suggestions to improve the correctness/cleanliness of the 
emulation just tell me.

Best regards

BenoƮt Canet
Dental-On-Line
_______________________________________________
Qemu-devel mailing list
Qemu-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel
Yannick Patois | 1 Feb 14:38 2006

Crash of qemu while compiling using ant under emlulated x86_64 (hosted on ix86)


Hi,

I have a reproducable bug, but involving a rather complex setup, before
attempting to track this down, I would like to know if this is already
known.

Versions note for the host system:
> uname -a
Linux 2.4.21-37.EL.cernsmp #1 SMP i686 i686 i386 GNU/Linux
It's an SLC3 on a PIV computer.
qemu is compiled from a recent CVS checkout.

The target system is x86_64 running some (somewhat) misconfigured SLC3
(RHE3 derivates). Missconfigurations can comes from the fact that I
couldnt boot the slc3 installer from qemu and that I installed
it"manually" and have a few stranges things (dhcp doesnt work, wget
fails strangely). I know I should first clarify that, but until now,
this wasnt much a problem to me: it was working enough for what I wanted.

Anyway, when trying to compile some java code using ant (in the
blackdown x86_64 JVM), qemu crashed:

$ gdb /usr/local/src/ypatois/qemu/cvs/qemu/x86_64-softmmu/qemu-system-x86_64
set ARGS=-m 256 -net user -net nic -redir tcp:2200::22 -nographic -hda
hdb.img -hdc hdc.img
r
[...]
[lcgbuild <at> amd64-slc3 edg-java-security]$ ant compile

(Continue reading)

Juergen Pfennig | 1 Feb 11:38 2006
Picon

[PATCH] A simple way to DMA (and async. IO) to make win2003 happy

Hello ...

Please note: I will send the Async IO stuff later, see below.

This Patch: Here is a very simple patch to ide.c that does not change
            the controller type and that lets an existing win2003 in-
            stallation use multi-sector IO and/or DMA.

There is another patch for BSD (sorry, I am not sure about the author's
name - is it John?).  That patch changes the controler, modifies the
BIOS and adds a simple way for async writes. MY PATCH IS VERY DIFFERENT:

(1) The controller type is not changed. In qemu 8.0.0 some bits got set
    wrong, windows therefore disabled DMA.

(2) I have no documentation about the controller. WHO CAN SEND ME THE
    IDE CONTROLLER DOCUMENTATION? I took some ideas from John and
    used the linux kernel source. UNFORTUNATELY not all off my bits
    make the linux kernel happy - it complains and disables DMA. BUT
    IT SHOULD BE EASY TO SORT THIS OUT.

(3) My way to async IO is different, read below. The implementation
    does async read and write. My plans are to make the SDL async too.

(4) The async IO layer integrates well with Fabrice Bellard's IOHandlers.
    In fact vl.c needs no modifications, the code uses a pipe to signal
    that IO got ready. The modifications on the block driver layer are
    minimal.

To say this again: the async IO stuff itself is about 600 lines of code
(Continue reading)

Paul Brook | 1 Feb 21:00 2006

Re: Qemu on Intel Macs

On Wednesday 01 February 2006 09:14, Mike Kronenberg wrote:
> Hi there,
>
> thanks to a tipster I had a look at your sheepshaver 2 days ago :).
> qemu dyngen.c is compiling with the added i386 mach lines. Later I
> had some problems with osdep.h which is used by the qemu tools. I
> disabled it for now.
>
> Now I stuck with:
> softmmu_header.h:204: error can't find a register in class
> 'GENERAL_REGS' while reloading 'asm'
> which is used by:
> target-i386:ops_template_mem.h:  In function
> 'op_cmpxchgb_kernel_T0_T1_EAX_CC
>
> I tried with and without the gcc4 fixes... and it seams to be another
> register issue which will be a lot of reading form me :)

It's a GCC bug (PR15482) triggered by trying to 64-bit operations after 
reserving most of the available registers for global register vars. 

There are patches here that may work around the problem:
http://lists.gnu.org/archive/html/qemu-devel/2005-11/msg00245.html

Paul
Paul Brook | 1 Feb 16:01 2006

Re: Qemu on Intel Macs

> I don't see anything similar to "PPC_RELOC_BR24" . I realize that those
> are specific to the PPC and "GENERIC_RELOC_VANILLA" will have to be
> used, although I have no idea how to implement them. The scheme should
> be pretty similar to the PPC Mach-O port.

Your best sources of information are probably
(a) The Mach-o documentation, assuming such a thing exists.
(b) The OSX linker.

Paul
Bogdan Harjoc | 1 Feb 12:54 2006
Picon

VMDK block device as a kernel module ?

Hello,

I haven't been watching qemu development too closely but AFAIK (and
a quick search through the list archives says the same thing) there
haven't been any efforts in building the vmware block driver as a kernel
(block device) driver.

This would of course be a complete waste of somebody's time _except_
(arguably) for something like booting a kernel natively but mounting root
(et cetera) from a .vmdk file.

I would equally appreciate any pointer towards somebody's attempt at
doing this or an opinion on whether it is worth doing at all (although
the FUSE framework would probably make a first attempt worthwhile).


Cheers,
Bogdan.

_______________________________________________
Qemu-devel mailing list
Qemu-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel
Fabrice Bellard | 1 Feb 22:29 2006

qemu vl.c

CVSROOT:	/sources/qemu
Module name:	qemu
Branch: 	
Changes by:	Fabrice Bellard <bellard <at> savannah.gnu.org>	06/02/01 21:29:26

Modified files:
	.              : vl.c 

Log message:
	win32 socket support

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu/vl.c.diff?tr1=1.158&tr2=1.159&r1=text&r2=text

Gmane