1. 22 7月, 2011 2 次提交
  2. 14 6月, 2011 1 次提交
    • A
      libcacard: add libcacard.la target · 44dc0ca3
      Alon Levy 提交于
      No flag to configure is required. Instead, added a libcacard.la target that
      is not built by default, only when requested explicitly via:
      
      mkdir build
      cd build
      ../configure
      make libcacard.la
      make install-libcacard
      
      Uses libtool to do actual linking of object files and shared library, and
      installing. Tested only under linux, but supposed to work on other systems as
      well.
      
      If libtool isn't found you get a message complaining about that, only at build
      time (since it is not a default target I did not add a message at configure
      time).
      
      New build artifacts:
       .libs subdirectories (at <buildroot> and <buildroot>/libcacard)
       *.lo files (at same locations as the respective o files)
      
      Added %.lo : %.c rule that uses libtool.
      Updated clean rule to clean up those artifacts.
      Added specific rule to call dtrace with libtool wrapper (note that because of
      a current upstream dtrace bug fixed by systemtap b1568fd85 commit the -fPIC flag
      isn't actually passed on. still current dtrace+libtool produced object links fine).
      If libtool is missing any of the following targets will complain and exit 1:
       any subdir: *.lo
       root and libcacard: libcacard.la, libcacard-instsall
      
      Tested to link and load with all tracing backends.
      44dc0ca3
  3. 08 6月, 2011 1 次提交
  4. 03 6月, 2011 1 次提交
  5. 01 6月, 2011 1 次提交
    • A
      libcacard: add libcacard.la target · b7b8c618
      Alon Levy 提交于
      No flag to configure is required. Instead, added a libcacard.la target that
      is not built by default, only when requested explicitly via:
      
      mkdir build
      cd build
      ../configure
      make libcacard.la
      make install-libcacard
      
      Uses libtool to do actual linking of object files and shared library, and
      installing. Tested only under linux, but supposed to work on other systems as
      well.
      
      If libtool isn't found you get a message complaining about that, only at build
      time (since it is not a default target I did not add a message at configure
      time).
      
      New build artifacts:
       .libs subdirectories (at <buildroot> and <buildroot>/libcacard)
       *.lo files (at same locations as the respective o files)
      
      Added %.lo : %.c rule that uses libtool.
      Updated clean rule to clean up those artifacts.
      Added specific rule to call dtrace with libtool wrapper (note that because of
      a current upstream dtrace bug fixed by systemtap b1568fd85 commit the -fPIC flag
      isn't actually passed on. still current dtrace+libtool produced object links fine).
      If libtool is missing any of the following targets will complain and exit 1:
       any subdir: *.lo
       root and libcacard: libcacard.la, libcacard-instsall
      
      Tested to link and load with all tracing backends.
      b7b8c618
  6. 08 5月, 2011 1 次提交
  7. 19 4月, 2011 1 次提交
  8. 16 4月, 2011 1 次提交
  9. 02 4月, 2011 4 次提交
    • R
      libcacard: initial commit · 111a38b0
      Robert Relyea 提交于
      libcacard emulates a Common Access Card (CAC) which is a standard
      for smartcards. It is used by the emulated ccid card introduced in
      a following patch. Docs are available in docs/libcacard.txt
      Signed-off-by: NAlon Levy <alevy@redhat.com>
      
      ---
      
      changes from v24->v25:
       * Fix out of tree builds.
       * Fix build with linux-user targets.
      
      changes from v23->v24: (Jes Sorensen review 2)
       * Makefile.target: use obj-$(CONFIG_*) +=
       * remove unrequired includes, include qemu-common before qemu-thread
        * required adding #define NO_NSPR_10_SUPPORT (harmless)
      
      changes from v22->v23:
       * configure fixes: (reported by Stefan Hajnoczi)
        * test a = b, not a == b (second isn't portable)
        * quote $source_path in case it contains spaces
         - this doesn't really help since there are many other places
           that need similar fixes, not introduced by this patch.
      
      changes from v21->v22:
       * fix configure to not link libcacard if nss not found
          (reported by Stefan Hajnoczi)
       * fix vscclient linkage with simpletrace backend
          (reported by Stefan Hajnoczi)
       * card_7816.c: add missing break in ERROR_DATA_NOT_FOUND
          (reported by William van de Velde)
      
      changes from v20->v21: (Jes Sorensen review)
       * use qemu infrastructure: qemu-thread, qemu-common (qemu_malloc
        and qemu_free), error_report
       * assert instead of ASSERT
       * cosmetic fixes
       * use strpbrk and isspace
       * add --disable-nss --enable-nss here, instead of in the final patch.
       * split vscclient, passthru and docs to following patches.
      
      changes from v19->v20:
       * checkpatch.pl
      
      changes from v15->v16:
      
      Build:
       * don't erase self with distclean
       * fix make clean after make distclean
       * Makefile: make vscclient link quiet
      
      Behavioral:
       * vcard_emul_nss: load coolkey in more situations
       * vscclient:
        * use hton,ntoh
        * send init on connect, only start vevent thread on response
        * read payload after header check, before type switch
        * remove Reconnect
        * update for vscard_common changes, empty Flush implementation
      
      Style/Whitespace:
       * fix wrong variable usage
       * remove unused variable
       * use only C style comments
        * add copyright header
        * fix tabulation
      Signed-off-by: NAlon Levy <alevy@redhat.com>
      
      libcacard: fix out of tree builds
      111a38b0
    • A
      f20600f2
    • D
      Add SLOF-based partition firmware for pSeries machine, allowing more boot options · a9f8ad8f
      David Gibson 提交于
      Currently, the emulated pSeries machine requires the use of the
      -kernel parameter in order to explicitly load a guest kernel.  This
      means booting from the virtual disk, cdrom or network is not possible.
      
      This patch addresses this limitation by inserting a within-partition
      firmware image (derived from the "SLOF" free Open Firmware project).
      If -kernel is not specified, qemu will now load the SLOF image, which
      has access to the qemu boot device list through the device tree, and
      can boot from any of the usual virtual devices.
      
      In order to support the new firmware, an extension to the emulated
      machine/hypervisor is necessary.  Unlike Linux, which expects
      multi-CPU entry to be handled kexec() style, the SLOF firmware expects
      only one CPU to be active at entry, and to use a hypervisor RTAS
      method to enable the other CPUs one by one.
      
      This patch also implements this 'start-cpu' method, so that SLOF can
      start the secondary CPUs and marshal them into the kexec() holding
      pattern ready for entry into the guest OS.  Linux should, and in the
      future might directly use the start-cpu method to enable initially
      disabled CPUs, but for now it does require kexec() entry.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      a9f8ad8f
    • D
      Implement hcall based RTAS for pSeries machines · 39ac8455
      David Gibson 提交于
      On pSeries machines, operating systems can instantiate "RTAS" (Run-Time
      Abstraction Services), a runtime component of the firmware which implements
      a number of low-level, infrequently used operations.  On logical partitions
      under a hypervisor, many of the RTAS functions require hypervisor
      privilege.  For simplicity, therefore, hypervisor systems typically
      implement the in-partition RTAS as just a tiny wrapper around a hypercall
      which actually implements the various RTAS functions.
      
      This patch implements such a hypercall based RTAS for our emulated pSeries
      machine.  A tiny in-partition "firmware" calls a new hypercall, which
      looks up available RTAS services in a table.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      39ac8455
  10. 16 3月, 2011 1 次提交
  11. 21 1月, 2011 1 次提交
  12. 09 12月, 2010 1 次提交
  13. 27 11月, 2010 2 次提交
  14. 22 11月, 2010 1 次提交
  15. 21 11月, 2010 3 次提交
  16. 17 11月, 2010 1 次提交
  17. 16 11月, 2010 2 次提交
    • D
      Add a DTrace tracing backend targetted for SystemTAP compatability · 4addb112
      Daniel P. Berrange 提交于
      This introduces a new tracing backend that targets the SystemTAP
      implementation of DTrace userspace tracing. The core functionality
      should be applicable and standard across any DTrace implementation
      on Solaris, OS-X, *BSD, but the Makefile rules will likely need
      some small additional changes to cope with OS specific build
      requirements.
      
      This backend builds a little differently from the other tracing
      backends. Specifically there is no 'trace.c' file, because the
      'dtrace' command line tool generates a '.o' file directly from
      the dtrace probe definition file. The probe definition is usually
      named with a '.d' extension but QEMU uses '.d' files for its
      external makefile dependancy tracking, so this uses '.dtrace' as
      the extension for the probe definition file.
      
      The 'tracetool' program gains the ability to generate a trace.h
      file for DTrace, and also to generate the trace.d file containing
      the dtrace probe definition.
      
      Example usage of a dtrace probe in systemtap looks like:
      
        probe process("qemu").mark("qemu_malloc") {
          printf("Malloc %d %p\n", $arg1, $arg2);
        }
      
      * .gitignore: Ignore trace-dtrace.*
      * Makefile: Extra rules for generating DTrace files
      * Makefile.obj: Don't build trace.o for DTrace, use
        trace-dtrace.o generated by 'dtrace' instead
      * tracetool: Support for generating DTrace data files
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      4addb112
    • G
      Add new vgabios binaries to blobs list. · 3b3d448e
      Gerd Hoffmann 提交于
      aliguori: update VGA BIOS
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      3b3d448e
  18. 02 11月, 2010 1 次提交
  19. 30 10月, 2010 1 次提交
  20. 28 10月, 2010 1 次提交
    • M
      qemu-options.def: add to generated header list · df2943ba
      Michael S. Tsirkin 提交于
      All files include qemu-options.h which pulls in qemu-options.def from
      the root directory.  Thus generating qemu-options.def from Makefile.objs
      under the target directory is not effective.
      
      Further, people expect .def file to get cleaned with make clean:
      it does not have state so no reason to defer removing it
      until distclean. Also add a rule to remove old files that might
      be around.
      
      This fixes the error: ‘QEMU_OPTION_spice’ undeclared
      (first use in this function) error that some people reported
      which is really down to an out of date .def file.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      df2943ba
  21. 23 10月, 2010 1 次提交
    • B
      qemu-timer: move commonly used timer code to qemu-timer-common · c57c846a
      Blue Swirl 提交于
      Move timer init functions to a new file, qemu-timer-common.c. Make other
      critical timer functions inlined to preserve performance in
      qemu-timer.c, also move muldiv64() (used by the inline functions)
      to qemu-timer.h.
      
      Adjust block/raw-posix.c and simpletrace.c to use get_clock() directly.
      Remove a similar/duplicate definition in qemu-tool.c.
      
      Adjust hw/omap_clk.c to include qemu-timer.h because muldiv64() is used
      there.
      
      After this change, tracing can be used also for user code and
      simpletrace on Win32.
      
      Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Acked-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      c57c846a
  22. 22 10月, 2010 1 次提交
  23. 14 10月, 2010 1 次提交
  24. 09 10月, 2010 1 次提交
  25. 02 10月, 2010 2 次提交
  26. 01 10月, 2010 2 次提交
    • L
      Monitor: Rename the qemu-monitor.hx file · acd0a093
      Luiz Capitulino 提交于
      Let's be consistent and call it hmp-commands.hx, so that we have
      qmp-commands.hx for QMP and hmp-commands.hx for HMP.
      
      Please, note that this commit doesn't touch qemu-monitor.texi. All
      texi files have the qemu- prefix and I don't think it's worth
      changing that.
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      acd0a093
    • L
      Monitor: Introduce the qmp-commands.hx file · 82a56f0d
      Luiz Capitulino 提交于
      This file contains a copy of the following information from the
      qemu-monitor.hx file:
      
          o QObject handlers entries
          o QMP documentation (all SQMP/EQMP sections)
      
      Right now it's only used to generate the QMP docs in QMP/, but
      next commits will turn this into QMP's command dispatch table.
      
      It's important to note that QObject handlers entries are going
      to get duplicated: they will exist in both QMP's and HMP's
      dispatch tables.
      
      This will be fixed in the near future, when we add a proper
      QMP call interface and HMP is converted to use it. This way we
      can completely drop QObject handlers entries from HMP's tables.
      
      NOTE: HMP specific constructions, like "q|quit", have been dropped.
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      82a56f0d
  27. 27 9月, 2010 1 次提交
  28. 22 9月, 2010 1 次提交
    • A
      trace: Fix user emulator dependency on trace objects · 91f16900
      Andreas Färber 提交于
      On a clean build, after generating trace.h, make would recurse into *-*-user
      without a clue how to build ../trace.o (added to $(obj-y) in Makefile.target)
      since its generation rule is in the main Makefile.
      The softmmus are seemingly unaffected because the $(TOOLS), which each have
      a dependency on $(trace-obj-y), are built first for the build-all target.
      
      Add a dependency on $(trace-obj-y) for %-user, as done for the qemu-* tools.
      
      Let's be paranoid and do the same for %-softmmu while at it, just in case
      someone messes with $(TOOLS) or calls the Makefile target directly.
      Signed-off-by: NAndreas Färber <andreas.faerber@web.de>
      Acked-by: NStefan Weil <weil@mail.berlios.de>
      Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Cc: Prerna Saxena <prerna@linux.vnet.ibm.com>
      Cc: Blue Swirl <blauwirbel@gmail.com>
      Cc: Anthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      91f16900
  29. 10 9月, 2010 2 次提交
    • S
      trace: Add simple built-in tracing backend · 26f7227b
      Stefan Hajnoczi 提交于
      This patch adds a simple tracer which produces binary trace files.  To
      try out the simple backend:
      
      $ ./configure --trace-backend=simple
      $ make
      
      After running QEMU you can pretty-print the trace:
      
      $ ./simpletrace.py trace-events trace.log
      
      The output of simpletrace.py looks like this:
      
        qemu_realloc 0.699 ptr=0x24363f0 size=0x3 newptr=0x24363f0
        qemu_free 0.768 ptr=0x24363f0
        ^           ^---- timestamp delta (us)
        |____ trace event name
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      
      trace: Make trace record fields 64-bit
      
      Explicitly use 64-bit fields in trace records so that timestamps and
      magic numbers work for 32-bit host builds.
      
      Includes fixes from Prerna Saxena <prerna@linux.vnet.ibm.com>.
      Signed-off-by: NPrerna Saxena <prerna@linux.vnet.ibm.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      26f7227b
    • S
      trace: Add trace-events file for declaring trace events · 94a420b1
      Stefan Hajnoczi 提交于
      This patch introduces the trace-events file where trace events can be
      declared like so:
      
      qemu_malloc(size_t size) "size %zu"
      qemu_free(void *ptr) "ptr %p"
      
      These trace event declarations are processed by a new tool called
      tracetool to generate code for the trace events.  Trace event
      declarations are independent of the backend tracing system (LTTng User
      Space Tracing, ftrace markers, DTrace).
      
      The default "nop" backend generates empty trace event functions.
      Therefore trace events are disabled by default.
      
      The trace-events file serves two purposes:
      
      1. Adding trace events is easy.  It is not necessary to understand the
         details of a backend tracing system.  The trace-events file is a
         single location where trace events can be declared without code
         duplication.
      
      2. QEMU is not tightly coupled to one particular backend tracing system.
         In order to support tracing across QEMU host platforms and to
         anticipate new backend tracing systems that are currently maturing,
         it is important to be flexible and not tied to one system.
      
      This commit includes fixes from Prerna Saxena
      <prerna@linux.vnet.ibm.com> and Blue Swirl <blauwirbel@gmail.com>.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      94a420b1