Search
lxdream.org :: lxdream/src/sh4/sh4trans.c :: log
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/sh4trans.c
changeset1195:072131b61d2a
authornkeynes
dateMon Dec 12 21:15:44 2011 +1000 (8 years ago)
permissions-rw-r--r--
last changeHandle branch delay-slot instruction that falls on the next page correctly.
- Generate the right end PC in the first place (sh4trans.c)
- Allow blocks to be marked as both entry point + continuation, and
specifically handle invalidation when first entry of a page is a continuation ==
flush previous page as well.
file annotate diff log rss
1195:072131b61d2a8 yearsnkeynesHandle branch delay-slot instruction that falls on the next page correctly.
1188:1cc9bb0b38489 yearsNathan KeynesRearrange the profile dump code so as to avoid xlat => SH4 references
1187:266e7a1bae909 yearsnkeynesRefactor event processing into sh4_handle_pending_events()
1149:da6124fceec610 yearsnkeynesAdd chain pointer to the xlat cache, so that we can maintain multiple blocks
1125:9dd5dee45db910 yearsnkeynesImplement shadow-execution 'core' to run translator + interpreter side by
1112:4cac5e474d4c10 yearsnkeynesRearrange the main translation loop to allow translated blocks to jump
1103:de9ad2c0cf5610 yearsnkeynesUpdate sh4r.pc before doing the syscall - mainly so that debugging etc
1094:d2324eb6722310 yearsnkeynesFix symbol output in 64-bit disassembly
1091:18655837434510 yearsnkeynesAdd side-by-side x86+sh4 disassembly output
1067:d3c00ffccfcd11 yearsnkeynesNo-op merge lxdream-mem to tip to remove head (Long since merged in
1065:bc1cc0c5491711 yearsnkeynesNo-op merge lxdream-mmu to remove head (actually merged long ago)
1014:f5914b2fd0db11 yearsnkeynes000068: Handle sh4_finalize_instruction being called from a syscall (assertion failure)
1003:7b2688cbbca311 yearsnkeynesRevert change to xltcache and fix breakpoint precision correctly
991:60c7fab9c88011 yearsnkeynesMove xltcache to xlat/ src directory
978:eed5089fcfdb11 yearsnkeynesRemove accidentally committed debugging code
975:007bf7eb944f11 yearsnkeynesAdd read_byte_for_write mem function for correct implementation of AND.B and friends
954:59e17ce91c5511 yearsnkeynesFix icache entry not matching following an xlat block mode mismatch (can happen legitimately)
953:f4a156508ad111 yearsnkeynesMerge lxdream-mem branch back to trunk
949:d7833018931f11 yearsnkeynesAdd missed file from previous commit - remove sh4_translate_flush_cache, change lxdream-mem
941:c67574ed435511 yearsnkeynesImplement CORE_EXIT_EXCEPTION for use when direct frame messing about doesn't work lxdream-mem
936:f394309c399a11 yearsnkeynesReplace fpscr_mask/fpscr flags in xlat_cache_block with a single xlat_sh4_mode, lxdream-mem
914:72abecf5a31512 yearsnkeynesFix (extremely boneheaded) failure to convert pc to physical address before
906:268ea359f88412 yearsnkeynesChange xlat_get_native_pc to pass in the expected code region - this lets the Mac
905:4c17ebd9ef5e12 yearsnkeynesUse regparam calling conventions for all functions called from translated code,
901:32c5cf5e206f12 yearsnkeynesMove the precision/size tests to translation-time rather than execution-time,
809:8bdbf4d95da412 yearsnkeynesFix core-exit-on-flush in a delay branch slot. Bit of a hack really
740:dd11269ee48b12 yearsnkeynesRationalize the two SH4 run slice impls into sh4.c, and tidy up the vm exits.
736:a02d1475ccfd12 yearsnkeynesRe-indent everything consistently
711:4f0ba72e58fe12 yearsnkeynesFix size test before end-of-block extension, and add assert after sh4_translate_end_block() for consistency
669:ab344e42bca912 yearsnkeynesCleanup most of the -Wall warnings (getting a bit sloppy...)
619:0800a013747212 yearsnkeynesDeliver TMU interrupts precisely rather than only at end of time slice
617:476a717a54f312 yearsnkeynesStart getting SLEEP into order
600:3b0f94d0faed12 yearsnkeynesReturn immediately from xlat_get_code_by_vma if the icache is hit
596:dfc0c93d882e12 yearsnkeynesFix MAC.L/MAC.W stack issues
593:6c710c7c683512 yearsnkeynesFix block overruns from long epilogues
592:4343cbfdd21b12 yearsnkeynesChange recovery table to offset rather than pointer (so as to survive block moves)
591:7b9612fd239512 yearsnkeynesAdd flag to skip breakpoints when it's the very first instruction of a run
588:978ec0b3354512 yearsnkeynesFix vma lookups after itlb exception
586:2a3ba82cf24312 yearsnkeynesMerged lxdream-mmu r570:596 to trunk
585:371342a39c0912 yearsnkeynesHandle sh4 aborts/reset within the translator lxdream-mmu
577:a181aeacd6e812 yearsnkeynesRemove asm file and convert to inline (easier to cope with platform conventions) lxdream-mmu
571:9bc09948d0f212 yearsnkeynesMore MMU work in progess. Much better now... lxdream-mmu
569:a1c49e1e877612 yearsnkeynesBring icache partially into line with the mmu, a little less slow with AT off lxdream-mmu
561:533f6b47807112 yearsnkeynesEnable Id keyword on all source files lxdream-mmu
559:06714bc6427112 yearsnkeynesCommit first pass at full TLB support - still needs a lot more work lxdream-mmu
527:14c9489f647e13 yearsnkeynesx86-64 translator work-in-progress
430:467519b050f413 yearsnkeynesFix compilation warnings
417:bd927df302a913 yearsnkeynesSuppress redundant T flag loads
410:5f8413358e7f13 yearsnkeynesChange extend-block to take a requested size
408:af496b73473413 yearsnkeynesChange block signature to return pointer to next block (if known)
398:16b0856ea51113 yearsnkeynesAdd a 'translate and run' method for running uncached code
390:d066209999f113 yearsnkeynesEnsure correct end-of-block PC
368:36fac4c4232213 yearsnkeynesMore translator WIP - blocks are approaching something sane
359:c588dce7ebde13 yearsnkeynesCommit decoder generator
.