Statistics
| Branch: | Revision:

root / tcg @ 15ecf6e3

# Date Author Comment
a485cff0 10/13/2013 02:19 am Richard Henderson

tcg-arm: Tidy variable naming convention in qemu_ld/st

s/addr_reg2/addrhi/
s/addr_reg/addrlo/
s/data_reg2/datahi/
s/data_reg/datalo/

Signed-off-by: Richard Henderson <>

15ecf6e3 10/13/2013 02:19 am Richard Henderson

tcg-arm: Convert to new ldst opcodes

Signed-off-by: Richard Henderson <>

d257e0d7 10/13/2013 02:19 am Richard Henderson

tcg: Use TCGMemOp for TCGLabelQemuLdst.opc

Signed-off-by: Richard Henderson <>

37c5d0d5 10/13/2013 02:19 am Richard Henderson

tcg-i386: Use TCGMemOp within qemu_ldst routines

Step one in the transition, with constants passed down from tcg_out_op.

Signed-off-by: Richard Henderson <>

7352ee54 10/13/2013 02:19 am Richard Henderson

tcg-i386: Tidy softmmu routines

Pass two TCGReg to tcg_out_tlb_load, rather than idx+args.

Move ldst_optimization routines just below tcg_out_tlb_load to avoid
the need for forward declarations.

Use TCGReg enum in preference to int where apprpriate.

Signed-off-by: Richard Henderson <>

b3e2bc50 10/13/2013 02:19 am Richard Henderson

tcg-i386: Remove "cb" output restriction from qemu_st8 for i386

Once we form a combined qemu_st_i32 opcode, we won't be able to
have separate constraints based on size. This one is fairly easy
to work around, since eax is available as a scratch register....

8221a267 10/13/2013 02:19 am Richard Henderson

tcg-i386: Support new ldst opcodes

No support for helpers with non-default endianness yet,
but good enough to test the opcodes.

Signed-off-by: Richard Henderson <>

099fcf2e 10/13/2013 02:19 am Richard Henderson

tcg-arm: Use TCGMemOp within qemu_ldst routines

Signed-off-by: Richard Henderson <>

0315c51e 10/13/2013 02:19 am Richard Henderson

tcg-arm: Convert to le/be ldst helpers

Signed-off-by: Richard Henderson <>

f713d6ad 10/10/2013 11:19 pm Richard Henderson

tcg: Add qemu_ld_st_i32/64

Step two in the transition, adding the new ldst opcodes. Keep the old
opcodes around until all backends support the new opcodes.

Signed-off-by: Richard Henderson <>

867b3201 10/10/2013 11:19 pm Richard Henderson

exec: Add both big- and little-endian memory helpers

Step three in the transition: helpers not tied to the target
"default" endianness. To be used when the guest uses a memory
operation with non-default endianness.

Signed-off-by: Richard Henderson <>

6c5f4ead 10/10/2013 10:20 pm Richard Henderson

tcg: Add TCGMemOp

Signed-off-by: Richard Henderson <>

3cf246f0 10/10/2013 09:44 pm Richard Henderson

tcg: Add tcg-be-null.h

This is a no-op backend data implementation, for those targets that
are not currently using the load/store optimization path.

This is prepatory to always requiring these functions in all backends.

Signed-off-by: Richard Henderson <>

9ecefc84 10/10/2013 09:44 pm Richard Henderson

tcg: Add tcg-be-ldst.h

Move TCGLabelQemuLdst and related stuff out of tcg.h.

Signed-off-by: Richard Henderson <>

100b5e01 10/10/2013 09:44 pm Richard Henderson

tcg: Put target helper data into an array.

One call inside of a loop to tcg_register_helper instead of hundreds
of sequential calls.

Presumably more icache and branch prediction friendly; resulting binary
size mostly unchanged on x86_64, as we're trading 32-bit rip-relative...

4953ee62 10/10/2013 09:44 pm Richard Henderson

tcg: Add tcg-runtime.c helpers to all_helpers

For the few targets that actually use these, we'd not report
them symbolicly in the tcg opcode logs.

Signed-off-by: Richard Henderson <>

84fd9dd3 10/10/2013 09:44 pm Richard Henderson

tcg: Merge tcg_register_helper into tcg_context_init

Eliminates the repeated checks for having created
the s->helpers hash table.

Signed-off-by: Richard Henderson <>

023261ef 10/10/2013 09:44 pm Richard Henderson

tcg-aarch64: Update to helper_ret_*_mmu routines

A minimal update to use the new helpers with the return address argument.

Tested-by: Claudio Fontana <>
Reviewed-by: Claudio Fontana <>
Signed-off-by: Richard Henderson <>

5cd8f621 10/10/2013 09:43 pm Richard Henderson

tcg: Move helper registration into tcg_context_init

No longer needs to be done on a per-target basis.

Signed-off-by: Richard Henderson <>

6e085f72 10/10/2013 09:41 pm Richard Henderson

tcg: Use a GHashTable for tcg_find_helper

Slightly changes the interface, in that we now return name
instead of a TCGHelperInfo structure, which goes away.

Reviewed-by: Stefan Weil <>
Signed-off-by: Richard Henderson <>

7c57df0d 10/10/2013 09:41 pm Richard Henderson

tcg: Delete tcg_helper_get_name declaration

The function was deleted in 4dc81f2822187f4503d4bdb76785cafa5b28db0b.

Reviewed-by: Stefan Weil <>
Signed-off-by: Richard Henderson <>

802b5081 10/10/2013 09:31 pm Richard Henderson

tcg-hppa: Remove tcg backend

Signed-off-by: Richard Henderson <>

576e81be 10/09/2013 05:52 pm Anthony Liguori

Merge remote-tracking branch 'rth/tcg-arm-pull' into staging

  1. By Richard Henderson
  2. Via Richard Henderson
    • rth/tcg-arm-pull:
      tcg-arm: Move the tlb addend load earlier
      tcg-arm: Remove restriction on qemu_ld output register
      tcg-arm: Return register containing tlb addend...
ce079abb 10/09/2013 05:51 pm Anthony Liguori

Merge remote-tracking branch 'sweil/tci' into staging

  1. By Stefan Weil
  2. Via Stefan Weil
    • sweil/tci:
      misc: Use new rotate functions
      bitops: Add rotate functions (rol8, ror8, ...)
      tci: Add implementation of rotl_i64, rotr_i64

Message-id: ...

23bbc250 10/01/2013 08:20 pm Richard Henderson

tcg-arm: Use ldrd/strd for appropriate qemu_ld/st64

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

d9f4dde4 10/01/2013 08:20 pm Richard Henderson

tcg-arm: Rearrange slow-path qemu_ld/st

Use the new helper_ret_*_mmu routines. Use a conditional call
to arrange for a tail-call from the store path, and to load the
return address for the helper for the load path.

Signed-off-by: Richard Henderson <>

e5e2e4a7 10/01/2013 08:20 pm Richard Henderson

tcg-arm: Use strd for tcg_out_arg_reg64

Signed-off-by: Richard Henderson <>

f2488736 10/01/2013 08:20 pm Richard Henderson

tcg-arm: Use QEMU_BUILD_BUG_ON to verify constraints on tlb

One of the two constraints we already checked via #if, but
the tlb offset distance was only checked at runtime.

Signed-off-by: Richard Henderson <>

d0ebde22 10/01/2013 08:20 pm Richard Henderson

tcg-arm: Move load of tlb addend into tcg_out_tlb_read

This allows us to make more intelligent decisions about the relative
offsets of the tlb comparator and the addend, avoiding any need of
writeback addressing.

Signed-off-by: Richard Henderson <>

d3e440be 10/01/2013 08:20 pm Richard Henderson

tcg-arm: Return register containing tlb addend

Preparatory to rescheduling the tlb load, and changing said register.
Continues to use R1 for now.

Signed-off-by: Richard Henderson <>

66c2056f 10/01/2013 08:20 pm Richard Henderson

tcg-arm: Remove restriction on qemu_ld output register

The main intent of the patch is to allow the tlb addend register
to be changed, without tying that change to the constraint. But
the most common side-effect seems to be to enable usage of ldrd
with the r0,r1 pair....

ee06e230 10/01/2013 08:20 pm Richard Henderson

tcg-arm: Move the tlb addend load earlier

There are free scheduling slots between the sequence of
comparison instructions. This requires changing the
register in use to avoid conflict with those compares.

Signed-off-by: Richard Henderson <>

3df2b8fd 09/25/2013 10:23 pm Stefan Weil

misc: Use new rotate functions

Signed-off-by: Stefan Weil <>

d285bf78 09/25/2013 10:22 pm Stefan Weil

tci: Add implementation of rotl_i64, rotr_i64

It is used by qemu-ppc64 when running Debian's busybox-static.

Cc: qemu-stable <>
Signed-off-by: Stefan Weil <>
Reviewed-by: Richard Henderson <>

7f12d649 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Implement CONFIG_QEMU_LDST_OPTIMIZATION

Signed-off-by: Richard Henderson <>

29b69198 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: More use of TAI and SAI helper macros

Finish conversion of all memory operations.

Signed-off-by: Richard Henderson <>

8327a470 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Use TCG_REG_Rn constants

Instead of bare N, for clarity. The only (intentional) exception made
is for insns that encode R|0, i.e. when R0 encoded into the insn is
interpreted as zero not the contents of the register.

Signed-off-by: Richard Henderson <>

5e0f40cf 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Use tcg_out64

Signed-off-by: Richard Henderson <>

f8b84129 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Avoid code for nop move

While these are rare from code that's been through the optimizer,
it's not uncommon within the tcg backend.

Signed-off-by: Richard Henderson <>

ad94e1a9 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Don't load the static chain from TCG

There are no helpers that require the static chain.

Signed-off-by: Richard Henderson <>

d40f3cb1 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Fold constant call address into descriptor load

Eliminates one insn per call:

:  lis     r2,4165
: ori r2,r2,59616
: ld r0,0(r2)
: ld r0,-5920(r2)
: mtctr r0
-: ld r2,8(r2)
: ld r2,-5912(r2)
: bctrl

Signed-off-by: Richard Henderson <>

b0940da0 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Look through a constant function descriptor

Especially in the user-only configurations, a direct branch into
the executable may be in range.

Signed-off-by: Richard Henderson <>

5e1702b0 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Tidy register allocation order

Remove conditionalization from tcg_target_reg_alloc_order, relying on
reserved_regs to prevent register allocation that shouldn't happen.
So R11 is now present in reg_alloc_order for APPLE, but also now
reserved....

b18d5d2b 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Handle long offsets better

Previously we'd only handle 16-bit offsets from memory operand without falling
back to indexed, but it's easy to use ADDIS to handle full 32-bit offsets.

This also lets us unify code that existed inline in tcg_out_op for handling...

fa94c3be 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Implement tcg_register_jit

Signed-off-by: Richard Henderson <>

fedee3e7 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Streamline tcg_out_tlb_read

Less conditional compilation. Merge an add insn with the indexed
memory load insn. Load the tlb addend earlier. Avoid the address
update memory form.

Fix a bug in not allowing large enough tlb offsets for some guests....

c7ca6a2b 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Add _noaddr functions for emitting forward branches

... rather than open-coding this stuff through the file.

Signed-off-by: Richard Henderson <>

4b2b114d 09/25/2013 05:46 pm Richard Henderson

tcg-ppc: Avoid code for nop move

While these are rare from code that's been through the optimizer,
it's not uncommon within the tcg backend.

Signed-off-by: Richard Henderson <>

1d10cf98 09/25/2013 05:46 pm Richard Henderson

tcg-ppc: Cleanup tcg_out_qemu_ld/st_slow_path

Coding style fixes. Use TCGReg enumeration values instead of raw
numbers. Don't needlessly pull the whole TCGLabelQemuLdst struct
into local variables. Less conditional compilation.

No functional changes....

5b1c985b 09/25/2013 05:46 pm Richard Henderson

tcg-ppc: Use conditional branch and link to slow path

Saves one insn per slow path. Note that we can no longer use
a tail call into the store helper.

Signed-off-by: Richard Henderson <>

8f50c841 09/25/2013 05:46 pm Richard Henderson

tcg-ppc: Fix and cleanup tcg_out_tlb_check

The fix is that sparc has so many mmu modes that the last one overflowed
the 16-bit signed offset we assumed would fit. Handle this, and check
the new assumption at compile time.

Load the tlb addend earlier for the fast path....

541dd4ce 09/25/2013 05:46 pm Richard Henderson

tcg-ppc64: Reformat tcg-target.c

Whitespace and brace changes only.

Signed-off-by: Richard Henderson <>

619f90ba 09/25/2013 05:45 pm Paolo Bonzini

tcg-ppc: use new return-argument ld/st helpers

These use a 32-bit load-of-immediate to save a mflr+addi+mtlr sequence.
Tested with a Windows 98 guest (pretty much the most recent thing I
could run on my PPC machine) and kvm-unit-tests's sieve.flat. The
speed up for sieve.flat is as high as 10% for qemu-system-i386, 25%...

6a115579 09/25/2013 05:45 pm Paolo Bonzini

tcg-ppc: fix qemu_ld/qemu_st for AIX ABI

For the AIX ABI, the function pointer and small area pointer need
to be loaded in the trampoline. The trampoline instead is called
with a normal BL instruction.

Signed-off-by: Paolo Bonzini <>...

387e4176 09/20/2013 07:09 pm Richard Henderson

tcg-sparc: Fix parenthesis warning

error: suggest parentheses around comparison in operand of ‘&’ [-Werror=parentheses]

Signed-off-by: Richard Henderson <>
Signed-off-by: Michael Tokarev <>

5a93d5c2 09/03/2013 08:31 pm Anthony Liguori

Merge remote-tracking branch 'mjt/trivial-patches' into staging

  1. By Stefan Weil (6) and others
  2. Via Michael Tokarev
    • mjt/trivial-patches:
      aio / timers: use g_usleep() not sleep()
      adlib: sort offsets in portio registration
      qmp: fix integer usage in examples...
545825d4 09/03/2013 02:35 am Aurelien Jarno

Merge branch 'tcg-next' of git://github.com/rth7680/qemu

  • 'tcg-next' of git://github.com/rth7680/qemu: (29 commits)
    tcg-i386: Make use of zero-extended memory helper routines
    tcg: Introduce zero and sign-extended versions of load helpers
    exec: Split softmmu_defs.h...
988902fc 09/03/2013 02:34 am Aurelien Jarno

tcg/mips: detect available host instructions at runtime

Now that TCG supports enabling and disabling ops at runtime, it's
possible to detect the available host instructions at runtime, and
enable the corresponding ops accordingly.

Unfortunately it's not easy to probe for available instructions on...

df81ff51 09/03/2013 02:34 am Aurelien Jarno

tcg/mips: inline bswap16/bswap32 ops

Use an inline version for the bswap16 and bswap32 ops to avoid
testing for MIPS32R2 instructions availability, as these ops are
only available in that case.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

3207bf25 09/03/2013 02:34 am Aurelien Jarno

tcg/mips: only enable ext8s/ext16s ops on MIPS32R2

On MIPS ext8s and ext16s ops are implemented with a dedicated
instruction only on MIPS32R2, otherwise the same kind of implementation
than at TCG level (shift left followed by shift right) is used.

Change that by only implementing the ext8s and ext16s ops on MIPS32R2 so...

c8f94df5 09/02/2013 07:08 pm Richard Henderson

tcg: Introduce zero and sign-extended versions of load helpers

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

6fb58745 09/02/2013 07:08 pm Richard Henderson

tcg-i386: Make use of zero-extended memory helper routines

For 8 and 16-bit unsigned loads, rely on the zero-extension
from the helper and use a smaller 32-bit move insn.

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

8cfd0495 09/02/2013 07:08 pm Richard Henderson

tcg: Change tcg_gen_exit_tb argument to uintptr_t

And update all users.

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

a05b5b9b 09/02/2013 07:08 pm Richard Henderson

tcg: Change tcg_out_ld/st offset to intptr_t

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

d3452f1f 09/02/2013 07:08 pm Richard Henderson

tcg: Use appropriate types in tcg_reg_alloc_call

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

edee2579 09/02/2013 07:08 pm Richard Henderson

tcg: Fix jit debug for x32

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

357e3d8a 09/02/2013 07:08 pm Richard Henderson

tcg-i386: Use intptr_t appropriately

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

d5dad3be 09/02/2013 07:08 pm Richard Henderson

tcg-i386: Adjust tcg_out_tlb_load for x32

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

5bcebc25 09/02/2013 07:08 pm Richard Henderson

tcg-i386: Don't perform GETPC adjustment in TCG code

Since we now perform it inside the helper, no need to do it here.
This also lets us perform a tail-call from the store slow path to
the helper.

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

e58eb534 09/02/2013 07:08 pm Richard Henderson

exec: Split softmmu_defs.h

The _cmmu helpers can be moved to exec-all.h. The helpers that are
used from TCG will shortly need access to tcg_target_long so move
their declarations into tcg.h.

This requires minor include adjustments to all TCG backends.
...

03271524 09/02/2013 07:08 pm Richard Henderson

tcg: Add muluh and mulsh opcodes

Use them in places where mulu2 and muls2 are used.
Optimize mulx2 with dead low part to mulxh.

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

3c9a8f17 09/02/2013 07:08 pm Richard Henderson

tcg-mips: Implement mulsh, muluh

With the optimization in tcg_liveness_analysis,
we can avoid the MFLO when it is unused.

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

32f5717f 09/02/2013 07:08 pm Richard Henderson

tcg-ppc64: Implement muluh, mulsh

Using these instead of mulu2 and muls2 lets us avoid having to argument
overlap analysis in the backend. Normal register allocation will DTRT.

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

01547f7f 09/02/2013 07:08 pm Richard Henderson

tcg: Constant fold div, rem

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

b93949ef 09/02/2013 07:08 pm Richard Henderson

tcg: Change flush_icache_range arguments to uintptr_t

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

04d5a1da 09/02/2013 07:08 pm Richard Henderson

tcg: Change tcg_qemu_tb_exec return to uintptr_t

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

78cd7b83 09/02/2013 07:08 pm Richard Henderson

tcg: Allow TCG_TARGET_REG_BITS to be specified independantly

There are several hosts for which it would be useful to use the
available 64-bit registers in a 32-bit pointer environment.

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

d289837e 09/02/2013 07:08 pm Richard Henderson

tcg: Define TCG_TYPE_PTR properly

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

8b73d49f 09/02/2013 07:08 pm Richard Henderson

tcg: Define TCG_ptr properly

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

e2c6d1b4 09/02/2013 07:08 pm Richard Henderson

tcg: Change frame pointer offsets to intptr_t

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

2f2f244d 09/02/2013 07:08 pm Richard Henderson

tcg: Change memory offsets to intptr_t

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

2ba7fae2 09/02/2013 07:08 pm Richard Henderson

tcg: Change relocation offsets to intptr_t

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

48bc6bab 09/02/2013 07:08 pm Richard Henderson

tcg: Use uintptr_t in TCGHelperInfo

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

a32b1274 09/01/2013 06:36 pm Stefan Weil

tci: Remove function tcg_out64 (fix broken build)

Commit ac26eb69a311396668809eadbf7ff4e623447d4c added tcg_out64 to tcg/tcg.c.
tcg/tci/tcg-target.c already had a nearly identical implementation which is
now removed to fix a compiler error.

Signed-off-by: Stefan Weil <>...

401c227b 08/26/2013 11:31 pm Richard Henderson

tcg-i386: Use new return-argument ld/st helpers

Discontinue the jump-around-jump-to-jump scheme, trading it for a single
immediate move instruction. The two extra jumps always consume 7 bytes,
whereas the immediate move is either 5 or 7 bytes depending on where the...

2bb8656d 08/26/2013 11:31 pm Richard Henderson

tcg: Tidy generated code for tcg_outN

Aliasing was forcing s->code_ptr to be re-read after the store.
Keep the pointer in a local variable to help the compiler.

Signed-off-by: Richard Henderson <>

ac26eb69 08/26/2013 11:31 pm Richard Henderson

tcg-i386: Add and use tcg_out64

No point in splitting the write into 32-bit pieces.

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

8023ccda 08/26/2013 11:31 pm Richard Henderson

tcg-i386: Try pc-relative lea for constant formation

Use a 7 byte lea before the ultimate 10 byte movq.

Signed-off-by: Richard Henderson <>

c6f29ff0 08/26/2013 11:31 pm Richard Henderson

tcg-i386: Tidy qemu_ld/st slow path

Use existing stack space for arguments; don't push/pop.
Use less ifdefs and more C ifs.

Signed-off-by: Richard Henderson <>

85711e6b 08/09/2013 12:06 am James Hogan

tcg/mips: fix invalid op definition errors

tcg/mips/tcg-target.h defines various operations conditionally depending
upon the isa revision, however these operations are included in
mips_op_defs[] unconditionally resulting in the following runtime errors
if CONFIG_DEBUG_TCG is defined:...

5fe0d351 07/31/2013 02:48 am Stefan Weil

tci: Fix broken build (compiler warning caused by redefined macro BIT)

The definition of macro BIT in tci/tcg-target.c now conflicts with the
definition of the same macro in includes qemu/bitops.h.

This conflict was triggered by a recent change in the include chain of...

f290e498 07/15/2013 11:21 pm Richard Henderson

Merge git://github.com/hw-claudio/qemu-aarch64-queue into tcg-next

c6d8ed24 07/15/2013 02:13 pm Jani Kokkonen

tcg/aarch64: Implement tlb lookup fast path

Supports CONFIG_QEMU_LDST_OPTIMIZATION

Signed-off-by: Jani Kokkonen <>
Reviewed-by: Richard Henderson <>
Reviewed-by: Claudio Fontana <>

b5cc476d 07/09/2013 05:15 pm Richard Henderson

tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size

We can check the condition at compile time, rather than run time.

Reviewed-by: Andreas Färber <>
Signed-off-by: Richard Henderson <>

0caa91fe 07/09/2013 05:15 pm Richard Henderson

tcg-arm: Implement tcg_register_jit

Allows unwinding past the code_gen_buffer.

Reviewed-by: Peter Maydell <>
Signed-off-by: Richard Henderson <>

45aba097 07/09/2013 05:15 pm Richard Henderson

tcg: Fix high_pc fields in .debug_info

I don't think the debugger actually looks at this for anything,
using the correct .debug_frame contents, but might as well get
it all correct.

Reviewed-by: Peter Maydell <>
Signed-off-by: Richard Henderson <>

497a22eb 07/09/2013 05:15 pm Richard Henderson

tcg: Move the CIE and FDE header definitions to common code

These will necessarily be the same layout for all hosts. This limits
the amount of boilerplate required to implement jit debug for a host.

Reviewed-by: Peter Maydell <>...

1e709f38 07/09/2013 05:15 pm Richard Henderson

tcg-arm: Use AT_PLATFORM to detect the host ISA

With this we can generate armv7 insns even when the OS compiles for a
lower common denominator. The macros are arranged so that when we do
compile for a given ISA, all of the runtime checks for that ISA are...

cb91021a 07/09/2013 05:15 pm Richard Henderson

tcg-arm: Simplify logic in detecting the ARM ISA in use

GCC 4.8 defines a handy __ARM_ARCH symbol that we can use, which
will make us nicely forward compatible with ARMv8 AArch32.

Reviewed-by: Peter Maydell <>
Signed-off-by: Richard Henderson <>

fb822738 07/09/2013 05:14 pm Richard Henderson

tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions

As it really controls the availability of a thumb interworking
instruction on armv5t.

Reviewed-by: Peter Maydell <>
Signed-off-by: Richard Henderson <>