On 12/05/2017 20:55, Xu, Anthony wrote: > >> On 12/05/2017 01:55, Xu, Anthony wrote: >>> Hi Paolo, >>> >>> In KVM mode, seems A20 is ignored. >>> Do you see any potential issue here? >> >> No; recent processors don't have A20 at all. > > I mean A20 in guest, not A20 in host. > Guest is running on old platform, it tries to control A20 through port 92 > like what SeaBios does. > QEMU/KVM does handle port 92 access to set correct env->a20_mask, > but QEMU/KVM ignores A20 status when handling guest memory access. > > Since QEMU/KVM works well with SeaBios, does that imply SeaBios doesn't > generate address > larger than 0x100000 in real mode?
No, only the guest's OS or software (not the firmware) might require A20. But really anything that ran with MS-DOS 5.0 HIMEM.SYS or newer (which used DOS=HIGH to relocate DOS into the HMA, I think) does not need it. > If that's the case, QEMU/TCG should work with SeaBios even with ignoring A20. > > During SeaBios boot, there are >350 port 92 access, if we don't need to > handle A20, > we can make A20 configurable in Seabios, It may reduce SeaBios boot time. Yes, that's a good idea. Paolo