On (Thu) Sep 03 2009 [17:20:44], Juan Quintela wrote:
> Amit Shah <[email protected]> wrote:
>
> Hi
>
> >> > > +static void virtio_console_set_port_active(uint32_t idx)
> >> > > +{
> >> > > + int i = 0;
> >> > > +
> >> > > + while (idx / 32) {
> >> > > + i++;
> >> > > + idx -= 32;
> >> > > + }
> >> >
> >> > It is just me, or you are doing a division + modulus in a very strange
> >> > way?
> >> >
> >> > i = idx / 32;
> >> > idx = idx % 32;
> >> >
> >> > ???
> >
> > Er, sorry I left this out.
> >
> > That won't work for MAX_PORTS > 32.
>
> Why not?
After a good night's sleep, I see that I was wrong :-)
You're right and I don't remember why I did it this way instead of just
using % from the start. Maybe I had a different way of storing it back
then; it's been a long time.
I also saw that I was wrong about the casts:
> > > +/* Readiness of the guest to accept data on a port */
> > > +static int vcon_can_read(void *opaque)
> > > +{
> > > + VirtIOConsolePort *port = (VirtIOConsolePort *) opaque;
> >
> > Cast is not needed here.
> This is original code that I've not modified (just moved around).
> But you're right; I could do that in this patch itself.
These were indeed introduced by me (and are now corrected).
Thanks!
Amit
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization