bankld: initial hackery to create a banking sdldz80
authorAlan Cox <alan@linux.intel.com>
Wed, 31 Dec 2014 22:30:15 +0000 (22:30 +0000)
committerAlan Cox <alan@linux.intel.com>
Wed, 31 Dec 2014 22:30:15 +0000 (22:30 +0000)
commit7903699e910a2e79275cc10bc89dbf302ea9ffd5
treeed613b22e5eb39deaae60f0a3d73b90a25a3d7e8
parentc093343e1a03ecfc39e0933f11cc9710170ef888
bankld: initial hackery to create a banking sdldz80

The modifications here are

- emit a modified ihx file format giving the bank identifier, so that we can
  split the .ihx files and generate a set of bin files for the overlaid areas.

- spot and output extra inter-bank relocation entries into the modified ihx
  file that can be read and processed by binmunge.

The follow basically is

Link with modified sdldz80
Run bihx

This produces
relocs.dat - relocation between banks
common.ihx - ihx file for the common bank
bank[123].ihx - relocation for the banks

and then reprocesses the ihx files into .bin versions using makebin

binmunge the reads the relocs.dat and patches the resulting binary data
to use RST in place of CALL and stubs for the rest
36 files changed:
Kernel/tools/bankld/Makefile [new file with mode: 0644]
Kernel/tools/bankld/README [new file with mode: 0644]
Kernel/tools/bankld/aslink.h [new file with mode: 0644]
Kernel/tools/bankld/asxxxx_config.h [new file with mode: 0644]
Kernel/tools/bankld/lk_readnl.c [new file with mode: 0644]
Kernel/tools/bankld/lk_readnl.h [new file with mode: 0644]
Kernel/tools/bankld/lkaomf51.c [new file with mode: 0644]
Kernel/tools/bankld/lkar.c [new file with mode: 0644]
Kernel/tools/bankld/lkar.h [new file with mode: 0644]
Kernel/tools/bankld/lkarea.c [new file with mode: 0644]
Kernel/tools/bankld/lkbank.c [new file with mode: 0644]
Kernel/tools/bankld/lkdata.c [new file with mode: 0644]
Kernel/tools/bankld/lkelf.c [new file with mode: 0644]
Kernel/tools/bankld/lkeval.c [new file with mode: 0644]
Kernel/tools/bankld/lkhead.c [new file with mode: 0644]
Kernel/tools/bankld/lkihx.c [new file with mode: 0644]
Kernel/tools/bankld/lklex.c [new file with mode: 0644]
Kernel/tools/bankld/lklib.c [new file with mode: 0644]
Kernel/tools/bankld/lklibr.c [new file with mode: 0644]
Kernel/tools/bankld/lklibr.h [new file with mode: 0644]
Kernel/tools/bankld/lklist.c [new file with mode: 0644]
Kernel/tools/bankld/lkmain.c [new file with mode: 0644]
Kernel/tools/bankld/lkmem.c [new file with mode: 0644]
Kernel/tools/bankld/lknoice.c [new file with mode: 0644]
Kernel/tools/bankld/lkout.c [new file with mode: 0644]
Kernel/tools/bankld/lkrel.c [new file with mode: 0644]
Kernel/tools/bankld/lkrel.h [new file with mode: 0644]
Kernel/tools/bankld/lkrloc.c [new file with mode: 0644]
Kernel/tools/bankld/lkrloc3.c [new file with mode: 0644]
Kernel/tools/bankld/lks19.c [new file with mode: 0644]
Kernel/tools/bankld/lksdcclib.c [new file with mode: 0644]
Kernel/tools/bankld/lksdcdb.c [new file with mode: 0644]
Kernel/tools/bankld/lksym.c [new file with mode: 0644]
Kernel/tools/bankld/readme.390 [new file with mode: 0644]
Kernel/tools/bankld/sdld.c [new file with mode: 0644]
Kernel/tools/bankld/sdld.h [new file with mode: 0644]