|   xen-devel
Re: [Xen-devel] Re: fs-backend on -unstable 
| | Patch applied to /usr/src/xen-unstable.hg/tools/ioemu-dir/hw/ide.c. 
 # cd /usr/src/xen-unstable.hg
 # find . -name ide.c -print
 ./stubdom/ioemu/hw/ide.c
 ./tools/ioemu-remote/hw/ide.c
 # ls -l ./stubdom/ioemu/hw/ide.c
 lrwxrwxrwx 1 root src 50 2009-03-26 07:45 ./stubdom/ioemu/hw/ide.c -> /usr/src/xen-unstable.hg//tools/ioemu-dir/hw/ide.c
 
 # make tools
 # make install-tools
 # cd stubdom # there is symlink to ./tools/ioemu-remote/ide.c
 # make
 # make install
 
 System restarted (just in case).
 No luck (just same picture as before) under Xen Unstable & Suse's 2.6.27-5
 
 Boris.
 
 --- On Thu, 3/26/09, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> wrote:
 
 From: Stefano Stabellini
 <stefano.stabellini@xxxxxxxxxxxxx>Subject: [Xen-devel] Re: fs-backend on -unstable
 To: "Jody Belka" <lists-xen@xxxxxxxx>
 Cc: "Samuel Thibault" <samuel.thibault@xxxxxxxxxxxx>, "Jeremy Fitzhardinge" <jeremy@xxxxxxxx>, "Xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
 Date: Thursday, March 26, 2009, 6:21 AM
 
 
 Jody Belka wrote:
 > Now, the stub domain isn't actually working for me anyway, even on
 > non-pvops0, but it is able to talk to the fs-backend at least. To show
 > what that looks like, I've attached a couple of emails I sent
 off-list.
 
 
 
 There are some known issues that affect stubdoms at the moment, since
 they involve some changes made on qemu upstream I am trying to find a
 solution there.
 
 However if you want to test the latest stubdoms you can try this patch,
 it works for me.
 
 ---
 
 diff --git a/hw/ide.c b/hw/ide.c
 index 7031ba1..a97c78b
 100644
 --- a/hw/ide.c
 +++ b/hw/ide.c
 @@ -1056,10 +1056,11 @@ static int dma_buf_prepare(BMDMAState *bm, int
 is_write)
 uint32_t addr;
 uint32_t size;
 } prd;
 -    int l, len;
 +    int l, len, n;
 void *mem;
 target_phys_addr_t l1;
 
 +    n = s->nsector <= IDE_DMA_BUF_SECTORS ? s->nsector :
 IDE_DMA_BUF_SECTORS;
 qemu_iovec_init(&s->iovec, s->nsector / (TARGET_PAGE_SIZE/512) +
 1);
 s->io_buffer_size = 0;
 for(;;) {
 @@ -1082,6 +1083,13 @@ static int dma_buf_prepare(BMDMAState *bm, int is_write)
 l = bm->cur_prd_len;
 if (l > 0) {
 l1 = l;
 +            if (l1 > IDE_DMA_BUF_SECTORS * 512)
 +                l1 = IDE_DMA_BUF_SECTORS * 512;
 +            if (s->io_buffer_size + l1 > IDE_DMA_BUF_SECTORS * 512) {
 +                l1 = IDE_DMA_BUF_SECTORS * 512 -
 s->io_buffer_size;
 +                if (!l1)
 +                    return s->io_buffer_size != 0;
 +            }
 mem = cpu_physical_memory_map(bm->cur_prd_addr, &l1,
 is_write);
 if (!mem) {
 break;
 @@ -1263,6 +1271,8 @@ static void ide_read_dma_cb(void *opaque, int ret)
 
 /* launch next transfer */
 n = s->nsector;
 +    if (n > IDE_DMA_BUF_SECTORS)
 +        n = IDE_DMA_BUF_SECTORS;
 s->io_buffer_index = 0;
 s->io_buffer_size = n * 512;
 if (dma_buf_prepare(bm, 1) == 0)
 @@ -1412,6 +1422,8 @@ static void ide_write_dma_cb(void *opaque, int ret)
 }
 
 n = s->nsector;
 +    if (n > IDE_DMA_BUF_SECTORS)
 +        n = IDE_DMA_BUF_SECTORS;
 s->io_buffer_size = n * 512;
 /* launch next transfer */
 if (dma_buf_prepare(bm, 0) ==
 0)
 
 _______________________________________________
 Xen-devel mailing list
 Xen-devel@xxxxxxxxxxxxxxxxxxx
 http://lists.xensource.com/xen-devel
 
 | 
 
 _______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 |  |