> -----Original Message-----
> From: Jan Beulich <jbeul...@suse.com>
> Sent: 28 August 2020 16:53
> To: p...@xen.org
> Cc: xen-devel@lists.xenproject.org; 'Ian Jackson' 
> <ian.jack...@eu.citrix.com>; 'Wei Liu' <w...@xen.org>;
> 'Andrew Cooper' <andrew.coop...@citrix.com>; 'George Dunlap' 
> <george.dun...@citrix.com>; 'Julien
> Grall' <jul...@xen.org>; 'Stefano Stabellini' <sstabell...@kernel.org>; 
> 'Roger Pau Monné'
> <roger....@citrix.com>
> Subject: Re: [EXTERNAL] [PATCH v7 8/9] x86/time: add a domain context record 
> for tsc_info...
> 
> On 28.08.2020 13:08, Paul Durrant wrote:
> >> -----Original Message-----
> >> From: Jan Beulich <jbeul...@suse.com>
> >> Sent: 26 August 2020 15:03
> >> To: Paul Durrant <p...@xen.org>
> >> Cc: xen-devel@lists.xenproject.org; Durrant, Paul <pdurr...@amazon.co.uk>; 
> >> Ian Jackson
> >> <ian.jack...@eu.citrix.com>; Wei Liu <w...@xen.org>; Andrew Cooper 
> >> <andrew.coop...@citrix.com>;
> George
> >> Dunlap <george.dun...@citrix.com>; Julien Grall <jul...@xen.org>; Stefano 
> >> Stabellini
> >> <sstabell...@kernel.org>; Roger Pau Monné <roger....@citrix.com>
> >> Subject: RE: [EXTERNAL] [PATCH v7 8/9] x86/time: add a domain context 
> >> record for tsc_info...
> >>
> >> CAUTION: This email originated from outside of the organization. Do not 
> >> click links or open
> >> attachments unless you can confirm the sender and know the content is safe.
> >>
> >>
> >>
> >> On 18.08.2020 12:30, Paul Durrant wrote:
> >>> --- a/xen/include/public/save.h
> >>> +++ b/xen/include/public/save.h
> >>> @@ -93,7 +93,18 @@ struct domain_shared_info_context {
> >>>
> >>>  DECLARE_DOMAIN_SAVE_TYPE(SHARED_INFO, 2, struct 
> >>> domain_shared_info_context);
> >>>
> >>> -#define DOMAIN_SAVE_CODE_MAX 2
> >>> +#if defined(__i386__) || defined(__x86_64__)
> >>> +struct domain_tsc_info_context {
> >>> +    uint32_t mode;
> >>> +    uint32_t incarnation;
> >>> +    uint64_t elapsed_nsec;
> >>> +    uint32_t khz;
> >>> +};
> >>
> >> sizeof() for this struct varies between 32-bit and 64-bit - is
> >> this not a problem? (alignof() varies too, but there I think
> >> it's indeed not a problem, albeit it could still be taken care
> >> of by using uint64_aligned_t, alongside the addition of an
> >> explicit padding field).
> >
> > I don't think it should matter because domain context records have
> > implicit padding to align up to the next 64-bit boundary,
> 
> Could you remind me where this is written down and enforced?
> 

With the series fully applied, see xen/include/public/save.h line 62-68 for the 
comment and then see domain_save_end() in xen/common/save.c for where the 
padding is applied.

  Paul

> > so as long as fields within the struct don't move (which I think
> > is true in this case) then we should be ok.
> 
> Right.
> 
> Jan


Reply via email to