On Mon, Jan 19, 2015 at 01:12:24PM -0500, Kevin O'Connor wrote: > Instead of allocating the SeaVGABIOS extra stack via a PCIv3 style PMM > call, use the EBDA to store the stack. The stack is placed at the end > of the first 1KiB of the EBDA. Normally this EBDA space is reserved > for the main BIOS, but SeaBIOS doesn't use the space. > > This works around an issue with 16bit code running on Windows Vista > (and likely later versions of Windows). The Windows 16bit emulator > can not handle a stack in the e-segment. Using the EBDA, and thus > relocating the stack to the 9-segment, works around the issue.
I ran some tests as part of committing this change and found that this patch regresses an old Digital Research "Concurrent DOS" image I was sent some time back. :-( I do think that 16bit support on recent Windows is a higher priority than "Concurrent DOS", but I am leery of making a change like this just before we tag the next release. Richard - it sounds like you have a short term solution in place, so I'm inclined to make the next SeaBIOS release without this change. The 16bit support in Windows will, of course, need to be fixed. Maybe a better solution can be found for the following release though. Thoughts? -Kevin _______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
