diff backend.h @ 987:1f09994e92c5

Initial stab at implementing address error exceptions. Need to fill in the value of IR, undefined bits of last stack frame word and properly deal with address errors that occur during exception processing.
author Michael Pavone <pavone@retrodev.com>
date Tue, 26 Apr 2016 23:13:37 -0700
parents 7f96bd1cb1be
children 6b07af1515b5
line wrap: on
line diff
--- a/backend.h	Tue Apr 26 00:07:15 2016 -0700
+++ b/backend.h	Tue Apr 26 23:13:37 2016 -0700
@@ -86,6 +86,8 @@
 	code_ptr           handle_cycle_limit;
 	code_ptr           handle_cycle_limit_int;
 	code_ptr           handle_code_write;
+	code_ptr           handle_align_error_write;
+	code_ptr           handle_align_error_read;
 	uint32_t           memmap_chunks;
 	uint32_t           address_mask;
 	uint32_t           max_address;
@@ -101,6 +103,7 @@
 	uint8_t            limit;
 	uint8_t			   scratch1;
 	uint8_t			   scratch2;
+	uint8_t            align_error_mask;
 } cpu_options;
 
 typedef uint8_t * (*native_addr_func)(void * context, uint32_t address);