qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target/i386: enable A20 automatically in system


From: Kevin O'Connor
Subject: Re: [Qemu-devel] [PATCH] target/i386: enable A20 automatically in system management mode
Date: Tue, 16 May 2017 17:42:11 -0400
User-agent: Mutt/1.8.0 (2017-02-23)

On Tue, May 16, 2017 at 08:00:28PM +0000, Xu, Anthony wrote:
> > On Sat, May 13, 2017 at 01:24:30AM +0000, Xu, Anthony wrote:
> > > I think it is related to accel and platform, the result I gave before is 
> > > for q35
> > tcg,
> > >
> > > With the above change,   I got below data
> > >
> > > Platform  accel           count of restoring A20 to 0
> > > Q35               kvm             96
> > > Q35               tcg             271
> > > PC                kvm             3
> > > PC                tcg             3
> > 
> > Okay, thanks.  I think the number of a20 switches is due to
> > differences in option rom execution interacting with the fact that
> > some mode switches were occurring before SeaBIOS set
> > call16_override().
> > 
> > > But I still see a lot of PORT_A20 accesses in QEMU as I expected
> > 
> > Yes, but it should be possible to significantly reduce the number of
> > outb() calls by limiting them to when A20 changes.  This should also
> > be useful to reduce the number of outb() calls needed to disable NMIs.
> > I sent a patch series to the seabios mailing list to demonstrate the
> > idea.
> 
> If both TCG and KVM work by ignoring A20,  why not remove all PORT_A20
> access in SeaBios when CONFIG_DISABLE_A20 is not defined?
> Do you see any impact?

The SeaBIOS CONFIG_DISABLE_A20 build option does not mean "disable
support for A20"; it means "start the initial operating system
bootloader with A20 disabled".  CONFIG_DISABLE_A20=y is a
pessimization, not an optimization.

As for adding a new SeaBIOS build option to compile out support for
A20 - that seems like a very small optimization that would risk memory
corruption and hard to diagnose crashes.  SeaBIOS runs natively on
real hardware (with coreboot and as a CSM on UEFI) as well as on
QEMU/KVM.

-Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]