On Fri Apr 11, 2025 at 8:21 PM AEST, Philippe Mathieu-Daudé wrote: > On 11/4/25 10:04, Nicholas Piggin wrote: >> These structures are hardware interfaces, ensure the layout is >> correct. >> >> Signed-off-by: Nicholas Piggin <npig...@gmail.com> >> --- >> hw/usb/dev-storage.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c >> index 2d7306b0572..87c22476f6b 100644 >> --- a/hw/usb/dev-storage.c >> +++ b/hw/usb/dev-storage.c >> @@ -27,7 +27,7 @@ >> #define MassStorageReset 0xff >> #define GetMaxLun 0xfe >> >> -struct usb_msd_cbw { >> +struct QEMU_PACKED usb_msd_cbw { >> uint32_t sig; >> uint32_t tag; >> uint32_t data_len; >> @@ -636,6 +636,9 @@ static const TypeInfo usb_storage_dev_type_info = { >> >> static void usb_msd_register_types(void) >> { >> + qemu_build_assert(sizeof(struct usb_msd_cbw) == 31); >> + qemu_build_assert(sizeof(struct usb_msd_csw) == 13); > > Can we add definitions for these 13/31 magic values? Then > we can use them in try_get_valid_cbw().
Good idea, I've done something to improve them. Thanks, Nick