* [Qemu-devel] [Patch] documentation: Change qemu-darwin-* to qemu-*
@ 2007-02-06 8:19 Pierre d'Herbemont
2007-02-06 8:51 ` Phil Krylov
2007-02-07 13:58 ` [Qemu-devel] [Patch] darwin-user build failed Toshimitsu Tanaka
0 siblings, 2 replies; 5+ messages in thread
From: Pierre d'Herbemont @ 2007-02-06 8:19 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 92 bytes --]
Hi,
This patch fixes a typo in the doc.
Pierre.
ChangeLog:
Change qemu-darwin-* to qemu-*
[-- Attachment #2: darwin_user_doc.diff.txt --]
[-- Type: text/plain, Size: 5032 bytes --]
Index: qemu-doc.texi
===================================================================
RCS file: /sources/qemu/qemu/qemu-doc.texi,v
retrieving revision 1.126
diff -u -r1.126 qemu-doc.texi
--- qemu-doc.texi 2 Feb 2007 00:37:56 -0000 1.126
+++ qemu-doc.texi 3 Feb 2007 17:11:57 -0000
@@ -25,7 +25,7 @@
* Installation::
* QEMU PC System emulator::
* QEMU System emulator for non PC targets::
-* QEMU Linux User space emulator::
+* QEMU User space emulator::
* compilation:: Compilation from the sources
* Index::
@end menu
@@ -57,8 +57,8 @@
without rebooting the PC or to debug system code.
@item
-User mode emulation (Linux host only). In this mode, QEMU can launch
-Linux processes compiled for one CPU on another CPU. It can be used to
+User mode emulation. In this mode, QEMU can launch
+processes compiled for one CPU on another CPU. It can be used to
launch the Wine Windows API emulator (@url{http://www.winehq.org}) or
to ease cross-compilation and cross-debugging.
@@ -1704,8 +1704,29 @@
A Linux 2.6 test image is available on the QEMU web site. More
information is available in the QEMU mailing-list archive.
-@node QEMU Linux User space emulator
-@chapter QEMU Linux User space emulator
+@node QEMU User space emulator
+@chapter QEMU User space emulator
+
+@menu
+* Supported Operating Systems ::
+* Linux User space emulator::
+* Mac OS X/Darwin User space emulator ::
+@end menu
+
+@node Supported Operating Systems
+@section Supported Operating Systems
+
+The following OS are supported in user space emulation:
+
+@itemize @minus
+@item
+Linux (refered as qemu-linux-user)
+@item
+Mac OS X/Darwin (refered as qemu-darwin-user)
+@end itemize
+
+@node Linux User space emulator
+@section Linux User space emulator
@menu
* Quick Start::
@@ -1715,7 +1736,7 @@
@end menu
@node Quick Start
-@section Quick Start
+@subsection Quick Start
In order to launch a Linux process, QEMU needs the process executable
itself and all the target (x86) dynamic libraries used by it.
@@ -1726,7 +1747,7 @@
libraries:
@example
-qemu-i386 -L / /bin/ls
+qemu-linux-i386 -L / /bin/ls
@end example
@code{-L /} tells that the x86 dynamic linker must be searched with a
@@ -1765,7 +1786,7 @@
@end itemize
@node Wine launch
-@section Wine launch
+@subsection Wine launch
@itemize
@@ -1794,7 +1815,7 @@
@end itemize
@node Command line options
-@section Command line options
+@subsection Command line options
@example
usage: qemu-i386 [-h] [-d] [-L path] [-s size] program [arguments...]
@@ -1819,7 +1840,7 @@
@end table
@node Other binaries
-@section Other binaries
+@subsection Other binaries
@command{qemu-arm} is also capable of running ARM "Angel" semihosted ELF
binaries (as implemented by the arm-elf and arm-eabi Newlib/GDB
@@ -1831,6 +1852,91 @@
The binary format is detected automatically.
+@node Mac OS X/Darwin User space emulator
+@section Mac OS X/Darwin User space emulator
+
+@menu
+* Mac OS X/Darwin Status::
+* Mac OS X/Darwin Quick Start::
+* Mac OS X/Darwin Command line options::
+@end menu
+
+@node Mac OS X/Darwin Status
+@subsection Mac OS X/Darwin Status
+
+@itemize @minus
+@item
+target x86 on x86: Most apps (Cocoa and Carbon too) works. [1]
+@item
+target PowerPC on x86: Not working as the ppc commpage can't be mapped (yet!)
+@item
+target x86 on x86: Most apps (Cocoa and Carbon too) works. [1]
+@item
+target x86 on PowerPC: most utilities work. Cocoa and Carbon apps are not yet supported.
+@end itemize
+
+[1] If you're host commpage can be executed by qemu.
+
+@node Mac OS X/Darwin Quick Start
+@subsection Quick Start
+
+In order to launch a Mac OS X/Darwin process, QEMU needs the process executable
+itself and all the target dynamic libraries used by it. If you don't have the FAT
+libraries (you're running Mac OS X/ppc) you'll need to obtain it from a Mac OS X
+CD or compile them by hand.
+
+@itemize
+
+@item On x86, you can just try to launch any process by using the native
+libraries:
+
+@example
+qemu-darwin-i386 /bin/ls
+@end example
+
+or to run the ppc version of the executable:
+
+@example
+qemu-darwin-ppc /bin/ls
+@end example
+
+@item On ppc, you'll have to tell qemu where your x86 libraries (and dynamic linker)
+are installed:
+
+@example
+qemu-darwin-i386 -L /opt/x86_root/ /bin/ls
+@end example
+
+@code{-L /opt/x86_root/} tells that the dynamic linker (dyld) path is in
+@file{/opt/x86_root/usr/bin/dyld}.
+
+@end itemize
+
+@node Mac OS X/Darwin Command line options
+@subsection Command line options
+
+@example
+usage: qemu-darwin-i386 [-h] [-d] [-L path] [-s size] program [arguments...]
+@end example
+
+@table @option
+@item -h
+Print the help
+@item -L path
+Set the library root path (default=/)
+@item -s size
+Set the stack size in bytes (default=524288)
+@end table
+
+Debug options:
+
+@table @option
+@item -d
+Activate log (logfile=/tmp/qemu.log)
+@item -p pagesize
+Act as if the host page size was 'pagesize' bytes
+@end table
+
@node compilation
@chapter Compilation from the sources
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Patch] documentation: Change qemu-darwin-* to qemu-*
2007-02-06 8:19 [Qemu-devel] [Patch] documentation: Change qemu-darwin-* to qemu-* Pierre d'Herbemont
@ 2007-02-06 8:51 ` Phil Krylov
2007-02-06 10:35 ` [Qemu-devel] [Patch] documentation: Change qemu-darwin-* to qemu-* and fix a typo about supported target Pierre d'Herbemont
2007-02-07 13:58 ` [Qemu-devel] [Patch] darwin-user build failed Toshimitsu Tanaka
1 sibling, 1 reply; 5+ messages in thread
From: Phil Krylov @ 2007-02-06 8:51 UTC (permalink / raw)
To: qemu-devel, pdherbemont
Hi Pierre,
+@item
+target x86 on x86: Most apps (Cocoa and Carbon too) works. [1]
+@item
+target PowerPC on x86: Not working as the ppc commpage can't be mapped (yet!)
+@item
+target x86 on x86: Most apps (Cocoa and Carbon too) works. [1]
Did you mean "PowerPC on PowerPC" in the last line?
-- Ph.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Patch] documentation: Change qemu-darwin-* to qemu-* and fix a typo about supported target
2007-02-06 8:51 ` Phil Krylov
@ 2007-02-06 10:35 ` Pierre d'Herbemont
0 siblings, 0 replies; 5+ messages in thread
From: Pierre d'Herbemont @ 2007-02-06 10:35 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 552 bytes --]
On 6 févr. 07, at 09:51, Phil Krylov wrote:
> Hi Pierre,
>
> +@item
> +target x86 on x86: Most apps (Cocoa and Carbon too) works. [1]
> +@item
> +target PowerPC on x86: Not working as the ppc commpage can't be
> mapped (yet!)
> +@item
> +target x86 on x86: Most apps (Cocoa and Carbon too) works. [1]
>
> Did you mean "PowerPC on PowerPC" in the last line?
Yes I do. Thanks Phil :)
BTW, last patch was the wrong diff.
ChangeLog:
Change qemu-darwin-* to qemu-*
Fix a typo about supported target (reported by Phil Krylov).
[-- Attachment #2: doc_typo_fix.diff.txt --]
[-- Type: text/plain, Size: 1348 bytes --]
Index: qemu-doc.texi
===================================================================
RCS file: /sources/qemu/qemu/qemu-doc.texi,v
retrieving revision 1.128
diff -u -r1.128 qemu-doc.texi
--- qemu-doc.texi 5 Feb 2007 19:42:07 -0000 1.128
+++ qemu-doc.texi 6 Feb 2007 10:34:01 -0000
@@ -1747,7 +1747,7 @@
libraries:
@example
-qemu-i386 -L / /bin/ls
+qemu-linux-i386 -L / /bin/ls
@end example
@code{-L /} tells that the x86 dynamic linker must be searched with a
@@ -1870,7 +1870,7 @@
@item
target PowerPC on x86: Not working as the ppc commpage can't be mapped (yet!)
@item
-target x86 on x86: Most apps (Cocoa and Carbon too) works. [1]
+target PowerPC on PowerPC: Most apps (Cocoa and Carbon too) works. [1]
@item
target x86 on PowerPC: most utilities work. Cocoa and Carbon apps are not yet supported.
@end itemize
@@ -1891,20 +1891,20 @@
libraries:
@example
-qemu-darwin-i386 /bin/ls
+qemu-i386 /bin/ls
@end example
or to run the ppc version of the executable:
@example
-qemu-darwin-ppc /bin/ls
+qemu-ppc /bin/ls
@end example
@item On ppc, you'll have to tell qemu where your x86 libraries (and dynamic linker)
are installed:
@example
-qemu-darwin-i386 -L /opt/x86_root/ /bin/ls
+qemu-i386 -L /opt/x86_root/ /bin/ls
@end example
@code{-L /opt/x86_root/} tells that the dynamic linker (dyld) path is in
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] [Patch] darwin-user build failed
2007-02-06 8:19 [Qemu-devel] [Patch] documentation: Change qemu-darwin-* to qemu-* Pierre d'Herbemont
2007-02-06 8:51 ` Phil Krylov
@ 2007-02-07 13:58 ` Toshimitsu Tanaka
2007-02-07 14:36 ` Pierre d'Herbemont
1 sibling, 1 reply; 5+ messages in thread
From: Toshimitsu Tanaka @ 2007-02-07 13:58 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 535 bytes --]
Hi,
I got the source code of QEMU 0.9.0, and tried compiling on Mac OS X
10.4.8/PPC.
I modified machload.c and syscall.c.
It works.
Thanks, Pierre.
$ uname -srp
Darwin 8.8.0 powerpc
$ file a.out
a.out: Mach-O executable i386
$ ./qemu-i386 -L /tmp a.out
Starting a.out with qemu
----------------
print_syctl: can't find mib 44
bswap_syctl: can't find mib 44
unknow cmd in fcntl
unknow cmd in fcntl
Unsupported ioctl: cmd=0x4004667a
hello, qemu
--
Toshimitsu Tanaka
t_tanaka@db3.so-net.ne.jp
http://toshi3.cocolog-nifty.com/blog/
[-- Attachment #2: syscall.txt --]
[-- Type: text/plain, Size: 715 bytes --]
--- darwin-user/syscall.old 2007-02-07 22:23:53.000000000 +0900
+++ darwin-user/syscall.c 2007-02-07 22:04:53.000000000 +0900
@@ -1249,8 +1249,8 @@
};
struct sysctl_dir sysctls_kern[] = {
- ENTRYE(KERN_TRANSLATE, "translate", sysctl_translate), /* 44 */
- ENTRYE(KERN_EXEC, "exec", sysctl_exec), /* 45 */
+ //ENTRYE(KERN_TRANSLATE, "translate", sysctl_translate), /* 44 */
+ //ENTRYE(KERN_EXEC, "exec", sysctl_exec), /* 45 */
ENTRYE(KERN_USRSTACK32, "KERN_USRSTACK32", sysctl_usrstack), /* 35 */
ENTRYE(KERN_SHREG_PRIVATIZABLE, "KERN_SHREG_PRIVATIZABLE", sysctl_tswap32s), /* 54 */
{ 0, NULL, NULL, NULL }
[-- Attachment #3: machload.txt --]
[-- Type: text/plain, Size: 397 bytes --]
--- darwin-user/machload.old 2007-02-07 22:24:04.000000000 +0900
+++ darwin-user/machload.c 2007-02-07 22:02:49.000000000 +0900
@@ -640,7 +640,7 @@
break;
case LC_ID_DYLINKER:
case LC_ID_DYLIB:
- case LC_UUID:
+ //case LC_UUID:
case LC_DYSYMTAB:
case LC_TWOLEVEL_HINTS:
case LC_PREBIND_CKSUM:
[-- Attachment #4: Type: text/plain, Size: 2 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Patch] darwin-user build failed
2007-02-07 13:58 ` [Qemu-devel] [Patch] darwin-user build failed Toshimitsu Tanaka
@ 2007-02-07 14:36 ` Pierre d'Herbemont
0 siblings, 0 replies; 5+ messages in thread
From: Pierre d'Herbemont @ 2007-02-07 14:36 UTC (permalink / raw)
To: qemu-devel
On 7 févr. 07, at 14:58, Toshimitsu Tanaka wrote:
> --- darwin-user/syscall.old 2007-02-07 22:23:53.000000000 +0900
> +++ darwin-user/syscall.c 2007-02-07 22:04:53.000000000 +0900
> @@ -1249,8 +1249,8 @@
> };
> struct sysctl_dir sysctls_kern[] = {
> - ENTRYE(KERN_TRANSLATE, "translate",
> sysctl_translate), /* 44 */
> - ENTRYE(KERN_EXEC, "exec", sysctl_exec), /
> * 45 */
> + //ENTRYE(KERN_TRANSLATE, "translate",
> sysctl_translate), /* 44 */
> + //ENTRYE(KERN_EXEC, "exec",
> sysctl_exec), /* 45 */
You should better use a #ifdef for your fixes, like:
#ifdef KERN_TRANSLATE
ENTRYE(KERN_TRANSLATE, "translate", sysctl_translate), /
* 44 */
#endif
BTW, also I think those issues come from your Xcode's headers that
are not the latest one. Latest Xcode version is 2.4.1.
If that the case, something like:
#ifndef LC_UUID
#warning seems like your systems headers comes from a Xcode version
lesser than 2.4.1.
#endif
should be added to machload.c.
Thanks,
Pierre.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-02-07 14:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-06 8:19 [Qemu-devel] [Patch] documentation: Change qemu-darwin-* to qemu-* Pierre d'Herbemont
2007-02-06 8:51 ` Phil Krylov
2007-02-06 10:35 ` [Qemu-devel] [Patch] documentation: Change qemu-darwin-* to qemu-* and fix a typo about supported target Pierre d'Herbemont
2007-02-07 13:58 ` [Qemu-devel] [Patch] darwin-user build failed Toshimitsu Tanaka
2007-02-07 14:36 ` Pierre d'Herbemont
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.