On Mon, Jul 04, 2022 at 03:29:57PM +0530, Richard Henderson wrote: > On 7/4/22 02:58, Stafford Horne wrote: > > -static const MemoryRegionOps goldfish_rtc_ops = { > > - .read = goldfish_rtc_read, > > - .write = goldfish_rtc_write, > > - .endianness = DEVICE_NATIVE_ENDIAN, > > - .valid = { > > - .min_access_size = 4, > > - .max_access_size = 4 > > - } > > +static const MemoryRegionOps goldfish_rtc_ops[3] = { > > + [DEVICE_NATIVE_ENDIAN] = { > > + .read = goldfish_rtc_read, > > + .write = goldfish_rtc_write, > > + .endianness = DEVICE_NATIVE_ENDIAN, > > + .valid = { > > + .min_access_size = 4, > > + .max_access_size = 4 > > + } > > + }, > > + [DEVICE_LITTLE_ENDIAN] = { > > + .read = goldfish_rtc_read, > > + .write = goldfish_rtc_write, > > + .endianness = DEVICE_LITTLE_ENDIAN, > > + .valid = { > > + .min_access_size = 4, > > + .max_access_size = 4 > > + } > > + }, > > + [DEVICE_BIG_ENDIAN] = { > > + .read = goldfish_rtc_read, > > + .write = goldfish_rtc_write, > > + .endianness = DEVICE_BIG_ENDIAN, > > + .valid = { > > + .min_access_size = 4, > > + .max_access_size = 4 > > + } > > + }, > > }; > > You don't need 3 copies, only big and little. > > > +static Property goldfish_rtc_properties[] = { > > + DEFINE_PROP_UINT8("endianness", GoldfishRTCState, endianness, > > + DEVICE_NATIVE_ENDIAN), > > + DEFINE_PROP_END_OF_LIST(), > > +}; > > ... and I think the clear desire for default is little-endian. I would make > the property be bool, and add a comment that this is only for m68k > compatibility, so don't use it in new code.
Yeah, that makes sense. -Stafford