[SeaBIOS] [PATCH] Make CONFIG_ATA_DMA and CONFIG_ATA_PIO32 default on

Paul Durrant Paul.Durrant at citrix.com
Mon May 11 16:21:24 CEST 2015


> -----Original Message-----
> From: Kevin O'Connor [mailto:kevin at koconnor.net]
> Sent: 11 May 2015 14:41
> To: Paul Durrant
> Cc: seabios at seabios.org; xen-devel at lists.xenproject.org
> Subject: Re: [SeaBIOS] [PATCH] Make CONFIG_ATA_DMA and
> CONFIG_ATA_PIO32 default on
> 
> On Mon, May 11, 2015 at 01:47:57PM +0100, Paul Durrant wrote:
> > Currently running make defconfig will leave the above turned off which,
> > at least for the Xen/QEMU use-case, means VMs will boot very slowly.
> > There seems to have been some concern over non-QEMU use of
> ATA_DMA about
> > five years ago, but I can find no particular concern over ATA_PIO32.
> > Given the increased use of QEMU and Xen in that period it would seem
> > like a good idea to default both of these on now. This patch does that.
> 
> The DMA support is known to be not correct for real hardware - correct
> code would negotiate the DMA rate with the drive (and also do things
> like detecting a 66Mhz PATA cable).  The code is only really useful on
> emulators and when one knows that the drive is really a SATA drive
> connected to a controller that is doing PATA emulation.

That tends to suggest it should be removed then, if there are now alternatives when using emulation?

> 
> The 32bit PIO mode has a minimal speed improvement and it is known to
> not work on some real hardware controllers.
> 

Ok.

> If one is concerned about VM boot speed, why not just use AHCI or
> virtio?
> 

I was looking for a quick fix for the Xen use-case where the toolstack does not set up AHCI or virtio. Maybe teaching libxl to use AHCI by default might be a better thing to do.

  Paul

> -Kevin



More information about the SeaBIOS mailing list