All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.