lkml.org 
[lkml]   [2015]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 04/13] KVM: x86: API changes for SMM support
2015-05-28 11:00+0200, Paolo Bonzini:
> On 27/05/2015 19:05, Paolo Bonzini wrote:
> > This patch includes changes to the external API for SMM support.
> > All the changes are predicated by the availability of a new
> > capability, KVM_CAP_X86_SMM, which is added at the end of the
> > patch series.
> >
> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> Radim, I forgot to change flags to u8 in this patch. However, I am
> thinking that it's just as good to leave it as u16. The reason is that
> the other two fields in this 32-bit word were just 1-bit flags that were
> expanded to 8 bits for no particular reasons.

(Yeah, it's sad that we have wasted all those bits.)

> If we make it now
>
> u8 flags;
> u8 padding2;
>
> chances are that in due time it will become simply
>
> u8 flags;
> u8 flags2;

True, I forgot that big endian exists, so we can't just say u16 later.
(u8 avoids endianess problems of C bit-fields, but I wouldn't have
brought it up when u8 isn't strictly better ...)

> and then it's nicer to just have an u16. On the other hand, your
> argument that KVM_RUN has very little free space is also a good one.

Thinking more about it ... we don't forbid multi-bit flags, so u16 can
be used fairly the same way. (u16 would be a bit worse for an 8 bit
vector, but nicer for >8 bit vector.)

> What do you think? I have already done the change in my local repo, but
> I can change it back too.

I'd be glad if we were more bit-field friendly, but whatever is the
least work for you is the best :)


\
 
 \ /
  Last update: 2015-05-28 16:21    [W:0.101 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site