* src/pic/device.c (create_pic,ram_map): add memRange entries to PIC
[fw/sdcc] / src / pic / device.h
index 5fb8a44048a1658b98135de09edf77375c4c450c..e2b118d90316e86e4390805e173bc740bab5b9e3 100644 (file)
@@ -44,6 +44,7 @@ typedef struct memRange {
                                 * e.g. alias = 0x80 means start_address is identical
                                 * to the memory location at (0x80 | start_address) */
        int bank;               /* PIC memory bank this range occupies */
+       struct memRange *next;  /* linked list */
 
 } memRange;
 
@@ -71,10 +72,9 @@ typedef struct AssignedMemory {
  */
 
 extern AssignedMemory *finalMapping;
-#define PROCESSOR_NAMES    4
 /* Processor unique attributes */
 typedef struct PIC_device {
-       char *name[PROCESSOR_NAMES];/* aliases for the processor name */
+       char *name;                 /* the processor name */
 
        memRange *ram;              /* RAM memory map */
        memRange *sfr;              /* SFR memory map */
@@ -107,9 +107,16 @@ int REGallBanks(regs *reg);
 void addMemRange(memRange *r, int type);
 void setMaxRAM(int size);
 void setDefMaxRam(void);
-unsigned getMaxRam(void);
-int getHasSecondConfigReg(void);
-int pic14_getSharebankSize(void);
-int pic14_getSharebankAddress(void);
+
+void pic14_assignConfigWordValue(int address, int value);
+int pic14_emitConfigWord (FILE * vFile);
+int pic14_getConfigWord(int address);
+
+unsigned pic14_getMaxRam(void);
+int pic14_getHasSecondConfigReg(void);
+int pic14_allRAMShared(void);
+int pic14_hasSharebank(int *low, int *high, int *size);
+int pic14_getSharedStack(int *low, int *high, int *size);
+PIC_device * pic14_getPIC(void);
 
 #endif  /* __DEVICE_H__ */