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: Emilio G. Cota <cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2016-10-06 16:12:11 +02:00
parent 36e4970e9d
commit 78e87797ba
6 changed files with 21 additions and 65 deletions

2
.gitignore vendored
View File

@ -39,9 +39,7 @@
/qmp-introspect.[ch] /qmp-introspect.[ch]
/qmp-marshal.c /qmp-marshal.c
/qemu-doc.html /qemu-doc.html
/qemu-tech.html
/qemu-doc.info /qemu-doc.info
/qemu-tech.info
/qemu-img /qemu-img
/qemu-nbd /qemu-nbd
/qemu-options.def /qemu-options.def

View File

@ -93,7 +93,7 @@ LIBS+=-lz $(LIBS_TOOLS)
HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF) HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
ifdef BUILD_DOCS ifdef BUILD_DOCS
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
ifdef CONFIG_VIRTFS ifdef CONFIG_VIRTFS
DOCS+=fsdev/virtfs-proxy-helper.1 DOCS+=fsdev/virtfs-proxy-helper.1
endif endif
@ -398,7 +398,6 @@ distclean: clean
rm -f qemu-doc.vr rm -f qemu-doc.vr
rm -f config.log rm -f config.log
rm -f linux-headers/asm rm -f linux-headers/asm
rm -f qemu-tech.info qemu-tech.aux qemu-tech.cp qemu-tech.dvi qemu-tech.fn qemu-tech.info qemu-tech.ky qemu-tech.log qemu-tech.pdf qemu-tech.pg qemu-tech.toc qemu-tech.tp qemu-tech.vr
for d in $(TARGET_DIRS); do \ for d in $(TARGET_DIRS); do \
rm -rf $$d || exit 1 ; \ rm -rf $$d || exit 1 ; \
done done
@ -434,7 +433,7 @@ endif
install-doc: $(DOCS) install-doc: $(DOCS)
$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)" $(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_DATA) $(SRC_PATH)/docs/qmp-commands.txt "$(DESTDIR)$(qemu_docdir)"
ifdef CONFIG_POSIX ifdef CONFIG_POSIX
$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1" $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
@ -592,10 +591,10 @@ qemu-ga.8: qemu-ga.texi
$(POD2MAN) --section=8 --center=" " --release=" " qemu-ga.pod > $@, \ $(POD2MAN) --section=8 --center=" " --release=" " qemu-ga.pod > $@, \
" GEN $@") " GEN $@")
dvi: qemu-doc.dvi qemu-tech.dvi dvi: qemu-doc.dvi
html: qemu-doc.html qemu-tech.html html: qemu-doc.html
info: qemu-doc.info qemu-tech.info info: qemu-doc.info
pdf: qemu-doc.pdf qemu-tech.pdf pdf: qemu-doc.pdf
qemu-doc.dvi qemu-doc.html qemu-doc.info qemu-doc.pdf: \ qemu-doc.dvi qemu-doc.html qemu-doc.info qemu-doc.pdf: \
qemu-img.texi qemu-nbd.texi qemu-options.texi qemu-option-trace.texi \ qemu-img.texi qemu-nbd.texi qemu-options.texi qemu-option-trace.texi \

View File

@ -35,6 +35,7 @@
* QEMU PC System emulator:: * QEMU PC System emulator::
* QEMU System emulator for non PC targets:: * QEMU System emulator for non PC targets::
* QEMU User space emulator:: * QEMU User space emulator::
* Implementation notes::
* License:: * License::
* Index:: * Index::
@end menu @end menu
@ -2949,6 +2950,8 @@ Run the emulation in single step mode.
@end table @end table
@include qemu-tech.texi
@node License @node License
@appendix License @appendix License

View File

@ -1,32 +1,5 @@
\input texinfo @c -*- texinfo -*- @node Implementation notes
@c %**start of header @appendix Implementation notes
@setfilename qemu-tech.info
@documentlanguage en
@documentencoding UTF-8
@settitle QEMU Internals
@exampleindent 0
@paragraphindent 0
@c %**end of header
@ifinfo
@direntry
* QEMU Internals: (qemu-tech). The QEMU Emulator Internals.
@end direntry
@end ifinfo
@iftex
@titlepage
@sp 7
@center @titlefont{QEMU Internals}
@sp 3
@end titlepage
@end iftex
@ifnottex
@node Top
@top
@menu @menu
* CPU emulation:: * CPU emulation::
@ -34,12 +7,9 @@
* QEMU compared to other emulators:: * QEMU compared to other emulators::
* Bibliography:: * Bibliography::
@end menu @end menu
@end ifnottex
@contents
@node CPU emulation @node CPU emulation
@chapter CPU emulation @section CPU emulation
@menu @menu
* x86:: x86 and x86-64 emulation * x86:: x86 and x86-64 emulation
@ -51,7 +21,7 @@
@end menu @end menu
@node x86 @node x86
@section x86 and x86-64 emulation @subsection x86 and x86-64 emulation
QEMU x86 target features: QEMU x86 target features:
@ -86,7 +56,7 @@ normal use.
@end itemize @end itemize
@node ARM @node ARM
@section ARM emulation @subsection ARM emulation
@itemize @itemize
@ -99,7 +69,7 @@ normal use.
@end itemize @end itemize
@node MIPS @node MIPS
@section MIPS emulation @subsection MIPS emulation
@itemize @itemize
@ -126,7 +96,7 @@ Current QEMU limitations:
@end itemize @end itemize
@node PPC @node PPC
@section PowerPC emulation @subsection PowerPC emulation
@itemize @itemize
@ -138,7 +108,7 @@ FPU and MMU.
@end itemize @end itemize
@node SPARC @node SPARC
@section Sparc32 and Sparc64 emulation @subsection Sparc32 and Sparc64 emulation
@itemize @itemize
@ -166,7 +136,7 @@ Current QEMU limitations:
@end itemize @end itemize
@node Xtensa @node Xtensa
@section Xtensa emulation @subsection Xtensa emulation
@itemize @itemize
@ -191,7 +161,7 @@ may be created from overlay with minimal amount of hand-written code.
@end itemize @end itemize
@node Translator Internals @node Translator Internals
@chapter Translator Internals @section Translator Internals
QEMU is a dynamic translator. When it first encounters a piece of code, QEMU is a dynamic translator. When it first encounters a piece of code,
it converts it to the host instruction set. Usually dynamic translators it converts it to the host instruction set. Usually dynamic translators
@ -294,7 +264,7 @@ translation blocks.
@end table @end table
@node QEMU compared to other emulators @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 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 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. developed in SystemC.
@node Bibliography @node Bibliography
@chapter Bibliography @section Bibliography
@table @asis @table @asis
@ -399,5 +369,3 @@ Kernel Based Virtual Machine (KVM).
QEMU-SystemC, a hardware co-simulator. QEMU-SystemC, a hardware co-simulator.
@end table @end table
@bye

View File

@ -171,10 +171,8 @@ SectionEnd
Section "Documentation" SectionDoc Section "Documentation" SectionDoc
SetOutPath "$INSTDIR" SetOutPath "$INSTDIR"
File "${BINDIR}\qemu-doc.html" File "${BINDIR}\qemu-doc.html"
File "${BINDIR}\qemu-tech.html"
CreateDirectory "$SMPROGRAMS\${PRODUCT}" CreateDirectory "$SMPROGRAMS\${PRODUCT}"
CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\qemu-doc.html" "" "$INSTDIR\qemu-doc.html" 0 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
SectionEnd SectionEnd
!endif !endif
@ -219,7 +217,6 @@ Section "Uninstall"
Delete "$INSTDIR\qemu.exe" Delete "$INSTDIR\qemu.exe"
Delete "$INSTDIR\qemu-system-*.exe" Delete "$INSTDIR\qemu-system-*.exe"
Delete "$INSTDIR\qemu-doc.html" Delete "$INSTDIR\qemu-doc.html"
Delete "$INSTDIR\qemu-tech.html"
RMDir /r "$INSTDIR\keymaps" RMDir /r "$INSTDIR\keymaps"
RMDir /r "$INSTDIR\share" RMDir /r "$INSTDIR\share"
; Remove generated files ; Remove generated files

View File

@ -814,7 +814,6 @@ QemuCocoaView *cocoaView;
- (void)doToggleFullScreen:(id)sender; - (void)doToggleFullScreen:(id)sender;
- (void)toggleFullScreen:(id)sender; - (void)toggleFullScreen:(id)sender;
- (void)showQEMUDoc:(id)sender; - (void)showQEMUDoc:(id)sender;
- (void)showQEMUTec:(id)sender;
- (void)zoomToFit:(id) sender; - (void)zoomToFit:(id) sender;
- (void)displayConsole:(id)sender; - (void)displayConsole:(id)sender;
- (void)pauseQEMU:(id)sender; - (void)pauseQEMU:(id)sender;
@ -998,13 +997,6 @@ QemuCocoaView *cocoaView;
[self openDocumentation: @"qemu-doc.html"]; [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 */ /* Stretches video to fit host monitor size */
- (void)zoomToFit:(id) sender - (void)zoomToFit:(id) sender
{ {
@ -1335,7 +1327,6 @@ int main (int argc, const char * argv[]) {
// Help menu // Help menu
menu = [[NSMenu alloc] initWithTitle:@"Help"]; 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 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 = [[[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""] autorelease];
[menuItem setSubmenu:menu]; [menuItem setSubmenu:menu];
[[NSApp mainMenu] addItem:menuItem]; [[NSApp mainMenu] addItem:menuItem];