This series creates a config option for using the "extra stack" for all legacy 16bit irq entry points, and it defaults the option on. By using this internal stack, SeaBIOS doesn't use much of the caller's stack and it makes it less likely a stack overflow will occur. However, using an internal stack could break programs that call the BIOS in 16bit protected mode.
This series was discussed about a year ago. There haven't been any examples located where this breaks OSes, and it is known to improve some really old OSes (eg, DOS 1.0). It is a config option, so if it can be disabled to aid in testing.
Kevin O'Connor (2): Separate out 16bit PCI-BIOS entry point from regular int 0x1a entry point. Support using the "extra stack" for all 16bit irq entry points.
src/Kconfig | 9 +++++++ src/clock.c | 1 - src/config.h | 2 +- src/pcibios.c | 16 ++++++------- src/post.c | 2 +- src/romlayout.S | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 6 files changed, 90 insertions(+), 13 deletions(-)