On Sat, 19 Dec 2020, Jiaxun Yang wrote: > 在2020年12月19日十二月 下午8:13,BALATON Zoltan写道: >> On Sat, 19 Dec 2020, Jiaxun Yang wrote: >>> It can now boot Debian installer[1] as well as a custom PMON bootloader >>> distribution[2]. >>> >>> Note that it can't boot PMON shipped with actual machine as our ATI vgabios >>> is using some x86 hack that can't be handled by x86emu in original PMON. >> >> This may be similar problem that I've seen with similar PPC firmwares: >> >> https://osdn.net/projects/qmiga/wiki/SubprojectAti >> https://osdn.net/projects/qmiga/wiki/SubprojectPegasos2#h3-Known.20issues >> >> TLDR; vgabios-ati.bin is compiled for i386 real mode (bacause that's what >> gcc can do, real x86 real mode would need something like bcc I think) that >> some x86emu can't handle. You can either use Bochs vga bios via romfile >> property of the vga emulation or try the option for x86emu when compiling >> vgabios-ati.bin (which did not help the firmwares I've tried). > > Hi, > > Thinks for your reminder! > > To be more specified, our x86emu in PMON can handle i386 real mode, > however vgabios-ati uses INT15h when INT10h ax=0x4f01 (Get VESA Mode) > is called. And x86emu won't process INT15h properly. > > My workround[1] is to allow 0x4f01 to be failed in PMON, as ax=0x4f02 > (Set VESA Mode) do work, it won't be a actual problem. Adding Gerd who is the vgabios maintainer and added the VESA mode support so he knows about this even if no fix is needed but maybe he knows a simple way to work around it anyway. Maybe this could be related to my problems too but with the sam460ex firmware I did not get any output, it just stops (did not check u-boot-sam460ex source yet), but with the pegasos2 firmware I got this diagnostics: INTERNAL ERROR: 0000000E=UNIMPLEMENTED EXTENDED OPCODE EAX=0000 EBX=0000 ECX=2222 EDX=3333 ESP=0000 EBP=0000 ESI=6666 EDI=0000 AX=0055 BX=FFDA CX=2222 DX=3333 SP=FF86 BP=FF9A SI=6666 DI=FFA6 DS=1000 ES=BAD0 SS=1000 CS=C000 IP=2E05 NV UP -- PL NZ NA PE NC CS:IP = 0F STACK: 0000 0000 0000 0000 FFDA 0000 6666 6666 00: FE00 F000 FE01 F000 FE02 F000 FE03 F000 10: FE04 F000 FE05 F000 FE06 F000 FE07 F000 20: FE08 F000 FE09 F000 FE0A F000 FE0B F000 30: FE0C F000 FE0D F000 FE0E F000 FE0F F000 40: FE10 F000 FE11 F000 FE12 F000 FE13 F000 50: FE14 F000 FE15 F000 FE16 F000 FE17 F000 60: FE18 F000 FE19 F000 FE1A F000 FE1B F000 70: FE1C F000 FE1D F000 FE1E F000 FE1F F000 80: FE20 F000 FE21 F000 FE22 F000 FE23 F000 90: FE24 F000 FE25 F000 FE26 F000 FE27 F000 A0: FE28 F000 FE29 F000 FE2A F000 FE2B F000 B0: FE2C F000 FE2D F000 FE2E F000 FE2F F000 C0: FE30 F000 FE31 F000 FE32 F000 FE33 F000 D0: FE34 F000 FE35 F000 FE36 F000 FE37 F000 E0: FE38 F000 FE39 F000 FE3A F000 FE3B F000 F0: FE3C F000 FE3D F000 FE3E F000 FE3F F000 00: FE40 F000 FE41 F000 FE42 F000 FE43 F000 10: FE44 F000 FE45 F000 FE46 F000 FE47 F000 20: FE48 F000 FE49 F000 FE4A F000 FE4B F000 30: FE4C F000 FE4D F000 FE4E F000 FE4F F000 MISC: UNHANDLED 32 BIT DATA PREFIX AT CS:IP = 0000C000:00002E04 0F INTERNAL ERROR: 0000000A=UNHANDLED 32BIT PREFIX EAX=0000 EBX=0000 ECX=2222 EDX=3333 ESP=0000 EBP=0000 ESI=6666 EDI=0000 AX=0055 BX=FFDA CX=2222 DX=3333 SP=FF86 BP=FF9A SI=6666 DI=FFA6 DS=1000 ES=BAD0 SS=1000 CS=C000 IP=2E05 NV UP -- PL NZ NA PE NC CS:IP = 0F STACK: 0000 0000 0000 0000 FFDA 0000 6666 6666 00: FE00 F000 FE01 F000 FE02 F000 FE03 F000 10: FE04 F000 FE05 F000 FE06 F000 FE07 F000 20: FE08 F000 FE09 F000 FE0A F000 FE0B F000 30: FE0C F000 FE0D F000 FE0E F000 FE0F F000 40: FE10 F000 FE11 F000 FE12 F000 FE13 F000 50: FE14 F000 FE15 F000 FE16 F000 FE17 F000 60: FE18 F000 FE19 F000 FE1A F000 FE1B F000 70: FE1C F000 FE1D F000 FE1E F000 FE1F F000 80: FE20 F000 FE21 F000 FE22 F000 FE23 F000 90: FE24 F000 FE25 F000 FE26 F000 FE27 F000 A0: FE28 F000 FE29 F000 FE2A F000 FE2B F000 B0: FE2C F000 FE2D F000 FE2E F000 FE2F F000 C0: FE30 F000 FE31 F000 FE32 F000 FE33 F000 D0: FE34 F000 FE35 F000 FE36 F000 FE37 F000 E0: FE38 F000 FE39 F000 FE3A F000 FE3B F000 F0: FE3C F000 FE3D F000 FE3E F000 FE3F F000 00: FE40 F000 FE41 F000 FE42 F000 FE43 F000 10: FE44 F000 FE45 F000 FE46 F000 FE47 F000 20: FE48 F000 FE49 F000 FE4A F000 FE4B F000 30: FE4C F000 FE4D F000 FE4E F000 FE4F F000 Failed to emulate CS:IP [C000:2E04]=66,0F,BE,C0,E9,FB UNHANDLED INT 10 FUNCTION 0100 WITHIN EMULATION EA: BYTE READ FROM UNINITIALIZED LOW MEM 0040:0085 UNHANDLED INT 10 FUNCTION 0300 WITHIN EMULATION UNHANDLED INT 10 FUNCTION 1301 WITHIN EMULATION UNHANDLED INT 10 FUNCTION 0300 WITHIN EMULATION UNHANDLED INT 10 FUNCTION 1301 WITHIN EMULATION UNHANDLED INT 10 FUNCTION 0300 WITHIN EMULATION UNHANDLED INT 10 FUNCTION 1301 WITHIN EMULATION UNHANDLED INT 10 FUNCTION 0300 WITHIN EMULATION which I assumed could be the same problem with sam460ex too but maybe it's different then. Regards, BALATON Zoltan > > - Jiaxun > >