Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
fd429f2f
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
fd429f2f
编写于
21年前
作者:
B
bellard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
git-svn-id:
svn://svn.savannah.nongnu.org/qemu/trunk@66
c046a42c-6fe2-441c-8c8c-71466251a162
上级
fb3e5849
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
38 addition
and
18 deletion
+38
-18
Makefile
Makefile
+9
-4
VERSION
VERSION
+1
-1
qemu-doc.texi
qemu-doc.texi
+28
-13
未找到文件。
Makefile
浏览文件 @
fd429f2f
...
...
@@ -19,6 +19,10 @@ ifeq ($(ARCH),ppc)
OP_CFLAGS
=
$(CFLAGS)
endif
ifeq
($(ARCH),s390)
OP_CFLAGS
=
$(CFLAGS)
endif
ifeq
($(GCC_MAJOR),3)
# very important to generate a return at the end of every operation
OP_CFLAGS
+=
-fno-reorder-blocks
-fno-optimize-sibling-calls
...
...
@@ -94,19 +98,20 @@ qemu-doc.html: qemu-doc.texi
texi2html
-monolithic
-number
$<
FILES
=
\
README COPYING COPYING.LIB TODO Changelog VERSION
\
dyngen.c ioctls.h ops_template.h syscall_types.h
\
README
README.distrib
COPYING COPYING.LIB TODO Changelog VERSION
\
dyngen.c ioctls.h ops_template.h
op_string.h
syscall_types.h
\
Makefile elf.h linux_bin.h segment.h thunk.c
\
elfload.c main.c signal.c thunk.h
\
cpu-i386.h
qemu.h
op-i386.c opc-i386.h syscall-i386.h translate-i386.c
\
cpu-i386.h
qemu.h
op-i386.c opc-i386.h syscall-i386.h translate-i386.c
\
dis-asm.h gen-i386.h op-i386.h syscall.c
\
dis-buf.c i386-dis.c opreg_template.h syscall_defs.h
\
i386.ld ppc.ld exec-i386.h exec-i386.c configure
\
i386.ld ppc.ld
s390.ld
exec-i386.h exec-i386.c configure
\
tests/Makefile
\
tests/test-i386.c tests/test-i386-shift.h tests/test-i386.h
\
tests/test-i386-muldiv.h tests/test-i386-code16.S
\
tests/hello.c tests/hello tests/sha1.c
\
tests/testsig.c tests/testclone.c tests/testthread.c
\
tests/runcom.c tests/pi_10.com
\
qemu-doc.texi qemu-doc.html
FILE
=
qemu-
$(VERSION)
...
...
This diff is collapsed.
Click to expand it.
VERSION
浏览文件 @
fd429f2f
0.1.3
\ No newline at end of file
0.1.4
\ No newline at end of file
This diff is collapsed.
Click to expand it.
qemu-doc.texi
浏览文件 @
fd429f2f
...
...
@@ -12,8 +12,9 @@
QEMU is an x86 processor emulator. Its purpose is to run x86 Linux
processes on non-x86 Linux architectures such as PowerPC or ARM. By
using dynamic translation it achieves a reasonnable speed while being
easy to port on new host CPUs. An obviously interesting x86 only process
is 'wine' (Windows emulation).
easy to port on new host CPUs. Its main goal is to be able to launch the
@code
{
Wine
}
Windows API emulator (@url
{
http://www.winehq.org
}
) on
non-x86 CPUs.
QEMU features:
...
...
@@ -21,12 +22,13 @@ QEMU features:
@item User space only x86 emulator.
@item Currently ported on i386
and PowerPC
.
@item Currently ported on i386
, PowerPC and S390
.
@item Using dynamic translation for reasonnable speed.
@item Using dynamic translation
to native code
for reasonnable speed.
@item The virtual x86 CPU supports 16 bit and 32 bit addressing with segmentation.
User space LDT and GDT are emulated.
User space LDT and GDT are emulated. VM86 mode is also supported
(experimental).
@item Generic Linux system call converter, including most ioctls.
...
...
@@ -52,10 +54,6 @@ Current QEMU Limitations:
@item No support for self modifying code (yet). [Very few programs need that, a notable exception is QEMU itself !].
@item No VM86 mode (yet), althought the virtual
CPU has support for most of it. [VM86 support is useful to launch old 16
bit DOS programs with dosemu or wine].
@item No SSE/MMX support (yet).
@item No x86-64 support.
...
...
@@ -123,10 +121,10 @@ able to do:
qemu /usr/local/qemu-i386/bin/ls-i386
@end example
@item Download the binary x86
w
ine install
@item Download the binary x86
W
ine install
(@file
{
qemu-i386-wine.tar.gz
}
on the QEMU web page).
@item Configure
w
ine on your account. Look at the provided script
@item Configure
W
ine on your account. Look at the provided script
@file
{
/usr/local/qemu-i386/bin/wine-conf.sh
}
. Your previous
@code
{$
@
{
HOME@
}
/
.wine
}
directory is saved to @code
{$
@
{
HOME@
}
/.wine.org
}
.
...
...
@@ -177,6 +175,13 @@ code, in particular the ELF file loader). EM86 was limited to an alpha
host and used a proprietary and slow interpreter (the interpreter part
of the FX!32 Digital Win32 code translator [5]).
TWIN [6] is a Windows API emulator like Wine. It is less accurate than
Wine but includes a protected mode x86 interpreter to launch x86 Windows
executables. Such an approach as greater potential because most of the
Windows API is executed natively but it is far more difficult to develop
because all the data structures and function parameters exchanged
between the API and the x86 code must be converted.
@section Portable dynamic translation
QEMU is a dynamic translator. When it first encounters a piece of code,
...
...
@@ -218,7 +223,7 @@ doing complicated register allocation.
Good CPU condition codes emulation (@code
{
EFLAGS
}
register on x86) is a
critical point to get good performances. QEMU uses lazy condition code
evaluation: instead of computing the condition codes after each x86
instruction, it
store justs one operand (called @code
{
CC
_
C
RC
}
), the
instruction, it
just stores one operand (called @code
{
CC
_
S
RC
}
), the
result (called @code
{
CC
_
DST
}
) and the type of operation (called
@code
{
CC
_
OP
}
).
...
...
@@ -231,7 +236,7 @@ generated simple instructions (see
the condition codes are not needed by the next instructions, no
condition codes are computed at all.
@section
Translation
CPU state optimisations
@section CPU state optimisations
The x86 CPU has many internal states which change the way it evaluates
instructions. In order to achieve a good speed, the translation phase
...
...
@@ -323,6 +328,10 @@ x86 emulator on Alpha-Linux.
DIGITAL FX!32: Running 32-Bit x86 Applications on Alpha NT, by Anton
Chernoff and Ray Hookway.
@item [6]
@url
{
http://www.willows.com/
}
, Windows API library emulation from
Willows Software.
@end table
@chapter Regression Tests
...
...
@@ -365,3 +374,9 @@ It is a simple benchmark. Care must be taken to interpret the results
because it mostly tests the ability of the virtual CPU to optimize the
@code
{
rol
}
x86 instruction and the condition code computations.
@section @file
{
runcom
}
A very simple MSDOS emulator to test the Linux vm86() system call
emulation. The excellent 54 byte @file
{
pi
_
10.com
}
PI number calculator
can be launched with it. @file
{
pi
_
10.com
}
was written by Bertram
Felgenhauer (more information at @url
{
http://www.boo.net/~jasonp/pipage.html
}
).
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
新手
引导
客服
返回
顶部