Răsfoiți Sursa

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>
Paolo Bonzini 9 ani în urmă
părinte
comite
78e87797ba
6 a modificat fișierele cu 21 adăugiri și 65 ștergeri
  1. 0 2
      .gitignore
  2. 6 7
      Makefile
  3. 3 0
      qemu-doc.texi
  4. 12 44
      qemu-tech.texi
  5. 0 3
      qemu.nsi
  6. 0 9
      ui/cocoa.m

+ 0 - 2
.gitignore

@@ -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

+ 6 - 7
Makefile

@@ -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
-html: qemu-doc.html qemu-tech.html
-info: qemu-doc.info qemu-tech.info
-pdf: qemu-doc.pdf qemu-tech.pdf
+dvi: qemu-doc.dvi
+html: qemu-doc.html
+info: qemu-doc.info
+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 \

+ 3 - 0
qemu-doc.texi

@@ -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
 
 

+ 12 - 44
qemu-tech.texi

@@ -1,32 +1,5 @@
-\input texinfo @c -*- texinfo -*-
-@c %**start of header
-@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
+@node Implementation notes
+@appendix Implementation notes
 
 
 @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

+ 0 - 3
qemu.nsi

@@ -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

+ 0 - 9
ui/cocoa.m

@@ -814,7 +814,6 @@ - (void)startEmulationWithArgc:(int)argc argv:(char**)argv;
 - (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 @@ - (void)showQEMUDoc:(id)sender
     [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];