[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] enabling bus-master IDE driver
From: |
Jens Axboe |
Subject: |
Re: [Qemu-devel] enabling bus-master IDE driver |
Date: |
Sun, 7 Nov 2004 10:38:42 +0100 |
On Sun, Nov 07 2004, Jens Axboe wrote:
> On Sun, Nov 07 2004, Jens Axboe wrote:
> > On Sat, Nov 06 2004, Jason Brittain wrote:
> > > Johannes Schindelin wrote:
> > > >Hi,
> > > >
> > > >On Fri, 5 Nov 2004, Jason Brittain wrote:
> > > >
> > > >
> > > >>/dev/hda:
> > > >> setting using_dma to 1 (on)
> > > >> HDIO_SET_DMA failed: Operation not permitted
> > > >> using_dma = 0 (off)
> > > >
> > > >Are you sure you did as guest root? This error could happen if you try to
> > > >use hdparm as a plain user.
> > >
> > > I was most certainly logged in as root in the guest Linux
> > > when I did that.
> >
> > I has nothing to do with user privilege, you are most likely getting
> > EPERM because the drive doesn't flag dma capability.
> >
> > put_le16(p + 49, 1 << 9); /* LBA supported, no DMA */
> >
> > mask that with 1 << 8 and it'll most likely work.
> >
> > Index: hw/ide.c
> > ===================================================================
> > RCS file: /cvsroot/qemu/qemu/hw/ide.c,v
> > retrieving revision 1.28
> > diff -u -r1.28 ide.c
> > --- hw/ide.c 9 Oct 2004 20:27:55 -0000 1.28
> > +++ hw/ide.c 7 Nov 2004 09:06:33 -0000
> > @@ -416,7 +416,7 @@
> > put_le16(p + 47, 0x8000 | MAX_MULT_SECTORS);
> > #endif
> > put_le16(p + 48, 1); /* dword I/O */
> > - put_le16(p + 49, 1 << 9); /* LBA supported, no DMA */
> > + put_le16(p + 49, 1 << 9 | 1 << 8); /* DMA and LBA supported */
> > put_le16(p + 51, 0x200); /* PIO transfer cycle */
> > put_le16(p + 52, 0x200); /* DMA transfer cycle */
> > put_le16(p + 53, 1); /* words 54-58 are valid */
>
> Did a quick test on a rescue iso boot, works for me. hdparm -t went from
> 55MiB/sec in pio to 100MiB/sec with sdma2.
SETFEATURES also needs to set SEEK_STAT for successful completion. Then
you can switch to udma2 as well.
Index: hw/ide.c
===================================================================
RCS file: /cvsroot/qemu/qemu/hw/ide.c,v
retrieving revision 1.28
diff -u -r1.28 ide.c
--- hw/ide.c 9 Oct 2004 20:27:55 -0000 1.28
+++ hw/ide.c 7 Nov 2004 09:41:16 -0000
@@ -1560,7 +1563,7 @@
case 0x82: /* write cache disable */
case 0xaa: /* read look-ahead enable */
case 0x55: /* read look-ahead disable */
- s->status = READY_STAT;
+ s->status = READY_STAT | SEEK_STAT;
ide_set_irq(s);
break;
default:
--
Jens Axboe
- Re: [Qemu-devel] enabling bus-master IDE driver, (continued)
- Re: [Qemu-devel] enabling bus-master IDE driver, Jason Brittain, 2004/11/05
- Re: [Qemu-devel] enabling bus-master IDE driver, Johannes Schindelin, 2004/11/06
- Re: [Qemu-devel] enabling bus-master IDE driver, James Boddington, 2004/11/06
- Re: [Qemu-devel] enabling bus-master IDE driver, James Boddington, 2004/11/06
- Re: [Qemu-devel] enabling bus-master IDE driver, zitu, 2004/11/06
- Re: [Qemu-devel] enabling bus-master IDE driver, jeebs, 2004/11/06
- Re: [Qemu-devel] enabling bus-master IDE driver, Jason Brittain, 2004/11/07
- Re: [Qemu-devel] enabling bus-master IDE driver, Jason Brittain, 2004/11/06
- Re: [Qemu-devel] enabling bus-master IDE driver, Jens Axboe, 2004/11/07
- Re: [Qemu-devel] enabling bus-master IDE driver, Jens Axboe, 2004/11/07
- Re: [Qemu-devel] enabling bus-master IDE driver,
Jens Axboe <=
- Re: [Qemu-devel] enabling bus-master IDE driver, Hetz Ben Hamo, 2004/11/07
- Re: [Qemu-devel] enabling bus-master IDE driver, Jens Axboe, 2004/11/07
- Re: [Qemu-devel] enabling bus-master IDE driver, zitu, 2004/11/08
- RE: [Qemu-devel] enabling bus-master IDE driver, Andreas Bollhalder, 2004/11/08
- Re: [Qemu-devel] enabling bus-master IDE driver, Paul Jakma, 2004/11/09
- Re: [Qemu-devel] enabling bus-master IDE driver, Hetz Ben Hamo, 2004/11/09
- Re: [Qemu-devel] enabling bus-master IDE driver, Paul Jakma, 2004/11/09
- Re: [Qemu-devel] enabling bus-master IDE driver, Jason Brittain, 2004/11/11
- Re: [Qemu-devel] enabling bus-master IDE driver, Jens Axboe, 2004/11/11
- Re: [Qemu-devel] enabling bus-master IDE driver, Jason Brittain, 2004/11/11