|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v5 02/12] xen/arm: add SVE vector length field to the domain
>
>
>>
>>>> Can we move this somewhere else to avoid adding extra padding? Also
>>>> shouldn't this be protected with #ifdef CONFIG_ARM_64 to make clear this
>>>> is not supported on Xen 32-bit?
>>> Yes, I’ll move it and protect with CONFIG_ARM_64, is it ok for you if I
>>> move it after:
>>> /* Monitor options */
>>> struct {
>>> uint8_t privileged_call_enabled : 1;
>>> } monitor;
>>
>> Please check the padding with "pahole". If possible, it would be better to
>> re-use an existing one.
>
> Ok I’ll try to use the tool
I’ve managed to use the tool, the field seems already in a good spot:
struct arch_domain {
enum domain_type type; /* 0 4 */
uint8_t sve_vl; /* 4 1 */
/* XXX 3 bytes hole, try to pack */
struct p2m_domain p2m; /* 8 328 */
/* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */
struct hvm_domain hvm; /* 336 312 */
/* --- cacheline 10 boundary (640 bytes) was 8 bytes ago --- */
struct paging_domain paging; /* 648 32 */
struct vmmio vmmio; /* 680 32 */
/* --- cacheline 11 boundary (704 bytes) was 8 bytes ago --- */
unsigned int rel_priv; /* 712 4 */
/* XXX 4 bytes hole, try to pack */
struct {
uint64_t offset; /* 720 8 */
s_time_t nanoseconds; /* 728 8 */
} virt_timer_base; /* 720 16 */
struct vgic_dist vgic; /* 736 200 */
/* XXX last struct has 2 bytes of padding */
/* --- cacheline 14 boundary (896 bytes) was 40 bytes ago --- */
struct vuart vuart; /* 936 32 */
/* --- cacheline 15 boundary (960 bytes) was 8 bytes ago --- */
unsigned int evtchn_irq; /* 968 4 */
struct {
uint8_t privileged_call_enabled:1; /* 972: 0 1 */
} monitor; /* 972 1 */
/* XXX 3 bytes hole, try to pack */
struct vpl011 vpl011; /* 976 72 */
/* size: 1152, cachelines: 18, members: 13 */
/* sum members: 1038, holes: 3, sum holes: 10 */
/* padding: 104 */
/* paddings: 1, sum paddings: 2 */
} __attribute__((__aligned__(128)));
>
>>
>> Cheers,
>>
>> --
>> Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |