On Fri, 1 Mar 2002, Collins Chen wrote: > I guess maybe the GDT in "start32.inc" cause my switchingreal mode code > invalid. If some bit in GDT will be limitative to switching protected mode to > real mode? >
Collins, we need to summarize your current situation so I know what is going on. I am getting mixed up. I think you are trying to make linuxbios execute 16-bit code. You have added code to linuxbios to try to switch to 16-mode and call the vga bios to turn on vga. I think the problem you are having is you do not have a proper GDT. linuxBIOS does not set up 16-bit GDT entries. There is no room. Even if you did have proper GDT entries, you have not loaded ds,ed,fs,gs with the right segment values, and you have not done a long jump to set cs to 16-bit segment. If you can wait until monday I can send you some code. Sorry I have been so quiet, I am on travel the last 10 days. Does this make sense? ron
