- 09 3月, 2012 2 次提交
-
-
由 Avi Kivity 提交于
The return value of cpu_register_io_memory() is no longer used anywhere, so we can remove it and all associated data and code. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Instead of indirecting via io_mem_region, dispatch directly through the MemoryRegion obtained from the iotlb or phys_page_find(). Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 08 3月, 2012 1 次提交
-
-
由 Avi Kivity 提交于
A step towards eliminating io indices. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 04 1月, 2012 4 次提交
-
-
由 Avi Kivity 提交于
Now that all mmio goes through MemoryRegions, we can convert io_mem_opaque to be a MemoryRegion pointer, and remove the thunks that convert from old-style CPU{Read,Write}MemoryFunc to MemoryRegionOps. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Avi Kivity 提交于
Its use of IO_MEM_ROM and friends will later cause #include loops; and it is too large to merit inlining. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Avi Kivity 提交于
The code sometimes uses range comparisons on io indexes (e.g. index =< IO_MEM_ROM). Avoid these as they make moving to objects harder. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Avi Kivity 提交于
Currently mmio access goes directly to the io_mem_{read,write} arrays. In preparation for eliminating them, add indirection via a function. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
- 01 11月, 2011 1 次提交
-
-
由 Stefan Weil 提交于
Unlike other tcg target code generators, this one does not generate machine code for some cpu. It generates machine independent bytecode which is interpreted later. This allows running QEMU on any host. Interpreted bytecode is slower than direct execution of generated machine code. Signed-off-by: NStefan Weil <sw@weilnetz.de>
-
- 30 10月, 2011 1 次提交
-
-
由 Stefan Weil 提交于
Adding an offset to a void pointer works with gcc but is not allowed by the current C standards. With -pedantic, gcc complains: exec-all.h:344: error: pointer of type ‘void *’ used in arithmetic Fix this, and also replace (unsigned long) by (uintptr_t) in the same statement. Signed-off-by: NStefan Weil <sw@weilnetz.de> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 22 10月, 2011 1 次提交
-
-
由 Paolo Bonzini 提交于
None of this is needed by tools, and most of it can even be made static inside cpus.c. Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
-
- 01 10月, 2011 2 次提交
-
-
由 Blue Swirl 提交于
GETPC() can be used even from outside of helper code. Move the macro to a more accessible location. Avoid a compile warning from redefining it in exec.c. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Pass CPUState pointer to tlb_fill() instead of architecture local cpu_single_env hacks. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 21 7月, 2011 1 次提交
-
-
由 Blue Swirl 提交于
cea5f9a2 exposed bugs in unassigned memory access handling. Fix them by always passing CPUState to the handlers. Reported-by: NHervé Poussineau <hpoussin@reactos.org> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 13 7月, 2011 1 次提交
-
-
由 Peter Maydell 提交于
The target-arm frontend's worst-case TCG ops per instr is 194 (and in general many of the "load multiple registers" ARM instructions generate more than 100 TCG ops). Raise MAX_OP_PER_INSTR accordingly to avoid possible buffer overruns. Since it doesn't make any sense for the "64 bit guest on 32 bit host" case to have a smaller limit than the normal case, we collapse the two cases back into each other again. (This increase costs us about 14K in extra static buffer space and 21K of extra margin at the end of a 32MB codegen buffer.) Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 27 6月, 2011 2 次提交
-
-
由 Blue Swirl 提交于
Move functions cpu_has_work() and cpu_pc_from_tb() from exec.h to cpu.h. This is needed by later patches. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Make cpu_loop_exit() take a parameter for CPUState instead of relying on global env. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 01 6月, 2011 1 次提交
-
-
由 Richard Henderson 提交于
Signed-off-by: NRichard Henderson <rth@twiddle.net>
-
- 22 5月, 2011 1 次提交
-
-
由 Blue Swirl 提交于
tb_invalidate_page_range() was intended to be used to invalidate an area of a TB which the guest explicitly flushes from i-cache. However, QEMU detects writes to code areas where TBs have been generated, so his has never been useful. Delete the function, adjust callers. Reviewed-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 20 5月, 2011 1 次提交
-
-
由 Alexander Graf 提交于
When running a 64 bit guest on a 32 bit host, we tend to use more TCG ops than on a 64 bit host. Reflect that in the reserved opcode amount constant. Signed-off-by: NAlexander Graf <agraf@suse.de>
-
- 20 4月, 2011 2 次提交
-
-
由 Stefan Weil 提交于
The previous patch removed the need for parameter puc. Is is now unused, so remove it. Cc: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NStefan Weil <weil@mail.berlios.de>
-
由 Stefan Weil 提交于
Function gen_pc_load was introduced in commit d2856f1a. The only reason for parameter searched_pc was a debug statement in target-i386/translate.c. Parameter puc was needed by target-sparc until commit d7da2a10. Remove searched_pc from the debug statement and remove both parameters from the parameter list of gen_pc_load. As the function name gen_pc_load was also misleading, it is now called restore_state_to_opc. This new name was suggested by Peter Maydell, thanks. v2: Remove last parameter, too, and rename the function. v3: Fix [] typo in target-arm/translate.c. Fix wrong SHA1 object name in commit message (copy+paste error). Cc: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NStefan Weil <weil@mail.berlios.de>
-
- 11 2月, 2011 1 次提交
-
-
由 Tristan Gingold 提交于
This function is only used within exec.c, so no need to make it public. Signed-off-by: NTristan Gingold <gingold@adacore.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 24 1月, 2011 1 次提交
-
-
由 Blue Swirl 提交于
'extern' qualifier is useless for function declarations. Delete them. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 01 1月, 2011 1 次提交
-
-
由 Aurelien Jarno 提交于
Most of emulated CPU have instructions aligned on 16 or 32 bits, while on others GCC tries to align the target jump location. This means that 1/2 or 3/4 of tb_phys_hash entries are never used. Update the hash function tb_phys_hash_func() to ignore the two lowest bits of the address. This brings a 6% speed-up when booting a MIPS image. Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 22 12月, 2010 1 次提交
-
-
由 Aurelien Jarno 提交于
Use __builtin___clear_cache() instead of __clear_cache() to avoid having to define the function as extern. Fix the following warning: | In file included from qemu/cpus.c:34: | qemu/exec-all.h: In function 'tb_set_jmp_target1': | qemu/exec-all.h:208: error: nested extern declaration of '__clear_cache' | make[1]: *** [cpus.o] Error 1 | make: *** [subdir-i386-softmmu] Error 2 Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 21 10月, 2010 1 次提交
-
-
由 Marcelo Tosatti 提交于
To be used by next patches. Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com> Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 24 7月, 2010 1 次提交
-
-
由 Jun Koi 提交于
this patch removes unused function cpu_restore_state_copy(). Signed-off-by: NJun Koi <junkoi2004@gmail.com> Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
-
- 22 7月, 2010 1 次提交
-
-
由 Stefan Weil 提交于
Both values are only used in exec.c, so there is no need to make them globally available. Signed-off-by: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 09 6月, 2010 1 次提交
-
-
由 Aurelien Jarno 提交于
copy_size is a left-over from the dyngen era, remove it. Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 12 5月, 2010 1 次提交
-
-
由 Marcelo Tosatti 提交于
Store tcg loop exit request on a global variable, and transfer it to per-CPUState exit_request after assignment of cpu_single_env. This makes exit request signal from robust. Drop the timedlock hack. Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com> Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 02 5月, 2010 1 次提交
-
-
由 Stuart Brady 提交于
MAX_OPC_PARAM is intended to refer to the maximum number of entries used in gen_opparam_buf[] for any single helper call. It is currently defined as 10, but for 32-bit archs, the correct value (with a maximum for four helper arguments) is 14, and for 64-bit archs, only 9 entries are needed. tcg_gen_callN() fills four entries with the function address, flags, number of args, etc. and on 32-bit archs uses a further two entries per argument (with a maximum of four helper arguments), plus two more for the return value. On 64-bit archs, only half as many entries are used for the args and the return value. In reality, TBs tend not to consist purely of helper calls exceeding the stated 10 gen_opparam_buf[] entries, so this would never actually be a problem on 32-bit archs, but the definition is still rather confusing. Signed-off-by: NStuart Brady <sdb@zubnet.me.uk> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 09 4月, 2010 2 次提交
-
-
由 Paolo Bonzini 提交于
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Filip Navara 提交于
Signed-Off-By: NRiku Voipio <riku.voipio@nokia.com> Signed-off-by: NFilip Navara <filip.navara@gmail.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 30 3月, 2010 1 次提交
-
-
由 Blue Swirl 提交于
Arrange various declarations so that also non-CPU code can access them, adjust users. Move CPU specific code to cpus.c. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 17 3月, 2010 1 次提交
-
-
由 Paul Brook 提交于
QEMU uses a fixed page size for the CPU TLB. If the guest uses large pages then we effectively split these into multiple smaller pages, and populate the corresponding TLB entries on demand. When the guest invalidates the TLB by virtual address we must invalidate all entries covered by the large page. However the address used to invalidate the entry may not be present in the QEMU TLB, so we do not know which regions to clear. Implementing a full vaiable size TLB is hard and slow, so just keep a simple address/mask pair to record which addresses may have been mapped by large pages. If the guest invalidates this region then flush the whole TLB. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
- 13 3月, 2010 3 次提交
-
-
由 Paul Brook 提交于
Usermode virtual addresses are abi_ulong, not target_ulong. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
由 Paul Brook 提交于
Code to handle physical memory access is not meaningful in usrmode emulation, so disable it. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
由 Paul Brook 提交于
The page tracking code in exec.c is used by both userspace and system emulation. Userspace emulation uses it to track virtual pages, and system emulation to track ram pages. Introduce a new type to hold this kind of address. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
- 01 3月, 2010 1 次提交
-
-
由 Paul Brook 提交于
tlb_set_page isn't meaningful for userspace emulation, so remove it. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
- 01 12月, 2009 1 次提交
-
-
由 Aurelien Jarno 提交于
This is needed on a MIPS host and a 64-bit cross-endian target. Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-