On (Thu) Sep 03 2009 [17:20:44], Juan Quintela wrote: > Amit Shah <amit.shah@xxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html