Cumulative patch for pic16 port
[fw/sdcc] / src / pic16 / device.h
index f9bef22108e03f765c2659817b9e0b61449ced94..88a90ab5358b27da3c17fabe89c8eda859e17ed2 100644 (file)
 
 #define CONFIGURATION_WORDS    20
 
+typedef struct {
+       int sfrLoAddr;
+       int sfrHiAddr;
+} sfrRangeInfo_t;
+       
+
 typedef struct {
        int mask;
        int emit;
        int value;
-} configRegInfo;
+} configRegInfo_t;
 
 typedef struct {
        int confAddrStart;      /* starting address */
        int confAddrEnd;        /* ending address */
-       configRegInfo crInfo[ CONFIGURATION_WORDS ];
-} configWordsInfo;
-
+       configRegInfo_t crInfo[ CONFIGURATION_WORDS ];
+} configWordsInfo_t;
 
 
 #define PROCESSOR_NAMES    4
@@ -57,11 +62,12 @@ typedef struct {
 typedef struct PIC16_device {
   char *name[PROCESSOR_NAMES];/* aliases for the processor name */
 
-  int maxRAMaddress;          /* maximum value for a data address */
-  int bankMask;               /* Bitmask that is ANDed with address to extract banking bits */
-  int RAMsize;               /* size of Data RAM - VR 031120 */
-  int extMIface;               /* device has external memory interface */
-  configWordsInfo cwInfo;      /* configuration words info */
+  int maxRAMaddress;           /* maximum value for a data address */
+  int RAMsize;                 /* size of Data RAM - VR 031120 */
+  int acsSplitOfs;             /* access bank split offset */
+  int extMIface;               /* device has external memory interface */
+  sfrRangeInfo_t sfrRange;     /* SFR range */
+  configWordsInfo_t cwInfo;    /* configuration words info */
 } PIC16_device;
 
 /* Given a pointer to a register, this macro returns the bank that it is in */