On Thursday 14 October 2010 22:59:04 Alex Williamson wrote: > The structs in question only contain 4 & 8 byte elements, so there > shouldn't be any change on x86-32 using one-byte aligned packing. I'm talking about the alignment of the structure, not the members within the structure. The data structure should be compatible, but not accesses to it. > AFAIK, e820 is x86-only, so we don't need to worry about breaking anyone > else. You can use qemu to emulate an x86 pc on anything... > Performance isn't much of a consideration for this type of > interface since it's only used pre-boot. In fact, the channel between > qemu and the bios is only one byte wide, so wider alignment can cost > extra emulated I/O accesses. Right, the data gets passed as bytes, so it hardly matters in the end. Still the e820_add_entry assigns data to the struct members, which it either does using byte accesses and shifts or a multiple 32 bit assignment. Just because using a one byte alignment technically results in correct output doesn't make it the right solution. I don't care about the few cycles of execution time or the few bytes you waste in this particular case, but you are setting a wrong example by using smaller alignment than necessary. Arnd -- 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