Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
322d0c66
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看板
提交
322d0c66
编写于
6月 15, 2003
作者:
B
bellard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
git-svn-id:
svn://svn.savannah.nongnu.org/qemu/trunk@250
c046a42c-6fe2-441c-8c8c-71466251a162
上级
2054396a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
58 addition
and
26 deletion
+58
-26
Changelog
Changelog
+1
-1
Makefile
Makefile
+1
-1
qemu-doc.texi
qemu-doc.texi
+56
-24
未找到文件。
Changelog
浏览文件 @
322d0c66
...
...
@@ -3,7 +3,7 @@ version 0.3:
- initial support for ARM emulation
- added fnsave, frstor, fnstenv, fldenv FPU instructions
- added FPU register save in signal emulation
- ARM port
-
initial
ARM port
- Sparc and Alpha ports work on the regression test
- generic ioctl number conversion
- fixed ioctl type conversion
...
...
Makefile
浏览文件 @
322d0c66
...
...
@@ -211,7 +211,7 @@ arm-dis.c \
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/test-i386-vm86.S
\
tests/hello
.c tests/hello
\
tests/hello
-i386.c tests/hello-i386
\
tests/hello-arm.c tests/hello-arm
\
tests/sha1.c
\
tests/testsig.c tests/testclone.c tests/testthread.c
\
...
...
qemu-doc.texi
浏览文件 @
322d0c66
\input
texinfo @c -*- texinfo -*-
@settitle QEMU
x86
Emulator Reference Documentation
@settitle QEMU
CPU
Emulator Reference Documentation
@titlepage
@sp 7
@center @titlefont
{
QEMU
x86
Emulator Reference Documentation
}
@center @titlefont
{
QEMU
CPU
Emulator Reference Documentation
}
@sp 3
@end titlepage
@chapter Introduction
QEMU is an x86 processor emulator. Its purpose is to run x86 Linux
processes on non-x86 Linux architectures such as PowerPC. By using
dynamic translation it achieves a reasonnable speed while being 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
}
) or
@code
{
DOSEMU
}
(@url
{
http://www.dosemu.org
}
) on non-x86 CPUs.
@section Features
QEMU features:
QEMU is a FAST! processor emulator. Its purpose is to run Linux executables
compiled for one architecture on another. For example, x86 Linux
processes can be ran on PowerPC Linux architectures. By using dynamic
translation it achieves a reasonnable speed while being 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
}
) or @code
{
DOSEMU
}
(@url
{
http://www.dosemu.org
}
) on non-x86 CPUs.
QEMU generic features:
@itemize
@item User space only
x86 emulator
.
@item User space only
emulation
.
@item
Currently ported on i386, PowerPC. Work in progress for S390, Alpha and Sparc
.
@item
Working on x86 and PowerPC hosts. Being tested on ARM, Sparc32, Alpha and S390
.
@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. VM86 mode is also supported.
@item Generic Linux system call converter, including most ioctls.
@item clone() emulation using native CPU clone() to use Linux scheduler for threads.
@item Accurate signal handling by remapping host signals to virtual x86 signals.
@item Precise user space x86 exceptions.
@item Accurate signal handling by remapping host signals to target signals.
@item Self-modifying code support.
@item The virtual CPU is a library (@code
{
libqemu
}
) which can be used
in other projects.
@end itemize
@section x86 emulation
QEMU x86 target features:
@itemize
@item The virtual x86 CPU supports 16 bit and 32 bit addressing with segmentation.
User space LDT and GDT are emulated. VM86 mode is also supported to run DOSEMU.
@item Precise user space x86 exceptions.
@item Support of host page sizes bigger than 4KB.
@item QEMU can emulate itself on x86.
@item The virtual x86 CPU is a library (@code
{
libqemu
}
) which can be used
in other projects.
@item An extensive Linux x86 CPU test program is included @file
{
tests/test-i386
}
.
It can be used to test other x86 virtual CPUs.
...
...
@@ -70,10 +81,26 @@ maximum performances.
@end itemize
@section ARM emulation
@itemize
@item ARM emulation can currently launch small programs while using the
generic dynamic code generation architecture of QEMU.
@item No FPU support (yet).
@item No automatic regression testing (yet).
@end itemize
@chapter Invocation
@section Quick Start
If you need to compile QEMU, please read the @file
{
README
}
which gives
the related information.
In order to launch a Linux process, QEMU needs the process executable
itself and all the target (x86) dynamic libraries used by it.
...
...
@@ -186,7 +213,7 @@ support for it (QEMU could be used to detect out of bound memory accesses
as Valgrind, but it has no support to track uninitialised data as
Valgrind does). Valgrind dynamic translator generates better code than
QEMU (in particular it does register allocation) but it is closely tied
to an x86 host.
to an x86 host
and target
.
EM86 [4] is the closest project to QEMU (and QEMU still uses some of its
code, in particular the ELF file loader). EM86 was limited to an alpha
...
...
@@ -204,7 +231,7 @@ between the API and the x86 code must be converted.
QEMU is a dynamic translator. When it first encounters a piece of code,
it converts it to the host instruction set. Usually dynamic translators
are very complicated and highly CPU depend
a
nt. QEMU uses some tricks
are very complicated and highly CPU depend
e
nt. QEMU uses some tricks
which make it relatively easily portable and simple while achieving good
performances.
...
...
@@ -416,14 +443,19 @@ Willows Software.
@chapter Regression Tests
In the directory @file
{
tests/
}
, various interesting
x86
testing programs
In the directory @file
{
tests/
}
, various interesting testing programs
are available. There are used for regression testing.
@section @file
{
hello
}
@section @file
{
hello
-i386
}
Very simple statically linked x86 program, just to test QEMU during a
port to a new host CPU.
@section @file
{
hello-arm
}
Very simple statically linked ARM program, just to test QEMU during a
port to a new host CPU.
@section @file
{
test-i386
}
This program executes most of the 16 bit and 32 bit x86 instructions and
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录