Messages in this thread | | | Date | Tue, 24 Oct 2006 14:03:20 +0200 | From | Avi Kivity <> | Subject | Re: [PATCH 5/13] KVM: virtualization infrastructure |
| |
Arnd Bergmann wrote: > On Monday 23 October 2006 22:28, Avi Kivity wrote: > > >>>> +struct segment_descriptor { >>>> + u16 limit_low; >>>> + u16 base_low; >>>> + u8 base_mid; >>>> + u8 type : 4; >>>> + u8 system : 1; >>>> + u8 dpl : 2; >>>> + u8 present : 1; >>>> + u8 limit_high : 4; >>>> + u8 avl : 1; >>>> + u8 long_mode : 1; >>>> + u8 default_op : 1; >>>> + u8 granularity : 1; >>>> + u8 base_high; >>>> +} __attribute__((packed)); >>>> >>>> >>> Bitfields are generally frowned upon. It's better to define >>> constants for each of these and use a u64. >>> >> Any specific reasons? I find the code much more readable (and >> lowercase) with bitfields. >> > > The strongest reason against bitfields is that they are not > endian-clean. This doesn't apply on a architecture-specific > patch such as KVM, but it just feels wrong to read code > with bit fields in the kernel. > >
This structure is suspiciously similar to struct desc_struct in asm-x86_64/desc.h.
However, I can't use it because asm-i386/desc.h does not have a similar definition.
Andi, will you accept a patch to move it to asm-i386/desc_defs.h so it can be used in both archs?
-- error compiling committee.c: too many arguments to function
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |