lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 20 Feb 2015 19:42:15 +0100
From:	Michael Mueller <mimu@...ux.vnet.ibm.com>
To:	Alexander Graf <agraf@...e.de>
Cc:	qemu-devel@...gnu.org, kvm@...r.kernel.org,
	linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org,
	Gleb Natapov <gleb@...nel.org>,
	Christian Borntraeger <borntraeger@...ibm.com>,
	"Jason J. Herne" <jjherne@...ux.vnet.ibm.com>,
	Cornelia Huck <cornelia.huck@...ibm.com>,
	Paolo Bonzini <pbonzini@...hat.com>,
	Andreas Faerber <afaerber@...e.de>,
	Richard Henderson <rth@...ddle.net>
Subject: Re: [Qemu-devel] [RFC PATCH v2 09/15] cpu-model/s390: Add KVM VM
 attribute interface routines

On Fri, 20 Feb 2015 17:59:14 +0100
Alexander Graf <agraf@...e.de> wrote:

> But please give a nutshell explanation on what exactly you're patching
> at all here.

Please don't ask in riddles... :-)

S390ProcessorProps are attributes that represent cpu model related properties of the processor. 

typedef struct S390ProcessorProps {
    uint64_t cpuid;
    uint16_t ibc;
    uint8_t  pad[6];
    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
} S390ProcessorProps;

S390MachineProps are attributes that represent cpu model related properties that a specific host
offers.

fac_list_mask are the facilities that are supported by the accelerator code and the hosting
machine in case of KVM it is kvm_s390_fac_list_mask & STFLE, fac_list is STFLE only

typedef struct S390MachineProps {
    uint64_t cpuid;
    uint32_t ibc_range;
    uint8_t  pad[4];
    uint64_t fac_list_mask[S390_ARCH_FAC_LIST_SIZE_UINT64];
    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
} S390MachineProps;

The various S390CPUModel classes represent all well defined cpu models (those which have been
implemented as real machines). Not all of these models are executable on a given host. Only the
most current machine implementation is able to run all models. The list of "runnable" cpu models
is calculated by "matching" the S390MachineProps with the S390CPUModel classes and the
qemu_s390_fac_list_mask[] (indicates the facilities that are implemented by QEMU itself.)

The qemu cpu_model is translated to the respective S390CPUModel class and its processor
properties (S390ProcessorProps) are used with the s390_set_proceccor_props() call to communicate
them to the accelerator what specific cpuid,ibc,fac_list shall be used.

Michael

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists