1. 27 4月, 2010 1 次提交
  2. 25 4月, 2010 1 次提交
  3. 14 4月, 2010 1 次提交
  4. 08 4月, 2010 1 次提交
    • R
      tcg-hppa: Finish the port. · fd76e73a
      Richard Henderson 提交于
      Delete inline functions from tcg-target.h that don't need to be there,
      move the others to tcg-target.c.  Add 'Z', 'I', 'J' constraints for
      0, signed 11-bit, and signed 5-bit respectively.  Add GUEST_BASE support
      similar to ppc64, with the value stored in a register.  Add missing
      registers to reg_alloc_order.  Add support for 12-bit branch relocations.
      Add functions for synthetic operations: addi, mtctl, dep, shd, vshd, ori,
      andi, shifts, rotates, multiply, branches, setcond.  Split out TLB reads
      from qemu_ld and qemu_st; fix argument loading for tlb external calls.
      Generate the prologue.
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      fd76e73a
  5. 05 4月, 2010 1 次提交
    • P
      Split TLB addend and target_phys_addr_t · 355b1943
      Paul Brook 提交于
      Historically the qemu tlb "addend" field was used for both RAM and IO accesses,
      so needed to be able to hold both host addresses (unsigned long) and guest
      physical addresses (target_phys_addr_t).  However since the introduction of
      the iotlb field it has only been used for RAM accesses.
      
      This means we can change the type of addend to unsigned long, and remove
      associated hacks in the big-endian TCG backends.
      
      We can also remove the host dependence from target_phys_addr_t.
      Signed-off-by: NPaul Brook <paul@codesourcery.com>
      355b1943
  6. 02 4月, 2010 3 次提交
    • A
      tcg: initial ia64 support · 477ba620
      Aurelien Jarno 提交于
      A few words about design choices:
      * On IA64, instructions should be grouped by bundle, and dependencies
        between instructions declared. A first version of this code tried to
        schedule instructions automatically, but was very complex and too
        invasive for the current common TCG code (ops not ending at
        instruction boundaries, code retranslation breaking already generated
        code, etc.)  It was also not very efficient, as dependencies between
        TCG ops is not available.
        Instead the option taken by the current implementation does not try
        to fill the bundle by scheduling instructions, but by providing ops
        not available as an ia64 instruction, and by offering 22-bit constant
        loading for most of the instructions. With both options the bundle are
        filled at approximately the same level.
      
      * Up to 128 registers can be affected to a function on IA64, but TCG
        limits this number to 64, which is actually more than enough. The
        register affectation is the following:
        - r0: used to map a constant argument with value 0
        - r1: global pointer
        - r2, r3: internal use
        - r4 to r6: not used to avoid saving them
        - r7: env structure
        - r8 to r11: free for TCG (call clobbered)
        - r12: stack pointer
        - r13: thread pointer
        - r14 to r31: free for TCG (call clobbered)
        - r32: reserved (return address)
        - r33: reserved (PFS)
        - r33 to r63: free for TCG
      
      * The IA64 architecture has only 64-bit registers and no 32-bit
        instructions (the only exception being cmp4). Therefore 64-bit
        registers and instructions are used for 32-bit ops. The adopted
        strategy is the same as the ABI, that is the higher 32 bits are
        undefined. Most ops (and, or, add, shl, etc.) can directly use
        the 64-bit registers, while some others have to sign-extend (sar,
        div, etc.) or zero-extend (shr, divu, etc.) the register first.
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      477ba620
    • A
      ia64 disas support · 903ec55c
      Aurelien Jarno 提交于
      Taken from binutils SVN, using last GPLv2 version.
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      903ec55c
    • M
      vhost: vhost net support · d5970055
      Michael S. Tsirkin 提交于
      This adds vhost net device support in qemu. Will be tied to tap device
      and virtio by following patches.  Raw backend is currently missing,
      will be worked on/submitted separately.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      d5970055
  7. 31 3月, 2010 1 次提交
    • J
      Get bsd-user host page protection code working on FreeBSD hosts · f01576f1
      Juergen Lock 提交于
      Use kinfo_getvmmap(3) on FeeBSD >= 7.x and /compat/linux/proc on older
      FreeBSD.  (kinfo_getvmmap is preferred since /compat/linux/proc is
      usually only mounted on hosts also using the Linuxolator.)
      
      This patch is a bit hacky because the includes needed for kinfo_getvmmap
      conflict with other definitions in exec.c by default so I had to `trick
      around' a little, but I built the result in FreeBSD 6.4-stable and
      7.2-stable tbs and on 8-stable on the host so the hacks at least
      should be stable.  (If this is a problem maybe we could also move the
      kinfo_getvmmap invocations into a seperate source file but that would
      be more work...)
      Signed-off-by: NJuergen Lock <nox@jelal.kn-bremen.de>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      f01576f1
  8. 28 3月, 2010 1 次提交
  9. 27 3月, 2010 1 次提交
  10. 22 3月, 2010 1 次提交
  11. 21 3月, 2010 1 次提交
  12. 13 3月, 2010 2 次提交
  13. 09 3月, 2010 2 次提交
  14. 07 3月, 2010 1 次提交
  15. 20 2月, 2010 2 次提交
  16. 08 2月, 2010 2 次提交
  17. 07 2月, 2010 3 次提交
  18. 29 1月, 2010 3 次提交
  19. 27 1月, 2010 2 次提交
  20. 24 1月, 2010 1 次提交
  21. 14 1月, 2010 4 次提交
  22. 13 1月, 2010 2 次提交
  23. 09 1月, 2010 1 次提交
  24. 08 1月, 2010 1 次提交
    • A
      Drop --whole-archive and static libraries · 0e8c9214
      Andreas Färber 提交于
      Juan has contributed a cool Makefile infrastructure that enables us to drop
      static libraries completely:
      
      Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,user-},
      and link those object files directly into the executables.
      
      Replace HWLIB by HWDIR, specifying only the directory.
      
      Drop --whole-archive and ARLIBS in Makefiles and configure.
      
      Drop GENERATED_HEADERS dependency in rules.mak, since this rebuilds all
      common objects after generating a target-specific header; add dependency
      rules to Makefile and Makefile.target instead.
      
      v2:
      - Don't try to include /config.mak for user emulators
      - Changes to user object paths ("Quickfix for libuser.a drop") were obsoleted
        by "user_only: compile everything with -fpie" (Kirill A. Shutemov)
      
      v3:
      - Fix dependency modelling for tools
      - Remove comment on GENERATED_HEADERS obsoleted by this patch
      Signed-off-by: NAndreas Färber <afaerber@opensolaris.org>
      Cc: Blue Swirl <blauwirbel@gmail.com>
      Cc: Palle Lyckegaard <palle@lyckegaard.dk>
      Cc: Ben Taylor <bentaylor.solx86@gmail.com>
      Cc: Juan Quintela <quintela@trasno.org>
      Cc: Kirill A. Shutemov <kirill@shutemov.name>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      0e8c9214
  25. 23 12月, 2009 1 次提交