[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed
From: |
Alex Williamson |
Subject: |
Re: [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed |
Date: |
Thu, 14 Oct 2010 14:59:04 -0600 |
On Thu, 2010-10-14 at 22:20 +0200, Arnd Bergmann wrote:
> On Thursday 14 October 2010 21:58:08 Alex Williamson wrote:
> > If it works anywhere (I assume it works on 32bit), then it's only
> > because it happened to get the alignment right. This just makes 64bit
> > hosts get it right too. I don't see any compatibility issues,
> > non-packed + 64bit = broken. Thanks,
>
> I would actually assume that only x86-32 hosts got it right, because
> all 32 bit hosts I've seen other than x86 also define 8 byte alignment
> for uint64_t.
>
> You might however consider making it
>
> __attribute((__packed__, __aligned__(4)))
>
> instead of just packed, because otherwise you make the alignment one byte,
> which is not only different from what it used to be on x86-32 but also
> will cause inefficient compiler outpout on platforms that don't have unaligned
> word accesses in hardware.
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.
AFAIK, e820 is x86-only, so we don't need to worry about breaking anyone
else. 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. Thanks,
Alex
- [Qemu-devel] [PATCH] pc: e820 qemu_cfg tables need to be packed, Alex Williamson, 2010/10/14
- [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed, Jes Sorensen, 2010/10/14
- Re: [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed, Anthony Liguori, 2010/10/14
- Re: [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed, Alex Williamson, 2010/10/14
- Re: [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed, Anthony Liguori, 2010/10/14
- Re: [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed, Arnd Bergmann, 2010/10/14
- Re: [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed,
Alex Williamson <=
- Re: [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed, Arnd Bergmann, 2010/10/14
- Re: [Qemu-devel] Re: [PATCH] pc: e820 qemu_cfg tables need to be packed, Alex Williamson, 2010/10/15
[Qemu-devel] [PATCH v2] pc: e820 qemu_cfg tables need to be packed, Alex Williamson, 2010/10/15