Re: [PATCH 3/6] hw/usb/quirks: Use smaller types to reduce .rodata by 10KiB

2020-03-05 Thread Philippe Mathieu-Daudé
On 3/5/20 12:59 PM, Gerd Hoffmann wrote: And went this less intrusive way. I'll respin with s/-1/UINT8_MAX/. Problem, now this entry is ignored (interface_class==-1): Yep, "-1" is used as "not used" or "end-of-list" indicator, and it is outside the valid range to avoid that kind of clashes.

Re: [PATCH 3/6] hw/usb/quirks: Use smaller types to reduce .rodata by 10KiB

2020-03-05 Thread Gerd Hoffmann
> > And went this less intrusive way. > > > > I'll respin with s/-1/UINT8_MAX/. > > Problem, now this entry is ignored (interface_class==-1): Yep, "-1" is used as "not used" or "end-of-list" indicator, and it is outside the valid range to avoid that kind of clashes. You need some other way to ex

Re: [PATCH 3/6] hw/usb/quirks: Use smaller types to reduce .rodata by 10KiB

2020-03-05 Thread Philippe Mathieu-Daudé
On Thu, Mar 5, 2020 at 11:41 AM Philippe Mathieu-Daudé wrote: > On 3/5/20 9:02 AM, Gerd Hoffmann wrote: > >> struct usb_device_id { > >> -int vendor_id; > >> -int product_id; > >> -int interface_class; > >> -int interface_subclass; > >> -int interface_protocol; > >> +int1

Re: [PATCH 3/6] hw/usb/quirks: Use smaller types to reduce .rodata by 10KiB

2020-03-05 Thread Philippe Mathieu-Daudé
On 3/5/20 9:02 AM, Gerd Hoffmann wrote: struct usb_device_id { -int vendor_id; -int product_id; -int interface_class; -int interface_subclass; -int interface_protocol; +int16_t vendor_id; +int16_t product_id; +int8_t interface_class; +int8_t interface_subclas

Re: [PATCH 3/6] hw/usb/quirks: Use smaller types to reduce .rodata by 10KiB

2020-03-05 Thread Gerd Hoffmann
> struct usb_device_id { > -int vendor_id; > -int product_id; > -int interface_class; > -int interface_subclass; > -int interface_protocol; > +int16_t vendor_id; > +int16_t product_id; > +int8_t interface_class; > +int8_t interface_subclass; > +int8_t interf

[PATCH 3/6] hw/usb/quirks: Use smaller types to reduce .rodata by 10KiB

2020-03-04 Thread Philippe Mathieu-Daudé
The USB descriptor sizes are specified as 16-bit for idVendor / idProduct, and 8-bit for bInterfaceClass / bInterfaceSubClass / bInterfaceProtocol. Doing so we reduce the usbredir_raw_serial_ids[] and usbredir_ftdi_serial_ids[] arrays from 16KiB to 6KiB (size reported on x86_64 host, building with