[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware.
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware. |
Date: |
Mon, 15 Nov 2010 09:53:50 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Nov 15, 2010 at 09:40:08AM +0200, Gleb Natapov wrote:
> On Sun, Nov 14, 2010 at 10:40:33PM -0500, Kevin O'Connor wrote:
> > On Sun, Nov 14, 2010 at 05:39:41PM +0200, Gleb Natapov wrote:
> > > +/*
> > > + * This function returns device list as an array in a below format:
> > > + * +-----+-----+---------------+-----+---------------+--
> > > + * | n | l1 | devpath1 | l2 | devpath2 | ...
> > > + * +-----+-----+---------------+-----+---------------+--
> > > + * where:
> > > + * n - a number of devise pathes (one byte)
> > > + * l - length of following device path string (one byte)
> > > + * devpath - non-null terminated string of length l representing
> > > + * one device path
> > > + */
> >
> > Why not just return a newline separated list that is null terminated?
> >
> Doing it like this will needlessly complicate firmware side. How do you
> know how much memory to allocate before reading device list?
Do a memory scan, count newlines until you reach 0?
> Doing it
> like Blue suggest (have BOOTINDEX_LEN and BOOTINDEX_STRING) solves this.
> To create nice array from bootindex string you firmware will still have
> to do additional pass on it though.
Why is this a problem? Pass over memory is cheap, isn't it?
> With format like above the code
> would look like that:
>
> qemu_cfg_read(&n, 1);
> arr = alloc(n);
> for (i=0; i<n; i++) {
> qemu_cfg_read(&l, 1);
> arr[i] = zalloc(l+1);
> qemu_cfg_read(arr[i], l);
> }
>
>
> --
> Gleb.
At this point I don't care about format.
But I would like one without 1-byte-length limitations,
just so we can cover whatever pci can through at us.
--
MST
- [Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., (continued)
- [Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Michael S. Tsirkin, 2010/11/18
- [Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Gleb Natapov, 2010/11/18
- [Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Michael S. Tsirkin, 2010/11/18
- [Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Gleb Natapov, 2010/11/18
- [Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Michael S. Tsirkin, 2010/11/18
- [Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Gleb Natapov, 2010/11/18
- [Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Michael S. Tsirkin, 2010/11/18
- [Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Gleb Natapov, 2010/11/18
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Kevin O'Connor, 2010/11/14
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Kevin O'Connor, 2010/11/15
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Gleb Natapov, 2010/11/15
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Gleb Natapov, 2010/11/15
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Kevin O'Connor, 2010/11/15
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Gleb Natapov, 2010/11/16
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Kevin O'Connor, 2010/11/16
[Qemu-devel] Re: [PATCHv4 15/15] Pass boot device list to firmware., Blue Swirl, 2010/11/16
[Qemu-devel] [PATCHv4 11/15] Add bootindex parameter to net/block/fd device, Gleb Natapov, 2010/11/14
[Qemu-devel] [PATCHv4 13/15] Add bootindex for option roms., Gleb Natapov, 2010/11/14