68hc11: start trying to tidy up the definitions
authorAlan Cox <alan@linux.intel.com>
Sun, 26 Jul 2015 12:39:35 +0000 (13:39 +0100)
committerAlan Cox <alan@linux.intel.com>
Sun, 26 Jul 2015 12:39:35 +0000 (13:39 +0100)
Kernel/platform-68hc11test/eeprom.def
Kernel/platform-68hc11test/kernel.def

index bf97302..fdad85c 100644 (file)
@@ -6,6 +6,10 @@
 
        include "cpu.def"
 
+;
+;      Basic layout
+;
+.equ   EEBASE          0xF600          ;       Here upwards owned by EEPROM
 ;
 ;      Unbanked memory
 ;
 .equ   BDEVF_LBA,              0x80
 
 
+;
+;      EEPROM entry points
+;
+;      A = bank
+;      X = src, returns value in B or D
+;
+.equ fargetb                   , 0xFF40
+.equ fargetw                   , 0xFF43
+;
+;      A = bank B = value
+;      X = dst
+;
+.equ farputb                   , 0xFF46
+;
+;      A = bank
+;      X = dst, Y = value
+;
+.equ farputw                   , 0xFF49
+;
+;      A = srcbank, B = dstbank
+;      X = dst, Y = src
+;      kernel:_tmp1 = length (in eeprom memory - FIXME)
+;
+.equ farcopy                   , 0xFF4C
+;
+;      B = bank, X = function, Y = far stack
+;      ret_x, ret_d, ret_y register values on far side
+;
+.equ farcall                   , 0xFF4F
+;
+;      B = bank, X = function, Y = far stack
+;      ret_x, ret_d, ret_y register values on far side
+;
+.equ farjump                   , 0xFF52
+;
+;      A = bank
+;
+; FIXME - useless ! .equ setbank                       , 0xFF55
+;
+;      D = 0
+;
+.equ reboot                    , 0xFF58
+;
+;      A = srcbank, B = dstbank
+;      X = dst, Y = src
+;      kernel:_tmp1 = length (in kernel bank)
+;
+.equ farzcopy                  , 0xFF5B
+;
+;      A = bank
+;      X = dst
+;      Y = len
+;
+;      Return in D
+;
+.equ farzero                   , 0xFF5E
+;
+;      A = device id
+;      B = bank
+;      Y/D = block
+;      X = buffer
+;
+;      Returns B = error code, 0 = ok
+;
+.equ block_read                        , 0xFF61
+.equ block_write               , 0xFF64
+;
+;      X = string (in bank 0)
+;
+.equ conputs                   , 0xFF67
+;
+;      B = character
+;
+.equ conputc                   , 0xFF6A
+;
+;      B = value
+;
+.equ conputhex                 , 0xFF6D
+;
+;      B = flags (0 = wait, echo, 1 = wait no echo, 2 = nowait noecho)
+;      returned in B
+;
+.equ conin                     , 0xFF70
+;
+;      A = bank
+;      X = buffer
+;      Y = length
+;
+.equ spi_read                  , 0xFF73
+.equ spi_write                 , 0xFF76
+
index 7c6e2b5..2ba69c0 100644 (file)
@@ -1,77 +1,15 @@
 ;
 ;      Hide the udata above the I/O in the gap before the EEPROM
 ;
-.equ U_DATA                      , 0xF200       ; (this is struct u_data from kernel.h)
-.equ U_DATA__TOTALSIZE           , 0x200        ;
-.equ IRQ_STACK             , 0xF400
-.equ EESTACK                       , 0xF600         ; used for eeprom stuff
+.equ U_DATA                    , 0xF200       ; (this is struct u_data from kernel.h)
+.equ U_DATA__TOTALSIZE         , 0x200        ;
+.equ IRQ_STACK                 , 0xF400
 
-;
-;      EEPROM entry points
-;
-;      A = bank
-;      X = src, returns value in B or D
-.equ fargetb                   , 0xF840
-.equ fargetw                   , 0xF843
-;
-;      A = bank B = value
-;      X = dst
-;
-.equ farputb                   , 0xF846
-;
-;      A = bank
-;      X = dst, Y = value
-;
-.equ farputw                   , 0xF849
-;
-;      A = srcbank, B = dstbank
-;      X = dst, Y = src
-;      kernel:_tmp1 = length (in eeprom memory - FIXME)
-;
-.equ farcopy                   , 0xF84C
-;
-;      B = bank, X = function, Y = far stack
-;      ret_x, ret_d, ret_y register values on far side
-;
-.equ farcall                   , 0xF84F
-;
-;      B = bank, X = function, Y = far stack
-;      ret_x, ret_d, ret_y register values on far side
-;
-.equ farjump                   , 0xF852
-;
-;      A = bank
-;
-; FIXME - useless ! .equ setbank                       , 0xF855
-;
-;      D = 0
-;
-.equ reboot                    , 0xF858
-;
-;      A = srcbank, B = dstbank
-;      X = dst, Y = src
-;      kernel:_tmp1 = length (in kernel bank)
-;
-.equ farzcopy                  , 0xF85B
-;
-;      A = bank
-;      X = dst
-;      Y = len
-;
-;      Return in D
-;
-.equ farzero                   , 0xF85E
-;
-;
 ;
 ;      Low memory usage (not banked): FIXME - tmp1 should be in eeprom RAM
 ;      as should ret_*
 ;      All TBD
 ;
-.equ tmp1                      , 0xFE          ; 16bits
 .equ curbank                   , 0xFD
 .equ usrbank                   , 0xFC          ; we track this to emulate
                                                ; usermode copy stuff
-.equ ret_x                     , 0xFA
-.equ ret_y                     , 0xF8
-.equ ret_d                     , 0xF6