- 21 5月, 2010 1 次提交
-
-
由 Richard Henderson 提交于
Computing carry is trivial for some inputs. By avoiding an external function call, we generate near-optimal code for the common cases of add+addx (double-word arithmetic) and cmp+addx (a setcc pattern). Signed-off-by: NRichard Henderson <rth@twiddle.net> Acked-by: NArtyom Tarasenko <atar4qemu@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 20 5月, 2010 2 次提交
-
-
由 Richard Henderson 提交于
Use int32 types instead of target_ulong when computing ICC. This simplifies the generated code for 32-bit host and 64-bit guest. Use the same simplified expressions for ICC as were already used for XCC in carry flag generation. Simplify the ADD carry generation to not consider a possible carry-in. Use the more complex carry computation for ADDX only. Use the same carry algorithm for the XCC result of ADDX. Similarly for SUB/SUBX. Use the ADD carry generation functions for TADD/TADDTV. Similarly for SUB and TSUB/TSUBTV. Tidy the code with respect to CODING_STYLE. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Richard Henderson 提交于
Return a target_ulong from compute_C_icc to match the width of the users. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 16 5月, 2010 2 次提交
-
-
由 Blue Swirl 提交于
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Igor V. Kovalenko 提交于
- must use store address operand to demap, not store value Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 10 5月, 2010 1 次提交
-
-
由 Blue Swirl 提交于
Recalculate Sparc64 CPU flags on interrupts, otherwise some earlier flags could be stored to pstate. Refactor PSR/CCR/CWP handling: concentrate the actual functions to op_helper.c. Thanks to Igor Kovalenko for reporting. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 07 5月, 2010 2 次提交
-
-
由 Igor V. Kovalenko 提交于
- increase max supported MMU modes to 6 - handle nucleus context asi - handle secondary context asi - handle non-faulting loads from secondary context Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Igor V. Kovalenko 提交于
- match global tte against any context - show global tte in MMU dump v0->v1: added default case to switch statement in demap_tlb - should fix gcc warning about uninitialized context variable Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 24 4月, 2010 1 次提交
-
-
由 Richard Henderson 提交于
Use address_mask on both addr and addr+8 in both these routines, rather than explicit masking with 0xffffffff. Reformulate address_mask to return a result, rather than masking a pass-by-reference argument. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 13 3月, 2010 1 次提交
-
-
由 Paul Brook 提交于
Disable various target specific code that is only relevant to system emulation. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
- 23 1月, 2010 1 次提交
-
-
由 Artyom Tarasenko 提交于
fix a potential null pointer dereference introduced in commit 576c2cdcSigned-off-by: NArtyom Tarasenko <atar4qemu@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 16 1月, 2010 1 次提交
-
-
由 Artyom Tarasenko 提交于
According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller User's Manual": 1. "A lower priority fault may not overwrite the MFSR status of a higher priority fault." 2. The MFAR is overwritten according to the policy defined for the MFSR 3. The overwrite bit is asserted if the fault status register (MFSR) has been written more than once by faults of the same class 4. SuperSPARC will never place instruction fault addresses in the MFAR. Implementation of points 1-3 allows booting Solaris 2.6 and 2.5.1. v2: CODING_STYLE fixes Signed-off-by: NArtyom Tarasenko <atar4qemu@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 09 1月, 2010 4 次提交
-
-
由 Igor V. Kovalenko 提交于
Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Igor V. Kovalenko 提交于
Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Igor V. Kovalenko 提交于
Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Igor V. Kovalenko 提交于
- pstate is 32bit variable, no need to pass 64bit value around Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 08 1月, 2010 1 次提交
-
-
由 Blue Swirl 提交于
See also 821b19fe. Spotted by Artyom Tarasenko and Igor Kovalenko. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 07 1月, 2010 1 次提交
-
-
由 Igor V. Kovalenko 提交于
Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 03 1月, 2010 2 次提交
-
-
由 Igor V. Kovalenko 提交于
- this fixes stepping with gdb, where do_unassigned_access may be called from gdb handler, outside of generated code Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Igor V. Kovalenko 提交于
- extended range of MMU related traps which use MMU global registers, as listed in Ultrasparc-IIi document - no visible changes, since emulation do not cause added traps Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 05 11月, 2009 1 次提交
-
-
由 Artyom Tarasenko 提交于
The page 108 of the SPARC Version 8 Architecture Manual describes that addcc and addxcc shall compute carry flag the same way. The page 110 claims the same about subcc and subxcc instructions. This patch fixes carry computation in corner cases and removes redundant code. The most visible effect of the patch is enabling Solaris boot when using OBP. Signed-off-by: NArtyom Tarasenko <atar4qemu@gmail.com> [blauwirbel@gmail.com: cleaned up formatting] Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 14 10月, 2009 1 次提交
-
-
由 Igor V. Kovalenko 提交于
Fix done instruction to resume with pc=tnpc, npc=tnpc+4 Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 02 10月, 2009 2 次提交
-
-
由 Anthony Liguori 提交于
In the very least, a change like this requires discussion on the list. The naming convention is goofy and it causes a massive merge problem. Something like this _must_ be presented on the list first so people can provide input and cope with it. This reverts commit 99a0949b. Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 malc 提交于
Some not so obvious bits, slirp and Xen were left alone for the time being. Signed-off-by: Nmalc <av1474@comtv.ru>
-
- 24 9月, 2009 1 次提交
-
-
由 Igor V. Kovalenko 提交于
Sparc64 alternate space load/store helpers expect 8 bit ASI value, while wrasi implementation sign-extends ASI operand causing for example 0x80 to appear as 0xFFFFFF80. Resulting value falls out of switch in helpers and causes obscure load/store faults. - correct wrasi by masking lower 8 bits of xor result - use lower 8 bits of ASI register in helpers Signed-off-by: NIgor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 05 8月, 2009 1 次提交
-
-
由 Igor Kovalenko 提交于
tl and tsptr of members sparc64 cpu state must be changed simultaneously to keep trap state window in sync with current trap level. Currently translation of store to tl does not change tsptr, which leads to corrupt trap state on corresponding trap level. This patch removes tsptr from sparc64 cpu state and replaces all uses with call to helper routine. Changes v0->v1: - reimplemented helper routine with tcg generator - on cpu reset trap type and pstate are populated with power-on reset values, including tl=maxtl Signed-off-by: igor.v.kovalenko@gmail.com Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 28 7月, 2009 1 次提交
-
-
由 Juan Quintela 提交于
Signed-off-by: NJuan Quintela <quintela@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 27 7月, 2009 2 次提交
-
-
由 Igor Kovalenko 提交于
- implement "used" bit in tlb translation entry - mark tlb entry used if qemu code/data translation succeeds - fold i/d mmu replacement writes code into replace_tlb_1bit_lru which adds 1bit lru replacement algorithm; previously code tried to replace first unlocked entry only - extract more bitmasks to named macros - add "immu" or "dmmu" type name to debugging output where appropriate Signed-off-by: igor.v.kovalenko@gmail.com -- Kind regards, Igor V. Kovalenko
-
由 Igor Kovalenko 提交于
- add names to mmu registers, this helps understanding the code which uses/modifies them. - fold i/d mmu tlb entries tag and tte arrays into arrays of tlb entries - extract demap_tlb routine (code duplication) - extract replace_tlb routine (code duplication) - flush qemu tlb translations when replacing sparc64 mmu tlb entries I have no test case which demands flushing qemu translations, and this patch should have no other visible changes to runtime. Signed-off-by: igor.v.kovalenko@gmail.com -- Kind regards, Igor V. Kovalenko
-
- 21 7月, 2009 1 次提交
-
-
由 Blue Swirl 提交于
I used the following command to enable debugging: perl -p -i -e 's/^\/\/#define DEBUG/#define DEBUG/g' * */* */*/* Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 12 7月, 2009 2 次提交
-
-
由 Igor Kovalenko 提交于
On Sun, Jul 12, 2009 at 12:09 PM, Blue Swirl<blauwirbel@gmail.com> wrote: > On 7/12/09, Igor Kovalenko <igor.v.kovalenko@gmail.com> wrote: >> Good trap handling is required to process interrupts. >> This patch fixes the following: >> >> - sparc64 has no wim register >> - sparc64 has no psret register, use IE bit of pstate >> extract IE checking code to cpu_interrupts_enabled >> - alternate globals are not available if cpu has GL feature >> in this case bit AG of pstate is constant zero >> - write to pstate must actually write pstate >> even if cpu has GL feature >> >> Also timer interrupt is handled using do_interrupt. > > A bit too much for one patch. Please also remove the code instead of > commenting out. I now excluded timer interrupt related part. To my mind other changes are essentially tied together. > PUT_PSR for Sparc64 needs CC_OP = CC_OP_FLAGS; like Sparc32. Fixed, please find attached the updated version. -- Kind regards, Igor V. Kovalenko
-
由 Igor Kovalenko 提交于
On Sun, Jul 12, 2009 at 12:43 AM, Stuart Brady<sdbrady@ntlworld.com> wrote: > On Sat, Jul 11, 2009 at 10:22:18PM +0400, Igor Kovalenko wrote: >> It is clear that intention is to byte-swap value to be written, not >> the target address. > > @@ -1949,13 +1949,13 @@ void helper_st_asi(target_ulong addr, ta > case 0x89: // Secondary LE > switch(size) { > case 2: > - addr = bswap16(addr); > + addr = bswap16(val); > ^^^^ > Shouldn't that be 'val = bswap16(val)' (and likewise for the 32-bit and > 64-bit cases)? Also needs a 'signed-off-by:'... > > Cheers, > -- > Stuart Brady > Thanks, that part I did not runtime-tested. Not sure if those asi stores are of any use for user-mode emulator. Please find attached the corrected version. Signed-off-by: igor.v.kovalenko@gmail.com -- Kind regards, Igor V. Kovalenko
-
- 14 5月, 2009 1 次提交
-
-
由 Blue Swirl 提交于
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 10 5月, 2009 7 次提交
-
-
由 Blue Swirl 提交于
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-