Commit 78e87797 authored by Paolo Bonzini's avatar Paolo Bonzini

qemu-doc: merge qemu-tech and qemu-doc

Merge what is left of qemu-tech into the main manual as an appendix.
Ultimately we should have a new internals manual built from docs/, and
then the "Translator Internals" parts of qemu-tech could move to docs/
as well.  The bits on limitation and features of CPU emulation should
remain in qemu-doc.
Reviewed-by: 's avatarEmilio G. Cota <>
Signed-off-by: 's avatarPaolo Bonzini <>
parent 36e4970e
......@@ -39,9 +39,7 @@
......@@ -93,7 +93,7 @@ LIBS+=-lz $(LIBS_TOOLS)
HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
DOCS=qemu-doc.html qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
......@@ -398,7 +398,6 @@ distclean: clean
rm -f qemu-doc.vr
rm -f config.log
rm -f linux-headers/asm
rm -f qemu-tech.aux qemu-tech.cp qemu-tech.dvi qemu-tech.fn qemu-tech.log qemu-tech.pdf qemu-tech.toc qemu-tech.vr
for d in $(TARGET_DIRS); do \
rm -rf $$d || exit 1 ; \
......@@ -434,7 +433,7 @@ endif
install-doc: $(DOCS)
$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
$(INSTALL_DATA) qemu-doc.html qemu-tech.html "$(DESTDIR)$(qemu_docdir)"
$(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)"
$(INSTALL_DATA) $(SRC_PATH)/docs/qmp-commands.txt "$(DESTDIR)$(qemu_docdir)"
$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
......@@ -592,10 +591,10 @@ qemu-ga.8: qemu-ga.texi
$(POD2MAN) --section=8 --center=" " --release=" " qemu-ga.pod > $@, \
" GEN $@")
dvi: qemu-doc.dvi qemu-tech.dvi
html: qemu-doc.html qemu-tech.html
pdf: qemu-doc.pdf qemu-tech.pdf
dvi: qemu-doc.dvi
html: qemu-doc.html
pdf: qemu-doc.pdf
qemu-doc.dvi qemu-doc.html qemu-doc.pdf: \
qemu-img.texi qemu-nbd.texi qemu-options.texi qemu-option-trace.texi \
......@@ -35,6 +35,7 @@
* QEMU PC System emulator::
* QEMU System emulator for non PC targets::
* QEMU User space emulator::
* Implementation notes::
* License::
* Index::
@end menu
......@@ -2949,6 +2950,8 @@ Run the emulation in single step mode.
@end table
@include qemu-tech.texi
@node License
@appendix License
\input texinfo @c -*- texinfo -*-
@c %**start of header
@documentlanguage en
@documentencoding UTF-8
@settitle QEMU Internals
@exampleindent 0
@paragraphindent 0
@c %**end of header
* QEMU Internals: (qemu-tech). The QEMU Emulator Internals.
@end direntry
@end ifinfo
@sp 7
@center @titlefont{QEMU Internals}
@sp 3
@end titlepage
@end iftex
@node Top
@node Implementation notes
@appendix Implementation notes
* CPU emulation::
......@@ -34,12 +7,9 @@
* QEMU compared to other emulators::
* Bibliography::
@end menu
@end ifnottex
@node CPU emulation
@chapter CPU emulation
@section CPU emulation
* x86:: x86 and x86-64 emulation
......@@ -51,7 +21,7 @@
@end menu
@node x86
@section x86 and x86-64 emulation
@subsection x86 and x86-64 emulation
QEMU x86 target features:
......@@ -86,7 +56,7 @@ normal use.
@end itemize
@node ARM
@section ARM emulation
@subsection ARM emulation
......@@ -99,7 +69,7 @@ normal use.
@end itemize
@node MIPS
@section MIPS emulation
@subsection MIPS emulation
......@@ -126,7 +96,7 @@ Current QEMU limitations:
@end itemize
@node PPC
@section PowerPC emulation
@subsection PowerPC emulation
......@@ -138,7 +108,7 @@ FPU and MMU.
@end itemize
@node SPARC
@section Sparc32 and Sparc64 emulation
@subsection Sparc32 and Sparc64 emulation
......@@ -166,7 +136,7 @@ Current QEMU limitations:
@end itemize
@node Xtensa
@section Xtensa emulation
@subsection Xtensa emulation
......@@ -191,7 +161,7 @@ may be created from overlay with minimal amount of hand-written code.
@end itemize
@node Translator Internals
@chapter Translator Internals
@section Translator Internals
QEMU is a dynamic translator. When it first encounters a piece of code,
it converts it to the host instruction set. Usually dynamic translators
......@@ -294,7 +264,7 @@ translation blocks.
@end table
@node QEMU compared to other emulators
@chapter QEMU compared to other emulators
@section QEMU compared to other emulators
Like bochs [1], QEMU emulates an x86 CPU. But QEMU is much faster than
bochs as it uses dynamic compilation. Bochs is closely tied to x86 PC
......@@ -345,7 +315,7 @@ VirtualBox [9], Xen [10] and KVM [11] are based on QEMU. QEMU-SystemC
developed in SystemC.
@node Bibliography
@chapter Bibliography
@section Bibliography
@table @asis
......@@ -399,5 +369,3 @@ Kernel Based Virtual Machine (KVM).
QEMU-SystemC, a hardware co-simulator.
@end table
......@@ -171,10 +171,8 @@ SectionEnd
Section "Documentation" SectionDoc
SetOutPath "$INSTDIR"
File "${BINDIR}\qemu-doc.html"
File "${BINDIR}\qemu-tech.html"
CreateDirectory "$SMPROGRAMS\${PRODUCT}"
CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\qemu-doc.html" "" "$INSTDIR\qemu-doc.html" 0
CreateShortCut "$SMPROGRAMS\${PRODUCT}\Technical Documentation.lnk" "$INSTDIR\qemu-tech.html" "" "$INSTDIR\qemu-tech.html" 0
......@@ -219,7 +217,6 @@ Section "Uninstall"
Delete "$INSTDIR\qemu.exe"
Delete "$INSTDIR\qemu-system-*.exe"
Delete "$INSTDIR\qemu-doc.html"
Delete "$INSTDIR\qemu-tech.html"
RMDir /r "$INSTDIR\keymaps"
RMDir /r "$INSTDIR\share"
; Remove generated files
......@@ -814,7 +814,6 @@ QemuCocoaView *cocoaView;
- (void)doToggleFullScreen:(id)sender;
- (void)toggleFullScreen:(id)sender;
- (void)showQEMUDoc:(id)sender;
- (void)showQEMUTec:(id)sender;
- (void)zoomToFit:(id) sender;
- (void)displayConsole:(id)sender;
- (void)pauseQEMU:(id)sender;
......@@ -998,13 +997,6 @@ QemuCocoaView *cocoaView;
[self openDocumentation: @"qemu-doc.html"];
- (void)showQEMUTec:(id)sender
COCOA_DEBUG("QemuCocoaAppController: showQEMUTec\n");
[self openDocumentation: @"qemu-tech.html"];
/* Stretches video to fit host monitor size */
- (void)zoomToFit:(id) sender
......@@ -1335,7 +1327,6 @@ int main (int argc, const char * argv[]) {
// Help menu
menu = [[NSMenu alloc] initWithTitle:@"Help"];
[menu addItem: [[[NSMenuItem alloc] initWithTitle:@"QEMU Documentation" action:@selector(showQEMUDoc:) keyEquivalent:@"?"] autorelease]]; // QEMU Help
[menu addItem: [[[NSMenuItem alloc] initWithTitle:@"QEMU Technology" action:@selector(showQEMUTec:) keyEquivalent:@""] autorelease]]; // QEMU Help
menuItem = [[[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""] autorelease];
[menuItem setSubmenu:menu];
[[NSApp mainMenu] addItem:menuItem];
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment