Re: [kvm-unit-tests PATCH 3/5] s390x: SCLP feature checking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17/11/2020 16.42, Janosch Frank wrote:
> Availability of SIE is announced via a feature bit in a SCLP info CPU
> entry. Let's add a framework that allows us to easily check for such
> facilities.
> 
> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx>
> ---
>  lib/s390x/io.c   |  1 +
>  lib/s390x/sclp.c | 19 +++++++++++++++++++
>  lib/s390x/sclp.h | 15 +++++++++++++++
>  3 files changed, 35 insertions(+)
[...]
> diff --git a/lib/s390x/sclp.h b/lib/s390x/sclp.h
> index 6620531..bcc9f4b 100644
> --- a/lib/s390x/sclp.h
> +++ b/lib/s390x/sclp.h
> @@ -101,6 +101,20 @@ typedef struct CPUEntry {
>      uint8_t reserved1;
>  } __attribute__((packed)) CPUEntry;
>  
> +extern struct sclp_facilities sclp_facilities;
> +
> +struct sclp_facilities {
> +	u64 has_sief2 : 1;
> +};
> +
> +/*
> + * test_bit() uses unsigned long ptrs so we give it the ptr to the
> + * address member and offset bits by 1> + */
> +enum sclp_cpu_feature_bit {
> +	SCLP_CPU_FEATURE_SIEF2_BIT = 16 + 4,
> +};

That's kind of ugly ... why don't you simply replace the CPUEntry.features[]
array with a bitfield, similar to what the kernel does with "struct
sclp_core_entry" ?

 Thomas





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux