Search
lxdream.org :: lxdream/src/xlat/xltcache.h :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/xlat/xltcache.h
changeset 1006:3a169c224c12
prev991:60c7fab9c880
author nkeynes
date Tue Apr 07 10:55:03 2009 +0000 (13 years ago)
branchxlat-refactor
permissions -rw-r--r--
last change Commit current work-in-progress to xlat-refactor branch
file annotate diff log raw
1.1 --- a/src/xlat/xltcache.h Wed Mar 04 23:12:21 2009 +0000
1.2 +++ b/src/xlat/xltcache.h Tue Apr 07 10:55:03 2009 +0000
1.3 @@ -23,6 +23,21 @@
1.4 #define lxdream_xltcache_H 1
1.5
1.6 /**
1.7 + * Exception table record - this is filled out by the codegen used by the codegen (to backpatch)
1.8 + * and linker (for longjmp recover)
1.9 + */;
1.10 +typedef struct xlat_exception_record {
1.11 + uint32_t xlat_pc_offset; // Native PC exception source (relative to start of code block)
1.12 + uint32_t xlat_exc_offset; // Exception entry point (relative to start of code block)
1.13 +} *xlat_exception_record_t;
1.14 +
1.15 +typedef struct xlat_exception_table {
1.16 + xlat_exception_record_t exc;
1.17 + size_t next_record;
1.18 + size_t table_size;
1.19 +} *xlat_exception_table_t;
1.20 +
1.21 +/**
1.22 * For now, recovery is purely a matter of mapping native pc => sh4 pc,
1.23 * and updating sh4r.pc & sh4r.slice_cycles accordingly. In future more
1.24 * detailed recovery may be required if the translator optimizes more
.