Hi Michal,
I'm CC'ing the SeaBIOS mailing list.
On Thu, Mar 25, 2010 at 06:32:50AM -0700, Michal Necasek wrote:
Have you ever looked into the possibility of using a real 16-bit compiler for the 16-bit bits? One obvious candidate would be Open Watcom C/C++. Microsoft Visual C++ 1.52 is also a very capable 16-bit compiler, but probably not a real option for SeaBIOS due to limited availability and host platform support.
This has come up a couple of times in the past.
One thing to note is that SeaBIOS actually has more 32bit code than it does 16bit code. Also, large portions of the code are compiled in both modes.
I hear Open Watcom works well for 16bit code, but I'd guess gcc does a better job with regular 32bit code. A solution for the 16bit code wouldn't work well if it reduced the code sharing with the 32bit code. Either all the code would need to be compiled with Open Watcom or the final SeaBIOS binary would need to be a mix of gcc and Open Watcom code - both seem risky.
The other difficulty with Open Watcom is its availability. It's nice to be able to compile SeaBIOS without requiring special packages. That was a big advantage for the qemu/kvm maintainers.
-Kevin