[SeaBIOS] [PATCH 00/10] build: Allow 32bit sections to be at fixed locations

Kevin O'Connor kevin at koconnor.net
Wed Jun 11 21:20:03 CEST 2014

This series updates the build (and layoutrom.py in particular) to be
more flexible in section layouts.  Prior to this series, only code
compiled in the 16bit mode pass could be placed at a fixed address in
the f-segment.  After this change, the build can more easily place
sections from any compile pass.

Most of the series consists of minor cleanups to layoutrom.py to make
the above happen.  Patch 4 is an unrelated minor feature enhancement.

Otherwise, patches 7 and 10 are where the real changes occur.


Kevin O'Connor (10):
  build: Remove unused function getSectionsStart() from layoutrom.py.
  build: Extract section visiting logic in layoutrom.py.
  build: Refactor layoutrom.py gc() function.
  build: Use customized entry point for each type of build.
  build: Refactor findInit() function.
  build: Rework getRelocs() to use a hash instead of categories in
  build: Keep segmented sections separate until final link step.
  build: Use fileid instead of category to write sections in
  build: Only export needed fields in LayoutInfo in layoutrom.py.
  build: Get fixed address variables from 32bit compile pass (not 16bit)

 Makefile             |  13 +-
 scripts/layoutrom.py | 426 ++++++++++++++++++++++++---------------------------
 src/entryfuncs.S     |   6 -
 src/font.c           |   2 +-
 src/misc.c           |  18 +--
 src/romlayout.S      |   4 +-
 src/types.h          |   8 +-
 7 files changed, 224 insertions(+), 253 deletions(-)


More information about the SeaBIOS mailing list