Re: [PATCH v6 15/21] s390: vfio-ap: configure the guest's AP matrix

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

 



On 07/12/2018 01:22 AM, Halil Pasic wrote:


On 06/29/2018 11:11 PM, Tony Krowiak wrote:
From: Tony Krowiak <akrowiak@xxxxxxxxxxxxx>

Configures the AP adapters, usage domains and control domains for the
KVM guest from the matrix configured via the mediated matrix device's
sysfs attribute files.

[..]
+
+static void kvm_ap_set_crycb_masks(struct ap_matrix_mdev *matrix_mdev)
+{
+    int nbytes;
+    unsigned long *apm, *aqm, *adm;
+
+    kvm_ap_clear_crycb_masks(matrix_mdev);
+
+    apm = kvm_ap_get_crycb_apm(matrix_mdev);
+    aqm = kvm_ap_get_crycb_aqm(matrix_mdev);
+    adm = kvm_ap_get_crycb_adm(matrix_mdev);
+
+    nbytes = KVM_AP_MASK_BYTES(matrix_mdev->matrix.apm_max + 1);
+    memcpy(apm, matrix_mdev->matrix.apm, nbytes);
+
+    nbytes = KVM_AP_MASK_BYTES(matrix_mdev->matrix.aqm_max + 1);
+    memcpy(aqm, matrix_mdev->matrix.aqm, nbytes);
+
+    /*
+     * Merge the AQM and ADM since the ADM is a superset of the
+     * AQM by agreed-upon convention.
+     */
+    bitmap_or(adm, matrix_mdev->matrix.adm, matrix_mdev->matrix.aqm,
+          matrix_mdev->matrix.adm_max + 1);

Are you sure this or works as expected? E.g. if adm_max == 15 the bitmaps
include the least significant 2 bytes but you want the other two.

Since test system has only 15 domains defined this has never been a
problem. I'll write a function rather than using the bitmap_or().



+}


--
To unsubscribe from this list: send the line "unsubscribe linux-s390" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux