1 | The following changes since commit 75e50c80e051423a6f55a34ee4a1eec842444a5b: | 1 | Hi Richard! |
---|---|---|---|
2 | 2 | ||
3 | Merge remote-tracking branch 'remotes/armbru/tags/pull-misc-2018-10-10' into staging (2018-10-11 10:43:37 +0100) | 3 | The following changes since commit 39e19f5f67d925c60278a6156fd1776d04495a93: |
4 | |||
5 | Merge tag 'pull-xen-20220705' of https://xenbits.xen.org/git-http/people/aperard/qemu-dm into staging (2022-07-05 22:13:51 +0530) | ||
4 | 6 | ||
5 | are available in the Git repository at: | 7 | are available in the Git repository at: |
6 | 8 | ||
7 | git://github.com/cohuck/qemu tags/s390x-20181012 | 9 | https://gitlab.com/thuth/qemu.git tags/pull-request-2022-07-07 |
8 | 10 | ||
9 | for you to fetch changes up to 0161215d435ef5680c4623bcbdfe89ce5b35cf42: | 11 | for you to fetch changes up to 3d8111fd3bf7298486bcf1a72013b44c9044104e: |
10 | 12 | ||
11 | hw/s390x: Include the tod-qemu also for builds with --disable-tcg (2018-10-12 11:32:19 +0200) | 13 | target/s390x: Exit tb after executing ex_value (2022-07-06 19:04:57 +0200) |
12 | 14 | ||
13 | ---------------------------------------------------------------- | 15 | ---------------------------------------------------------------- |
14 | More s390x updates: | 16 | * Check validity of the address in the SET PREFIX instruction |
15 | - introduce support for vfio-ap (s390 crypto devices), including a | 17 | * Fix booting from devices that use 4k sectors, but are not like DASDs |
16 | Linux headers update to get the new interfaces | 18 | * Re-evaluate pending interrupts after EXECUTE of certain instructions |
17 | - the usual fixing + cleanup | ||
18 | 19 | ||
19 | ---------------------------------------------------------------- | 20 | ---------------------------------------------------------------- |
21 | Janis Schoetterl-Glausch (1): | ||
22 | target/s390x/tcg: SPX: check validity of new prefix | ||
20 | 23 | ||
21 | Cornelia Huck (1): | 24 | Richard Henderson (4): |
22 | linux-headers: update | 25 | target/s390x: Remove DISAS_GOTO_TB |
26 | target/s390x: Remove DISAS_PC_STALE | ||
27 | target/s390x: Remove DISAS_PC_STALE_NOCHAIN | ||
28 | target/s390x: Exit tb after executing ex_value | ||
23 | 29 | ||
24 | Thomas Huth (2): | 30 | Thomas Huth (13): |
25 | target/s390x/excp_helper: Remove DPRINTF() macro | 31 | pc-bios/s390-ccw: Add a proper prototype for main() |
26 | hw/s390x: Include the tod-qemu also for builds with --disable-tcg | 32 | pc-bios/s390-ccw/virtio: Introduce a macro for the DASD block size |
33 | pc-bios/s390-ccw/bootmap: Improve the guessing logic in | ||
34 | zipl_load_vblk() | ||
35 | pc-bios/s390-ccw/virtio-blkdev: Simplify/fix | ||
36 | virtio_ipl_disk_is_valid() | ||
37 | pc-bios/s390-ccw/virtio-blkdev: Remove virtio_assume_scsi() | ||
38 | pc-bios/s390-ccw/virtio: Set missing status bits while initializing | ||
39 | pc-bios/s390-ccw/virtio: Read device config after feature negotiation | ||
40 | pc-bios/s390-ccw/virtio: Beautify the code for reading virtqueue | ||
41 | configuration | ||
42 | pc-bios/s390-ccw: Split virtio-scsi code from | ||
43 | virtio_blk_setup_device() | ||
44 | pc-bios/s390-ccw/virtio-blkdev: Request the right feature bits | ||
45 | pc-bios/s390-ccw/virtio: Remove "extern" keyword from prototypes | ||
46 | pc-bios/s390-ccw/netboot.mak: Ignore Clang's warnings about GNU | ||
47 | extensions | ||
48 | pc-bios/s390-ccw: Update the s390-ccw bios binaries with the | ||
49 | virtio-blk fixes | ||
27 | 50 | ||
28 | Tony Krowiak (5): | 51 | pc-bios/s390-ccw/netboot.mak | 7 ++- |
29 | s390x/cpumodel: Set up CPU model for AP device support | 52 | pc-bios/s390-ccw/s390-ccw.h | 1 + |
30 | s390x/kvm: enable AP instruction interpretation for guest | 53 | pc-bios/s390-ccw/virtio-scsi.h | 2 +- |
31 | s390x/ap: base Adjunct Processor (AP) object model | 54 | pc-bios/s390-ccw/virtio.h | 16 +++--- |
32 | s390x/vfio: ap: Introduce VFIO AP device | 55 | pc-bios/s390-ccw/bootmap.c | 27 +++++++-- |
33 | s390: doc: detailed specifications for AP virtualization | 56 | pc-bios/s390-ccw/main.c | 27 ++++++--- |
34 | 57 | pc-bios/s390-ccw/virtio-blkdev.c | 91 +++++-------------------------- | |
35 | MAINTAINERS | 16 + | 58 | pc-bios/s390-ccw/virtio-scsi.c | 19 ++++++- |
36 | default-configs/s390x-softmmu.mak | 1 + | 59 | pc-bios/s390-ccw/virtio.c | 28 ++++++---- |
37 | docs/vfio-ap.txt | 825 +++++++++++++++++++++++++++++++++ | 60 | target/s390x/tcg/misc_helper.c | 7 +++ |
38 | hw/s390x/Makefile.objs | 4 +- | 61 | target/s390x/tcg/translate.c | 42 ++++++-------- |
39 | hw/s390x/ap-bridge.c | 78 ++++ | 62 | pc-bios/s390-ccw.img | Bin 50936 -> 42608 bytes |
40 | hw/s390x/ap-device.c | 38 ++ | 63 | pc-bios/s390-netboot.img | Bin 79688 -> 67232 bytes |
41 | hw/s390x/s390-virtio-ccw.c | 4 + | 64 | 13 files changed, 129 insertions(+), 138 deletions(-) |
42 | hw/vfio/Makefile.objs | 1 + | ||
43 | hw/vfio/ap.c | 181 ++++++++ | ||
44 | include/hw/s390x/ap-bridge.h | 19 + | ||
45 | include/hw/s390x/ap-device.h | 22 + | ||
46 | include/hw/vfio/vfio-common.h | 1 + | ||
47 | include/standard-headers/linux/input.h | 9 +- | ||
48 | linux-headers/asm-arm/kvm.h | 13 + | ||
49 | linux-headers/asm-arm64/kvm.h | 13 + | ||
50 | linux-headers/asm-s390/kvm.h | 2 + | ||
51 | linux-headers/asm-x86/kvm.h | 1 + | ||
52 | linux-headers/linux/kvm.h | 2 + | ||
53 | linux-headers/linux/vfio.h | 2 + | ||
54 | linux-headers/linux/vhost.h | 2 +- | ||
55 | target/s390x/cpu_features.c | 3 + | ||
56 | target/s390x/cpu_features_def.h | 3 + | ||
57 | target/s390x/cpu_models.c | 2 + | ||
58 | target/s390x/excp_helper.c | 48 +- | ||
59 | target/s390x/gen-features.c | 3 + | ||
60 | target/s390x/kvm.c | 19 + | ||
61 | 26 files changed, 1269 insertions(+), 43 deletions(-) | ||
62 | create mode 100644 docs/vfio-ap.txt | ||
63 | create mode 100644 hw/s390x/ap-bridge.c | ||
64 | create mode 100644 hw/s390x/ap-device.c | ||
65 | create mode 100644 hw/vfio/ap.c | ||
66 | create mode 100644 include/hw/s390x/ap-bridge.h | ||
67 | create mode 100644 include/hw/s390x/ap-device.h | ||
68 | 65 | ||
69 | -- | 66 | -- |
70 | 2.14.4 | 67 | 2.31.1 |
71 | |||
72 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | From: Janis Schoetterl-Glausch <scgl@linux.ibm.com> | ||
1 | 2 | ||
3 | According to the architecture, SET PREFIX must try to access the new | ||
4 | prefix area and recognize an addressing exception if the area is not | ||
5 | accessible. | ||
6 | For qemu this check prevents a crash in cpu_map_lowcore after an | ||
7 | inaccessible prefix area has been set. | ||
8 | |||
9 | Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com> | ||
10 | Reviewed-by: David Hildenbrand <david@redhat.com> | ||
11 | Message-Id: <20220630094340.3646279-1-scgl@linux.ibm.com> | ||
12 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
13 | --- | ||
14 | target/s390x/tcg/misc_helper.c | 7 +++++++ | ||
15 | 1 file changed, 7 insertions(+) | ||
16 | |||
17 | diff --git a/target/s390x/tcg/misc_helper.c b/target/s390x/tcg/misc_helper.c | ||
18 | index XXXXXXX..XXXXXXX 100644 | ||
19 | --- a/target/s390x/tcg/misc_helper.c | ||
20 | +++ b/target/s390x/tcg/misc_helper.c | ||
21 | @@ -XXX,XX +XXX,XX @@ void HELPER(spx)(CPUS390XState *env, uint64_t a1) | ||
22 | if (prefix == old_prefix) { | ||
23 | return; | ||
24 | } | ||
25 | + /* | ||
26 | + * Since prefix got aligned to 8k and memory increments are a multiple of | ||
27 | + * 8k checking the first page is sufficient | ||
28 | + */ | ||
29 | + if (!mmu_absolute_addr_valid(prefix, true)) { | ||
30 | + tcg_s390_program_interrupt(env, PGM_ADDRESSING, GETPC()); | ||
31 | + } | ||
32 | |||
33 | env->psa = prefix; | ||
34 | HELPER_LOG("prefix: %#x\n", prefix); | ||
35 | -- | ||
36 | 2.31.1 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | Older versions of Clang complain if there is no prototype for main(). | ||
2 | Add one, and while we're at it, make sure that we use the same type | ||
3 | for main.c and netmain.c - since the return value does not matter, | ||
4 | declare the return type of main() as "void". | ||
1 | 5 | ||
6 | Message-Id: <20220704111903.62400-2-thuth@redhat.com> | ||
7 | Reviewed-by: Cornelia Huck <cohuck@redhat.com> | ||
8 | Reviewed-by: Eric Farman <farman@linux.ibm.com> | ||
9 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
10 | --- | ||
11 | pc-bios/s390-ccw/s390-ccw.h | 1 + | ||
12 | pc-bios/s390-ccw/main.c | 3 +-- | ||
13 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h | ||
16 | index XXXXXXX..XXXXXXX 100644 | ||
17 | --- a/pc-bios/s390-ccw/s390-ccw.h | ||
18 | +++ b/pc-bios/s390-ccw/s390-ccw.h | ||
19 | @@ -XXX,XX +XXX,XX @@ void write_subsystem_identification(void); | ||
20 | void write_iplb_location(void); | ||
21 | extern char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE))); | ||
22 | unsigned int get_loadparm_index(void); | ||
23 | +void main(void); | ||
24 | |||
25 | /* sclp.c */ | ||
26 | void sclp_print(const char *string); | ||
27 | diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c | ||
28 | index XXXXXXX..XXXXXXX 100644 | ||
29 | --- a/pc-bios/s390-ccw/main.c | ||
30 | +++ b/pc-bios/s390-ccw/main.c | ||
31 | @@ -XXX,XX +XXX,XX @@ static void probe_boot_device(void) | ||
32 | sclp_print("Could not find a suitable boot device (none specified)\n"); | ||
33 | } | ||
34 | |||
35 | -int main(void) | ||
36 | +void main(void) | ||
37 | { | ||
38 | sclp_setup(); | ||
39 | css_setup(); | ||
40 | @@ -XXX,XX +XXX,XX @@ int main(void) | ||
41 | } | ||
42 | |||
43 | panic("Failed to load OS from hard disk\n"); | ||
44 | - return 0; /* make compiler happy */ | ||
45 | } | ||
46 | -- | ||
47 | 2.31.1 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | Use VIRTIO_DASD_DEFAULT_BLOCK_SIZE instead of the magic value 4096. | ||
1 | 2 | ||
3 | Message-Id: <20220704111903.62400-3-thuth@redhat.com> | ||
4 | Reviewed-by: Eric Farman <farman@linux.ibm.com> | ||
5 | Reviewed-by: Cornelia Huck <cohuck@redhat.com> | ||
6 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
7 | --- | ||
8 | pc-bios/s390-ccw/virtio.h | 1 + | ||
9 | pc-bios/s390-ccw/virtio-blkdev.c | 2 +- | ||
10 | 2 files changed, 2 insertions(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/pc-bios/s390-ccw/virtio.h b/pc-bios/s390-ccw/virtio.h | ||
13 | index XXXXXXX..XXXXXXX 100644 | ||
14 | --- a/pc-bios/s390-ccw/virtio.h | ||
15 | +++ b/pc-bios/s390-ccw/virtio.h | ||
16 | @@ -XXX,XX +XXX,XX @@ extern int virtio_read_many(ulong sector, void *load_addr, int sec_num); | ||
17 | #define VIRTIO_SECTOR_SIZE 512 | ||
18 | #define VIRTIO_ISO_BLOCK_SIZE 2048 | ||
19 | #define VIRTIO_SCSI_BLOCK_SIZE 512 | ||
20 | +#define VIRTIO_DASD_DEFAULT_BLOCK_SIZE 4096 | ||
21 | |||
22 | static inline ulong virtio_sector_adjust(ulong sector) | ||
23 | { | ||
24 | diff --git a/pc-bios/s390-ccw/virtio-blkdev.c b/pc-bios/s390-ccw/virtio-blkdev.c | ||
25 | index XXXXXXX..XXXXXXX 100644 | ||
26 | --- a/pc-bios/s390-ccw/virtio-blkdev.c | ||
27 | +++ b/pc-bios/s390-ccw/virtio-blkdev.c | ||
28 | @@ -XXX,XX +XXX,XX @@ void virtio_assume_eckd(void) | ||
29 | vdev->config.blk.physical_block_exp = 0; | ||
30 | switch (vdev->senseid.cu_model) { | ||
31 | case VIRTIO_ID_BLOCK: | ||
32 | - vdev->config.blk.blk_size = 4096; | ||
33 | + vdev->config.blk.blk_size = VIRTIO_DASD_DEFAULT_BLOCK_SIZE; | ||
34 | break; | ||
35 | case VIRTIO_ID_SCSI: | ||
36 | vdev->config.blk.blk_size = vdev->scsi_block_size; | ||
37 | -- | ||
38 | 2.31.1 | diff view generated by jsdifflib |
1 | From: Tony Krowiak <akrowiak@linux.ibm.com> | 1 | The logic of trying an final ISO or ECKD boot on virtio-block devices is |
---|---|---|---|
2 | very weird: Since the geometry hardly ever matches in virtio_disk_is_scsi(), | ||
3 | virtio_blk_setup_device() always sets a "guessed" disk geometry via | ||
4 | virtio_assume_scsi() (which is certainly also wrong in a lot of cases). | ||
2 | 5 | ||
3 | Introduces a VFIO based AP device. The device is defined via | 6 | zipl_load_vblk() then sees that there's been a "virtio_guessed_disk_nature" |
4 | the QEMU command line by specifying: | 7 | and tries to fix up the geometry again via virtio_assume_iso9660() before |
8 | always trying to do ipl_iso_el_torito(). That's a very brain-twisting | ||
9 | way of attempting to boot from ISO images, which won't work anymore after | ||
10 | the following patches that will clean up the virtio_assume_scsi() mess | ||
11 | (and thus get rid of the "virtio_guessed_disk_nature" here). | ||
5 | 12 | ||
6 | -device vfio-ap,sysfsdev=<path-to-mediated-matrix-device> | 13 | Let's try a better approach instead: ISO files always have a magic |
14 | string "CD001" at offset 0x8001 (see e.g. the ECMA-119 specification) | ||
15 | which we can use to decide whether we should try to boot in ISO 9660 | ||
16 | mode (which we should also try if we see a sector size of 2048). | ||
7 | 17 | ||
8 | There may be only one vfio-ap device configured for a guest. | 18 | And if we were not able to boot in ISO mode here, the final boot attempt |
19 | before panicking is to boot in ECKD mode. Since this is our last boot | ||
20 | attempt anyway, simply always assume the ECKD geometry here (if the sector | ||
21 | size was not 4096 yet), so that we also do not depend on the guessed disk | ||
22 | geometry from virtio_blk_setup_device() here anymore. | ||
9 | 23 | ||
10 | The mediated matrix device is created by the VFIO AP device | 24 | Message-Id: <20220704111903.62400-4-thuth@redhat.com> |
11 | driver by writing a UUID to a sysfs attribute file (see | 25 | Signed-off-by: Thomas Huth <thuth@redhat.com> |
12 | docs/vfio-ap.txt). The mediated matrix device will be named | 26 | --- |
13 | after the UUID. Symbolic links to the $uuid are created in | 27 | pc-bios/s390-ccw/bootmap.c | 27 +++++++++++++++++++++++---- |
14 | many places, so the path to the mediated matrix device $uuid | 28 | 1 file changed, 23 insertions(+), 4 deletions(-) |
15 | can be specified in any of the following ways: | ||
16 | 29 | ||
17 | /sys/devices/vfio_ap/matrix/$uuid | 30 | diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c |
18 | /sys/devices/vfio_ap/matrix/mdev_supported_types/vfio_ap-passthrough/devices/$uuid | ||
19 | /sys/bus/mdev/devices/$uuid | ||
20 | /sys/bus/mdev/drivers/vfio_mdev/$uuid | ||
21 | |||
22 | When the vfio-ap device is realized, it acquires and opens the | ||
23 | VFIO iommu group to which the mediated matrix device is | ||
24 | bound. This causes a VFIO group notification event to be | ||
25 | signaled. The vfio_ap device driver's group notification | ||
26 | handler will get called at which time the device driver | ||
27 | will configure the the AP devices to which the guest will | ||
28 | be granted access. | ||
29 | |||
30 | Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> | ||
31 | Tested-by: Pierre Morel <pmorel@linux.ibm.com> | ||
32 | Acked-by: Halil Pasic <pasic@linux.ibm.com> | ||
33 | Tested-by: Pierre Morel <pmorel@linux.ibm.com> | ||
34 | Tested-by: Christian Borntraeger <borntraeger@de.ibm.com> | ||
35 | Message-Id: <20181010170309.12045-6-akrowiak@linux.ibm.com> | ||
36 | Reviewed-by: Thomas Huth <thuth@redhat.com> | ||
37 | [CH: added missing g_free and device category] | ||
38 | Signed-off-by: Cornelia Huck <cohuck@redhat.com> | ||
39 | --- | ||
40 | MAINTAINERS | 2 + | ||
41 | default-configs/s390x-softmmu.mak | 1 + | ||
42 | hw/vfio/Makefile.objs | 1 + | ||
43 | hw/vfio/ap.c | 181 ++++++++++++++++++++++++++++++++++++++ | ||
44 | include/hw/vfio/vfio-common.h | 1 + | ||
45 | 5 files changed, 186 insertions(+) | ||
46 | create mode 100644 hw/vfio/ap.c | ||
47 | |||
48 | diff --git a/MAINTAINERS b/MAINTAINERS | ||
49 | index XXXXXXX..XXXXXXX 100644 | 31 | index XXXXXXX..XXXXXXX 100644 |
50 | --- a/MAINTAINERS | 32 | --- a/pc-bios/s390-ccw/bootmap.c |
51 | +++ b/MAINTAINERS | 33 | +++ b/pc-bios/s390-ccw/bootmap.c |
52 | @@ -XXX,XX +XXX,XX @@ F: hw/char/terminal3270.c | 34 | @@ -XXX,XX +XXX,XX @@ static void ipl_iso_el_torito(void) |
53 | F: hw/intc/s390_flic.c | 35 | } |
54 | F: hw/intc/s390_flic_kvm.c | 36 | } |
55 | F: hw/s390x/ | 37 | |
56 | +F: hw/vfio/ap.c | 38 | +/** |
57 | F: hw/vfio/ccw.c | 39 | + * Detect whether we're trying to boot from an .ISO image. |
58 | F: hw/watchdog/wdt_diag288.c | 40 | + * These always have a signature string "CD001" at offset 0x8001. |
59 | F: include/hw/s390x/ | ||
60 | @@ -XXX,XX +XXX,XX @@ F: hw/s390x/ap-device.c | ||
61 | F: hw/s390x/ap-bridge.c | ||
62 | F: include/hw/s390x/ap-device.h | ||
63 | F: include/hw/s390x/ap-bridge.h | ||
64 | +F: hw/vfio/ap.c | ||
65 | L: qemu-s390x@nongnu.org | ||
66 | |||
67 | vhost | ||
68 | diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-softmmu.mak | ||
69 | index XXXXXXX..XXXXXXX 100644 | ||
70 | --- a/default-configs/s390x-softmmu.mak | ||
71 | +++ b/default-configs/s390x-softmmu.mak | ||
72 | @@ -XXX,XX +XXX,XX @@ CONFIG_S390_FLIC=y | ||
73 | CONFIG_S390_FLIC_KVM=$(CONFIG_KVM) | ||
74 | CONFIG_VFIO_CCW=$(CONFIG_LINUX) | ||
75 | CONFIG_WDT_DIAG288=y | ||
76 | +CONFIG_VFIO_AP=$(CONFIG_LINUX) | ||
77 | diff --git a/hw/vfio/Makefile.objs b/hw/vfio/Makefile.objs | ||
78 | index XXXXXXX..XXXXXXX 100644 | ||
79 | --- a/hw/vfio/Makefile.objs | ||
80 | +++ b/hw/vfio/Makefile.objs | ||
81 | @@ -XXX,XX +XXX,XX @@ obj-$(CONFIG_SOFTMMU) += platform.o | ||
82 | obj-$(CONFIG_VFIO_XGMAC) += calxeda-xgmac.o | ||
83 | obj-$(CONFIG_VFIO_AMD_XGBE) += amd-xgbe.o | ||
84 | obj-$(CONFIG_SOFTMMU) += spapr.o | ||
85 | +obj-$(CONFIG_VFIO_AP) += ap.o | ||
86 | endif | ||
87 | diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c | ||
88 | new file mode 100644 | ||
89 | index XXXXXXX..XXXXXXX | ||
90 | --- /dev/null | ||
91 | +++ b/hw/vfio/ap.c | ||
92 | @@ -XXX,XX +XXX,XX @@ | ||
93 | +/* | ||
94 | + * VFIO based AP matrix device assignment | ||
95 | + * | ||
96 | + * Copyright 2018 IBM Corp. | ||
97 | + * Author(s): Tony Krowiak <akrowiak@linux.ibm.com> | ||
98 | + * Halil Pasic <pasic@linux.ibm.com> | ||
99 | + * | ||
100 | + * This work is licensed under the terms of the GNU GPL, version 2 or (at | ||
101 | + * your option) any later version. See the COPYING file in the top-level | ||
102 | + * directory. | ||
103 | + */ | 41 | + */ |
42 | +static bool has_iso_signature(void) | ||
43 | +{ | ||
44 | + int blksize = virtio_get_block_size(); | ||
104 | + | 45 | + |
105 | +#include <linux/vfio.h> | 46 | + if (!blksize || virtio_read(0x8000 / blksize, sec)) { |
106 | +#include <sys/ioctl.h> | 47 | + return false; |
107 | +#include "qemu/osdep.h" | 48 | + } |
108 | +#include "qapi/error.h" | ||
109 | +#include "hw/sysbus.h" | ||
110 | +#include "hw/vfio/vfio.h" | ||
111 | +#include "hw/vfio/vfio-common.h" | ||
112 | +#include "hw/s390x/ap-device.h" | ||
113 | +#include "qemu/error-report.h" | ||
114 | +#include "qemu/queue.h" | ||
115 | +#include "qemu/option.h" | ||
116 | +#include "qemu/config-file.h" | ||
117 | +#include "cpu.h" | ||
118 | +#include "kvm_s390x.h" | ||
119 | +#include "sysemu/sysemu.h" | ||
120 | +#include "hw/s390x/ap-bridge.h" | ||
121 | +#include "exec/address-spaces.h" | ||
122 | + | 49 | + |
123 | +#define VFIO_AP_DEVICE_TYPE "vfio-ap" | 50 | + return !memcmp("CD001", &sec[1], 5); |
124 | + | ||
125 | +typedef struct VFIOAPDevice { | ||
126 | + APDevice apdev; | ||
127 | + VFIODevice vdev; | ||
128 | +} VFIOAPDevice; | ||
129 | + | ||
130 | +#define VFIO_AP_DEVICE(obj) \ | ||
131 | + OBJECT_CHECK(VFIOAPDevice, (obj), VFIO_AP_DEVICE_TYPE) | ||
132 | + | ||
133 | +static void vfio_ap_compute_needs_reset(VFIODevice *vdev) | ||
134 | +{ | ||
135 | + vdev->needs_reset = false; | ||
136 | +} | 51 | +} |
137 | + | 52 | + |
138 | +/* | 53 | /*********************************************************************** |
139 | + * We don't need vfio_hot_reset_multi and vfio_eoi operations for | 54 | * Bus specific IPL sequences |
140 | + * vfio-ap device now. | 55 | */ |
141 | + */ | 56 | |
142 | +struct VFIODeviceOps vfio_ap_ops = { | 57 | static void zipl_load_vblk(void) |
143 | + .vfio_compute_needs_reset = vfio_ap_compute_needs_reset, | 58 | { |
144 | +}; | 59 | - if (virtio_guessed_disk_nature()) { |
60 | - virtio_assume_iso9660(); | ||
61 | + int blksize = virtio_get_block_size(); | ||
145 | + | 62 | + |
146 | +static void vfio_ap_put_device(VFIOAPDevice *vapdev) | 63 | + if (blksize == VIRTIO_ISO_BLOCK_SIZE || has_iso_signature()) { |
147 | +{ | 64 | + if (blksize != VIRTIO_ISO_BLOCK_SIZE) { |
148 | + g_free(vapdev->vdev.name); | 65 | + virtio_assume_iso9660(); |
149 | + vfio_put_base_device(&vapdev->vdev); | 66 | + } |
150 | +} | 67 | + ipl_iso_el_torito(); |
151 | + | 68 | } |
152 | +static VFIOGroup *vfio_ap_get_group(VFIOAPDevice *vapdev, Error **errp) | 69 | - ipl_iso_el_torito(); |
153 | +{ | 70 | |
154 | + GError *gerror = NULL; | 71 | - if (virtio_guessed_disk_nature()) { |
155 | + char *symlink, *group_path; | 72 | + if (blksize != VIRTIO_DASD_DEFAULT_BLOCK_SIZE) { |
156 | + int groupid; | 73 | sclp_print("Using guessed DASD geometry.\n"); |
157 | + | 74 | virtio_assume_eckd(); |
158 | + symlink = g_strdup_printf("%s/iommu_group", vapdev->vdev.sysfsdev); | 75 | } |
159 | + group_path = g_file_read_link(symlink, &gerror); | ||
160 | + g_free(symlink); | ||
161 | + | ||
162 | + if (!group_path) { | ||
163 | + error_setg(errp, "%s: no iommu_group found for %s: %s", | ||
164 | + VFIO_AP_DEVICE_TYPE, vapdev->vdev.sysfsdev, gerror->message); | ||
165 | + return NULL; | ||
166 | + } | ||
167 | + | ||
168 | + if (sscanf(basename(group_path), "%d", &groupid) != 1) { | ||
169 | + error_setg(errp, "vfio: failed to read %s", group_path); | ||
170 | + g_free(group_path); | ||
171 | + return NULL; | ||
172 | + } | ||
173 | + | ||
174 | + g_free(group_path); | ||
175 | + | ||
176 | + return vfio_get_group(groupid, &address_space_memory, errp); | ||
177 | +} | ||
178 | + | ||
179 | +static void vfio_ap_realize(DeviceState *dev, Error **errp) | ||
180 | +{ | ||
181 | + int ret; | ||
182 | + char *mdevid; | ||
183 | + Error *local_err = NULL; | ||
184 | + VFIOGroup *vfio_group; | ||
185 | + APDevice *apdev = AP_DEVICE(dev); | ||
186 | + VFIOAPDevice *vapdev = VFIO_AP_DEVICE(apdev); | ||
187 | + | ||
188 | + vfio_group = vfio_ap_get_group(vapdev, &local_err); | ||
189 | + if (!vfio_group) { | ||
190 | + goto out_err; | ||
191 | + } | ||
192 | + | ||
193 | + vapdev->vdev.ops = &vfio_ap_ops; | ||
194 | + vapdev->vdev.type = VFIO_DEVICE_TYPE_AP; | ||
195 | + mdevid = basename(vapdev->vdev.sysfsdev); | ||
196 | + vapdev->vdev.name = g_strdup_printf("%s", mdevid); | ||
197 | + vapdev->vdev.dev = dev; | ||
198 | + | ||
199 | + ret = vfio_get_device(vfio_group, mdevid, &vapdev->vdev, &local_err); | ||
200 | + if (ret) { | ||
201 | + goto out_get_dev_err; | ||
202 | + } | ||
203 | + | ||
204 | + return; | ||
205 | + | ||
206 | +out_get_dev_err: | ||
207 | + vfio_ap_put_device(vapdev); | ||
208 | + vfio_put_group(vfio_group); | ||
209 | +out_err: | ||
210 | + error_propagate(errp, local_err); | ||
211 | +} | ||
212 | + | ||
213 | +static void vfio_ap_unrealize(DeviceState *dev, Error **errp) | ||
214 | +{ | ||
215 | + APDevice *apdev = AP_DEVICE(dev); | ||
216 | + VFIOAPDevice *vapdev = VFIO_AP_DEVICE(apdev); | ||
217 | + VFIOGroup *group = vapdev->vdev.group; | ||
218 | + | ||
219 | + vfio_ap_put_device(vapdev); | ||
220 | + vfio_put_group(group); | ||
221 | +} | ||
222 | + | ||
223 | +static Property vfio_ap_properties[] = { | ||
224 | + DEFINE_PROP_STRING("sysfsdev", VFIOAPDevice, vdev.sysfsdev), | ||
225 | + DEFINE_PROP_END_OF_LIST(), | ||
226 | +}; | ||
227 | + | ||
228 | +static void vfio_ap_reset(DeviceState *dev) | ||
229 | +{ | ||
230 | + int ret; | ||
231 | + APDevice *apdev = AP_DEVICE(dev); | ||
232 | + VFIOAPDevice *vapdev = VFIO_AP_DEVICE(apdev); | ||
233 | + | ||
234 | + ret = ioctl(vapdev->vdev.fd, VFIO_DEVICE_RESET); | ||
235 | + if (ret) { | ||
236 | + error_report("%s: failed to reset %s device: %s", __func__, | ||
237 | + vapdev->vdev.name, strerror(ret)); | ||
238 | + } | ||
239 | +} | ||
240 | + | ||
241 | +static const VMStateDescription vfio_ap_vmstate = { | ||
242 | + .name = VFIO_AP_DEVICE_TYPE, | ||
243 | + .unmigratable = 1, | ||
244 | +}; | ||
245 | + | ||
246 | +static void vfio_ap_class_init(ObjectClass *klass, void *data) | ||
247 | +{ | ||
248 | + DeviceClass *dc = DEVICE_CLASS(klass); | ||
249 | + | ||
250 | + dc->props = vfio_ap_properties; | ||
251 | + dc->vmsd = &vfio_ap_vmstate; | ||
252 | + dc->desc = "VFIO-based AP device assignment"; | ||
253 | + set_bit(DEVICE_CATEGORY_MISC, dc->categories); | ||
254 | + dc->realize = vfio_ap_realize; | ||
255 | + dc->unrealize = vfio_ap_unrealize; | ||
256 | + dc->hotpluggable = false; | ||
257 | + dc->reset = vfio_ap_reset; | ||
258 | + dc->bus_type = TYPE_AP_BUS; | ||
259 | +} | ||
260 | + | ||
261 | +static const TypeInfo vfio_ap_info = { | ||
262 | + .name = VFIO_AP_DEVICE_TYPE, | ||
263 | + .parent = AP_DEVICE_TYPE, | ||
264 | + .instance_size = sizeof(VFIOAPDevice), | ||
265 | + .class_init = vfio_ap_class_init, | ||
266 | +}; | ||
267 | + | ||
268 | +static void vfio_ap_type_init(void) | ||
269 | +{ | ||
270 | + type_register_static(&vfio_ap_info); | ||
271 | +} | ||
272 | + | ||
273 | +type_init(vfio_ap_type_init) | ||
274 | diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h | ||
275 | index XXXXXXX..XXXXXXX 100644 | ||
276 | --- a/include/hw/vfio/vfio-common.h | ||
277 | +++ b/include/hw/vfio/vfio-common.h | ||
278 | @@ -XXX,XX +XXX,XX @@ enum { | ||
279 | VFIO_DEVICE_TYPE_PCI = 0, | ||
280 | VFIO_DEVICE_TYPE_PLATFORM = 1, | ||
281 | VFIO_DEVICE_TYPE_CCW = 2, | ||
282 | + VFIO_DEVICE_TYPE_AP = 3, | ||
283 | }; | ||
284 | |||
285 | typedef struct VFIOMmap { | ||
286 | -- | 76 | -- |
287 | 2.14.4 | 77 | 2.31.1 |
288 | |||
289 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | The s390-ccw bios fails to boot if the boot disk is a virtio-blk | ||
2 | disk with a sector size of 4096. For example: | ||
1 | 3 | ||
4 | dasdfmt -b 4096 -d cdl -y -p -M quick /dev/dasdX | ||
5 | fdasd -a /dev/dasdX | ||
6 | install a guest onto /dev/dasdX1 using virtio-blk | ||
7 | qemu-system-s390x -nographic -hda /dev/dasdX1 | ||
8 | |||
9 | The bios then bails out with: | ||
10 | |||
11 | ! Cannot read block 0 ! | ||
12 | |||
13 | Looking at virtio_ipl_disk_is_valid() and especially the function | ||
14 | virtio_disk_is_scsi(), it does not really make sense that we expect | ||
15 | only such a limited disk geometry (like a block size of 512) for | ||
16 | our boot disks. Let's relax the check and allow everything that | ||
17 | remotely looks like a sane disk. | ||
18 | |||
19 | Message-Id: <20220704111903.62400-5-thuth@redhat.com> | ||
20 | Reviewed-by: Eric Farman <farman@linux.ibm.com> | ||
21 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
22 | --- | ||
23 | pc-bios/s390-ccw/virtio.h | 2 -- | ||
24 | pc-bios/s390-ccw/virtio-blkdev.c | 41 ++++++-------------------------- | ||
25 | 2 files changed, 7 insertions(+), 36 deletions(-) | ||
26 | |||
27 | diff --git a/pc-bios/s390-ccw/virtio.h b/pc-bios/s390-ccw/virtio.h | ||
28 | index XXXXXXX..XXXXXXX 100644 | ||
29 | --- a/pc-bios/s390-ccw/virtio.h | ||
30 | +++ b/pc-bios/s390-ccw/virtio.h | ||
31 | @@ -XXX,XX +XXX,XX @@ void virtio_assume_scsi(void); | ||
32 | void virtio_assume_eckd(void); | ||
33 | void virtio_assume_iso9660(void); | ||
34 | |||
35 | -extern bool virtio_disk_is_scsi(void); | ||
36 | -extern bool virtio_disk_is_eckd(void); | ||
37 | extern bool virtio_ipl_disk_is_valid(void); | ||
38 | extern int virtio_get_block_size(void); | ||
39 | extern uint8_t virtio_get_heads(void); | ||
40 | diff --git a/pc-bios/s390-ccw/virtio-blkdev.c b/pc-bios/s390-ccw/virtio-blkdev.c | ||
41 | index XXXXXXX..XXXXXXX 100644 | ||
42 | --- a/pc-bios/s390-ccw/virtio-blkdev.c | ||
43 | +++ b/pc-bios/s390-ccw/virtio-blkdev.c | ||
44 | @@ -XXX,XX +XXX,XX @@ void virtio_assume_eckd(void) | ||
45 | virtio_eckd_sectors_for_block_size(vdev->config.blk.blk_size); | ||
46 | } | ||
47 | |||
48 | -bool virtio_disk_is_scsi(void) | ||
49 | -{ | ||
50 | - VDev *vdev = virtio_get_device(); | ||
51 | - | ||
52 | - if (vdev->guessed_disk_nature == VIRTIO_GDN_SCSI) { | ||
53 | - return true; | ||
54 | - } | ||
55 | - switch (vdev->senseid.cu_model) { | ||
56 | - case VIRTIO_ID_BLOCK: | ||
57 | - return (vdev->config.blk.geometry.heads == 255) | ||
58 | - && (vdev->config.blk.geometry.sectors == 63) | ||
59 | - && (virtio_get_block_size() == VIRTIO_SCSI_BLOCK_SIZE); | ||
60 | - case VIRTIO_ID_SCSI: | ||
61 | - return true; | ||
62 | - } | ||
63 | - return false; | ||
64 | -} | ||
65 | - | ||
66 | -bool virtio_disk_is_eckd(void) | ||
67 | +bool virtio_ipl_disk_is_valid(void) | ||
68 | { | ||
69 | + int blksize = virtio_get_block_size(); | ||
70 | VDev *vdev = virtio_get_device(); | ||
71 | - const int block_size = virtio_get_block_size(); | ||
72 | |||
73 | - if (vdev->guessed_disk_nature == VIRTIO_GDN_DASD) { | ||
74 | + if (vdev->guessed_disk_nature == VIRTIO_GDN_SCSI || | ||
75 | + vdev->guessed_disk_nature == VIRTIO_GDN_DASD) { | ||
76 | return true; | ||
77 | } | ||
78 | - switch (vdev->senseid.cu_model) { | ||
79 | - case VIRTIO_ID_BLOCK: | ||
80 | - return (vdev->config.blk.geometry.heads == 15) | ||
81 | - && (vdev->config.blk.geometry.sectors == | ||
82 | - virtio_eckd_sectors_for_block_size(block_size)); | ||
83 | - case VIRTIO_ID_SCSI: | ||
84 | - return false; | ||
85 | - } | ||
86 | - return false; | ||
87 | -} | ||
88 | |||
89 | -bool virtio_ipl_disk_is_valid(void) | ||
90 | -{ | ||
91 | - return virtio_disk_is_scsi() || virtio_disk_is_eckd(); | ||
92 | + return (vdev->senseid.cu_model == VIRTIO_ID_BLOCK || | ||
93 | + vdev->senseid.cu_model == VIRTIO_ID_SCSI) && | ||
94 | + blksize >= 512 && blksize <= 4096; | ||
95 | } | ||
96 | |||
97 | int virtio_get_block_size(void) | ||
98 | -- | ||
99 | 2.31.1 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | The virtio_assume_scsi() function is very questionable: First, it | ||
2 | is only called for virtio-blk, and not for virtio-scsi, so the naming | ||
3 | is already quite confusing. Second, it is called if we detected a | ||
4 | "invalid" IPL disk, trying to fix it by blindly setting a sector | ||
5 | size of 512. This of course won't work in most cases since disks | ||
6 | might have a different sector size for a reason. | ||
1 | 7 | ||
8 | Thus let's remove this strange function now. The calling code can | ||
9 | also be removed completely, since there is another spot in main.c | ||
10 | that does "IPL_assert(virtio_ipl_disk_is_valid(), ...)" to make | ||
11 | sure that we do not try to IPL from an invalid device. | ||
12 | |||
13 | Message-Id: <20220704111903.62400-6-thuth@redhat.com> | ||
14 | Reviewed-by: Eric Farman <farman@linux.ibm.com> | ||
15 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
16 | --- | ||
17 | pc-bios/s390-ccw/virtio.h | 1 - | ||
18 | pc-bios/s390-ccw/virtio-blkdev.c | 24 ------------------------ | ||
19 | 2 files changed, 25 deletions(-) | ||
20 | |||
21 | diff --git a/pc-bios/s390-ccw/virtio.h b/pc-bios/s390-ccw/virtio.h | ||
22 | index XXXXXXX..XXXXXXX 100644 | ||
23 | --- a/pc-bios/s390-ccw/virtio.h | ||
24 | +++ b/pc-bios/s390-ccw/virtio.h | ||
25 | @@ -XXX,XX +XXX,XX @@ enum guessed_disk_nature_type { | ||
26 | typedef enum guessed_disk_nature_type VirtioGDN; | ||
27 | |||
28 | VirtioGDN virtio_guessed_disk_nature(void); | ||
29 | -void virtio_assume_scsi(void); | ||
30 | void virtio_assume_eckd(void); | ||
31 | void virtio_assume_iso9660(void); | ||
32 | |||
33 | diff --git a/pc-bios/s390-ccw/virtio-blkdev.c b/pc-bios/s390-ccw/virtio-blkdev.c | ||
34 | index XXXXXXX..XXXXXXX 100644 | ||
35 | --- a/pc-bios/s390-ccw/virtio-blkdev.c | ||
36 | +++ b/pc-bios/s390-ccw/virtio-blkdev.c | ||
37 | @@ -XXX,XX +XXX,XX @@ VirtioGDN virtio_guessed_disk_nature(void) | ||
38 | return virtio_get_device()->guessed_disk_nature; | ||
39 | } | ||
40 | |||
41 | -void virtio_assume_scsi(void) | ||
42 | -{ | ||
43 | - VDev *vdev = virtio_get_device(); | ||
44 | - | ||
45 | - switch (vdev->senseid.cu_model) { | ||
46 | - case VIRTIO_ID_BLOCK: | ||
47 | - vdev->guessed_disk_nature = VIRTIO_GDN_SCSI; | ||
48 | - vdev->config.blk.blk_size = VIRTIO_SCSI_BLOCK_SIZE; | ||
49 | - vdev->config.blk.physical_block_exp = 0; | ||
50 | - vdev->blk_factor = 1; | ||
51 | - break; | ||
52 | - case VIRTIO_ID_SCSI: | ||
53 | - vdev->scsi_block_size = VIRTIO_SCSI_BLOCK_SIZE; | ||
54 | - break; | ||
55 | - } | ||
56 | -} | ||
57 | - | ||
58 | void virtio_assume_iso9660(void) | ||
59 | { | ||
60 | VDev *vdev = virtio_get_device(); | ||
61 | @@ -XXX,XX +XXX,XX @@ int virtio_blk_setup_device(SubChannelId schid) | ||
62 | switch (vdev->senseid.cu_model) { | ||
63 | case VIRTIO_ID_BLOCK: | ||
64 | sclp_print("Using virtio-blk.\n"); | ||
65 | - if (!virtio_ipl_disk_is_valid()) { | ||
66 | - /* make sure all getters but blocksize return 0 for | ||
67 | - * invalid IPL disk | ||
68 | - */ | ||
69 | - memset(&vdev->config.blk, 0, sizeof(vdev->config.blk)); | ||
70 | - virtio_assume_scsi(); | ||
71 | - } | ||
72 | break; | ||
73 | case VIRTIO_ID_SCSI: | ||
74 | IPL_assert(vdev->config.scsi.sense_size == VIRTIO_SCSI_SENSE_SIZE, | ||
75 | -- | ||
76 | 2.31.1 | diff view generated by jsdifflib |
1 | From: Tony Krowiak <akrowiak@linux.ibm.com> | 1 | According chapter "3.1.1 Driver Requirements: Device Initialization" |
---|---|---|---|
2 | of the Virtio specification (v1.1), a driver for a device has to set | ||
3 | the ACKNOWLEDGE and DRIVER bits in the status field after resetting | ||
4 | the device. The s390-ccw bios skipped these steps so far and seems | ||
5 | like QEMU never cared. Anyway, it's better to follow the spec, so | ||
6 | let's set these bits now in the right spots, too. | ||
2 | 7 | ||
3 | Let's use the KVM_SET_DEVICE_ATTR ioctl to enable hardware | 8 | Message-Id: <20220704111903.62400-7-thuth@redhat.com> |
4 | interpretation of AP instructions executed on the guest. | 9 | Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com> |
5 | If the S390_FEAT_AP feature is switched on for the guest, | 10 | Reviewed-by: Cornelia Huck <cohuck@redhat.com> |
6 | AP instructions must be interpreted by default; otherwise, | 11 | Reviewed-by: Eric Farman <farman@linux.ibm.com> |
7 | they will be intercepted. | 12 | Signed-off-by: Thomas Huth <thuth@redhat.com> |
13 | --- | ||
14 | pc-bios/s390-ccw/virtio.c | 18 ++++++++++++++---- | ||
15 | 1 file changed, 14 insertions(+), 4 deletions(-) | ||
8 | 16 | ||
9 | This attribute setting may be overridden by a device. For example, | 17 | diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c |
10 | a device may want to provide AP instructions to the guest (i.e., | ||
11 | S390_FEAT_AP turned on), but it may want to emulate them. In this | ||
12 | case, the AP instructions executed on the guest must be | ||
13 | intercepted; so when the device is realized, it must disable | ||
14 | interpretation. | ||
15 | |||
16 | Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> | ||
17 | Tested-by: Pierre Morel <pmorel@linux.ibm.com> | ||
18 | Reviewed-by: David Hildenbrand <david@redhat.com> | ||
19 | Reviewed-by: Thomas Huth <thuth@redhat.com> | ||
20 | Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> | ||
21 | Acked-by: Halil Pasic <pasic@linux.ibm.com> | ||
22 | Tested-by: Christian Borntraeger <borntraeger@de.ibm.com> | ||
23 | Message-Id: <20181010170309.12045-4-akrowiak@linux.ibm.com> | ||
24 | Signed-off-by: Cornelia Huck <cohuck@redhat.com> | ||
25 | --- | ||
26 | target/s390x/kvm.c | 19 +++++++++++++++++++ | ||
27 | 1 file changed, 19 insertions(+) | ||
28 | |||
29 | diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c | ||
30 | index XXXXXXX..XXXXXXX 100644 | 18 | index XXXXXXX..XXXXXXX 100644 |
31 | --- a/target/s390x/kvm.c | 19 | --- a/pc-bios/s390-ccw/virtio.c |
32 | +++ b/target/s390x/kvm.c | 20 | +++ b/pc-bios/s390-ccw/virtio.c |
33 | @@ -XXX,XX +XXX,XX @@ void kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp) | 21 | @@ -XXX,XX +XXX,XX @@ int virtio_run(VDev *vdev, int vqid, VirtioCmd *cmd) |
34 | error_setg(errp, "KVM: host CPU model could not be identified"); | 22 | void virtio_setup_ccw(VDev *vdev) |
35 | return; | 23 | { |
36 | } | 24 | int i, rc, cfg_size = 0; |
37 | + /* for now, we can only provide the AP feature with HW support */ | 25 | - unsigned char status = VIRTIO_CONFIG_S_DRIVER_OK; |
38 | + if (kvm_vm_check_attr(kvm_state, KVM_S390_VM_CRYPTO, | 26 | + uint8_t status; |
39 | + KVM_S390_VM_CRYPTO_ENABLE_APIE)) { | 27 | struct VirtioFeatureDesc { |
40 | + set_bit(S390_FEAT_AP, model->features); | 28 | uint32_t features; |
41 | + } | 29 | uint8_t index; |
42 | /* strip of features that are not part of the maximum model */ | 30 | @@ -XXX,XX +XXX,XX @@ void virtio_setup_ccw(VDev *vdev) |
43 | bitmap_and(model->features, model->features, model->def->full_feat, | 31 | |
44 | S390_FEAT_MAX); | 32 | run_ccw(vdev, CCW_CMD_VDEV_RESET, NULL, 0, false); |
45 | } | 33 | |
46 | 34 | + status = VIRTIO_CONFIG_S_ACKNOWLEDGE; | |
47 | +static void kvm_s390_configure_apie(bool interpret) | 35 | + rc = run_ccw(vdev, CCW_CMD_WRITE_STATUS, &status, sizeof(status), false); |
48 | +{ | 36 | + IPL_assert(rc == 0, "Could not write ACKNOWLEDGE status to host"); |
49 | + uint64_t attr = interpret ? KVM_S390_VM_CRYPTO_ENABLE_APIE : | ||
50 | + KVM_S390_VM_CRYPTO_DISABLE_APIE; | ||
51 | + | 37 | + |
52 | + if (kvm_vm_check_attr(kvm_state, KVM_S390_VM_CRYPTO, attr)) { | 38 | switch (vdev->senseid.cu_model) { |
53 | + kvm_s390_set_attr(attr); | 39 | case VIRTIO_ID_NET: |
54 | + } | 40 | vdev->nr_vqs = 2; |
55 | +} | 41 | @@ -XXX,XX +XXX,XX @@ void virtio_setup_ccw(VDev *vdev) |
56 | + | 42 | default: |
57 | void kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp) | 43 | panic("Unsupported virtio device\n"); |
58 | { | ||
59 | struct kvm_s390_vm_cpu_processor prop = { | ||
60 | @@ -XXX,XX +XXX,XX @@ void kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp) | ||
61 | if (test_bit(S390_FEAT_CMM, model->features)) { | ||
62 | kvm_s390_enable_cmma(); | ||
63 | } | 44 | } |
64 | + | 45 | + |
65 | + if (test_bit(S390_FEAT_AP, model->features)) { | 46 | + status |= VIRTIO_CONFIG_S_DRIVER; |
66 | + kvm_s390_configure_apie(true); | 47 | + rc = run_ccw(vdev, CCW_CMD_WRITE_STATUS, &status, sizeof(status), false); |
67 | + } | 48 | + IPL_assert(rc == 0, "Could not write DRIVER status to host"); |
49 | + | ||
50 | IPL_assert( | ||
51 | run_ccw(vdev, CCW_CMD_READ_CONF, &vdev->config, cfg_size, false) == 0, | ||
52 | "Could not get block device configuration"); | ||
53 | @@ -XXX,XX +XXX,XX @@ void virtio_setup_ccw(VDev *vdev) | ||
54 | run_ccw(vdev, CCW_CMD_SET_VQ, &info, sizeof(info), false) == 0, | ||
55 | "Cannot set VQ info"); | ||
56 | } | ||
57 | - IPL_assert( | ||
58 | - run_ccw(vdev, CCW_CMD_WRITE_STATUS, &status, sizeof(status), false) == 0, | ||
59 | - "Could not write status to host"); | ||
60 | + | ||
61 | + status |= VIRTIO_CONFIG_S_DRIVER_OK; | ||
62 | + rc = run_ccw(vdev, CCW_CMD_WRITE_STATUS, &status, sizeof(status), false); | ||
63 | + IPL_assert(rc == 0, "Could not write DRIVER_OK status to host"); | ||
68 | } | 64 | } |
69 | 65 | ||
70 | void kvm_s390_restart_interrupt(S390CPU *cpu) | 66 | bool virtio_is_supported(SubChannelId schid) |
71 | -- | 67 | -- |
72 | 2.14.4 | 68 | 2.31.1 |
73 | |||
74 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | Feature negotiation should be done first, since some fields in the | ||
2 | config area can depend on the negotiated features and thus should | ||
3 | rather be read afterwards. | ||
1 | 4 | ||
5 | While we're at it, also adjust the error message here a little bit | ||
6 | (the code is nowadays used for non-block virtio devices, too). | ||
7 | |||
8 | Message-Id: <20220704111903.62400-8-thuth@redhat.com> | ||
9 | Reviewed-by: Eric Farman <farman@linux.ibm.com> | ||
10 | Reviewed-by: Cornelia Huck <cohuck@redhat.com> | ||
11 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
12 | --- | ||
13 | pc-bios/s390-ccw/virtio.c | 7 +++---- | ||
14 | 1 file changed, 3 insertions(+), 4 deletions(-) | ||
15 | |||
16 | diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c | ||
17 | index XXXXXXX..XXXXXXX 100644 | ||
18 | --- a/pc-bios/s390-ccw/virtio.c | ||
19 | +++ b/pc-bios/s390-ccw/virtio.c | ||
20 | @@ -XXX,XX +XXX,XX @@ void virtio_setup_ccw(VDev *vdev) | ||
21 | rc = run_ccw(vdev, CCW_CMD_WRITE_STATUS, &status, sizeof(status), false); | ||
22 | IPL_assert(rc == 0, "Could not write DRIVER status to host"); | ||
23 | |||
24 | - IPL_assert( | ||
25 | - run_ccw(vdev, CCW_CMD_READ_CONF, &vdev->config, cfg_size, false) == 0, | ||
26 | - "Could not get block device configuration"); | ||
27 | - | ||
28 | /* Feature negotiation */ | ||
29 | for (i = 0; i < ARRAY_SIZE(vdev->guest_features); i++) { | ||
30 | feats.features = 0; | ||
31 | @@ -XXX,XX +XXX,XX @@ void virtio_setup_ccw(VDev *vdev) | ||
32 | IPL_assert(rc == 0, "Could not set features bits"); | ||
33 | } | ||
34 | |||
35 | + rc = run_ccw(vdev, CCW_CMD_READ_CONF, &vdev->config, cfg_size, false); | ||
36 | + IPL_assert(rc == 0, "Could not get virtio device configuration"); | ||
37 | + | ||
38 | for (i = 0; i < vdev->nr_vqs; i++) { | ||
39 | VqInfo info = { | ||
40 | .queue = (unsigned long long) ring_area + (i * VIRTIO_RING_SIZE), | ||
41 | -- | ||
42 | 2.31.1 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | It looks nicer if we separate the run_ccw() from the IPL_assert() | ||
2 | statement, and the error message should talk about "virtio device" | ||
3 | instead of "block device", since this code is nowadays used for | ||
4 | non-block (i.e. network) devices, too. | ||
1 | 5 | ||
6 | Message-Id: <20220704111903.62400-9-thuth@redhat.com> | ||
7 | Reviewed-by: Cornelia Huck <cohuck@redhat.com> | ||
8 | Reviewed-by: Eric Farman <farman@linux.ibm.com> | ||
9 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
10 | --- | ||
11 | pc-bios/s390-ccw/virtio.c | 5 ++--- | ||
12 | 1 file changed, 2 insertions(+), 3 deletions(-) | ||
13 | |||
14 | diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c | ||
15 | index XXXXXXX..XXXXXXX 100644 | ||
16 | --- a/pc-bios/s390-ccw/virtio.c | ||
17 | +++ b/pc-bios/s390-ccw/virtio.c | ||
18 | @@ -XXX,XX +XXX,XX @@ void virtio_setup_ccw(VDev *vdev) | ||
19 | .num = 0, | ||
20 | }; | ||
21 | |||
22 | - IPL_assert( | ||
23 | - run_ccw(vdev, CCW_CMD_READ_VQ_CONF, &config, sizeof(config), false) == 0, | ||
24 | - "Could not get block device VQ configuration"); | ||
25 | + rc = run_ccw(vdev, CCW_CMD_READ_VQ_CONF, &config, sizeof(config), false); | ||
26 | + IPL_assert(rc == 0, "Could not get virtio device VQ configuration"); | ||
27 | info.num = config.num; | ||
28 | vring_init(&vdev->vrings[i], &info); | ||
29 | vdev->vrings[i].schid = vdev->schid; | ||
30 | -- | ||
31 | 2.31.1 | diff view generated by jsdifflib |
1 | From: Tony Krowiak <akrowiak@linux.ibm.com> | 1 | The next patch is going to add more virtio-block specific code to |
---|---|---|---|
2 | virtio_blk_setup_device(), and if the virtio-scsi code is also in | ||
3 | there, this is more cumbersome. And the calling function virtio_setup() | ||
4 | in main.c looks at the device type already anyway, so it's more | ||
5 | logical to separate the virtio-scsi stuff into a new function in | ||
6 | virtio-scsi.c instead. | ||
2 | 7 | ||
3 | Introduces the base object model for virtualizing AP devices. | 8 | Message-Id: <20220704111903.62400-10-thuth@redhat.com> |
9 | Reviewed-by: Eric Farman <farman@linux.ibm.com> | ||
10 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
11 | --- | ||
12 | pc-bios/s390-ccw/virtio-scsi.h | 2 +- | ||
13 | pc-bios/s390-ccw/main.c | 24 +++++++++++++++++------- | ||
14 | pc-bios/s390-ccw/virtio-blkdev.c | 20 ++------------------ | ||
15 | pc-bios/s390-ccw/virtio-scsi.c | 19 ++++++++++++++++++- | ||
16 | 4 files changed, 38 insertions(+), 27 deletions(-) | ||
4 | 17 | ||
5 | Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> | 18 | diff --git a/pc-bios/s390-ccw/virtio-scsi.h b/pc-bios/s390-ccw/virtio-scsi.h |
6 | Tested-by: Pierre Morel <pmorel@linux.ibm.com> | ||
7 | Acked-by: David Hildenbrand <david@redhat.com> | ||
8 | Reviewed-by: Thomas Huth <thuth@redhat.com> | ||
9 | Reviewed-by: Halil Pasic <pasic@linux.ibm.com> | ||
10 | Tested-by: Christian Borntraeger <borntraeger@de.ibm.com> | ||
11 | Message-Id: <20181010170309.12045-5-akrowiak@linux.ibm.com> | ||
12 | Signed-off-by: Cornelia Huck <cohuck@redhat.com> | ||
13 | --- | ||
14 | MAINTAINERS | 12 +++++++ | ||
15 | hw/s390x/Makefile.objs | 2 ++ | ||
16 | hw/s390x/ap-bridge.c | 78 ++++++++++++++++++++++++++++++++++++++++++++ | ||
17 | hw/s390x/ap-device.c | 38 +++++++++++++++++++++ | ||
18 | hw/s390x/s390-virtio-ccw.c | 4 +++ | ||
19 | include/hw/s390x/ap-bridge.h | 19 +++++++++++ | ||
20 | include/hw/s390x/ap-device.h | 22 +++++++++++++ | ||
21 | 7 files changed, 175 insertions(+) | ||
22 | create mode 100644 hw/s390x/ap-bridge.c | ||
23 | create mode 100644 hw/s390x/ap-device.c | ||
24 | create mode 100644 include/hw/s390x/ap-bridge.h | ||
25 | create mode 100644 include/hw/s390x/ap-device.h | ||
26 | |||
27 | diff --git a/MAINTAINERS b/MAINTAINERS | ||
28 | index XXXXXXX..XXXXXXX 100644 | 19 | index XXXXXXX..XXXXXXX 100644 |
29 | --- a/MAINTAINERS | 20 | --- a/pc-bios/s390-ccw/virtio-scsi.h |
30 | +++ b/MAINTAINERS | 21 | +++ b/pc-bios/s390-ccw/virtio-scsi.h |
31 | @@ -XXX,XX +XXX,XX @@ F: include/hw/s390x/s390-ccw.h | 22 | @@ -XXX,XX +XXX,XX @@ static inline bool virtio_scsi_response_ok(const VirtioScsiCmdResp *r) |
32 | T: git git://github.com/cohuck/qemu.git s390-next | 23 | return r->response == VIRTIO_SCSI_S_OK && r->status == CDB_STATUS_GOOD; |
33 | L: qemu-s390x@nongnu.org | 24 | } |
34 | 25 | ||
35 | +vfio-ap | 26 | -int virtio_scsi_setup(VDev *vdev); |
36 | +M: Christian Borntraeger <borntraeger@de.ibm.com> | 27 | int virtio_scsi_read_many(VDev *vdev, |
37 | +M: Tony Krowiak <akrowiak@linux.ibm.com> | 28 | ulong sector, void *load_addr, int sec_num); |
38 | +M: Halil Pasic <pasic@linux.ibm.com> | 29 | +int virtio_scsi_setup_device(SubChannelId schid); |
39 | +M: Pierre Morel <pmorel@linux.ibm.com> | 30 | |
40 | +S: Supported | 31 | #endif /* VIRTIO_SCSI_H */ |
41 | +F: hw/s390x/ap-device.c | 32 | diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c |
42 | +F: hw/s390x/ap-bridge.c | ||
43 | +F: include/hw/s390x/ap-device.h | ||
44 | +F: include/hw/s390x/ap-bridge.h | ||
45 | +L: qemu-s390x@nongnu.org | ||
46 | + | ||
47 | vhost | ||
48 | M: Michael S. Tsirkin <mst@redhat.com> | ||
49 | S: Supported | ||
50 | diff --git a/hw/s390x/Makefile.objs b/hw/s390x/Makefile.objs | ||
51 | index XXXXXXX..XXXXXXX 100644 | 33 | index XXXXXXX..XXXXXXX 100644 |
52 | --- a/hw/s390x/Makefile.objs | 34 | --- a/pc-bios/s390-ccw/main.c |
53 | +++ b/hw/s390x/Makefile.objs | 35 | +++ b/pc-bios/s390-ccw/main.c |
54 | @@ -XXX,XX +XXX,XX @@ obj-$(CONFIG_TCG) += tod-qemu.o | ||
55 | obj-$(CONFIG_KVM) += s390-skeys-kvm.o | ||
56 | obj-$(CONFIG_KVM) += s390-stattrib-kvm.o | ||
57 | obj-y += s390-ccw.o | ||
58 | +obj-y += ap-device.o | ||
59 | +obj-y += ap-bridge.o | ||
60 | diff --git a/hw/s390x/ap-bridge.c b/hw/s390x/ap-bridge.c | ||
61 | new file mode 100644 | ||
62 | index XXXXXXX..XXXXXXX | ||
63 | --- /dev/null | ||
64 | +++ b/hw/s390x/ap-bridge.c | ||
65 | @@ -XXX,XX +XXX,XX @@ | 36 | @@ -XXX,XX +XXX,XX @@ |
66 | +/* | 37 | #include "s390-ccw.h" |
67 | + * ap bridge | 38 | #include "cio.h" |
68 | + * | 39 | #include "virtio.h" |
69 | + * Copyright 2018 IBM Corp. | 40 | +#include "virtio-scsi.h" |
70 | + * | 41 | #include "dasd-ipl.h" |
71 | + * This work is licensed under the terms of the GNU GPL, version 2 or (at | 42 | |
72 | + * your option) any later version. See the COPYING file in the top-level | 43 | char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE))); |
73 | + * directory. | 44 | @@ -XXX,XX +XXX,XX @@ static int virtio_setup(void) |
74 | + */ | 45 | { |
75 | +#include "qemu/osdep.h" | 46 | VDev *vdev = virtio_get_device(); |
76 | +#include "qapi/error.h" | 47 | QemuIplParameters *early_qipl = (QemuIplParameters *)QIPL_ADDRESS; |
77 | +#include "hw/sysbus.h" | 48 | + int ret; |
78 | +#include "qemu/bitops.h" | 49 | |
79 | +#include "hw/s390x/ap-bridge.h" | 50 | memcpy(&qipl, early_qipl, sizeof(QemuIplParameters)); |
80 | +#include "cpu.h" | 51 | |
81 | + | 52 | @@ -XXX,XX +XXX,XX @@ static int virtio_setup(void) |
82 | +static char *ap_bus_get_dev_path(DeviceState *dev) | 53 | menu_setup(); |
83 | +{ | 54 | } |
84 | + /* at most one */ | 55 | |
85 | + return g_strdup_printf("/1"); | 56 | - if (virtio_get_device_type() == VIRTIO_ID_NET) { |
86 | +} | 57 | + switch (vdev->senseid.cu_model) { |
87 | + | 58 | + case VIRTIO_ID_NET: |
88 | +static void ap_bus_class_init(ObjectClass *oc, void *data) | 59 | sclp_print("Network boot device detected\n"); |
89 | +{ | 60 | vdev->netboot_start_addr = qipl.netboot_start_addr; |
90 | + BusClass *k = BUS_CLASS(oc); | 61 | - } else { |
91 | + | 62 | - int ret = virtio_blk_setup_device(blk_schid); |
92 | + k->get_dev_path = ap_bus_get_dev_path; | 63 | - if (ret) { |
93 | + /* More than one ap device does not make sense */ | 64 | - return ret; |
94 | + k->max_dev = 1; | 65 | - } |
95 | +} | 66 | + return 0; |
96 | + | 67 | + case VIRTIO_ID_BLOCK: |
97 | +static const TypeInfo ap_bus_info = { | 68 | + ret = virtio_blk_setup_device(blk_schid); |
98 | + .name = TYPE_AP_BUS, | 69 | + break; |
99 | + .parent = TYPE_BUS, | 70 | + case VIRTIO_ID_SCSI: |
100 | + .instance_size = 0, | 71 | + ret = virtio_scsi_setup_device(blk_schid); |
101 | + .class_init = ap_bus_class_init, | 72 | + break; |
102 | +}; | 73 | + default: |
103 | + | 74 | + panic("\n! No IPL device available !\n"); |
104 | +void s390_init_ap(void) | ||
105 | +{ | ||
106 | + DeviceState *dev; | ||
107 | + | ||
108 | + /* If no AP instructions then no need for AP bridge */ | ||
109 | + if (!s390_has_feat(S390_FEAT_AP)) { | ||
110 | + return; | ||
111 | + } | 75 | + } |
112 | + | 76 | + |
113 | + /* Create bridge device */ | 77 | + if (!ret) { |
114 | + dev = qdev_create(NULL, TYPE_AP_BRIDGE); | 78 | IPL_assert(virtio_ipl_disk_is_valid(), "No valid IPL device detected"); |
115 | + object_property_add_child(qdev_get_machine(), TYPE_AP_BRIDGE, | 79 | } |
116 | + OBJECT(dev), NULL); | 80 | |
117 | + qdev_init_nofail(dev); | 81 | - return 0; |
82 | + return ret; | ||
83 | } | ||
84 | |||
85 | static void ipl_boot_device(void) | ||
86 | diff --git a/pc-bios/s390-ccw/virtio-blkdev.c b/pc-bios/s390-ccw/virtio-blkdev.c | ||
87 | index XXXXXXX..XXXXXXX 100644 | ||
88 | --- a/pc-bios/s390-ccw/virtio-blkdev.c | ||
89 | +++ b/pc-bios/s390-ccw/virtio-blkdev.c | ||
90 | @@ -XXX,XX +XXX,XX @@ uint64_t virtio_get_blocks(void) | ||
91 | int virtio_blk_setup_device(SubChannelId schid) | ||
92 | { | ||
93 | VDev *vdev = virtio_get_device(); | ||
94 | - int ret = 0; | ||
95 | |||
96 | vdev->schid = schid; | ||
97 | virtio_setup_ccw(vdev); | ||
98 | |||
99 | - switch (vdev->senseid.cu_model) { | ||
100 | - case VIRTIO_ID_BLOCK: | ||
101 | - sclp_print("Using virtio-blk.\n"); | ||
102 | - break; | ||
103 | - case VIRTIO_ID_SCSI: | ||
104 | - IPL_assert(vdev->config.scsi.sense_size == VIRTIO_SCSI_SENSE_SIZE, | ||
105 | - "Config: sense size mismatch"); | ||
106 | - IPL_assert(vdev->config.scsi.cdb_size == VIRTIO_SCSI_CDB_SIZE, | ||
107 | - "Config: CDB size mismatch"); | ||
108 | + sclp_print("Using virtio-blk.\n"); | ||
109 | |||
110 | - sclp_print("Using virtio-scsi.\n"); | ||
111 | - ret = virtio_scsi_setup(vdev); | ||
112 | - break; | ||
113 | - default: | ||
114 | - panic("\n! No IPL device available !\n"); | ||
115 | - } | ||
116 | - | ||
117 | - return ret; | ||
118 | + return 0; | ||
119 | } | ||
120 | diff --git a/pc-bios/s390-ccw/virtio-scsi.c b/pc-bios/s390-ccw/virtio-scsi.c | ||
121 | index XXXXXXX..XXXXXXX 100644 | ||
122 | --- a/pc-bios/s390-ccw/virtio-scsi.c | ||
123 | +++ b/pc-bios/s390-ccw/virtio-scsi.c | ||
124 | @@ -XXX,XX +XXX,XX @@ static void scsi_parse_capacity_report(void *data, | ||
125 | } | ||
126 | } | ||
127 | |||
128 | -int virtio_scsi_setup(VDev *vdev) | ||
129 | +static int virtio_scsi_setup(VDev *vdev) | ||
130 | { | ||
131 | int retry_test_unit_ready = 3; | ||
132 | uint8_t data[256]; | ||
133 | @@ -XXX,XX +XXX,XX @@ int virtio_scsi_setup(VDev *vdev) | ||
134 | |||
135 | return 0; | ||
136 | } | ||
118 | + | 137 | + |
119 | + /* Create bus on bridge device */ | 138 | +int virtio_scsi_setup_device(SubChannelId schid) |
120 | + qbus_create(TYPE_AP_BUS, dev, TYPE_AP_BUS); | 139 | +{ |
121 | + } | 140 | + VDev *vdev = virtio_get_device(); |
122 | + | 141 | + |
123 | +static void ap_bridge_class_init(ObjectClass *oc, void *data) | 142 | + vdev->schid = schid; |
124 | +{ | 143 | + virtio_setup_ccw(vdev); |
125 | + DeviceClass *dc = DEVICE_CLASS(oc); | ||
126 | + | 144 | + |
127 | + set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); | 145 | + IPL_assert(vdev->config.scsi.sense_size == VIRTIO_SCSI_SENSE_SIZE, |
146 | + "Config: sense size mismatch"); | ||
147 | + IPL_assert(vdev->config.scsi.cdb_size == VIRTIO_SCSI_CDB_SIZE, | ||
148 | + "Config: CDB size mismatch"); | ||
149 | + | ||
150 | + sclp_print("Using virtio-scsi.\n"); | ||
151 | + | ||
152 | + return virtio_scsi_setup(vdev); | ||
128 | +} | 153 | +} |
129 | + | ||
130 | +static const TypeInfo ap_bridge_info = { | ||
131 | + .name = TYPE_AP_BRIDGE, | ||
132 | + .parent = TYPE_SYS_BUS_DEVICE, | ||
133 | + .instance_size = 0, | ||
134 | + .class_init = ap_bridge_class_init, | ||
135 | +}; | ||
136 | + | ||
137 | +static void ap_register(void) | ||
138 | +{ | ||
139 | + type_register_static(&ap_bridge_info); | ||
140 | + type_register_static(&ap_bus_info); | ||
141 | +} | ||
142 | + | ||
143 | +type_init(ap_register) | ||
144 | diff --git a/hw/s390x/ap-device.c b/hw/s390x/ap-device.c | ||
145 | new file mode 100644 | ||
146 | index XXXXXXX..XXXXXXX | ||
147 | --- /dev/null | ||
148 | +++ b/hw/s390x/ap-device.c | ||
149 | @@ -XXX,XX +XXX,XX @@ | ||
150 | +/* | ||
151 | + * Adjunct Processor (AP) matrix device | ||
152 | + * | ||
153 | + * Copyright 2018 IBM Corp. | ||
154 | + * | ||
155 | + * This work is licensed under the terms of the GNU GPL, version 2 or (at | ||
156 | + * your option) any later version. See the COPYING file in the top-level | ||
157 | + * directory. | ||
158 | + */ | ||
159 | +#include "qemu/osdep.h" | ||
160 | +#include "qemu/module.h" | ||
161 | +#include "qapi/error.h" | ||
162 | +#include "hw/qdev.h" | ||
163 | +#include "hw/s390x/ap-device.h" | ||
164 | + | ||
165 | +static void ap_class_init(ObjectClass *klass, void *data) | ||
166 | +{ | ||
167 | + DeviceClass *dc = DEVICE_CLASS(klass); | ||
168 | + | ||
169 | + dc->desc = "AP device class"; | ||
170 | + dc->hotpluggable = false; | ||
171 | +} | ||
172 | + | ||
173 | +static const TypeInfo ap_device_info = { | ||
174 | + .name = AP_DEVICE_TYPE, | ||
175 | + .parent = TYPE_DEVICE, | ||
176 | + .instance_size = sizeof(APDevice), | ||
177 | + .class_size = sizeof(DeviceClass), | ||
178 | + .class_init = ap_class_init, | ||
179 | + .abstract = true, | ||
180 | +}; | ||
181 | + | ||
182 | +static void ap_device_register(void) | ||
183 | +{ | ||
184 | + type_register_static(&ap_device_info); | ||
185 | +} | ||
186 | + | ||
187 | +type_init(ap_device_register) | ||
188 | diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c | ||
189 | index XXXXXXX..XXXXXXX 100644 | ||
190 | --- a/hw/s390x/s390-virtio-ccw.c | ||
191 | +++ b/hw/s390x/s390-virtio-ccw.c | ||
192 | @@ -XXX,XX +XXX,XX @@ | ||
193 | #include "ipl.h" | ||
194 | #include "hw/s390x/s390-virtio-ccw.h" | ||
195 | #include "hw/s390x/css-bridge.h" | ||
196 | +#include "hw/s390x/ap-bridge.h" | ||
197 | #include "migration/register.h" | ||
198 | #include "cpu_models.h" | ||
199 | #include "hw/nmi.h" | ||
200 | @@ -XXX,XX +XXX,XX @@ static void ccw_init(MachineState *machine) | ||
201 | /* init the SIGP facility */ | ||
202 | s390_init_sigp(); | ||
203 | |||
204 | + /* create AP bridge and bus(es) */ | ||
205 | + s390_init_ap(); | ||
206 | + | ||
207 | /* get a BUS */ | ||
208 | css_bus = virtual_css_bus_init(); | ||
209 | s390_init_ipl_dev(machine->kernel_filename, machine->kernel_cmdline, | ||
210 | diff --git a/include/hw/s390x/ap-bridge.h b/include/hw/s390x/ap-bridge.h | ||
211 | new file mode 100644 | ||
212 | index XXXXXXX..XXXXXXX | ||
213 | --- /dev/null | ||
214 | +++ b/include/hw/s390x/ap-bridge.h | ||
215 | @@ -XXX,XX +XXX,XX @@ | ||
216 | +/* | ||
217 | + * ap bridge | ||
218 | + * | ||
219 | + * Copyright 2018 IBM Corp. | ||
220 | + * | ||
221 | + * This work is licensed under the terms of the GNU GPL, version 2 or (at | ||
222 | + * your option) any later version. See the COPYING file in the top-level | ||
223 | + * directory. | ||
224 | + */ | ||
225 | + | ||
226 | +#ifndef HW_S390X_AP_BRIDGE_H | ||
227 | +#define HW_S390X_AP_BRIDGE_H | ||
228 | + | ||
229 | +#define TYPE_AP_BRIDGE "ap-bridge" | ||
230 | +#define TYPE_AP_BUS "ap-bus" | ||
231 | + | ||
232 | +void s390_init_ap(void); | ||
233 | + | ||
234 | +#endif | ||
235 | diff --git a/include/hw/s390x/ap-device.h b/include/hw/s390x/ap-device.h | ||
236 | new file mode 100644 | ||
237 | index XXXXXXX..XXXXXXX | ||
238 | --- /dev/null | ||
239 | +++ b/include/hw/s390x/ap-device.h | ||
240 | @@ -XXX,XX +XXX,XX @@ | ||
241 | +/* | ||
242 | + * Adjunct Processor (AP) matrix device interfaces | ||
243 | + * | ||
244 | + * Copyright 2018 IBM Corp. | ||
245 | + * | ||
246 | + * This work is licensed under the terms of the GNU GPL, version 2 or (at | ||
247 | + * your option) any later version. See the COPYING file in the top-level | ||
248 | + * directory. | ||
249 | + */ | ||
250 | +#ifndef HW_S390X_AP_DEVICE_H | ||
251 | +#define HW_S390X_AP_DEVICE_H | ||
252 | + | ||
253 | +#define AP_DEVICE_TYPE "ap-device" | ||
254 | + | ||
255 | +typedef struct APDevice { | ||
256 | + DeviceState parent_obj; | ||
257 | +} APDevice; | ||
258 | + | ||
259 | +#define AP_DEVICE(obj) \ | ||
260 | + OBJECT_CHECK(APDevice, (obj), AP_DEVICE_TYPE) | ||
261 | + | ||
262 | +#endif /* HW_S390X_AP_DEVICE_H */ | ||
263 | -- | 154 | -- |
264 | 2.14.4 | 155 | 2.31.1 |
265 | |||
266 | diff view generated by jsdifflib |
1 | Update to kvm/next commit dd5bd0a65ff6 ("Merge tag 'kvm-s390-next-4.20-1' | 1 | The virtio-blk code uses the block size and geometry fields in the |
---|---|---|---|
2 | of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD") | 2 | config area. According to the virtio-spec, these have to be negotiated |
3 | with the right feature bits during initialization, otherwise they | ||
4 | might not be available. QEMU is so far very forgiving and always | ||
5 | provides them, but we should not rely on this behavior, so let's | ||
6 | better request them properly via the VIRTIO_BLK_F_GEOMETRY and | ||
7 | VIRTIO_BLK_F_BLK_SIZE feature bits. | ||
3 | 8 | ||
4 | Signed-off-by: Cornelia Huck <cohuck@redhat.com> | 9 | Message-Id: <20220704111903.62400-11-thuth@redhat.com> |
10 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
5 | --- | 11 | --- |
6 | include/standard-headers/linux/input.h | 9 +++++---- | 12 | pc-bios/s390-ccw/virtio-blkdev.c | 4 ++++ |
7 | linux-headers/asm-arm/kvm.h | 13 +++++++++++++ | 13 | 1 file changed, 4 insertions(+) |
8 | linux-headers/asm-arm64/kvm.h | 13 +++++++++++++ | ||
9 | linux-headers/asm-s390/kvm.h | 2 ++ | ||
10 | linux-headers/asm-x86/kvm.h | 1 + | ||
11 | linux-headers/linux/kvm.h | 2 ++ | ||
12 | linux-headers/linux/vfio.h | 2 ++ | ||
13 | linux-headers/linux/vhost.h | 2 +- | ||
14 | 8 files changed, 39 insertions(+), 5 deletions(-) | ||
15 | 14 | ||
16 | diff --git a/include/standard-headers/linux/input.h b/include/standard-headers/linux/input.h | 15 | diff --git a/pc-bios/s390-ccw/virtio-blkdev.c b/pc-bios/s390-ccw/virtio-blkdev.c |
17 | index XXXXXXX..XXXXXXX 100644 | 16 | index XXXXXXX..XXXXXXX 100644 |
18 | --- a/include/standard-headers/linux/input.h | 17 | --- a/pc-bios/s390-ccw/virtio-blkdev.c |
19 | +++ b/include/standard-headers/linux/input.h | 18 | +++ b/pc-bios/s390-ccw/virtio-blkdev.c |
20 | @@ -XXX,XX +XXX,XX @@ struct input_mask { | ||
21 | /* | ||
22 | * MT_TOOL types | ||
23 | */ | ||
24 | -#define MT_TOOL_FINGER 0 | ||
25 | -#define MT_TOOL_PEN 1 | ||
26 | -#define MT_TOOL_PALM 2 | ||
27 | -#define MT_TOOL_MAX 2 | ||
28 | +#define MT_TOOL_FINGER 0x00 | ||
29 | +#define MT_TOOL_PEN 0x01 | ||
30 | +#define MT_TOOL_PALM 0x02 | ||
31 | +#define MT_TOOL_DIAL 0x0a | ||
32 | +#define MT_TOOL_MAX 0x0f | ||
33 | |||
34 | /* | ||
35 | * Values describing the status of a force-feedback effect | ||
36 | diff --git a/linux-headers/asm-arm/kvm.h b/linux-headers/asm-arm/kvm.h | ||
37 | index XXXXXXX..XXXXXXX 100644 | ||
38 | --- a/linux-headers/asm-arm/kvm.h | ||
39 | +++ b/linux-headers/asm-arm/kvm.h | ||
40 | @@ -XXX,XX +XXX,XX @@ | 19 | @@ -XXX,XX +XXX,XX @@ |
41 | #define __KVM_HAVE_GUEST_DEBUG | 20 | #include "virtio.h" |
42 | #define __KVM_HAVE_IRQ_LINE | 21 | #include "virtio-scsi.h" |
43 | #define __KVM_HAVE_READONLY_MEM | 22 | |
44 | +#define __KVM_HAVE_VCPU_EVENTS | 23 | +#define VIRTIO_BLK_F_GEOMETRY (1 << 4) |
45 | 24 | +#define VIRTIO_BLK_F_BLK_SIZE (1 << 6) | |
46 | #define KVM_COALESCED_MMIO_PAGE_OFFSET 1 | ||
47 | |||
48 | @@ -XXX,XX +XXX,XX @@ struct kvm_sync_regs { | ||
49 | struct kvm_arch_memory_slot { | ||
50 | }; | ||
51 | |||
52 | +/* for KVM_GET/SET_VCPU_EVENTS */ | ||
53 | +struct kvm_vcpu_events { | ||
54 | + struct { | ||
55 | + __u8 serror_pending; | ||
56 | + __u8 serror_has_esr; | ||
57 | + /* Align it to 8 bytes */ | ||
58 | + __u8 pad[6]; | ||
59 | + __u64 serror_esr; | ||
60 | + } exception; | ||
61 | + __u32 reserved[12]; | ||
62 | +}; | ||
63 | + | 25 | + |
64 | /* If you need to interpret the index values, here is the key: */ | 26 | static int virtio_blk_read_many(VDev *vdev, ulong sector, void *load_addr, |
65 | #define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000 | 27 | int sec_num) |
66 | #define KVM_REG_ARM_COPROC_SHIFT 16 | 28 | { |
67 | diff --git a/linux-headers/asm-arm64/kvm.h b/linux-headers/asm-arm64/kvm.h | 29 | @@ -XXX,XX +XXX,XX @@ int virtio_blk_setup_device(SubChannelId schid) |
68 | index XXXXXXX..XXXXXXX 100644 | 30 | { |
69 | --- a/linux-headers/asm-arm64/kvm.h | 31 | VDev *vdev = virtio_get_device(); |
70 | +++ b/linux-headers/asm-arm64/kvm.h | 32 | |
71 | @@ -XXX,XX +XXX,XX @@ | 33 | + vdev->guest_features[0] = VIRTIO_BLK_F_GEOMETRY | VIRTIO_BLK_F_BLK_SIZE; |
72 | #define __KVM_HAVE_GUEST_DEBUG | 34 | vdev->schid = schid; |
73 | #define __KVM_HAVE_IRQ_LINE | 35 | virtio_setup_ccw(vdev); |
74 | #define __KVM_HAVE_READONLY_MEM | ||
75 | +#define __KVM_HAVE_VCPU_EVENTS | ||
76 | |||
77 | #define KVM_COALESCED_MMIO_PAGE_OFFSET 1 | ||
78 | |||
79 | @@ -XXX,XX +XXX,XX @@ struct kvm_sync_regs { | ||
80 | struct kvm_arch_memory_slot { | ||
81 | }; | ||
82 | |||
83 | +/* for KVM_GET/SET_VCPU_EVENTS */ | ||
84 | +struct kvm_vcpu_events { | ||
85 | + struct { | ||
86 | + __u8 serror_pending; | ||
87 | + __u8 serror_has_esr; | ||
88 | + /* Align it to 8 bytes */ | ||
89 | + __u8 pad[6]; | ||
90 | + __u64 serror_esr; | ||
91 | + } exception; | ||
92 | + __u32 reserved[12]; | ||
93 | +}; | ||
94 | + | ||
95 | /* If you need to interpret the index values, here is the key: */ | ||
96 | #define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000 | ||
97 | #define KVM_REG_ARM_COPROC_SHIFT 16 | ||
98 | diff --git a/linux-headers/asm-s390/kvm.h b/linux-headers/asm-s390/kvm.h | ||
99 | index XXXXXXX..XXXXXXX 100644 | ||
100 | --- a/linux-headers/asm-s390/kvm.h | ||
101 | +++ b/linux-headers/asm-s390/kvm.h | ||
102 | @@ -XXX,XX +XXX,XX @@ struct kvm_s390_vm_cpu_subfunc { | ||
103 | #define KVM_S390_VM_CRYPTO_ENABLE_DEA_KW 1 | ||
104 | #define KVM_S390_VM_CRYPTO_DISABLE_AES_KW 2 | ||
105 | #define KVM_S390_VM_CRYPTO_DISABLE_DEA_KW 3 | ||
106 | +#define KVM_S390_VM_CRYPTO_ENABLE_APIE 4 | ||
107 | +#define KVM_S390_VM_CRYPTO_DISABLE_APIE 5 | ||
108 | |||
109 | /* kvm attributes for migration mode */ | ||
110 | #define KVM_S390_VM_MIGRATION_STOP 0 | ||
111 | diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h | ||
112 | index XXXXXXX..XXXXXXX 100644 | ||
113 | --- a/linux-headers/asm-x86/kvm.h | ||
114 | +++ b/linux-headers/asm-x86/kvm.h | ||
115 | @@ -XXX,XX +XXX,XX @@ struct kvm_sync_regs { | ||
116 | |||
117 | #define KVM_X86_QUIRK_LINT0_REENABLED (1 << 0) | ||
118 | #define KVM_X86_QUIRK_CD_NW_CLEARED (1 << 1) | ||
119 | +#define KVM_X86_QUIRK_LAPIC_MMIO_HOLE (1 << 2) | ||
120 | |||
121 | #define KVM_STATE_NESTED_GUEST_MODE 0x00000001 | ||
122 | #define KVM_STATE_NESTED_RUN_PENDING 0x00000002 | ||
123 | diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h | ||
124 | index XXXXXXX..XXXXXXX 100644 | ||
125 | --- a/linux-headers/linux/kvm.h | ||
126 | +++ b/linux-headers/linux/kvm.h | ||
127 | @@ -XXX,XX +XXX,XX @@ struct kvm_ppc_resize_hpt { | ||
128 | #define KVM_CAP_HYPERV_TLBFLUSH 155 | ||
129 | #define KVM_CAP_S390_HPAGE_1M 156 | ||
130 | #define KVM_CAP_NESTED_STATE 157 | ||
131 | +#define KVM_CAP_ARM_INJECT_SERROR_ESR 158 | ||
132 | +#define KVM_CAP_MSR_PLATFORM_INFO 159 | ||
133 | |||
134 | #ifdef KVM_CAP_IRQ_ROUTING | ||
135 | |||
136 | diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h | ||
137 | index XXXXXXX..XXXXXXX 100644 | ||
138 | --- a/linux-headers/linux/vfio.h | ||
139 | +++ b/linux-headers/linux/vfio.h | ||
140 | @@ -XXX,XX +XXX,XX @@ struct vfio_device_info { | ||
141 | #define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */ | ||
142 | #define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */ | ||
143 | #define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw device */ | ||
144 | +#define VFIO_DEVICE_FLAGS_AP (1 << 5) /* vfio-ap device */ | ||
145 | __u32 num_regions; /* Max region index + 1 */ | ||
146 | __u32 num_irqs; /* Max IRQ index + 1 */ | ||
147 | }; | ||
148 | @@ -XXX,XX +XXX,XX @@ struct vfio_device_info { | ||
149 | #define VFIO_DEVICE_API_PLATFORM_STRING "vfio-platform" | ||
150 | #define VFIO_DEVICE_API_AMBA_STRING "vfio-amba" | ||
151 | #define VFIO_DEVICE_API_CCW_STRING "vfio-ccw" | ||
152 | +#define VFIO_DEVICE_API_AP_STRING "vfio-ap" | ||
153 | |||
154 | /** | ||
155 | * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8, | ||
156 | diff --git a/linux-headers/linux/vhost.h b/linux-headers/linux/vhost.h | ||
157 | index XXXXXXX..XXXXXXX 100644 | ||
158 | --- a/linux-headers/linux/vhost.h | ||
159 | +++ b/linux-headers/linux/vhost.h | ||
160 | @@ -XXX,XX +XXX,XX @@ struct vhost_memory { | ||
161 | #define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1 | ||
162 | |||
163 | #define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64) | ||
164 | -#define VHOST_GET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x26, __u64) | ||
165 | +#define VHOST_GET_BACKEND_FEATURES _IOR(VHOST_VIRTIO, 0x26, __u64) | ||
166 | |||
167 | /* VHOST_NET specific defines */ | ||
168 | 36 | ||
169 | -- | 37 | -- |
170 | 2.14.4 | 38 | 2.31.1 |
171 | |||
172 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | All the other protytpes in the headers here do not use the "extern" | ||
2 | keyword, so let's unify this by removing the "extern" from the misfits, | ||
3 | too. | ||
1 | 4 | ||
5 | Message-Id: <20220704111903.62400-12-thuth@redhat.com> | ||
6 | Reviewed-by: Cornelia Huck <cohuck@redhat.com> | ||
7 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
8 | --- | ||
9 | pc-bios/s390-ccw/virtio.h | 12 ++++++------ | ||
10 | 1 file changed, 6 insertions(+), 6 deletions(-) | ||
11 | |||
12 | diff --git a/pc-bios/s390-ccw/virtio.h b/pc-bios/s390-ccw/virtio.h | ||
13 | index XXXXXXX..XXXXXXX 100644 | ||
14 | --- a/pc-bios/s390-ccw/virtio.h | ||
15 | +++ b/pc-bios/s390-ccw/virtio.h | ||
16 | @@ -XXX,XX +XXX,XX @@ VirtioGDN virtio_guessed_disk_nature(void); | ||
17 | void virtio_assume_eckd(void); | ||
18 | void virtio_assume_iso9660(void); | ||
19 | |||
20 | -extern bool virtio_ipl_disk_is_valid(void); | ||
21 | -extern int virtio_get_block_size(void); | ||
22 | -extern uint8_t virtio_get_heads(void); | ||
23 | -extern uint8_t virtio_get_sectors(void); | ||
24 | -extern uint64_t virtio_get_blocks(void); | ||
25 | -extern int virtio_read_many(ulong sector, void *load_addr, int sec_num); | ||
26 | +bool virtio_ipl_disk_is_valid(void); | ||
27 | +int virtio_get_block_size(void); | ||
28 | +uint8_t virtio_get_heads(void); | ||
29 | +uint8_t virtio_get_sectors(void); | ||
30 | +uint64_t virtio_get_blocks(void); | ||
31 | +int virtio_read_many(ulong sector, void *load_addr, int sec_num); | ||
32 | |||
33 | #define VIRTIO_SECTOR_SIZE 512 | ||
34 | #define VIRTIO_ISO_BLOCK_SIZE 2048 | ||
35 | -- | ||
36 | 2.31.1 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | When compiling the s390-ccw bios with Clang (v14.0), there is currently | ||
2 | an unuseful warning like this: | ||
1 | 3 | ||
4 | CC pc-bios/s390-ccw/ipv6.o | ||
5 | ../../roms/SLOF/lib/libnet/ipv6.c:447:18: warning: variable length array | ||
6 | folded to constant array as an extension [-Wgnu-folding-constant] | ||
7 | unsigned short raw[ip6size]; | ||
8 | ^ | ||
9 | |||
10 | SLOF is currently GCC-only and cannot be compiled with Clang yet, so | ||
11 | it is expected that such extensions sneak in there - and as long as | ||
12 | we don't want to compile the code with a compiler that is neither GCC | ||
13 | or Clang, it is also not necessary to avoid such extensions. | ||
14 | |||
15 | Thus these GNU-extension related warnings are completely useless in | ||
16 | the s390-ccw bios, especially in the code that is coming from SLOF, | ||
17 | so we should simply disable the related warnings here now. | ||
18 | |||
19 | Message-Id: <20220704111903.62400-13-thuth@redhat.com> | ||
20 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
21 | --- | ||
22 | pc-bios/s390-ccw/netboot.mak | 7 +++++-- | ||
23 | 1 file changed, 5 insertions(+), 2 deletions(-) | ||
24 | |||
25 | diff --git a/pc-bios/s390-ccw/netboot.mak b/pc-bios/s390-ccw/netboot.mak | ||
26 | index XXXXXXX..XXXXXXX 100644 | ||
27 | --- a/pc-bios/s390-ccw/netboot.mak | ||
28 | +++ b/pc-bios/s390-ccw/netboot.mak | ||
29 | @@ -XXX,XX +XXX,XX @@ s390-netboot.elf: $(NETOBJS) libnet.a libc.a | ||
30 | s390-netboot.img: s390-netboot.elf | ||
31 | $(call quiet-command,$(STRIP) --strip-unneeded $< -o $@,"STRIP","$(TARGET_DIR)$@") | ||
32 | |||
33 | +# SLOF is GCC-only, so ignore warnings about GNU extensions with Clang here | ||
34 | +NO_GNU_WARN := $(call cc-option,-Werror $(QEMU_CFLAGS),-Wno-gnu) | ||
35 | + | ||
36 | # libc files: | ||
37 | |||
38 | -LIBC_CFLAGS = $(QEMU_CFLAGS) $(CFLAGS) $(LIBC_INC) $(LIBNET_INC) \ | ||
39 | +LIBC_CFLAGS = $(QEMU_CFLAGS) $(CFLAGS) $(NO_GNU_WARN) $(LIBC_INC) $(LIBNET_INC) \ | ||
40 | -MMD -MP -MT $@ -MF $(@:%.o=%.d) | ||
41 | |||
42 | CTYPE_OBJS = isdigit.o isxdigit.o toupper.o | ||
43 | @@ -XXX,XX +XXX,XX @@ libc.a: $(LIBCOBJS) | ||
44 | |||
45 | LIBNETOBJS := args.o dhcp.o dns.o icmpv6.o ipv6.o tcp.o udp.o bootp.o \ | ||
46 | dhcpv6.o ethernet.o ipv4.o ndp.o tftp.o pxelinux.o | ||
47 | -LIBNETCFLAGS = $(QEMU_CFLAGS) $(CFLAGS) $(LIBC_INC) $(LIBNET_INC) \ | ||
48 | +LIBNETCFLAGS = $(QEMU_CFLAGS) $(CFLAGS) $(NO_GNU_WARN) $(LIBC_INC) $(LIBNET_INC) \ | ||
49 | -DDHCPARCH=0x1F -MMD -MP -MT $@ -MF $(@:%.o=%.d) | ||
50 | |||
51 | %.o : $(SLOF_DIR)/lib/libnet/%.c | ||
52 | -- | ||
53 | 2.31.1 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | The binaries have been recompiled with the fixes from the previous patches. | ||
1 | 2 | ||
3 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
4 | --- | ||
5 | pc-bios/s390-ccw.img | Bin 50936 -> 42608 bytes | ||
6 | pc-bios/s390-netboot.img | Bin 79688 -> 67232 bytes | ||
7 | 2 files changed, 0 insertions(+), 0 deletions(-) | ||
8 | |||
9 | diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img | ||
10 | index XXXXXXX..XXXXXXX 100644 | ||
11 | GIT binary patch | ||
12 | literal 42608 | ||
13 | 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 | ||
380 | NjDl;rRhaO^{{!#4+l>GK | ||
381 | |||
382 | literal 50936 | ||
383 | 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 | ||
825 | E03u^A*Z=?k | ||
826 | |||
827 | diff --git a/pc-bios/s390-netboot.img b/pc-bios/s390-netboot.img | ||
828 | index XXXXXXX..XXXXXXX 100644 | ||
829 | GIT binary patch | ||
830 | literal 67232 | ||
831 | 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 | ||
1435 | Hl_&lWsQ8x_ | ||
1436 | |||
1437 | literal 79688 | ||
1438 | zcmeFadt6lI_6PjzVSqsa2SOYHaigesK}WpdeFmx2tj5ej)4~MPGDStZ8BtNGSs{sa | ||
1439 | zx=y8ym7T~gN2`<ja5x?7bQ#IYV^-Qo$8(rY193{t*zb3(z4tH!Xy^QTegApm^I`A( | ||
1440 | ztmn3#^{i(-Ypv%px1BrVJd;Th!M_NRjBf@+mj|H^{*p#m`0Wt6B1Skwg0LbSg?}@{ | ||
1441 | z1z_4=ySH>)0~>Ea<wW3L&u7Zj;@iJPHw_+q6JGRh)Tc+ce?<l~i18*gIbWm(=ddu^ | ||
1442 | zXS{`!x|idPH#d*-Q5#Xh&;oiz-yZ%(Qw|ec^!<yLU(06##K^afqLDA`jRG}9f^Vh^ | ||
1443 | zwauW*RLUoWsoh&-YVhFOTvXaH6R>C<{@=c=$ae`6YxSMBebRQVK;tc>VM~`>J#1;w | ||
1444 | z=#fKLEgw3ZW2uZJ{70OB(QNV514loI-2B;%`KR9f&(=Yo{QSbXH+-X&!B6UY`m<;+ | ||
1445 | zolXWGXs{0drI*oOqddKTIUB*K9O9R#O=e+oq$QN&oBjwM{q5&h=iIA&7xl%_VTW^f | ||
1446 | zkKDiZ;rrwMu<Nr2ImH<sD7gLjpww~b%+BCR2|~nEg6N8-hv|(!YIhpoaTJKYeYie8 | ||
1447 | zgp6QTF#Vm+=>5*+=Cr}fk&OOK6?jN(<>c5HEKts>(xT#(E3YbAP`W@|wW@T%%2Kha | ||
1448 | zcv;a^OG+qe`RY<FYDvjxiY+Y`OG=hrt>rfO8=+W&MBjeSwc2}VA-(Zuz^79H=@-)* | ||
1449 | ze+E340)Us$8-E784+Q|fk>2<-;5-fhFK1{QoP*J~5331>TOOh?;JezvZ`a{UI6P^R | ||
1450 | z4&NINPklv)d&A)x9Z~*)FnGBZ0{n0oT<=%FkA=bYeg!-b2G{!)@Z;g|at=n{ZnuQN | ||
1451 | z?>KD0ZDH`+3w8ML@Omr0zmX!MZ_f!Yr{ep)oZ+{}Zxr~A0>4q<Hwyelf!`?b8wGx& | ||
1452 | z!2fS4pag`Z2t^j+cRdxmNW8hr?ye$dw@HlfREVCQ@v7Q51=dO|Ao;t^A`#G-&r~Zc | ||
1453 | zT&Fcbc+OXUqP!w5-!5}0;<EZ~l2;a<mj0K1hE!IekZym$&Yf1kglH5{h5KzW1)}(C | ||
1454 | z7{?CsS*2YflfTcakCtlmT)C91aS`WG17`lxa-<-~aXrUy<Ot|FdUFo0WAo2O9nq~? | ||
1455 | z8JmSsMszDIK&c#v8GjM&!hjp`{EpWDJQk5w2dneRMTG5>3mfvSU4+>sTVq{zt5t~+ | ||
1456 | zH;TxevXFN65%M}&q$w?`s;)C~M@I+qpU3&9X!#qaT4ROdG`W|w<&KVSd@?XqWO{y5 | ||
1457 | z3q6BW)$?~%_4g4UO1Jr^ifXaeCoXPPSNN<Kt9Z&6|E#X?{9Ope1x({T$3&cGx1e6I | ||
1458 | z=J{RmzQ^qmVvVy#F*&_nbKWDac>jgsrt%`EyGE-0y%61g^kj-#kxGco{w*T5OIcnc | ||
1459 | z=Mu=J)R<6C6gc8N{J+4tdx?3JTWQN(fZS3rw^pa5)v4!x1G#r_?l>{NUELFr+Z4>L | ||
1460 | z)onUW-Pt0&UEP`7zRmuJ)qA^?p%$*m)1uz%c^5PQRe(Vf;D5vaetgG+3KHI3@HP<~ | ||
1461 | z-)4MA*kV0hL_GER6HBSjo>)>PtR~NUBFdpyE!2N00zJ2;UB5S|YU@UnlZ_rbCd|>T | ||
1462 | zS}!)f6mW^mY8dFAvB04Mb@vpKCq_s}o44B{oYlfX@LqUJ`rCx}n+QiZtyZ(ANcH<1 | ||
1463 | zy{Vr?Z}c<rCHbRZNv{RQFM3kJ6)4Sb5gtIMX}$kMH}G8?QXb)2(ek`F^kt1q9ANjF | ||
1464 | z^4@U8J7wAIX;e=+9S*bqPhwqpQ7x?IZa;tv?(oqd-|VchOa6D56C#kCU~8OSyTJ*c | ||
1465 | zqx@I${suleCJM#c+AsCob5Ret0I_x3{w5@++bj8B=TbBrh$DaluqS>RhyND|AK-9a | ||
1466 | z2o4UE0&dVtF*)79MJt7Hp}0_74kFz%dMPO=#lR(r+ia8)!MN;FZ($DMn!zErAn!zA | ||
1467 | z6Afxh{wVb-vDOx0@WA8O5)V9n4fDV_@PPgFJivWzCJFHKJ;oSr+!H9!#;>BFoGA@c | ||
1468 | z6_XHncHw6to->pbJoA-w@Q1}Ji1QvF1`dOSf@Fz>WT{zKBhr9ny#g-#dCs;!sIC58 | ||
1469 | z;yhEC&#Kr&C3VbgWj=}eCr@|<pgl!pFf1XQ5)w8coEj32KsYTVY(}_ONH`MV^pJ2A | ||
1470 | z!o5Sn(P-mwgX7!U3w-~~9Ce&9_v8z+=iP3{jTS!kwo)U+V{cZ88WY-j1COSzXsdOd | ||
1471 | z6;c%KJk{XeD`r5(Sw8~T`(r2V5wmMSBN2fSBv9T!|B#V?6tgLWnM^!Zje0Khx$NCQ | ||
1472 | z1(!qM%gSF8z7qJ$gs(*Y;*sUF+s(}V8R|EMMHoTd#afKWeMHa4mf<VIXO*cmt5=Y; | ||
1473 | zz=)AN(dv&rQDYI+o-XQ%-AO_YZ9U|D&j8PhTQ9<>6x0V&Ciu$YPgZ{tYn2!{O^4UP | ||
1474 | z%e{3H@zvJxkS9^XwDT%qMcc(XcnLl59nyDgObHs>Fgpo+0C;brO>Iwt`K8H|GcMZ= | ||
1475 | zzy0nAAsdoL<2cL|S++!{9N6lysOrv<GM7c=Zi^S?mx;i37yftVw81?;i34qAG=3K- | ||
1476 | zA%1NwP-2c^7(1<j?TrZne29E*f3oN+))LH#P@|pU*1%T(XwgHg^*iLZ&>tk{=0MA6 | ||
1477 | z0IGxi{Y9E6^T~nd#HPmYnr*}<MBlO_%*(6z`y>9op1#ZXQNA8OGJG?CHyLAz-i^xx | ||
1478 | zcEaye4SM_4&#np_2pnjb(Uc3S6lZPkF<ZG_<f+0{*fhaa)8z19(&I(xHe0>V9@s82 | ||
1479 | zYxf9MJr2%^^cVElA<ArVpo`6imWa$cc-kIx`K*B&d~e71d7iyOI4hfSoh5+-kPeBq | ||
1480 | zUOPvX1gVMnK+@_p>hi2pRiqhFNomU0m5Vf+1w5kq&FWFpZT@wlQj~#TEL?}VzI&4k | ||
1481 | zx{g&$fUac`DfOc1QmgP=C+xAz*2A;4aI6u&Obc6$@a0-K$p{x{VVe=2qlMFq@LVk{ | ||
1482 | z8{sPuwoTZRX@uu#;VdIOUkeX0!dGfxyAi%h3y(Cyg<3e*2rtmW6O8cHT38t2h0x*9 | ||
1483 | z<F_`0x{nYC{1h3aG1Ct;d*U~mQ6F`n*+Qn*ey7~z;;)ZDD~l-euWNlxE%US_4*^#n | ||
1484 | z5u3qlhs7Fb3y9mjS!DRLgdAJuNf0JasfhL0ie9ENr7Om%$&=suF#4f8VCR_1oQ}XQ | ||
1485 | zeH_cSY#N2hlRPc0_joX1JT2XSrhZ%dG1pw>?=@-9u-U#!j2z<X+)AN*Xvd%O0X=<6 | ||
1486 | z(*)@4yXhMvGQT0eX{y~`WpA3UbNK}t7p#4aOS=v&%H^*`T3K5Dwwyd#&3<d<o*-XM | ||
1487 | z2VY^_1ZiZHxQWZj3zj&seTn{F6ZQnTcPdIjILN)zv~XB0i0@E~))U==wRCA;3n;T) | ||
1488 | znEgG6gxA%xU0n!=)rD|}x^k#RC;x8Lb#gyT$*~Om5Pf|}B>P}XVWv${k7IsF@Rd`D | ||
1489 | zduukQdK0sy$(hmQY81m%bvE?OWY$e9gpHv1CLPp@w@KGM8=+ygf-@|vX_Af%ElC+F | ||
1490 | z<4?&xZ}qZ;O3YGuoN!4^h3K1uqS}XY(Bnf(mn>hVWXn@ZS9&DO#u-hd2bGG!9!VB> | ||
1491 | zU+0lvA(o0Kt3{Iwb$-?Xv++7+?}uPEsuRrK(o5*wp@cqq37H`!q;*n466p|Vqg8L? | ||
1492 | zgVaWZA86O+D`u4{*;rYdueH&WB}5+D#Vx8(e|K6uQgl4hLhwlH1dmu9kM^{_V(J1V | ||
1493 | zdui!>q9SO^l&esS&r*Hy@)c8-DsjaNR?hcHT%QH)l$r{-z9Kc7v9xr7z0%|YFR}zW | ||
1494 | zalewzJkiU!uyl#e6C%hHR_2NHHA_lwQhI4TVS%2i^Tc?MWF}r%>yb?K{-Z~d=zY>7 | ||
1495 | ziE>Y=gm~e=8}UNM`;S`7rIQ_ce1t}6>AMh0XLqEu^i_wP>3Sc@AvtXwa~eD%y{++x | ||
1496 | z^hSFgxujUhUbXuAVy&-~q1motjDw;j%dP>0#z5A5;mBwz<Th8R>&{Xy4wVgV%{DLr | ||
1497 | zB1K9z5F!3$OqhRx38-G7o`3c*(fBvpWncnCmMGak#E=Wr-xX??vxfmVIvX7QU(f;^ | ||
1498 | zSJC?JS;S;9WXQ5*LH<~p?Odp2mo8aDkTCuL&sVgbMgGVKr><GDFo+2dfqVlZ9ry#I | ||
1499 | zuA=p9@dxD1tkp`~s*>Vmn!HhBii(ToV@4@}7enMpP4l=nidwsLCV76Gsl>D7iJOIe | ||
1500 | z4L-~!B2$}*l=RiB<S9z8(v?ePUDim#3Js)i97&fEkR}$qF%x0NEEU`FCcWq=-V&rt | ||
1501 | zhQ<TZ)g5GoA!RNPkrkaune#j3{9mO^e_hJ-X)k4*#Lu0~L}<}jor$JFmX#K-ygoRR | ||
1502 | zi<V$+DlKjs$)IJ0s`Xff=r||;>bcOh5<GhSf|VKuo~)bZLz))obMaj6!wOYCd*gQ& | ||
1503 | zM$N+I%ZhXg3|z4CrunWm4CXQSRJ8ie5(YF{N|m?;rK?xzqa~ham^hwcFlI2rSTMst | ||
1504 | zAJa$8)18f)|GaL@*ZIY3Fki1C9Zs9CVKHE|kPer=uvngj@q@~=@#8ncSy_e_Vm7AP | ||
1505 | znr371C%ml~FDAS(o}|%uV?0SW;EnMly^1%DrzVXerkoC=LLX120cRdhrXC$~{;%Wd | ||
1506 | z2Yoy>cNkBQe5J+9N{wEH^4h*vA&t-aY)!qY>(AL2E~nXg(URc2u#z~vQ0MfkK~+d) | ||
1507 | zb;?=dGw2UfK$DeAvu7I^En8BWtz@6Otf=GsU<D?ovxiCEYUorqwdubk<yt>Hd-Y8T | ||
1508 | zpQ8sZMXR+jUPOH`Pw#^(nbRv;?>l>#w40*`68SYuSc@cSgVlmoSZ-`ZodtP28xkKK | ||
1509 | zKgAdsi;EXt*A4^NjIHOKB@7_%fI%EEIM<MOH!dtLQR2wH1f+w!`?<a|dH4M!Lra*l | ||
1510 | zc)>DFOHg8<AB@wb-Vw1zNncjHR91Si9>KOrm1rsolX>^^s4Ep-yh-LI;7u}b7TzTD | ||
1511 | zeup>7ysz+v%ro`VsA5{wL2?-~?}}fLc^7oZ`9I1$(;!XenfkYvc{GzQzh>nEV|-tq | ||
1512 | zt&jL=fPk*b&}EqFAp=&IkX$STWS}k=7waQnDcVVLam`ukeMlkFI2JBnsn7Sy(Bg$8 | ||
1513 | zg=Q2R_LMTPbn$!vj)Wb<5^?0&!=)37K~i8qbSe>Bzdy^Elol^E`cCt<WKUVF&lbu+ | ||
1514 | zAZ1X6q~*(J50`e*a_G|Re9{RQu*@Jn8mP+*%v~(CiqKQg5?inP{}Lyiw@Hqj4kwbN | ||
1515 | z`iMOnnyaomFEaXU!NOv2G8|+}b)1G$|AE`lbAVvHu@tHJ`Kz-;C&*UxUEG2t%a$0j | ||
1516 | zb=fu9Q<OOBuTEv_6P?M{Kqc%g@;xes4_FaOI(dARUi5_S2p=%kI?{q`9r>EiHn`Ss | ||
1517 | zt`-iiHJqn~gKG`vYvC|&EquOV-dcpiJgA-cgjak`UeG|U;Xw_IAaAWA8f_u#FcVN0 | ||
1518 | zeD1+@n2B0AxDGQ(3kTO>CTro~I*daL2iIYoS~$&E_sG-2vJsx5g@fxbL>tr}MjM2~ | ||
1519 | zXoGMVZ4eHl4Z>lxK{$*y2)Fkxub4x$`R;jxHs5X2X_MNHHmU7sgK!va5Duda!eO*Q | ||
1520 | zIE*$3htUS%Fxns-MjM2~XoGMVZ4eHl4Z>lxK{$*y2#3)I;r6sC;g$FA(t@<<L92cK | ||
1521 | zhecOdLr;vYg#S9q^F&6przmE*v%}g+jN9KoW}zr+xHM3YwQ8)Ll+<~)ib($2K~(?u | ||
1522 | zcO7Q=|C?Xl@PrgEGpxg*#qyNp@U;~!Db=k!scA9B>n>P%`Yew*oqYLA7m$Y%QU@AO | ||
1523 | zub`DThiBDN@eJP3c*H;PCXHt(-lXx6_k^rFkEcayJWFzlY?15XL(RU#@Kp`G7HU8{ | ||
1524 | zEtK?-7tS6Ay7VTh@%jdgMffn6FU!8fpkwih)qt#o?@FVit|Ki5g~(D{aQ1Lx`zZV3 | ||
1525 | z)dp^**)Gh$E8%T7aO-4dA)77r?BR6o3MG5>l9D!0(K6E8Fu{?|LRx#)b?xn0(o;S? | ||
1526 | zdl-diCDen4Rs!Eq(3T>t<See^T)c+7b}RLM@?<S*@4KSax2b1|0+{W=!*L6jUteO( | ||
1527 | z_DhRPi<P+S{N>kcv%L}nU4T5Vg}Udp2$EtqR*=miBPbDynV(C=3wV=6IEFV#gnoFF | ||
1528 | zM7S1jvVka`BtyW{VzQs5HbFADpfRny9yVRuxCEb_yK?1ngU>qnO-NE0>yBr^VkSwk | ||
1529 | zX2H@W21Z5Mm%@r#u<$xsePG@5yz5KJyJYxsNFOE%G3V@2>0IDcl)c>0JqKn_xoK%T | ||
1530 | z`APBstD|Sjk8p7b@jg8CdOs~+nSCL=Iw5O7?A1A2x-K~7BFuxBLV`Ba@|8v4l=GIa | ||
1531 | zCf;F*#NHjFSIEOg^5BuPN0aj~Uo0(dTNhio9OE&2VQDdWml-3LOk~-TZE_a*<8tz< | ||
1532 | zmlg-t$EGb?4BV~;$iSonZAez-pC#Imth!!_D_M!&l6bz2U$P3;QXJf0WUJ69ilOyG | ||
1533 | zec!<wETcvSWz_9FqDrx=SM$?Yxi3qlOEi3?2RrCnWAv5dbs_$k;T_k1r5p7Y59m<B | ||
1534 | zf4|#+_UyJuvvgnd#cWe`++lGAtt79=o)(mBi<exDJ}J$<oO~fHN6<a(<p{~PJI_+D | ||
1535 | zU<{EixsrNCAH}5$uBMeJSo}IpL&@$}ve|;vY*=k}HMF3yXAd_TO)FQG26>p~06?;5 | ||
1536 | z1ZRS4+G`w;d95vH4<nMgYc$%h&IsDLfKl<PpqFMDc6I2!E0Q%k&k`<Y8c(##gJg}i | ||
1537 | z)@rO8tzfQfx69+$qtFN5#NOW;!_u!2%9m{Ef5Dc%mv?);OW!WV*zE<&-yF33PqSO= | ||
1538 | z+Kb2zIu_jjb!-u8dP`K24O%07T<-r^BJY+u7To`JY$8hh<F6_)nQ`oCSb@iqP~zLa | ||
1539 | zro<&Dsl<N-j1vFRh!XewsuI8C68{=3u@)sN+RnV1@cpLb=YWqS%+G;vm@SWRm@SWR | ||
1540 | zm@SWRm@SWRm@SWRm@SWRm@SWRm@SWRm@SWRm@SWRm@SWRm@SWRm@SWRds}|VT&B?I | ||
1541 | zAccm5LVJIs5OyHzJ0}-^N)-BLn?a#(+@R3DU&ED)-{2D021~pFCDw~g?MF8xMQl(~ | ||
1542 | z(2mUiL;o)3eV^Z)7p%*Py7vDn>{m1Py@Dmup7Bq9Rf+6tYiKb_Z1@f(e)_9QoJcq} | ||
1543 | z{4H4GJ1Ft9UsYlTm-uwB#K*CFJ*#o~_vJ$0!@o%76r0G8wdg18m+Z=4EeySzzgfOD | ||
1544 | zl+*X(qkJNuOXzNX?C00d8>oex>pFV+j<lsQ&Xcryv2O>{NTXTcEP}(;Wb#Kzx8p2= | ||
1545 | zXu=sog1H<`X25R1>79B-61A$pDqpO~q!d`=OF}zhJ-f6$`h5C<Pu1AE(jI-!UU>6N | ||
1546 | zB3`-;Cnwyr3q9m~M2mDjPTM>t%IJ*1EtBdnPu?;Hv>069J>bS3{zTnBYONQ6t>D>2 | ||
1547 | zU8Yian-*r7O5ta<Fw0a5d$cgiR0?m`!YorM{G1kMnM&d3wJ^(63cr9b{FN+IDZE1q | ||
1548 | zvrMJ%i&~gvDusWqg;}Oj_$4jOGL^#EJxt}XOr`M4T9{=jg>gQU;#sCr_!VvU_983w | ||
1549 | z+tH0gJ^s4KM(62X;NDCLqp7k^5o!Lt;!%yBH*X<&-uwXQIRw%mC7hm3>8LM+o=v^A | ||
1550 | zutCozSqmHVY|7BW20felXkmk%O?|bnLC>a4Eo{)UsUN~=ZS-vFuZ0bIHVx3i20fdy | ||
1551 | zw6H<Xrh!`6pl8z{Eo{)UX|NVH=-D(x3mf!o%GT&vyoxDz6g->4UtfWmW;&5VbZXqw | ||
1552 | zw9XiV#XRnPAJGUa9?WUqrSEI7Yab^PXVLe~mbUXf3O0n_EPS$cgs3Da&I<{gqH%-k | ||
1553 | z>C})rl=J--^`t1P1{b!SN2-nuY+rYV(@375B+*t|bTm%sT;j9KxgyEuknO_kljSUt | ||
1554 | z4Bax~&df;BXcCh}tb!A7I1ibO^HQ?QE;5lPc&e%KqX4ag&6H@zUJ}k@;RI2Ekj*}? | ||
1555 | z)g-F7eS|#J#E1O;-fv5@9r0GP53!sQT4&>7h>SQNR%~cbU<e$Th&b02t0fd_8>NgF | ||
1556 | zqE&5lP^@F5H8wQ1k@GkrtnnS8(4D2}h@sd<3H4m-nF-$)pujpt!+JVSkvj0tEef6w | ||
1557 | zW%^iU8I(bssGcKai>FBR^x0iZGtdJxbA`}MqtTs0<den@s)1HMD-IKxUBYE)nBl?^ | ||
1558 | zvxXT~#A#5RFvG1&go~E8O}5fk@O*K>&d7ip=cL>?FAzT^^~*byxX)f6`T6d<al-8q | ||
1559 | zk&a$EEX0jIpX;y;Kg|KuF%JOYsl$mc@Fkx#evWt1r~3w15;m!o7T4#M=7t$E;gU)) | ||
1560 | z9T%IBQvT$0yQOz_pv>LQni>bzL;CqD4_naM)Jmd;m8pR;aQ^l0zVVerjSDJ?8iOlC | ||
1561 | zsWBL^Or{2;Gfs1ULf<&G+6U_`1;ACn9^Qe`6GQMI<e9eCatjlwh5qj9LyltZH5zR? | ||
1562 | zbwQy3jW&&L#`&|>1K?y}+c-i*i8$vuve`LH#+gIdMVZcLWE)Pr;lvr!Gt>F8Y$Z<R | ||
1563 | z63t==;&ySI0?sD8zl)GINlFC#DI^D##`lT;3LbOB`qnxG_<f_p0zN79FBvmNT;^XS | ||
1564 | zvT&NmEC%@s-H7$M3c)u8hpocrM!9C#W{NN){xuF~ayXMQGyB{w8Y^>YtRThHj)p?y | ||
1565 | z$LL7%9rmKE#@SS}Z}njsFCE~nyAE4Ip|;)1n>=1Pm*cg=v7xbzukk3l;&6Nzl+${4 | ||
1566 | zVZ6L{I39U0UQqwFo=rF@{JtaBQ>xzVb5XlI$B^c*%jCd6`gJ*aY%k~uO}ztu)-!)9 | ||
1567 | zLfr76&kJ#2LHXcM05tyGj`#2IzaIZBBHcHzg!r>(iN&?M#Nf}K1PkHMr<~>G(mNYb | ||
1568 | z<`QRRrN*Bn3h`&p5*bg8KT!tr=hzbB&uJyZp94!m`Ewv(9r^QFU=02QuI>0!hY)}2 | ||
1569 | ztqtMNUc{d`=d&HPKvsh@60KQ~-g^UkA-nf>D!ccE$!_nuGsy17<?sUpIX#@;)m-pP | ||
1570 | zeSs_wsWJ!Nrdedo7q|ssh-a)S_@rw@0@{fawHE(qKIs}yr$?cKVieHH=QZ!(#OQYD | ||
1571 | z_t4Zly>YVAs@PrDzz$E5bi`*@hKo)5=}|s83LP-s-`|ud%BBis`0i>@DLyyHQ)G(a | ||
1572 | znqiM%{@QG_;+&J}PZCi$Ul}F+WGQQyu`i#bpEpa0ZD}I}*C|t-OtnmZf9ZLgD7Jf1 | ||
1573 | zUxDl$5?<%m`+Zg~%B6AYw}~E78J@A0GJmpkz*Oe3i43gh(Yc^_e3QS#gm47HQ3yxj | ||
1574 | z+vK$Gv%6$3^i8jITWlY_{Vsc8M;j&%Yv6g{vFHqVR3d(xD05;wQ$9Lx>v<S7xC#I3 | ||
1575 | zgw$9_ErK*x@c(kd42*h_R~dLqiBA+FQlq)c9oXStB#j8Ig-+$77iW-W@b#6bV;D~6 | ||
1576 | z(n@f8V-H~xahFQ_9&_QJVc0L1(7rU>InYKsy|fFsv@s~{9C%+J0ex=5|Lyn(t6?<n | ||
1577 | zY?uehLgVnSXp4fjDAbNdcW4`UWG+T3j8ZU*xbLOips3aow6Df09F>7r8}b9M3;NoM | ||
1578 | zuV;}mJ_m9FsUSyD_EwxwuJb=Dc6Wj$xB19XoJRheD65wOuLqt*U(;w7fmd;6jij~N | ||
1579 | zWwGWW{JN;dm+)m-t)w*|yh)q;oe_}m7AyMR=O8G{)TG9IA>pnCi*Pt29TDf8i$2NU | ||
1580 | zT`nBHsa9F@syQfM7V<&9$R^B%S%{%;Xg$Gig5PL0qwE{47)cs-1;RT7xMV5u=Llg9 | ||
1581 | zwsgDR()><Z%KdR<Ia;~^98_5;)h-dDT=*){3wFpfhbLckDe=RpZXTWJk++G<8hM=1 | ||
1582 | zm_%Nj=5Fih@KJKasg;eH@VL+|!K>KL`*Nd#CS7$5BVq`DeMh|U<?ZynU^1W?422yC | ||
1583 | z=o*IR0h-LvzcchYhMo&3+mcs($k0ND@;S3F=koX4Y)d}IIp5+m7twd&KQL4Lo4+(` | ||
1584 | z^IlHDcF30#8U77Ye8Et*RKCoi?*&5ut!I76uty6>(v)8JU&%N(WE`cw6m-;2#d{`0 | ||
1585 | z#@VfQjQy?9=W={@YX=#3_%W6={b{!a=O5WH+d7=&oJhp{0!idg6mga^q>|PPoR*ZN | ||
1586 | zDEfv@*`}R**95-O&eUHuhA8m`>;G5v<L^In>jp5jBE#Cp_VyRAP^v=%HCfN`!TTy8 | ||
1587 | zDQYS9#1VY$^m$3!X_%4mn2-s2>W5A8%TGdMnc%d)Y{$JLbeG2vs^{V+=z|W=z{uki | ||
1588 | zy0j0@9H-)51+&QUOp81YsX@1`uyt}W$@7l-tr0r$t!E(Qf_|3-;e93F3-HAP`Yv40 | ||
1589 | z?YV-=lq?*pFys=BoyXr8<wA%PZLNWR%lEIq%5kBd{rKk=pSZ#2ruH}$w*xchvwYTh | ||
1590 | zn&?9LFP`JH1A>q);m|5j;cd?xNg)3a{Ex@~g$#X#AoO)I9it*zl(8n-qW(}IyBBkc | ||
1591 | zOVEDo5@IZ2s|hi`r{{pGLeI-?e5ncY%g`(}tPTBAEkwz$;{VTFN^gz+kP46-b$x_% | ||
1592 | z0VFqR$TTnbWwEAw4P=Gb_7W@tvzU(mOLjjb9JWk<POrBjW_uo1f0+9qZlQQoq$oV{ | ||
1593 | z3L^-Yc^^|Qz0@3(Itw`mA*T!}*2nfJ#-W+M8vBR{XrwExq*q>x_(J4?zJyjpL2f{2 | ||
1594 | z1O>bJaxe%ifK5Xx=7ozIkq-O`?gy?^whyx-G|)b5tz8XkjpK={$vy(-NMs`+C3DDe | ||
1595 | zAI61rfn_>gb$`WI1WF$W8hH)6h4_!aC0FevY8{$N&x3ChMSXyZ%r+V~eic{@sf_!S | ||
1596 | zPzQE(A@-mA+)|e%#LDH>svL{)7h7e*d#s40RS={!-5C*K@gHEhh%D%XuE3ZS8v&^n | ||
1597 | zD}evDE|9Vm&aC?!aj#R4Uv(YhBT$NTXF`O9Yw8)spN70Cgdaqj{t$dj()5S5a^m0z | ||
1598 | zYuCQ<RNm(YxP2E<Ic@QcvxLPu8@Q*!CW+y%<VN%ge<ffB>&joTjpvG3{)%pN;SOUu | ||
1599 | z10Jiyhqa&_cVt9w8%lS0;5MrzG%oq82o>sfkkJNEQnMT(`GgtzT{o0A$rL;74Q1k$ | ||
1600 | zqbA=9?KJ{(qlxG>vkrHSY!5Gi@>9!azRnhzl}j1UrKEEyz4THtcH>4I^u8QkhG$^J | ||
1601 | zvCtCh;?RplE+KX`%n)zkPTY3*8sqCHmVXCFuq62%Q<XXHi#~uzzgv#JCy8dF{^!0= | ||
1602 | z7FSAZtBEU$B3~q~{M~$v!0W|kj7G6?@KmdHnO~kbNt#_Z0O7u5ArpJ7On25aS3-k* | ||
1603 | z3S%k8b5KaNUqD}g)*rdb;Z;m^y^tnWyQ`%pc)N(-5?Q2{;kh89Y?IVn4IB1oUA7P_ | ||
1604 | zek4r4u<~~keV=;XpQU~Z`GW5sll=WvuLQ}^yhT*|-RgUVYf$T_b<izV9NZSIo}jyh | ||
1605 | zR(xXMw!%xewZ}`?4ZKz;9q|$wgqKKfhZoPVhw2!wZH(8IZFv2#SHlZ6RWdG{372hM | ||
1606 | z!4-theL;NI{Q^EW{@3{Mtqh0OGCuPepX3mH%7ge!WqfAn_?Q`=bA$LeI>X2OP>??M | ||
1607 | zj`*0@5q->ewWCie;c#dq<I|nKfBG;4pIi+e^0aF+kyJpEVn!14;&qA_+{UxXsS*B6 | ||
1608 | z^Ab_!lAG5-KNDDqb$BH_U0xHO!W)Tap*I3gtJh2rw!a{W=Kl^B5a}r>cTNqLJDI-w | ||
1609 | zC+>`Frkp0&ucEmUcYo0{6H*`Zyb!K&NGs-l#`*X@p2!9Cow)|Gx(mkR1djil<166T | ||
1610 | zy$N>hjOLA)TkU8KOAeS3*O0XJe=0_)xC^Lxok-#|QPf(>+4CQvsWTT-YR`MH?GC73 | ||
1611 | z(DPH#lQ<lg7)2l^2Xt~^eumE(7Y)9_^}o#Z=Tpyt%i<a4VVH*hNdJB@MwAtZ=8d=w | ||
1612 | zrK=fO;Laed=Yj&iW2i+8i7G=}F5(2m`R%z_oAf(!u>$FL<&salLa-(}A3j-7F%C7c | ||
1613 | zMmxU{?O@$uP6X9F?`Mwhhxm61SEs$Xk|2F5_>1V-mBIyn#xs$>ztOQsV=S^53)h*j | ||
1614 | zn1{XWDC0fUl7LzYg0;*vYPlL(5mM|%?2Ys_HIsFbwV?HljOSsFe-89r4O_uTmEa#D | ||
1615 | z3Si3(hL(~n5}gT6xz)q0*jECb$123K4?Ho4G1K9b=6dK)xFe|$a%8Mb_dX?2nWJvw | ||
1616 | z{yr#e&@`X<+{*=}4O3g7uOQcjoC|bux>_D~7Pc^FjrIHNh&N#li&X5Ol9lNb$yi>7 | ||
1617 | z9*l$Ei}D)yzsWJv8fH+bo`Evga?wAbiJgPHwusK>bBaR!{=a__?24BNX8IBs);ep3 | ||
1618 | zsoVY#(C+5LjW3iA@WGT~`fMczNSI*Tn|9tBBAcVcpI|pv*388HI-<r!x9rqhf~Q<F | ||
1619 | zOKf&kHjTt;lRdf8Wo;UgyvZduWhGZ3-KCsvHmAD`PkYVfNG+N&Ii<`g(~_%P_9k2M | ||
1620 | zgGgV%>F03zxp<b>T*2v+IK7qA$0k=LKkO^1nTPnon)!ITYp%qzrsgWKIr*XFEy<50 | ||
1621 | zKZ^FSE_U&^@Uf}r#cR;3UGblS|Ni(Nga4^M7uL#>eTSQ@czT<X=rji`3*0Bul!m9f | ||
1622 | zNyZZ^X=Itg?#qP59Kh3#yAH`3K8&X;Z~)K40WY3j_~|ln9z?;j1|Eh?_#$iYM0=?m | ||
1623 | zl1li7pA6q_d^?)#_;xjo#Ivwz2u3Dm;YXT?3+CNG^6!yG>XVB}Bc(M3twj}1(E?qG | ||
1624 | z%6CF)Y2`LdMNL-XFXWcCyw5yYh_Ck$<F-)$LU$Kp{0F3mgV*6@@}V4&1nngfzTDy9 | ||
1625 | zO3IBi65VlF-!PBl87SA)Ur(uti{`%0@o#F<jJ_iu_a9PQ^w=tr@t>Jl(hukKPjLEY | ||
1626 | zJYV9blRAv+3kU5PJ=@^qD^^nMWk+kjB8>(8@d2elTW|LtYP}|$>#w+;(|+jR-+GIs | ||
1627 | zjM5UVwp>Bu4|nQGTP_36GbqipA!J|X#bS>R@%?C~$N7+)CW<}(LW~oVtCV{JOE5RS | ||
1628 | zU_%OV?)iwjNE<^}T*~#mjr*T2<Z_a@oW5isQOwi?q|GL&PovQ30QCx69_CULJY#V! | ||
1629 | z<s3~?kB$2;=-rp-jW*jLe_GUYY5t&g1zU6upmc9zz4NgeQ6*&9*lv@K6>zz1iqneQ | ||
1630 | zCVT#T++B=04L41CB;xs>1C(ZINkO@6X6wt0Q|pk~D2X{K|0CRY`!sskTqWF88$-{f | ||
1631 | z`#g8z*2x4&N5w7q-&J3wauv8Ux!h6}>vHPzC`mT*<U=2W^dx(?p7DcJ^-N>SaRO7e | ||
1632 | z$|-xHSEF|tkS51wNhO=6O^WIgG>7C<J!IZEP~uCo1dTj4oM+}1fInjWhXlNMp;B=! | ||
1633 | z^c^8)zwLR0y?tr$q^0_Mwm#`DMykO+Qwa8;aqELbnYnjxp7%X1KVQM&EDk?*W_dj( | ||
1634 | zDO_I9&E>q%qftM~{&^IIFZ0tV_=HEzoYDNvvroYxN(XxsY3Ag5T25WVsXyTq{5>ZL | ||
1635 | z)cvPnX=v{@dxz7_qUXo&wxu!jd({E@eeAPCfRN3)lQHYVm<@;KM84Y!k&U}=p-FJ> | ||
1636 | z45GOFKhq3%-8`QIp134uVW0+m%d;BF;8`Ij5nr|bIvP2i54m5`{4;1Qb35)wpQP~@ | ||
1637 | z>j0PjL^}%r+rzM1sg6sV5Ki#F4;zR2Z3f5OiBiXL?AM6x3rV$|=gArHMbtQ5@BtSF | ||
1638 | zwi-B$E`Z$K-ZoFp;kj<k3eHcst%F3f!#<}ruJ*jwP2Kj_0L{9Og|(Gu^J}4ZSk0-i | ||
1639 | zh;?v#!GBZ_{>M^z!ymyHl?iP1_9lk3mt<5Tx1bx>erG3b>y8q%ww3;J+eZDXUE5ff | ||
1640 | zgI-0HyA*h&(A;abSV=>TO@Xi4Y_(?E-bH&cPouqElnf!6%RSQ~$|=v3gJ{_ha794# | ||
1641 | z7_`~{6g!>#H}&hinuMCZ!(T5?7MIt3C8USmY5b}Q9-`CQkIY|08~CTULd&Wd?gAa8 | ||
1642 | zhj!4MRhYwdlWr_M+?OE(88U*_O2`&|_z`|ST8A5QAAXF}J;l5>O_~b35%HA%ymMgB | ||
1643 | zN)MIecGxsYs)|z5U6ADzBVUBNbDXl03ppIcX-C16wOuR2Y$M3IEmczUTUAoibNK%~ | ||
1644 | z{$Icznt!1jsX5Xq|H(plUF$`D%u}eVyU*JE7Wo{dNnt+6M?4kMC|Cu56q^~(3mft? | ||
1645 | zVn<1N){J<+MLGz{pP$ifq?9Kz5}fXgMC=zhNd3@|?-n`c`UtnFc?Z^dqX7RB@UGBv | ||
1646 | zw^Q6`vrD*56hpI=rziI7WHfJw_A<QrIXs=s&*M3>`312#MNY{{nUZp;Pio!)SVr@U | ||
1647 | zoa*<S>LtWSYAFz3!|^Y3{7yV)Hot;+Gsn+D&R03+H9Vcouj45-{{iv+xO}?V&Wd|l | ||
1648 | z-=>>QFlsBr@~Sazktf^|urv{t@Re`(48&dp+#8KmTMKmL<H&_`O9FfIaX&iF0V2IX | ||
1649 | zdI@3LAs=J2ZyPV9JbMsIT&h7$Ay8WV)u0g}P|`Xys5t~08H7fLK%;`ts1Rs0t$#BP | ||
1650 | z(FPP!^%?ZWzmUFHRUYt?o7tb9m*g1)Ol7neJp*ee50=E+;4|j9b8!!_8@8tNc`I)E | ||
1651 | z2sCo;DU|zr&h7k9$K2lsbLW2(n!AZxpv25KiQeD>qL;Z!rLvSH&sb?BcrqV)!xZAn | ||
1652 | zUc>9I#26qsAU)I#u~QM7pe%=H3j5D666hA*zmZPzkbr!f3VeC??)xHXL%$1DNzi{V | ||
1653 | zOZ@OHKc6?^(_e#@O?RDJM0N!EG;TG+#zeZ^{yyq=(2MB%V}4dDZj|&l+C3J`y~PK- | ||
1654 | zId?qguGDisqU8pM+yf0n@D2Krxbauo@*={vkg%s(c;R92l4aF}T33BPN{5F}2xo5! | ||
1655 | zZ{cz6oCb{o>v)(6wsNYUD8<AwXkB*bB@RH*_UZuWMKc|@J@!Y$;=~q7k1eZU)zWOW | ||
1656 | zOFadwCSZ(q<1t#)YRCLPnpy?8ozu<-9frfdfYme(&%#QksE_d4^japO2A&5UAClK@ | ||
1657 | z%XsovZW-wl`y9~Xt^20Jx2j9HEdxoyZ5c#s@#vw!jmukD2BW^8!GXv1`CPxx_b2MN | ||
1658 | zdTw>EP&v4TZS*M*5H_1nh0DPzfz4!~MX$Zc8zu{<yhQ1%TOcj7XjfCHRGhMe;vW9G | ||
1659 | zD!TbqmuPlZNr6udX}EZrAq}V84`~Q#aaw5z8N$8sPM9>D872*DSQ^$-|2E{;ur#bO | ||
1660 | zHE+d!7m|jb0#4G<O>ra*YfKaqA`RUvt)60O^)#L{o1Y1jhFby4Xx_%Dp5;`YFlk8A | ||
1661 | zG=rt-@DOR*CJjlN4rgiVY$j<cHIp<wgEXvxG^~+;r6CR7zbp-F1k!hqhCyhUGz>z+ | ||
1662 | zq+t*mCJlqoFliWshDpO9G)x+5P+b~+&GIY{Fu9p+yUF)y@(k@o&*;+db#NL>!#v!* | ||
1663 | zUPIFGO_qi}&OL>4f3M|U)-m_@ZMm-s%l$KQ#~9L(v4S+DvN}q`l;=qrZoa2(8R-SY | ||
1664 | zft&9N%0!HX^pzNE*(4D*-$c@o#zzKr?Y0~vUB+3%W53>0)VdpEe-G9V^zrw-4J|9h | ||
1665 | z|DW-Hhf{9R?*E;pX%fzls$n-^B&+bvTvH$v^E((r4~|5r5WfK7M}1<^3p93+n>FdY | ||
1666 | zZ`clk$4#*oSd}D_fSZTZ^~Q6sPke9)UVlIy>h1I@w4%l~!=(MlV-st6tlJ>9G+SGG | ||
1667 | z@D7yhAZh;Ktw=kO+BE6kxH;Z|+)IPGUqkLhwppdBe<DXY=}}cjgE>BdyeNl$FKzjz | ||
1668 | zDgwS9l1ot}mwx6IR9iH50w+PMtaLhBb|Kdw{Id>h3BXtDr=5^Ld;q`wA=@83Z>aDv | ||
1669 | z1Sl0*qtgf@=V~9~F^bCB(@{b`4oK4*d3HEzf^RXZSSn)=<zlSa?ZSdrnFn8xz0sa) | ||
1670 | z@e2;uNe=f7s6W{!;p7X=OQdthll>}<1PuCDN+D9xFDIDw90N|9BlR>n;!m5y)Oil^ | ||
1671 | zpYR;&3kFu=pW!)FH@D|TZrx`{g)eU1&1l^%(g$2l59Ddzx<BdVlz48|Tc_oC^|U#* | ||
1672 | zpC-qnr_J%eX>!~Vo};aG(wgubXx#y{hx^X7uYKQ{{>tTa(s!me^>W(vo$2?d&GGbU | ||
1673 | za#Wu-$NJOcSR0<Bt#u}x0T1OU)or^DzYVk0Mk_}BbX`pjytO+;3~)MlMV4(ihY5O* | ||
1674 | zWN@M_j`l8sXRSVHS=c$%MVM@BQoR0y!dreD;Mu-JhC^5I+tmMnYU#w!=1k|)HNt<R | ||
1675 | z`T-!&tC3Rn<uG3i7uT1s@#iw{PolKyo4!7bsfkKw-bbDOX!Rv-TU)-F?eaZ&ntTto | ||
1676 | z%QvcBzB^Bo?}m2ydbZ1V&1v#I=(quMOaW7g*I;}J)E?+_MBOo|C8;YsH>>3JduVs6 | ||
1677 | z7~_<WdkvW~`2xKs$~o=bh`+~~Q4X(HNSd)e2kYhVgdrb$ZYB@YddUaf2dnRisBcY* | ||
1678 | zH4kq{kQTMS=S#ZfHe!LN#hhxph5P-p4*i}T+V7LG8;kp$$EYo;lYaj!rO<z^-tYZ8 | ||
1679 | z?|1PR?)L+~qTl2GkNqB}{@?mNPW`|2JL)@QzfVl{rtb3`<bHn~{W>wU-zQxh*6;Tq | ||
1680 | z{=WA8K51gdexEerwEbSf{k{zSUKEi*b015x8zp#`!)Bptr1{}8BV-nu87?#QS?C%m | ||
1681 | z|Fk)BPm^QtX>;^GO^(Fy9Bq<JiVDx6OR^!qB*`W|{@+S6#~CD<wC6WT_TNad35NZD | ||
1682 | z21zzye@Bj<@ZM=Tnk5<b<g_~AYnJ|CyM}bhU+VP<Plxq7PJbEmm$z;Hs`0-8)0}#J | ||
1683 | zurHC}?dC60=X~1x+x+#5^VfLn|Khpn481=7?;U%6{71jg>#vJF==E!1ZzKzx<i$Q| | ||
1684 | z=<KA0N2HLI!aBIwM>@FKpLH^xR``B+pLJ>vJUg%fDvx4^CHZe`(je&O$tO-hH-}X8 | ||
1685 | zN1gc5q+2aN>>?ZGzI|l1RK7>H)_orZeG^`U_EL@Gon)_U{Cz{dmwmKe_-MUsBX;Lq | ||
1686 | zk67;s`e?^5Bq<;2jTqmjD&pi(r;Ok7u%pCB4gbUVi>jm(CcwP}ue>)1&jUOP|NHR& | ||
1687 | zDgHlh$Um7VNq9a*p52q#fMq-7eeB)6>PRqOf1mZ_QSxV)qB?kYfA)!!4VpjWzAHoh | ||
1688 | z8F2oDdUutKL}&?niNc<i6AMFayZa^)mF}AuYR`@Fx7l;|+1u>7jgJ5;w&ym|o<O$e | ||
1689 | za--VYb7MYev*$KS$Wcxf;Jv4e9Amykj`B8J@_`d|*s-?pB=znC{~-&HdZ+vI*w-g* | ||
1690 | zY(!aBtjZ;c^F0?w?ZRrB*)uJQ>^EMO8~0GPXxR-b9Nz1eH}Q`5$v<EPmP$xY!1rGL | ||
1691 | zdlur~=Gn92xDRjztF*L2r2Eh#QavrlKZE7gBU0z4<K8I#s@nrBcF^;IZH(d8Dl=@* | ||
1692 | zmg5SnV{3u@!!A%0zX{TElIXbcp}Jv6SxNl2@j=*smpko0d`KL4?<vA*OgBip>zxW& | ||
1693 | z^C!rI0{@c2{w2k9a=%ki;9ojH9uWAKPU7UO!u}=2L@{mtrITLr|D4>1r}Jbzo-<E= | ||
1694 | z49!01Z9lmmu#A(RaH>x^)n|wgdfQJP;P}6D{6Rctp8Oo~LI2XpLmcx3p3akB;whc{ | ||
1695 | z3h`&~FDdXZDH5>M{Yw}tzvyjO1k!i#F9o4t{-q!^%)b<bhWVF*&@lf}5E|xR3PQvD | ||
1696 | zOBz)3FP)%YQiZo2F!|&+)Q6+zYaSxBS17uF>Et)yNR}OAFT$_vk$>rZ@-Lk@hjUM% | ||
1697 | z+&^i#Cw0vIQ(Nv~VY#!BJLq3xtl(dwvb-I<?FlzCmti-7=4XdjS+x1uyHCLg$|8w$ | ||
1698 | z?{vev)Z+y4^ZgU5OvKMW7Wk~>1))+l^rsbYoT0Ii_XEGKN9So0Bg&k1h0X^^8@8|< | ||
1699 | z@ZxI|Qv|E;UI)g&Prx_UY5$Qqegm)ljoJc#Rf6VWq59Szr~QNYRYu{rv__)L5Kqvk | ||
1700 | z8h_T$^lN*lWBpM>a;*Q#kQ}4DBss7?jkRUN{{{ODzgLO>kMY0LkkI&Me|ql4<l&k> | ||
1701 | zj>b7)>;WIUnnn`Ny^xn?9p;(+k}2{wr}(qJr^Q)Wn@n)s3(}o_4Gue44O@9lo~Z5a | ||
1702 | z>skm~n&2tr{`<t&tm7{BCD&kQA4-?<Bt>v&Gwf!s^Vu4KU+3)UPgEP`)6S0s{4yWT | ||
1703 | z?Vz3F0*eo4orNvBxk^%`0<7P-M6DIP=S9wapy$1K!|x}a_obpv>~O)aIDrc%Tv9g} | ||
1704 | z^q&R!_%P0VoX0**+EanJ+*tDNZ=ll{ccIh>z0_Egx((qdJ#0bvasAtj?}ysAR6D1I | ||
1705 | z-yciBd4{s+GPIml_V3j5fNRuSeHSoRnhncqrDHzOFwI*5I<}}w+fry&Enzt3O(V^p | ||
1706 | zDb3vWHLu4WHJi<of<4Hf))e?C9HK56lqEc;hErnv2SkbW^`HcHkA+iW%soVj^>x1f | ||
1707 | zM4!BsI2{y)ugxf>FMBkK)HG13OV9hX({=&Dzvb8)waVbI1LS*Uxf@*fFm^1o?Pu_x | ||
1708 | zC*q=bH_pa~!Dqa?am)oMHIn9nja&G1#CO=A6}BcF<X;>3@-O(OGY-$-e`giiN+V$7 | ||
1709 | zEyTMn-sL{xd-}e>gLwARj(!xajl)O*bUK~H(4du0w`^h<?NQNScZZ}r7=+$}loFR& | ||
1710 | z7KE)p$^@;<3swc8i||#2J=~9=MKK0+1nsY?;+kGIV54Uue>WYcXM@o5karOB((W(D | ||
1711 | zXv80}t2ze%iGE2$%4+~0h!DI)*wuv-3F>V$E~fK7uKY2&jk{>~UE&U+%Dn-l5>IL~ | ||
1712 | zd2rcJKBA6N<t?t%=ynz1<+@NQ2My;Cw~e@zb7D;p-(~n6=CSInN(oA#J(y-^NeNC= | ||
1713 | zm5@$p5m7@S@zmqk;eqX5!2CJSQ$opem(wZs?oPR!&f$&4|8y=3zwuKdoEyq%y*Slb | ||
1714 | zSt5b24szf1VjQ}1s_xXDX$R?h%17X={y49xo&AA4y!Y;gc~)>;l|UU87-{c_B%PaX | ||
1715 | z(KQt2s8Rm{uCZKFEoxasT*+ESiRVKR1@0}Wy$NlA*B-52O!AfSC?Y&A{wvj;vkxiF | ||
1716 | z*cYFKdgz_Cu0-&9<$W`;7h=DlRz&hwnp0Tmj-<WVpEq2#U}p#R13D#{V6<mXlIesb | ||
1717 | z_60H)HtYj>2D=O4H^(gVrs4($1860ZG3d*6{~5foK$GknQyB6FsCWmD`$+uK-d@OO | ||
1718 | z{30%>GmUcHXQ8%Jx>3t~g{a-E#3YWCa6YpTzqngy#t8>IX!jpTlwH~`h@7h_-@Vwg | ||
1719 | zgqChBz|AoZQ(+wNlko25*&up?gL1cBjJ}#9Mj>B~mM`v0P<*AijMil~C`dDwvEGZ3 | ||
1720 | zoWOG^%1hV^+TX(E59jjdoeB4iw69FV-FgPxV?%H^bJ;v!<_!HGa4!e$c{=V_2XVhP | ||
1721 | z4EOVZ`vtJH4iLpQ&@Mver;#VAC6Qy$l1qp(&O)RB1vg$mxjAkVji7sTxo6F6b<w$@ | ||
1722 | zX;jX}T;v-ZcLZe*4VK+ASoZszpQJ^2*}Z~gFYL5b`sHhsO7(7lzKpw!_$1;tI|xo? | ||
1723 | z#{U8KCE5EJ@BXOPE1;RYBVs@SSaKU0p{op})t+)bk5L;Fz<5B;9)2tR?k;o~tgLgX | ||
1724 | zTd~%EfOeJRj34==qgtO&=Y4KdN2Bl3sV3)1=q-bpW_y4&<{c5up&Du>O68TWk(UD# | ||
1725 | zjQZB(pgb>Zm@SLMk)DTPT@;yyB4xc#$T&r1qhD_p$3-npj$o`8nPlum?1nK%XQQPJ | ||
1726 | z_g6`zhnc!J%=Vg5zv7KWoZGV<yhQX+>GUmGQX5VNcQPuTqau$(oBY-s-0tF&yhNRN | ||
1727 | zvB#O=rTwboP`AJt?eJK|`6tBY3*4ZkbQVi_^F>;xdG}CWv?|e)sn&ri3D6Q~uO@E! | ||
1728 | zKqv<>Y50eXVvQ@&S%Ni){<v?J_j8IqSh<rCKOV9**J-j#o^IHcvsHQkbG-!aaw3lQ | ||
1729 | zu(5SFVmq{99OQStjJ4c9DI{GhpaEhxk0SYR#GYTW(|f=Za1-Wz0jgDdo)@q}tY(~{ | ||
1730 | zxz=$5C>e!bsK8y<>p;5_&~BdRIh~4^{|{6g-6<suDrTRNinw#ClOAYK#W+wA=O56X | ||
1731 | zaO$~FOT95|)WdZ|oly_>m$akaI;I}1F8_9&dhg+cp^DQV2gTZk*@_9gTqOQTa$x;m | ||
1732 | ziQCuhrm<jum1lO=an`>{@bx@9+qYx4%2VW{K|R%&J-bHIew@Fgk=0NQzf6nx0ISSh | ||
1733 | zJWDj1ukXd9m-gW5oa^q$eFo>Aj^<A>Z-VBX<W-pK^Xa#t<<3e*UQpQJ+%}r00Qz*0 | ||
1734 | zV++G*-p}Azv{7337Wmd4Lizl5l;^d!oEh+*8GQScoA~xFraV?+{EKzUM}bnk!M9e$ | ||
1735 | zA~wNV>;eu3)i6^@Bs=`&tvhHPf~^E;y#Uq41wQJHq2E%UVXOqtQ&NAeTh1x!ImIE= | ||
1736 | z*aT~hcPFj8oFo>(a|BDJ7S#uzMHkW@*3Hx*2gA<Wk}XvWz12avM)yMRt31|p`$~fk | ||
1737 | zf2!_H%mjnr$&JU(J54Im*k!-aaMG<tQ2wr;)NMz)WW?;;7TXHX4``E#Sz|l$L;%V= | ||
1738 | zr-tuz+G`>JeUYG)Z}@Y#E#L*U6)-nE)s))8aQOdubxhz;Kqh&K?mb3uX&Q8WG5bpN | ||
1739 | zlZcq*g9gN>yQK$WHs5CDyDn&7)BOiY+TQ<J!&ECYsBN(-pK!eYGluSGs6_O<A1ByR | ||
1740 | zW^a1-I0|aN4@}vn9E5Xn_<{5;;QbYX=M&#!G^_aL7%93IQHnt)kRnD;aUEuyX8H#F | ||
1741 | zTfi^X;kR+l3BjCv?q$%SkenBV<n#iL(@>n}YJT<(=49P^(4LT-!$Weu0yuWya-MVf | ||
1742 | zNo$VWp006>)zcw4leC=Z*=VuWIPFZ9)V*WStJqIy&4t};!>Nh2)hcKUtDos@#*J>H | ||
1743 | zMXaY=#7W4J@th8R9QE)SQe_2GeQ<_U*yD;isjN4&RO+4%HCCvv)ulqlA2BdCY&Cl8 | ||
1744 | z_fcu*$(g@3Uc|5p<wc%%>`O6r!g$fXuybCtV;0eP5j)c}8$W8Z@{IfMR6Bd8v&3rc | ||
1745 | zY(agufLj)Idx7UB$lVmN77#@dc-DZ=W!$uZo#Ql`s8@#f#@NG|E}x=M>x<OJY8CRY | ||
1746 | z0>6Q&kIs=7A;tMzcCBtN@TeVDPrS{NIddDdqitR2UOmVfoZs=r33xG-IDEzP7jDM# | ||
1747 | zcH^&Z8dqS8=F_Z|Om4uh)6*QP?R4BQ9(DsXLK*fsZt?={=*;v6d&5+3E>i8{HJQP< | ||
1748 | z=PXNvS-a8EG)^}pwe89d${RaT#BL)QvB83QN#?dt578<5TB45oG}N(IqU}~t$L-ds | ||
1749 | zgS%W*$m>4f0GTkLu>V!{c-Cz!UCF{r97h)3cL`-UfoX>1wR^KLx_Kl-FNWOw+Gqc2 | ||
1750 | zg1UlWsQ*Ihg@KO&{%I&TfuF+8qi>5Zgl!@Vhg~-3IpnA+RgQMzo+;`_lroA+8RmrF | ||
1751 | z&Za{~YrE8y7Qja_e;Vb{eFya+(vhX<u)e@Ej3bAobk32(-~lI&MEPuE8d%rmV%9Fe | ||
1752 | z{tP?KIp{yWiNa^K3!KcZ5CeR&oyQmUb5Jb7dii8ogCz%H=LBK6nMY3-!}r7ycOE2r | ||
1753 | zi+m^1t!?xHr)E+6b55YQFjG+bbWUaX&|7Kd)lcwc8@u;|<CXT82Ir!j&v4#{_GL~n | ||
1754 | zcpb5<i4UDi^8<zO&!c$gdaBj3h4O=*G^S{_(c*5=NBC<5rF27Af}XGNY_nY-fjrv` | ||
1755 | zT~r?(aN`_@?6m;yrdl}tT&fErUZ--KKL{y!><)8!hKdkN#4k_YlQFwd_XIWG7RcrM | ||
1756 | z49NdOz8~7ZhdI!0({bf8h7NF+c;jo!V5$AvvmN_=Gflglm5POBhJ{Axy(?+_Sm6_9 | ||
1757 | z$wByOwVNQ%aqg1(eO&=TQ9k?UvaxEUM6tKSPGdoe$5<#=Xe^)%q|8D}rc(AX+!Xm& | ||
1758 | zB?>+Pg*+62cl_(%oLcL-S5@)LOA>s&_`P+%Gzpf6e}fnwbu0P0=;S?m^zze``F1B| | ||
1759 | zLJD?Xrqn02Olgu{_7v?cxwiFCPwkEn!;N}<c}kYpgnJ8|zDtxrxasF>WeA>$%20-0 | ||
1760 | zikJrcr-ROB8lSlH>X=vysQ?U6j_~Cme<ki=u;4tQLpE)LXK@N($a79@7XgI;w8`|; | ||
1761 | zsoz5G*P&!N@D7(OA%zUsUcjt@_wcj_-pA7s_>kjGh_~W@IR2*~otM+$CS8=UpHqLz | ||
1762 | z>CAe%47_uY?f|Dd$mtH@=?Hwu>F90-Dv#2^0>n8^s`qP7cN9;1;G2%+HAX;M#=_b^ | ||
1763 | zhjKUKhJC)XSK?C>HgFei1yQ1Df4<G?uqs2VRg9VniM`49jD!6=l<X|>obcRBGGc@= | ||
1764 | zFH`F=9}sL{5C)IB4(lC+X_^A1Gv;*24dUlY=3yFJiI-xO-+>#(;2V~l6o<1^;7yME | ||
1765 | zH>AkNEJeuwD6Rh%92-Rz^7>;GpH2SGW9+|M4=(im#v%W2aEQhg4xtQUo+xTP?ko=| | ||
1766 | zkeJGd5$Ks(NXEC&4}2bJ@CTs#WY54TnfhZ`EBfOqt-myxt-%N1;gl;$q6T%H!7n%D | ||
1767 | zSN4pg5yo;Vf&EYGex_btcanM;F+5`o*$mlc!3y`hEztPENuv~u%yq~7<zi4d>)w%c | ||
1768 | zdOA;$g>=_9+a}-rh2qB75x@!vr>IMvvYTve(z|(vAG`|l{b2l`Pqp2}{;MeR^F9sO | ||
1769 | zpvK#pSewB2n}jjo?2YPYb-F7VqsWDT<xx#|)Ba<v9vN*MjZj-XlU?2|HqyVpz{yQK | ||
1770 | zCnJ{2ikx0;s_coj#4>yq`F%7k9J<FI+lzR<Wz6NQFBtO&No&nsgVzyMB00}9;-Gz? | ||
1771 | zH~Gj}w;3?b^DyG6)GU$9{jrlm426}cdCS(}mcf)wDQ=9voxr81Q?8My6r$RIo+!%% | ||
1772 | z`?sqHmLsi~ct~d8h7+8$CmZ)Ld0G5VOJC#uz0D#D_aSVT4#5lXdu<l<JRzcy%X-d0 | ||
1773 | zr1`LXO<Rq%Jxc`EU96&alGT$hDd+<+>23q_LH&U7GaAMmbBhs^wb-8}b>Xp|3cS)F | ||
1774 | z*`CsIaQDKU<pI(liT3QRAMi58<!uPOit|Gzn*XHxa1MvgM7#@2@NvwWWe|O>;9ls% | ||
1775 | zkXxHEavpMGO&cY=j5*><cpGb_Ro!mInF8kR!C0@9uEQ##MrZEF{v>~T0^1ny(*R-e | ||
1776 | zo20pB+L7c2KJ_SRd=Q@{z@;9wB~c8G9*Sj3&%<1cvn>I(<_Gix{Ao_3_b{aya<F!o | ||
1777 | z5Tp@EgMjB7HWM0W$%_qa%^MQfRy~fqWazsJ^)cke?gka-?J-KI)zFy93r5sH?V3E^ | ||
1778 | zOef`#@=s_db{6`d7HUX4C!kF~2HVN})ITxU&LLVm#W&nelGM~rqWcAeY5)J^-P@s^ | ||
1779 | ztY7p$7TV7Kw34*5Lpv84?G&%0oqyBY*~KgJ26?6Gaaaw9HxTW70=co4r#@08dAp%) | ||
1780 | z<WGCtwgJyam?!p%EuyS(Ae8hjC?^}^cq?+uAPfhVVpgLwLl#kiR_=!P)g5@%b7L5N | ||
1781 | zz$Zxm6w)jJeRhiFZS)zm1GJ$1m>M6jCEo9jAbkeu^tp`bgB4t+4~@)eOrPSsn>x^k | ||
1782 | zM_m7cF#2R5M^$_J4E{7opZ;jqb2d};IJaP4=n7sK9N6Z>PA;83DMTOKiH?<Tz5S#u | ||
1783 | zb1!8z+ctt$W}+43Toz<r*otMFe;YYi-c$)YmdJR#(5+)L@n1;ebHa;ALFKY!9r^_7 | ||
1784 | z%Z=rg$_XTuSvF;UOydr_^#;e^>Pv;+akH<h5`i8_Ru6%?7LkNeoh)2j-iEO9*7#pn | ||
1785 | zKaX7tT;n+Qj$oP3A?8E9rd0+sD+>Lvl%+>4V1LAa8pdWSw3$@&815m(y3@-vULfxh | ||
1786 | zv7?&TPbbVmIv&phzJV;Pg>BP-8p#%++`V=u;!aTuq>0JPp1BFbkely5nJ^G(v^FlN | ||
1787 | z#(5ja589p5lW`r0QBGW>ji4o(hK^Jwr=6wDpHa`Z)C)*M<3}rJBIk`W!u`HQi=x5H | ||
1788 | z`fX|yJN`S0)gWY3W`5pgk06HbJ5~MDMU3S(wvKfh1lAwjM3)}z#qNY8P-JjE_W7Io | ||
1789 | z0E>S+WxK^QT|Ew77)e|zjRWuake2o&4B|Bm_=?qo4YN`GD13bqo<mi?zX>_s<M=6v | ||
1790 | z{|ntQtCuLF)O^hnQd;oq2ah4lFsdnjBJ%y-Kk~4!sI-=X8jG-coD6RsT9%lu`4Aiq | ||
1791 | zSlceyL>6~Lz8uy5#;`W~lgb?YsN%)EZpo9;Ule{2U%ZcE@csBQ8CGZ83~TWFi4wy{ | ||
1792 | zSn;i56;j2&6#P1#fM*5%!^}FI5WY()@D6ujTt1EQj~O`f-&DhZM4HEcya&|31aWj9 | ||
1793 | z!65X0f>MYw_Hx`2zz=9}(0q=mFG1BURb2yz5px9nDpkCMJZzs1=%d7=-Y!a<h~OJQ | ||
1794 | zk7{>9N&Qhn4$}LPGKy=CLrUC}pu|a)d>3moQpSrY(F1vH@XCq6NnWY_Lf5`7A>N_7 | ||
1795 | zkM9CcN5L;FE_jB*f49@~z_(hwz~U9w*~A6p>Bmjhc=napqj=yHG!^~i?ccHY4tYpI | ||
1796 | zF!zctInOOfjoqAh#^`yz*7DFzT-5uG%YRVFV`KDyLI2i5l*IDJDf5m6siI$yCfI9( | ||
1797 | z)r<b(cC7kED_B#*i7bptZb2UQ=%2z0*b1ybm`Tea8=+z_Mps{-;x>s*uo>+>xg4{m | ||
1798 | zv&L<9?r>vgA!|=O2lv00ZAwk+1O&gZ8<ToSFY|o(u(69ozsERHB=?{hUcx;z`mUaF | ||
1799 | zV~t%sT3uXvi+Ti}rxWAh&7=Bp0}5==fE(@OS*Y&<tQr7Lp0YbX%iDxo-CY?j-0oGV | ||
1800 | zrIuw_qz=kKy_}STyT?9NgQsw?r@$LZKgbB|4?)>Eqy^vk3Udd>Prp_Uzo79dIEG-* | ||
1801 | zEE(z!p}%qeChf1P=h)4m{N3+q;?Fxb5WmwpIZ`nXeM&ngYCRufBvgn+d`3B6+>QGm | ||
1802 | zD&lEhhjix(l2>E@&iJ?yUP7(u{{rwGCU}MEPM$@k7a6_W|8d08$}Q!-glnC_xhdZR | ||
1803 | zh{OHGutc7PC4&1uIn`vu^G>M#w}Cs(rxhx9tf;O9_ul;l@Jjc@TWBBPAiRldM&r)1 | ||
1804 | zW^iFPjqp2V-2WPn{^VYf-Ui2H!m~-bQlGGN*y(1ZQ`P^_{upa${2iy-;vt>h09|&X | ||
1805 | zj=}JJ9uMs)jpKQ*0c7DPcWdFG|BLwl6a3ShPzz}ni*XP|?ME2n6TR1650SreB0N&? | ||
1806 | z?QyTh7-NavL4Ru@?Mk}K<2itF@|7?Rbkno{Q~Z3)^KKojF`Fz8k%s6y^p=Ql`G&k@ | ||
1807 | zj#v@o7u1-!)wkp2<2VbZyd(VYsQ<>k4hV;ceOO;H4ZImO1v<8m_W0hlw2i-PCZ%ft | ||
1808 | zxoYDM<B2{<W4z{jERvwx{H85JUx;Z7tFE*{haQW&-13AqLf8Iq^GTj;jnwvLp~uCv | ||
1809 | zi-Dg?bf8tOyT(!bGiQdjpX(pmR)0Hs@V$>r4;xdWCqI*d^yqd*dZcwqk7-1Ytmf0x | ||
1810 | zqax%6%y4`vzA*YH%S)K_+sDuM4Sb^idM14O?(Y;IiSc><4EQ|VMju{5U9&A+74-W$ | ||
1811 | zqO5H%Aok7e0bKRqm#{HPGNM~?3*%vB80IeQ={ziyR+5};C276TkS~jKt>9l1epkW_ | ||
1812 | zZ=xz&@*HxE%O%IU3S}$e;a_XZ)kY6ksj5F;980<l{7qicdfdG!RZJ}qcHH_QVu72i | ||
1813 | z3}#-+W?rhm{YzG{sc;SMr^hO=&!Ir7`eX$jPOP>@v0rSY&xN%R@)YLaf4J|k63d}k | ||
1814 | z$P<rrHQ+vqZ9uw2{+fi)D~Roa`*1DdipB<^`O@gu;IGs}NU!_@bWpLM4g2wtR`_R$ | ||
1815 | zdvTj*LT^~gVm3>!CZEerdlj}Lwx3uFJY{<fG+?`er@yaQRk((w*cSyD?Q`r3-D|sK | ||
1816 | zj*zW*7t<b+-l{)A#_hng8|2RSoEbGq&>xdL7pQ)c2Ys=wgH~31B$;-t%~+42IUPEt | ||
1817 | z16Hr1Ajiv)RLMlcJGc5JbvaH$TGXYutq~_Opb@vIi#!ROlkCp7U@H?=7BMt|X735u | ||
1818 | z6;J(vT^w{@DeUNKrvr6&QT-%8@lWd)<24?mQ7A@pTW$c9ZN5HlQ@f#s4l?*qFNIoQ | ||
1819 | zl#(nQMhUo~8SA}V51p#lQrL}HA=01F_^a`OfP?+%BrmZx=%9TtL}7~<fL{WzNV9OB | ||
1820 | zn|@`gtYNmpynhX~0v^WY2t^5KveLECQ%nPTB4sgl23hT~en~1s&!LREmk@*9vl7pR | ||
1821 | zDE~?P4?|nKJIk#}PGL>O2sjSAKz1rJ&F9Uub06GZu9&vPtJqx#-pg#50UpDh916;Y | ||
1822 | z3@6{jNc=mg&-#qO8F&0jj*`TjYQs|~DR|nIG-wKm*taSx>CA`ZX|^L)=1^bc>BH$V | ||
1823 | zIc!3@{`|$>W~9^n;gpX2;n=|)OsDz8jdb>4c{!YJWH8<6u<~+)>Be!o3Bh!e!qPc{ | ||
1824 | z>GC*TelXp6Vd<s@(@p1eGlJ<Z3QOk-rn`jGT^dYxSy;M)V7j@SZeB3mm0{@$gXym3 | ||
1825 | zbVb2*i^9?^4yL=7(=83ATh^8i{hbW1hDMBEM$+U$B0?cP_MitfSsy24OY(>iqwsYC | ||
1826 | zV{#z4Hi5@lGR9hz$cVxSbMT&TN1A7@O1mQ|t%EqG*C5h2P8W}R&#&e&_CU>HZ7w$S | ||
1827 | zX*Jhb?uf6wzimZHA}ukv0tKlWi!l=iA6}Gz6;3<rZm)C+NFn%&IJBN*$L;F~=E4~m | ||
1828 | za282fnWZdoI&m4KEaWaEEb%TV!CZ?s);>tmA`eMfnWQXIYZ5kW?c;Q76&f9@6O<SS | ||
1829 | z_OL)APQ*Qx+cCQGF<u0;<5zV}C5dK8qLh3gcDuwDR5GR*S=gDXxGDp64r}1`di=7e | ||
1830 | z5<~M9tl!I7UmormkJYWdf>yU+arpCib!(ikVkL^~JER3AhERF_EusP%c#C*`+W=mN | ||
1831 | zy2MD~^C=j~Xz$m)SHKyYe9tH}ru)*E2J~(GzkvTiPM6C}cCr65UWb}WJJ<oAfVHT6 | ||
1832 | z%o17|{c5K}j!H;p!phSR=&h%0J>f02VwLArl<L49So%$iH}E`+v-p_3@av|VFb9>a | ||
1833 | z6R>Ei#gdfh6e%SNr`Fvl{b~F^ga57g--iF+<Nt-mE;`?)AQZy4r&$|HVXB+`4~rox | ||
1834 | z^GJCG_BZyRxz9E*DZ`&3Vlj(Bn=W5z8+f^F6-l(>ll;!(fLw=On_3qyOc_O<xG36} | ||
1835 | zXNtHAwU#Ju+~jvH=-G{9X9r_lM(hX$yR5sAHFkpTgUX|OD)A<t%Upt<yv8Y)(26Q~ | ||
1836 | zPcEe1?|nDM8+rC=yx~?5q`44ZnqS}eB@Dtd-M|xP5Z%}%!CVELOTq1?j0Bn;GGglp | ||
1837 | z|2W!-2@PXqInC3i2uYdz{`>ELfYIsnTo@(hY{u+aA-Q>H7+||&#T5M3NMG!WnIXEQ | ||
1838 | zCL!l#<!jodUVnzvlRKndd4|+k9a3L$`qZiiGaUTg)JFM9YNPy!-nv7DYizWZU+B3W | ||
1839 | zeFU4pbf5FtnlAe2qBRcobEZE*G(GM^IH&GDA>DQ}Mz&<Z?vg0%(#B~E8}`@quaQYN | ||
1840 | zr~XKP+jVzMe?SJ29hh?<2;b@2Qp5g+<K&~Go{dsmNby&#CiM7C@LX(%9h4+!&4@6d | ||
1841 | z-DdEVB5om8$6LAQ%>FehMp51G(Uy@my6ug3Bq+VPk77jzeiMQEVhH-egxhdTa$ndC | ||
1842 | zCOI8kc@C%E3|~|Qq<JhXdZ<%K8;i6u>=Tn5=Xp`%SQG!EhpWr#Q?5r!gmX}dS*MKF | ||
1843 | z%5#`1q%Y7al&Sak#Hrk#tFh2&>fOj#Td_VAwhom(tnL9}>a(9>y({=R)Om3AacV1< | ||
1844 | zI7a_f9%v=_)#)cW#YA{gnn-hNeTeFkc6Y{)qTmc%5Z|6>z{#|uv{UYF{jo#pL1##P | ||
1845 | zxI^l5PM=!i$JTe8r7})w)2h7FU1BCq8U7A&3h1D5-GkUE6or-h{y(4KIm*;~659Vf | ||
1846 | z@h;xahMW&8Bux+Y!-h1rAJ`vByIk*}{jO~N--`LcM)x9>r2)PMb<|^if(DH_p^(lP | ||
1847 | zi=|k_0>v>e!pmRx1o|(!pj?TEx7gx&T;m7P>U_5(bab$fw-;{LgctBq;sfGnyva(x | ||
1848 | zg8LG?>=Ab!!Z~%<3+dJ`LPn0s7gItbXJAQi<n+pLEh*^_2>B7IB=%GFN_MR;v6D`r | ||
1849 | zj|u1$DD`uUYOVZa*anG|gSCbq;V;3jnow(4KhS;1n3dz{hCB5~k_73G;J$lPdNt0g | ||
1850 | zeFqt57bfw5a<MMs5>WF@&wR+aNcjIN#Fct)&ct}R6u(19<7FPkOLye<a^G)4jyWMY | ||
1851 | z&ObwrKXjU7=oxZ6(P@tEXUOp+$vl<T4K{J_m7{&Vox97K&+Jt?b=mvh>neEJuBX)! | ||
1852 | z^t48GhNoTO>{*Uqs_T9V{KjKZo$Gw}u2VGrdi|`Y<o-!JuWkn9MkDnQQL-1j!|0!` | ||
1853 | zum%M56U;p75h}s;T=(O^YK-BtF#Ol8fx5}a|A9YOg3lE=*TdK4J{P}ICQ7z-CEFtK | ||
1854 | zG}#t`9Vi29(};au;EYV*RZQ;P_OF4q^EyIrK!1?2Mz49H`DW<UKVioR=?^mfCYI9# | ||
1855 | z8^g+)gv^=*R`e0)U`+xV0cK#{lY%$xUr`We4b*b(Iy~+AKA12a4(axCI@%8-hwX=n | ||
1856 | zKsiR4w136R>FPP%emw2?Rb|qY+Lw2L(;eh=hw%JW`(aS;F)r_4T%MoH`#0Cy9=`ym | ||
1857 | zYvyz<c-jL$bc)|`PIr>iox;-*Xzi>#_~<~tCKIJ=VvV^88gs|?;wD>4*M-xO-t1_C | ||
1858 | z-i&l%_~EyeHJc-esM@x#$FMm9uM_vdJL(2!mJt7)_z5c>H->uY;2$&fex%L+!amov | ||
1859 | z;7?QU>X1F4;Naeyu=@(Tb|I84K4^AW1sM$J-3?RaEQ|)y_2C_0-yH45#24{&a6c^B | ||
1860 | z=j6}d2~C>)m+9Z~3LEwt>NBVvu`E4PO7xLLGLuJB%9Bo+M<VTV;GK~vw7(C(tlQqF | ||
1861 | z8m!Mzw+q;fp#6ndiA>j40<ov4riOOWxv_qX)fu7<(Z%1}-(O%y0dC^Y;{CS9YTW0j | ||
1862 | zB^&!%gL^9Lu)@;Yf*E0iv7ZttWbBE=J}^kd0oW%=C19sO5JvkcH5l!u)Y8#@N)1N) | ||
1863 | zDK%J(4#Vmil?h71=4k5~O+vKwPx=Sp{geJK`Uka!_fPuU=pXqE{iFR}ulD;&e>QgS | ||
1864 | zr1wVO(0<E)THi#;L<gEldeUlF6l^zef!<3R{6oNTVo<SQT?Kn45ohJ}wOE&@9VE18 | ||
1865 | z5+3UI?FsL%^o9Rje>Kv5_ga5J@?w?owEd;uZfZ&&N?uUtS@g8?b2#B**vGBM!SiC$ | ||
1866 | zV4^8}oGjZ-2Y@&EYc%iU<H(sxx^jB1t!JtgYoXm}ABKp*+$km{dJ-b&G}L8SZ!)Fh | ||
1867 | zMz(U=b&)K_in0xYe|g0Lj@wE)&9I@)5`2-B(iQiLZUvpwVYEqAmJ*s-ZTL3fo6cq8 | ||
1868 | zev6U_d=p2-;@j-RKf)2fss!!+1{}N<vyT{>Lgn>;)E1-HW@qRLhE~!}9o$nPChnp0 | ||
1869 | zrgcwZKKhhqN`}2gBj9hN>G|IGQ!5ow_YmT@LpQMS>7I#Z@(Gki;rA_-F0dv4MyqQ6 | ||
1870 | z9nux<Vy@$Ts-yddSf!%VnPO-iaAR$)=Udn(gL4bSLk29V8L&yv?_gsSobo0e18gMe | ||
1871 | ze6YKBsGs3CeOn~_7J`XZ1Wdh($O`H80_p-*l!tCbr@cFr*EW}Wq}O#Ak#*Y59l-S< | ||
1872 | zP6pZlo#!jG;x{ok=e@{DI+b?1Q$Z~6#A?}zmHH&C^T^Pg-o}}C@-3%D;<iwwt60PP | ||
1873 | z1U3r^C+o1nNWO3BFOY2^D}F;Z7DzI5PiZ&m-5pU@w-Y7DBRBlT^jq};`(#Bje65Mn | ||
1874 | zAEdI{Kl0w4BI#wqDeV+SJpDF725P8~JT{52PWumj4O(Co#tNTGb=?p^4g-%C+whc} | ||
1875 | zcP1kAPohfNA>h-BT|l=I%_n>WUox#|!fOnf&%Q-l<W%%m9Zp!M)e=wkqEkVpUeQ4c | ||
1876 | z?$#*SV>eMS?LBxvp8y5dp>Lz4S2YTzz1c>=w10(B5Pgz%gm|VU0ed=<kPj4;9wx{! | ||
1877 | z3wrw!nnTha#ThUeWdJvB@m`b>OTED9<~fy`EYN-=c5uznVxspUFJ=K%4a9*OV*JW& | ||
1878 | z@xlzBlLb3TAwOtFgMC8h>~}G>uGD{zxJ9D#J0klo=BRs|eca4ns0)4r$gOzzL#l|g | ||
1879 | z(<aothG#D0Qy!#-&QCpZm>N?&Peg9U*zONcM<%ad=kxFUEYRsPEQBsshS3F_l{TC3 | ||
1880 | z|NbuKtnJKM)4-pL*@q75ire*4Vna$9k5V#1`7;f7(xa5C^-?m>;$njQgU%Z<byNNA | ||
1881 | zsM}McA*f4O@J@t(JdgZYkY^*2KZ-^T$u`g%H-=D8w9)&!*+lPgZ*)rU>EJR`>OXPv | ||
1882 | zmn0)j7BePEK}<a1n56DU>2ci8z$EnpPF<{HGD@!<@gcP*bM3caEhJJ{sK4PE$J`jw | ||
1883 | z=Nb+k;9yaYlkJ{bKs=VZkWSFr+~ABsSPjn=m}7dT!lLsiZp1!7{hYcH_=L%g<Vn=e | ||
1884 | zsTZSPo(cBLZmnNZ9c}%RO1~@@CO1+SQEQsFg!Jy?1o`H^AT{K6)VNTiwZ`?|9C6l^ | ||
1885 | zXJNdw=X$pE|6N6N82e*Gehsu>hr6ar7!9U!KlF<`0_hCtK<!W2XOrj3_`StMe1GT} | ||
1886 | zq_#k^$CB3~r4Bx)ScUv?rj-Auy|a&xvbqxgotZ#F<Rt_MlLX5HBoGwB@S;W(oCz<2 | ||
1887 | zBBTfvtu7470FfjUGZS8{B3fFpwKdCPtGn$sb)~UuyBlAt?RFhm+V!=jcC}jHqNCQz | ||
1888 | zR70is&g}P`=XoZR@aA@Zzt5+CY(9DBd7g96z4zR6&pr3td(XX3m+mvx+DkVm<Y#ZJ | ||
1889 | z%=C42>9q>GM?D~Ar=|xkzt70<0!Ak*q@|Vouw(w=^K0;bA#b!BPx2kSX9>qfqx|Bj | ||
1890 | zq;gr(-naZEPxdK)IFx8ti9A}Xf2UB(znOVmDSv08Z~0XQO7;wSRVi8{bzAbq{b*ow | ||
1891 | zxuXZPgoi(N$5T*vsMIUcQo;sdewPRzdaaP&{vYapv&xKHv2Qh4XNhfFa`wJu{7%={ | ||
1892 | zv&9#H^Ps#XC-2+H@Ax+stua7;!gG<rhe)d{8H3!~c*FK!ABe6l@roptl<xAh+aZ3T | ||
1893 | zr1(><5vP|cKA>e$-?mf7;9ap>v{uQ-K+WV0@;v^>x`T2z`r~YS?xXl%f6L-jPpHkd | ||
1894 | zEJ|MPwJh4OEZQ8)q7BQU&9N-nuq@gf%c2d-q7BQUO)QJHY|CQuA2s(Tp+tR)wcj1T | ||
1895 | zPQJV&<u1Mp+g~_r&TL~>m^t$Xk%s>qD!;#cT<WR#mZUWtj}}SC(}G=Ys;*DKk>ZDu | ||
1896 | zB(ahPny2ye5d7b8O2=K4PGVglUpm?M6`s~|KFIt5*K}M<56l<r_O$@JG!-|qy*B2C | ||
1897 | zRc*s-gnz}iWZL=jcJDUwJZa~}U!<MSqn&S%-pyQWxAWp9z3seMPTlBj=g@)&Wmo%1 | ||
1898 | zVu)oBOx&P7w}<bCziw72C9j*BeFI2)w9b{s^#lu3@f|7UxZi3C#`Kok93qt}DdX!~ | ||
1899 | zrJYC%Q7OoW2B&u{J~O+Wy#6HlSCGHxiB)!p>PzfxMlATgu=g-0*xW@6>9l*s$@Gj1 | ||
1900 | zMMD&iv|EV(DOv?zfK}e={?A`}g)%?(f?Xr&^gDwT@>AiH|DlzpK+XWz$vvmz_Vjex | ||
1901 | zkDN4norbpa)sHlLElt(8;o^4ctcy7RnlxS1;=U(&{(7%;`uFsg&dGO&I&JAJzNuF_ | ||
1902 | zJCV*#M>;!^PVrtAySEeR#7A50-cF>m6Y1;}>Fmsw&I;zC;rCeo;B32h^3@6*$@x@f | ||
1903 | z-&4@F+Lh6&xgy79n>9Q~OLZ2q!Q2@AhuX}O)Sl%yIpN0y$}U>&Ine=rD^vc_VB@=H | ||
1904 | z_cpGsk-Mu;I4>PNeumKd^wR@+ZYwY{|Lb2QQtDrjky6L%D12XYlX2zwNa+@p(i`|f | ||
1905 | z1$tuihl~S*I^xa~staT^wU@EPZTeQo+uc&8$#!Ty@3%=VqkpgA-q4rON7VV~XP70p | ||
1906 | zlB<PNyT{v-k7S*pxSwQO9;5#(^73xE_HYNy0<j)P-)~c~U1Sw1hCQ22#jvMbDk^@V | ||
1907 | zp)z}KQ=#LWVGo5KPsn=UV_bXvS3v>3S4MTjYX`v9_K;j7sYBD*O4HqHKR`)xQ7FNF | ||
1908 | zi#1RYv#D4E9{$=v%}eGPZ*%!E>}$O35`I){*HD@7yH3+vt?yTc2DJ+%d0cWr^-%H) | ||
1909 | zh$Vt2)&g+V_I&#(?SDM1B?go2k{i44gtI!X8MaEsI=spHlX`3yE=zU_7VkPwIPBce | ||
1910 | zzghXAC#;h)bj_7GjMi=ghdl6TJuMR!2;E88<Ca(HE>k)uy5p&eF_{=+G+g!Qu%ggo | ||
1911 | zitjCYPw|I3_}-%Z8T=fP!P9=7WkJ|GUA&`nhP;ZTJ}0(Pw)7&ujz7g=@#omXC8N1} | ||
1912 | zxOQ<(l$?r&GY3(j^C{x*e<s&Lfe)1(J7(fCYAqL-&I$~B4_r%q_{>C^@z%MUv9czo | ||
1913 | z;iJDq`_iw2PaGp@j6JJkr}~9f?7!)NdXv#ozUX2Pk?#$hp*iom`HPIY>ZrLh&1Hn^ | ||
1914 | z&Y>au2)|LouLC|U1AhScCWYUIx5f>$UB8TTs;`y3XKhlGwgt07@tE~x>~PR5Aq_dl | ||
1915 | zMJXNfEy9-Bc{^j*N}+hj*MMKZKE~|)wgY2~OWa-T-xY2YlJ5xe9d75_l}p`sD%a#2 | ||
1916 | z$)_L}ouMG}bQha}()ONzmlUQj|7@wBs8aXVoKQe%Rp}Y>rb}7T^H^XTL^8@B<!PBd | ||
1917 | z?cwP>efkwo3-sx4c?#-NS0?lyc{)8?0y6q*jX#IhA!qqKgC|%q9^^%Q?Hzq&)J7>g | ||
1918 | zoSaF&<<EWZjU{VLz~8Yb{dMdgGqDKH-J)@a?ZqZA0~kf!ng|kdDNjQvt)#-&$%T@c | ||
1919 | z4<$p~_)a}(3;^OCb(2cbd16bA!jeGVwvzU@Nwrb2M)P)~<Wx>6Os&F30Bcj&&w*X6 | ||
1920 | zutH#etFRvcTc)t#z;-FD4cG#O6#)A?g^4VlrLaMv8cR6k9kqyhtr6<W*Mj36r5dMb | ||
1921 | z4RJV2PUhdCJ7?degnTZv#)(szi8Djv*sW$Eac&__zQ*zKcB|&fcRT4l%iv2HyjNe| | ||
1922 | z)FLzX*=_uu_S<c#h3SLO@vTPk8JP^yz;rfa<R`+V@`oh-k%xp!quwONo2bp-DQ*$C | ||
1923 | zdGdwM0AC4}l8j7hjNfXEmo&zc#P|j=9@ZG6h>_#qKB>4rR9rnnY}8M{<y(2_J2UbT | ||
1924 | zWR4sE3*_S-iO-lakGWmxx$gG7n}`7aN^*^?sHbl9{9acuM1wru@i;adSo+mZgB9f2 | ||
1925 | z^JA_%#~W7OAHb8#{>r1a=aXI}#u!?Hed14H5)Zia6>`Q|YLHpn9tm|7uny8@OdAq< | ||
1926 | z=Y(y&e%R$VWc;vA8=f?T|81Y}hqJ=@5;Ngn=@b58R=7{Yw`PY=obHB)+S=r7!heU- | ||
1927 | zamfJAkZq|M>HDm0`v+1%Lmu4DcgJ?5f1C^waz!$*Oz97r)S2mj3P!X(+fvo(?+QLb | ||
1928 | z=HlO+44$Ky0h3ys{wA0KLM7#${ZiiEC(W%{X~z1cxiM*`eUiRHy<FsJITTya(b3Lq | ||
1929 | zTl!MUAv%wKju8PnQMmi43z_$|>!OGmS3JvsiB7O#gQ=UJs-F8dV2{Y@p&|KVr^MgB | ||
1930 | zo!!DWeVP^@!hx2|AX<a)Yr5&M4H+bmQcED|ESw_2*)C&(ymU9Q^3pF25>K1K>=WlJ | ||
1931 | zRP_2^*PTZ>vTq!@Hs#Vk;okxCF0*x}LdBQBhAsy>(e8oD@5?~XWtI6H=5;2@SW3Sn | ||
1932 | zBfAkqGx0@P)~xPeuk*DQJ3YvAEB*y?=G{TQw=>e@+Bk2l0%kIpv|zDXNxy<MqE3?| | ||
1933 | z6b<J4?uPxUteCYkht-T_eI?`SgJ=|?yd^`8ta;N*f_?IFs3}kyW@udLb+vq@a(>Y? | ||
1934 | zg)MbqgP$Y4B25n;`D2!jb!Otqte`2M<;E?&lBXNF9@qAmlX}7A@g>q6^WD^z!!v`M | ||
1935 | z;J_qwK*rNMqYuRP*_*V+Eizu(eV1wmu^-}GoQQ0%2IT*Y`S_O}oQ~yHW+rIP%b_6> | ||
1936 | z+MWm^S<+)y2<P%A@g%)AEkD$$wwCPl^r!gF@l#i8yhX%YoD4j?h&jO`IXNStx;g)n | ||
1937 | zP$Ox{DmV?WJWM)jk>v|_?5C}vwVj-aa^M!(&n{;j`n%ZQVM|ku<X&net%rlUit}Zq | ||
1938 | zM%J#bW7R*HN#mkWo@Mq9Wjw22dR2;a*0t0t77R0?Cqr8h+8nDXe<+;007@_6%gPDm | ||
1939 | z&JRLsdfp;@3KE0fmwx~KpGi)s8x7vg;LB*il%EUiEK2k%Y9s;8?V=}BUo{1vZnHTd | ||
1940 | zG?x4$Tz^3GyA#|==-21a$)tg8@m7d$J(Jt(lAGl7$uRPKPWPmVeS9bNqgGh?bWLlE | ||
1941 | zomT2P^KGPPi&?5|d?J|owc$Z`xMcxy|4~XI{x8=NyNTFeHA8GV%MNPV=MlCM3d@d9 | ||
1942 | z;m7~pOQB0$*=w4DSlt^*eK9R7*oIzA)`*S=x+%G)4Q)=JFo55JHfA!CRvY@8dZq=_ | ||
1943 | z4(YK(F3P@~#In*_m?UWyo=b_oOYQt~-_nrgVlMSDJ0$y|q;3|fUqH~UAA2lW{IbeY | ||
1944 | zPHMZE*uDwr5)HEE0GfccTUtM9`}K^kD%Bd)clC5j>ZgWF=LJ4lDe3dZ*S`)_h-J=> | ||
1945 | zAT#Z4p?5-DY>)|^*oW^6y~WqVL6gN>wZMzNLkg2V18>EH(5d|lZ)a(`Uy>A3*QNhK | ||
1946 | zcG*9?!sK9M({m)SJMfJvNCm4Ns#uw-sbXJ7YE9KcRpQxhCj3z~oY(@&&Ef4z$Mb0G | ||
1947 | z2XwZ0sL1IAt^Z=F|4AJ$&_;Hcxz#_X$LP}v2<_##XeHz*&6l@QJJYXxy6yNf^U>`` | ||
1948 | zmTSTzTCQP|YwE`IFVxe0icmeiLqhVZkDdRY4?6j?(%8%E32hS3|0eC69w|Nf1T<Z8 | ||
1949 | z6q=apB86Y1zIGVPh%~Yc@KjZ|F?#ke>%!6x`ps+P?l)7W(2rQ`KI8d$g%m49cC`DM | ||
1950 | z<`A5b3X%P^e)FFS88(G6g!IVi-|47DdU(sSdw9$8`3v@Na#m`Dxo7*PP=S?`w8l!0 | ||
1951 | zU19DZc7+*Fde&I!u`A5?6mqgcq{pt1ebxN>1yUfCRv7lx^E;e83z$73&yG^3*DiH> | ||
1952 | z?Na<itv$@Gvftq<$+Mt0Ptg{P7PIoiBOgd<R-TtCq$n%T3xP~bzcj_R5{{LhkNoEM | ||
1953 | z%a2_T{qmc7M1HdN!&mRK@?-b#@$+NUloR5#?vyWWsh4Fga~8}v3;*S}fZyH<7r%*2 | ||
1954 | zO}{|eeQTO|Q6Skh{is5+YdWEj6Vx=N_)+?*K6QK>@%q;BtqRGm<2Hq4*YWiVIYAvm | ||
1955 | zb4+r}s@-OdmtDK-6_Q=Mf1{9WZm$G#+}b6ldHr$<9+4Ak(3CVgr^+L8DnC(9TBmwa | ||
1956 | zw$w1vJ(0U}>J?9NQoQ(V<m02GPj(&4iA70|w&Xk+(PIryMw&d9wB$T9Mj=wa9!t-r | ||
1957 | zV5hF&j8cfS<UE5nKEK%<w|z9(fyGLX<ZC}kzC88HmOS;@PxxQxvqH`SdmF8jC;gD! | ||
1958 | zZauc#i-tiur6qf8xfi;u0->wIBXVD%8pbLRx+*+{3K6+;T03`p3{g;EYnTFd?n!I+ | ||
1959 | z(E9$RU+a5MV`s|)RQ0Q+R~3>i51ih6e0j)dmrech``Hos-F-xUKRhD8_Ro}`XqUPD | ||
1960 | z^84};`CWNLew-soiL=YM;Y9f%Upc~Ow99zaF7}(>oX^;d+2rJ4t<yZiu3Dr<>U6Ny | ||
1961 | zX|}8l);i^@CyFDwWU$sLr{pO_>NJtCHTYvXV##B+R_m0z$k_rUX)2f6iv#3rnUk;) | ||
1962 | z@thF3s`hlr8gWkMY_}}WpUnAZHA&;Nif46p;BHbA`TUQLTd)~!U=Q~ewH-L8q@CV{ | ||
1963 | z@ubYt{gg88g~pxc5%Sx?8jAGc&yhb`P<r(eIoVq6{M-RR$Jyu7mxw2sLI-}tIKnxh | ||
1964 | z#r$B9dqT?(2tSMKJV`I-mg>Lnky)cTj7ctaWBP6;z41B%?uC6lE46Emk=hlS+7{*G | ||
1965 | z$dE<Ki**dGo^3g6IqTzJ1*$oVXZvl6qwCeS@4}#NR>f-4*D%BK)9Q*u&drsa^3tyB | ||
1966 | zBr?9ZlkYM{#U^d{xT$Mer@1Lp3f8`zv~)kRo1gDJ@ljzl$!o07T@$*k-IIDQy_hok | ||
1967 | zja6F8x<~p3W?ST&(&)Q6S~CYZ2Z&unoaocG_tqX`%-7n?Sgh8`)a+Ygwf5CN<ZI-t | ||
1968 | zhx9-jo*6I7{4(eJ4Zts!@!s#@E%^d_n(^LH`wUC5(6O%WFkTt6Jo^%%%dytlDNh0E | ||
1969 | z&gPvuO{afb#ah_uU%~seYp%x=YVTqsnC9?N!e@Xtkh{*?54=j|!%tb9nGc^rXceJn | ||
1970 | z4SAJco#!1q0}8uc>-!Wr3EX^6XKF`0>4s#NFu{!INiVA=ZIiP1DWA-n_m;7hGS=E< | ||
1971 | zv}?pJ`+yI7OWS*5r;JqCrS#*@Ay0dH{-tv$rP9@sXD=a5mkY99DO{j*@aI0^!u1C4 | ||
1972 | zySc!{Q&J^tAm5tmS_)q}yBOWV7n#3t`J!!NK#%Zc^3VJ5Mds*d_wwbWAGoELQOV@* | ||
1973 | zDPMF3VnoOd5x%(P|IiSBAJ;!|QKv!dPCd&vL)U=&kl2Ah+og^~3I_a$kw%4{WBye} | ||
1974 | z2Rre)+KFG(RPNWKS7hJjt**oj`V~FU7Ukw%kr*l2Gf$A0@J77ET;8aJJUfZ?o4JgH | ||
1975 | z?{GMy^H&4nZ_G~!XWA3WnO8*qT+XP(45&>EV$LzW!X##cd-_hZCtptd)VHNx*TYE4 | ||
1976 | zWT&Y6Kc3m?q|*yON9cQH$r0(#RL<k;h1OQzCg>B++Y+fW{rP`jHlg&5`G@u~Yr5o6 | ||
1977 | zg1w}}4t1dctV3Or>f1LwD88C?W_Sjk;OkR%*gVqWG%2t+lP^&zUK?G0_B{l+kKsN` | ||
1978 | z@~?PAzJNyfRCXh)O~5{Ayh~D6)tP1`JMK;DUh}iz+xUud54@^EGqTsX9ZTT`_86CT | ||
1979 | z%Koy{znOn#JZ{=`?#>LCUAO6XJ))JoQoqol?JMV}Xp$sQ_P`wKlG;#R#TxP<#>D%3 | ||
1980 | z&k^2{?&5nhc`HqO4kyk(M%j7}brGjWYnt_ubi%HEedj!g^aJz&A_Wige7A<pU{**p | ||
1981 | zh0ZDETn!C6`|)1^X!w2zSxdG*^(W?K+sV5unK<+uzvfW4oD6)ZM`)9pQ2JJrf8tON | ||
1982 | z@Pu-+gSI?h^SGNC?GKz1>b}mL#cy1CKV04A?UZxf=BkgI%>n6!?DWn+o`+sy?)RfP | ||
1983 | zWhO!TQr*Gv@<(qhk=XEfoamN8o$4iW(3D8Ko20Y&WByKP8vYe<hDl8mS2e)fGFQ&- | ||
1984 | z7@_bF?~sFfWbco@AL!M~9h1}PK03OezV2f$>iH{@mwAOe26JMPm%GKK>v-%Wgrj}^ | ||
1985 | zdVv%sgBDUCqn^~FZbq|sRr<JQr2=Nsc6R5hJyJ#YzYWMZg@}z=rS?d`lqy7Q%qlZf | ||
1986 | zaYg|N;>WOCEKOEK7$@Z(CMT?2dpyOjSD$@-$|m}#kAE|9XbqHSbBOOmLepR%y7N=1 | ||
1987 | zonr#d4EpX=&{VR+#11{2nqwwpg+Q|t@+l!jSs^30Z(_{*N$O;C5>RbR#lo*~_$)l( | ||
1988 | za*Fo}S<kF%(8+A7HU;Kpo{*VwKs*ZJJ81#&hu~!UfL9@WT`VA85yOD^6ygKoW0$B{ | ||
1989 | zg3Q;Xf0xaJn_)B9CyO-jENSu8I%WXamC0Sct2SC}N}d_DS`z;qu?Ub!8O>0KI;N3t | ||
1990 | zG}xmXS+C^D?E`K9ZPuz*;t$^`<><HzO})chkTlC!Z%B48`;_0VWrz7q$ohwzcv5|z | ||
1991 | zWm3N|8@JabM@dOLhHISK>QR;_^^A!qobo#G%Yb`RZ<w&cDYXN?7`Tt~4?YPM)a0ZF | ||
1992 | zn8AeK$10Z60GB`C5l=sX)l|s0n)0z~_-YBzLa053w~+Bcqfi7-QY&P?FDJKnNG~mG | ||
1993 | zOkj@axG4PrzDFZ`R})v(ai{Y(*mw0CODL()oZ&mUe5icD`Uz2jj&sw$LBo7NxV(D_ | ||
1994 | zf1LLo-aqBt$NPWq{+94CV+Eft>jb1Kb2rPeh<BS{Dr7EL!(5__6+;C954P`Yne&8W | ||
1995 | zyD5XrU*wpXib4AU!wbe_#gO*2$jF#B$1qMH4cZeJJ}?+zl7_UeMMlP!IcB(GNc%zp | ||
1996 | zM3T_mjF*%HGES7<X*U#^Qb!In<Y4;Gv@bm`h?Kr0XT(aoCx?1+sL^`w)_U&}E+>N` | ||
1997 | z4>BGm_J1Vr(y~4vJL^)vHkWU&BmMT&ohAY;Iyz>)T}r%ww7#z;zQcsTebubmUYE)@ | ||
1998 | zD-}=5nP->-0!MhjId1F_l=1B64QGOaH%alN^qmPQJu58WO6l+5yvA+txJvO(Q#|1T | ||
1999 | zBOlc>1JnNs59I7#);MWD@S!uq2joFd(w5esJfQ9~xCc2EgEKUwjzf3Reh;Q!=g#;k | ||
2000 | z{W5nS_ZKtm$31Upjm<sc{YHFjp_Eeaw)bYSz8UGbqa812M07FhO_+?CbOhwRo|6d+ | ||
2001 | zDS=6dtRxbiP*)e<w@D{uevxmgweve5*`A<%+TL1lyQH)L>c`n<YPc<W|Mz+pu`a}Z | ||
2002 | z5bE@7?csFSj!m760H6#hB<Fpymg`V=DreeH1{)b+6ll{lCqt+Byx6droG|GZIy;5V | ||
2003 | zPR1~#;n4b`(mGg9z=2x7U)JacB-`NmCd#h%m3KrY&8IVI4k~?`a!iHtql`a#%cDC> | ||
2004 | zDh&G!u$S(Eqq5qxSNh6Nn|Tr%)mHqpJ~f3ebVv!mLy!0OsqdH)*0V<{hW6luoG0-P | ||
2005 | z@1VbBZdmx8dNlnf*|(r8FfW2}EPCGUX=e52NDVa6)<DF3O*BxbpxaX&=$5wfs-uO5 | ||
2006 | z`>w7I6c{c-m|;Qhardd#kEajn$$uh+qTx6%MRZpBeS1G4`JK~G<DHdyT{IrpPuuwg | ||
2007 | zJjnoUa#N_Li}dx2DI)pLbo@Sj039*bceU*sT#fz9llD(FtiKm%zf>b9<B4V#s!WYi | ||
2008 | zC8r#q>)uovY|2KE;&P~aQK>_Jq-L0WU0;;5sYj*?&4~60)P6yBSBch0<>)yKC8oqD | ||
2009 | z_M3dqwu<nDgx6$+Ut;DG&Y9S(D%Y!~KW)#sdN#v+iG?2oC9AGsuVW3mM4mi63FS2f | ||
2010 | zUY?*_^d4`%P%vn>|Apx{<&5xdV?IG&3TFZVPl%Y+LG2wzb>yM}4<|>SBmLYgSzUMY | ||
2011 | zOp=bI9q{p_xdg~Xc}D&`DK!B!%2;Aaj>&+ef^G9UE1vY@A-pkI{eGIVFlR0`gxw^u | ||
2012 | z@B|>1txu)zf(GjO-!uB;p`KN=U$hlm!a{|M(*M?|9`4rO?s+uXlcK4UKc`f?Q;(a< | ||
2013 | zHJeg@G*jt4pOn4^IKRN@IZ~Hlp$Q!A3S9K<<E9As$!3(o(WJmdpFVE#*KDFK=cF!3 | ||
2014 | z|9VZGw1v{g{jwj$a(l<zT>R6!<m6J5FDD77I2*rgrK@|S41W0@V3&Fh*%(GJIA`M( | ||
2015 | zVm_oX<*RoEDbG3Qlzl;TO?GT2{`b)P14^zTMmM>S&&F`(LYR|a?RHj{eJE>|g{+gd | ||
2016 | zV|Cj8CKo0PYFH{%%dpzxE4zlZYtNpSxL%lOv^Ma_Fz4cD(G4HPcjJ#}m2*Pf$X2(+ | ||
2017 | zR7+QI&HyLj;5;ds2OMt(NBmD_nDTx&Cxhe5;D`^(3^Sr1&PgIE4wVPf4^V<vsrBLl | ||
2018 | zyoRLr=vZX(Q>UAXz_y#Wbj#lNyF#X$c52hsja(9=8=Z|e5*!_9Mr1I*)gMzZ1iNFp | ||
2019 | zT59rTW?BiUVj+^kypGxFF77iEf51<=D>cg$=Wp}R0{XoS^oKx)me|mTGSEjU*UI8; | ||
2020 | zC9ktTXKu=8mL)dXB~lLWW_P)Thvrgk+f_*PHhglCA>xncI}7;<^5>hW^G%7uB{zYW | ||
2021 | zD4ZP&W~jm?KY<r3{879Q#+FPV#~I{UlAvW%XN-xRI+I+3<T{>Q%iyt>?*-gswqdj9 | ||
2022 | z8C#FZH(&I*gD-0cZ)k&CoacO=TQcp@9e=C};RTYBtr0plD3jfZscO&Zj%>|Aw$4Jf | ||
2023 | zYG|EpspaOpsmK;oiEJfRwrVU}dz2-+X{l|g*UTDly3kRA^BZu^#CJ_}jg+OERx3D5 | ||
2024 | z`{7iABbv#^5!rgpoZSy+g4lu%mB?0Vl^HwrDoQA`u*;FJ$pvCroSk}8;NZ&4|4`oi | ||
2025 | z`X+P5xx5Y6Hy`;qbd!P+Yg}WWEa_z=RxDR3?QWIZH%*yHV~t1Nklhk`lT5iBtOCg) | ||
2026 | zgC*yr<@Uqc)bXmyt9VnC5#|w&BMUEgysa|yPU2CO*Vk2E{|Hnh$cFwf^}5QdKt+CR | ||
2027 | z=%euJV&wHnq$ibHYA!@x9Zm{WNRAiDc@fF!O1*{0=r;dQ(P+ds%wy%VzsZ$XflF=z | ||
2028 | zFHyKHuL76+1YWFgk=Ij7WCvR}IhG@@-8JYKyZ&m>)#Um#xrz_o5aB@TO_5j8z$#&< | ||
2029 | zqtUiK=p!6E%#~c8hoq{~hXhY7dHXLxqE=^O+~Qv@ZPeOl{(X`!?~0T)oi%^<%^K_b | ||
2030 | z+4_`yGRC^47h;bG#C{}wnaj;dwp%%#EB18sh_}OI`zko8WD#~#9%r@Sf$cdDDo2B> | ||
2031 | zb6tb}PWIh+ICtE`svc1Jen!6R*7cmOAu>NMCv26b3OwbB2(wpSPr2G9MSBMiW2TP2 | ||
2032 | zq5HvcW(fBha6|q8HpTVW6m!pcXu`_WY0_(S%vDYhMtj-n4+viB!ZNI(<Y_^CAVUj+ | ||
2033 | zIeX8}N^Op$mZ~<jr1OrZ^M<5D{a(Td;<LnDctp%OpE2g-BVx+D$!E!PaKD%;6O`ib | ||
2034 | zgAsVrir?Rv$k-w-X}JL@e`rL3tSFpDc(^^n{u{G*nD9Zy?8x8*!ak1<<NI~1tbi#I | ||
2035 | z|M{F0C+V1#H3n-2d{ZPfY%WR#HNBC{NGzg_7n)&W9jCoV<TKUHhqy-bxjijjP~?;T | ||
2036 | z$qDnB&_ADahvakkSB&o2jeYnrWKQR}^Va=R=o*2JC_;Wt6=}k&@ZjMGL&nP4^X#zn | ||
2037 | zp5L+3(PbI=mKZzVI4@Y*4)?Ks-=2ZP(s-?PcHC|X{X^t!Prj^+1R0VBb4t(JbNaA! | ||
2038 | z&72@BW+pE?gmTE}ut$0gyM3i9(AA$L1_@WyBXfoR*0|yOm-SdW{tC+K3+?1&Y|tt_ | ||
2039 | z5r@+^@G-*oD`XBZS`?2aT^$i$+IHg&1?>}pbL+`fXK9#=&&t`(fB)*9iX+lr^cm7e | ||
2040 | zhui6!;m1us+7poU4<~f2Sdm*Q^ym6@Bzb!hj$tY0<uYm#PgGL+4Yl!f$0Mu~eU6i6 | ||
2041 | zo=BW5=gn~T1$|TEo3k2!@oeH7RbRdMd@y$<Eh#f6p0PH9S4}&=UE)iJe`XhXBE{8s | ||
2042 | z1B)kXsJ)$$NxSAX&|Y6GW~Ht$HDcgXj5c;-?G&Z=mv3X8s~lU|;}3E|xy*UZuO4}T | ||
2043 | zU8n8nR7nH*_V`1Dy|8x~;&~zV=6q(O-{xE|@q?!-hrgM8hcfvYcQKQT=9W~tt3P*O | ||
2044 | zaP__egKsWxmt6{jca=jIp2(6WC1GTnzB?(_WezQ)Fz4!|RpV#&d%D3dJ~Td1z}b?} | ||
2045 | zPq>sSpU?uVEn~6slBY7bGX$&KvLwFWoD{%6yyp{6p=>@dgx%{WRWg&rc_Et=8UQ-f | ||
2046 | zo-Z3Xm%N9-he1eBH|bc6n9JxFun9%3;DmTY_VDz8YRGz0c#+Y9e5Y9`Ve~B$rToV3 | ||
2047 | zY!)u*SF|Ng%0G}VOpwDwa+plo-OPI4K5!u1hL7pHSY!OrsrD`c{L$@Q1jFA=&ZHE6 | ||
2048 | za?Z<r@8;HK#x~?wRQ>P)3%;G3Ovsp?oY(fkZ5mPqCvy@iln|aEiNf*t>l(8?WD!&J | ||
2049 | znyz<p>RX}IZ)&Iad6hssNWK4+cQwCH1+U)wIRhab^L<-IkI7qs*+1M2MlamXi4wXl | ||
2050 | z>P-YWHORMv@=$Vr;SKCvu<Vm{HhZ-6^{R$tqNO65@j?^bG%9@?oK8*VHw5xUFGj | ||
2051 | zwl7^D{xbE5=i7|#pbnmmNsaV;BOkgvJL{A#-&=eU<rSB%Nn(3{{=u)BMf*px(k}G< | ||
2052 | zp<|$jllDEWe&Md#7b)+6+(Ghn;}>OIB(lpXKrdDolJmiwkEl~Tja=>?or}Y-IXV|V | ||
2053 | zj5=KWW`>J56eyh@_~*UW<{eKjI23#Er5+ADh0^^FCu7RV>RuX-;K|vPvM5#N+2|EH | ||
2054 | z5=kA1tuHegMO@Q)KRp%jT-qMlWfd5)*|8It`y*@~VGC11&k_yu5auOpfhRj`u7-ID | ||
2055 | z^AUE2=HbQ*Xqb=Om`g6m!N=rLIpNVWG0C|cXsm&zbHg@~b>RcO#+PqyX!e9?0ay^y | ||
2056 | zV~PcH1@O(sF5L%DqO;z@i^5L|JA5*e<V)rFD&V8|5sMs-k*5NAD#f!Whd1G)fNVbU | ||
2057 | z)e2;B*m3gs2U5LG+qL==AN1iTdr@MuKd;nFD@KAlc6eV0M|qo=L?@Ikso=fHZqqzD | ||
2058 | zT=rFFbJ@pCGGPw4d}Y~O_KnWwvacwc%f3O`T=wBfPR$*`W$y=Yl@Y_I&pDdKru3lq | ||
2059 | zPa?zc9_v-*&ugOXoBV~P1*tLSa;0dF$b@~~QHiWgiJXiBHW81U3$ZM$o=>VpRxD&C | ||
2060 | z&n(h7)ha9V%(<CxS|{?7XR5R$Zul9Qa4+F9cU+;Ral<EN!hJ}%EjI(x59`UGqo7>o | ||
2061 | z{qI22-wsWT_e4`EEo%ypAm0q2g<N5@n@G@FF0B=2Qu$7kNC}WBDMqU3g)&ouUZ`Zb | ||
2062 | z6}^Bi7U|$k^}-DFLItNAx_Y6=3?j`Ua6I%5c=TYoc(7a??Ja#RydF=uQ23taBpCD4 | ||
2063 | z2hba`oAO!uWOkLA;Ysrfb4+`GWek0W#d8axU0jdwg@y6l$KdJA;rjcx({su9;!N>3 | ||
2064 | zf#!7#;lvxLhtpPaJeJ+=)C00=NBZMs=Jfq(@I`w5dZ$N`emuvf%=@O+y4O6Gsq0^y | ||
2065 | zu&(dO)P-Bu-|bV^w`IcJy8cF=y55xuckBA<K6QOvCj7{{zTBbrnGC&n<5K$L$>tX_ | ||
2066 | z>ACc>{zDvBwtk!mcj-N=553>bguC>f+K1k6WWtZ6*Dtb}@}@5oeXOg0@^-tv#h}5J | ||
2067 | zN~uBjc|Fe=2^ERK1FKB?f(nsPdQ>Eo9u=9C9@Q*xC6pd@e5Oa0ukNU%ef$zR=ZS<m | ||
2068 | z@6R9^zb21wArs#vj5X2kiR66~$;;ipQ=}_t0TKCY>)7XcLS)UqDpfH@Ms2Qy{T?1V | ||
2069 | z687iANZ2bP<F@ptf8BBL<J*o>iiw$0j6)Mczi47pEKj0|GbIsCJU&|!JCtwfSCZ!A | ||
2070 | zlw=qsVg0aAN!CkAMzc@$>|>SW);=Yf|M5AzKV@r5@?Ilc<enpC6<a{+)_ez9oKYG` | ||
2071 | zoh>^!D79*q(sA@}AM=*go0@C0^}N|~I7`o)&Dnb1T%OJjtIyW+2ET05b@~Ux$x!|E | ||
2072 | z{HHP-Ay&Ms0Ju7@wzsG1`4`4IoT*0WlW2`!cHF8K=(D_^%zF_Ue^fgw>Y_!HgDjZ| | ||
2073 | zXBA9Vj>O&<oznA-)UNc~LD{R+*k7xt1&bZ|QHOs}=K1?z_Mt}XwjrvYde%eD^y5<F | ||
2074 | zZ;vEUY(w&sgShpjhI9rWR+{EP)9)RcGCIztfZVlKv`mgwU?$LxjxL8|sbA6g$B;wj | ||
2075 | z$gs~v7HoMJ4;}6A4}LUNB*T{0^!wS;X<N_4%WiE)kx?^BWVGn}$ClB9=ZcKdcKdMN | ||
2076 | z<@AStpse-I*ymf6x05=QQCyCW;;5GoWnO33E=F(E^)5zGeB=H=v$5w|eTnJUq;;&g | ||
2077 | z0<55T6MpcNGhLP2J6;Zb#__SaHG5pV|C}B_{prW)AZgDyS{lq}n4+0kBW+K}8EKn% | ||
2078 | zc1q6p+FpNQ{!7j|DH@&Z>NI8~Y3oYkyW(S7&6V-@+4eSTp*F_TiGVRDr5L$*!C<{K | ||
2079 | zo!<5Wyx{!7-ct^#3C{;PtYFG~{(uDP>H|4r-J+)-jOP#MioXBhUc5J%WgTZmS|X#K | ||
2080 | z_j_yz^J3#jxqz7*u{a84rsMsW72}m&4D}EaKM7q~$(%=O0TKSIN11x<o#_b*jUO<Y | ||
2081 | z>~czghh4kG<hnrV{}NAp+xbt6q%IAAmH*2>D=Yrl6{lV`G4npI?3Br8RZg9j0Zb`h | ||
2082 | zJ@=f<+nU)Ef|KTquMDrPt&6N%zoFg<xqM?oV^g&GiWV0$7H{3OdCS%--S>X?Q1!g| | ||
2083 | z3l^TcXt4u7@BAefEL~Rf`Q<L&g)3Hm;i6R+Ut+%prq7r;>$KC)s5;YrUl^`$h}2o} | ||
2084 | zsMXTiWL+3(ibWRBx8}{;oNr8ReblOpY^tw~Sdo^NXiL7atXQnR&Z0Igt5zT7DOS5- | ||
2085 | zbyHMf@s@_EtxffDE55ZkVoY<qWk&1F8M7@O$Rlbsgj?1F&mU)*#Z8;S4J1}uyV+V7 | ||
2086 | zZD|b0`F>6oEL>OD5{bo3jO49#Hkq62;~R)D$C&t0p^Ka1P}<rYx0Xj@%~1+tRX0Ry | ||
2087 | zH(K+<@$hV+AG({v#FwY$mdK{nWIspW;v4E?_S=HmjdjF`)!F>e$X3O=#<(?O*3`9I | ||
2088 | z<B`~8(mFQQ%o)8{k`J`h*R_Tlta;Jarno>Xhk}|7TVvMzmikQ*3$AB}G(<OBwObo3 | ||
2089 | zhYMM8Hbla83brO%8|oFwNzLZsv_`lVULVO$4ce#HMVcc`b&;m{7XwqzxXh)XZ%EbD | ||
2090 | z>8D+m;ZAhD6|RlfN1LqLXq}|zgv^UJt*c+(+7i~V`lfYJH>6P!r$N_LAwG+0d4=8# | ||
2091 | z?OzPI`5X~4{g@#$2$^jKwyf*-mv4H-+HOy#W`Qv)n_{ia&C!-P0=}uf1!^5}Mz*Pn | ||
2092 | zhB~V$8n@O*;?`Of5=Yi+vy0asb6q4HZ$&Pxwe|5>Rw^-4Iab&aIeg*sa5RgDW?r~S | ||
2093 | zNRdPc6OLx*ySb%49<gF^a*jz$-4Kn@R_qc@Z6c0CcwH2_G#$IxR(wOmx*#+!BSa2? | ||
2094 | zq#bTj#Bc)z50iLfq%qpERobD|5~+=dK(1|Fw=U8``$KAGTXikr`X;Ns<%*co7PIo7 | ||
2095 | zjf7{%(Uu--Bynx&i))sUC|qlbS>y7}(nx%Bv}L2UHYz2KhpCsQ^(dp>ka`qIJ-Xpa | ||
2096 | zTfpqLUui80Hz+E#=cdsR4c8Ids*5&7reqScHbz>SA`O~muYMC;YuSa?x|V381=oa# | ||
2097 | zd;@W-S6p1PVD-Ft7g>=l&5>H9#Vn1w0+Yqwb+q2P?0U)28FABdYQk97%9zlV#r)Y; | ||
2098 | zd0@tt*~j|H&yppPm&G-1t%<I(Q(IiKX_gBmxw=aCAC6?<oSuaf6P;(rUa@dR4HDL} | ||
2099 | zDbh0A0$L6K*P;Barf_3qwl%3dHc8W29=W155))3VAc|rZ6|kv3Y|URZuV%I-e<m+4 | ||
2100 | zuRJib&g7q4ze!MAo2~FVlrLl{8a1xTK!D)pNe$urMkZFh2yxU>0kJB|>n&BOR<x;M | ||
2101 | z>tv+h6nd8lR`ZrfLw!^079@z=EK8`*$XT6L9wTO*b$+#KW2O7(7%qaAUVAY(2T`p} | ||
2102 | z8=In=o9vFw%+Iu(NTgAk*xHB{w(S0?a`94x21c3unsAF&YX&qsUlTJI)YBQlg;;Z# | ||
2103 | z&N3Eh4x=1tOEj4bt}#m-X?4q1S-Wn%g+iv`Iov;A1=oSWr$#$nTFtW7xD{RJwo^pg | ||
2104 | zs&(41NXyEVi|1Dwk*(}&s{3-B2N%V?V-j)RaQ(ephq?YaoxXg9eb?u@-e-CLYrig! | ||
2105 | zJ2ZZaa%|_i<9|l;<?!M1Xa8q${!*S?{!#vd<;#~XpFL>MplVdr%H>O__r5UE{Mugo | ||
2106 | zgrLnQ#c6P{Xajn?F4`!nT3WSLF(28r+q^V8=^HS5(C8?+$&$v=S}#$08}GDf#sqP& | ||
2107 | zoIRVfSZ7Z+<*{;=G0uVD$(X?GfQB$sKyJSNo&Qf)z)qK8m-8obDu3zp{e@gtakX*X | ||
2108 | z&h-G-6I|Wt^iPIzRTJe?u1}n(A9Mf6dHztWGwHje_11}zh_=aJj;Vy!1EgxBMXVNw | ||
2109 | zCEBUblBtK#yz?#E`^HE-CfXQoTCGjtwP;inNWY$S3YfO;uzNE!R(xH&c{c3Lx8%uf | ||
2110 | z>Y_44Kjmitm${%Un5ZMI;0*TWmMG-f79gF+7c!l|QDRq$hKgh~lw_Bcwj)28ltqLb | ||
2111 | z^IOaVNgI4ufA;ECWAxcJ8$?&3pKZ<FN8w8v<uPOTJjkQ=s-lyf_~F`G>{q&*XoGe< | ||
2112 | zroN#evL54EQ;#a$^hf<Dh_{5BVwfwK(Z)2<xwJB9&={?VzeAZAd9nH{rMF%m#lp~j | ||
2113 | z%`TcvPh?ANBvOak4R5J$Y;Cj?$RsUMjo1UNO-MxT2B~VJEixNmnp>jrXl=Bi51J7( | ||
2114 | zv@c{`OL%=FEzu^UiHtE*!%cLb3#p&DiA7sm=uBFot=MM{l`EH?zjWC}OU>eW7t~m) | ||
2115 | zEv)h7vGI2Kw0E<jwY9A+Es~Vm9j`@t9XUmc)ljQDP7J5dk?KQL=pf3i8#@OV!8V%9 | ||
2116 | z>!xJvCdZE69F7qi4dHgsW^IEq-bAsk;<VWZ&Zd1<9sjzQ_Ie_mzcf5MZK35SKT4<X | ||
2117 | z+kO1&-W!h}exmrt3(rnlX!*$)@)~^n>)y|RbD}hk6`q~8&~iUzzjw#+uX~{TL^ywG | ||
2118 | zcy`+N-?%U{XCX=zb<4=z!di?t<{0xS;ns$@X$Y^4G#Gm@V2oJnEl6d!S;oO)$2T@g | ||
2119 | zb8~IdtbtRc4m;HDjIB@%1)`c_QcJCMwuQ|mieQq{B**1ftZQwuN6F=}DQYNM(>6pK | ||
2120 | zBh%s=TH_n0F*b`dOuHh|*gB1YM{L@KOO`F1)=<AzE|kf%USn{Imcc5opNxKW!K-E1 | ||
2121 | zvRccznyk$NnTTON#W9biJ6~77#kHv$=mf^OI4c<a$skKrZ7kj*{h6bR1y2WibrB{X | ||
2122 | zBtV9WZlY?J+6r2X2purh$15{5N%%CgqGhW@JR(wzF4DL(^a*unJyn^c-Iq=YDb0cD | ||
2123 | zYNQ_X2W=9Vu`2swuKQTS0_}E$i(nk{Z-^V;9s}6J0wbf{)v9w_R%1`q*Vfw#dbZWa | ||
2124 | z0w-<7Y>L#c->?=<eSGA8xZyemVe$G{MD+iWDcg3<i`XqMV1xg)U!R4}&w}HYQ*e)l | ||
2125 | ze>9lH>5uQ?x%UiCO*;M3<tMmyogh3b{>!W$zBsEd{>zW_g}sao>gM?(`M>-@@B1s4 | ||
2126 | z+RuH`V4NcOFTAG4ZSPOoe&o~E@`v&2+~lsNtaD4-Z;o}#EwJUtxv?Qg@BjV%9|!*0 | ||
2127 | zIFNhoh|7g0?&mr8D(61lxfeKhxyfISee*WUJ(@oJXXpJn`;MoM{`uVZfzG?%33pq< | ||
2128 | z8P5Aj&fN_k<-EJMT>BwM>EJofe)n|ScY}wn{%QPZI{mS{IY`i#{?HCKBc1#I(_8Mf | ||
2129 | zl{=4?VD7bf-xfIcYwi0;JkI64^d9>@L+Q=kE^okh9JodA*G~UH?_d6>MfQEW+&uCl | ||
2130 | zf4SFn>)rjyy>^ZJi0>kQ8B7=afA`PE0k5F_@3=?o+UqW?m7c(3{>JGR++ITakL>i_ | ||
2131 | zXZNmT=I(fJ3lBB=V$;(<{E@71CECF~;#S)b##qGciOFR0^y!s>%79g|oN?-+aNK#H | ||
2132 | zI=!+nTG!eTIW^KyRXM9NaB9_QXI7mW4xBN4U2WZIlUc2eZNQL?hu50Qcw|f5RMyLa | ||
2133 | zU$d#ic#l-BZ)&Yv+gjgHH?_Xb=-Y;HY=fz++u9V{+GyY7EvB+1(hwFPPf?lkA%tH6 | ||
2134 | z15mVZV|^_tM9INMSj$3WWi2BH47MZ6_7?&~*SP#tz2vq(@$}I@PtFtl(suQZfQNIr | ||
2135 | z@g3fKt89GtZid<KnO_%Q0L5I6KEp{$|Ge7H@tJb&_*C`%bM&nO1N=JrH50$tMz{4b | ||
2136 | z&l|WLovR^vcDSm<Dd@vP&byocbN0K}xwGT@=<x;ZbS_t4JMn#f3BW7SxtjzpQbs2{ | ||
2137 | zqlzV5bfAw*{@nOZzM1~Q?H6pUUVh8_LN1pdPJFjtaPOXOaE?}f$-jontq+Z#du>h^ | ||
2138 | zFrXvtyD9oW-+O;t{t09imm6Qpf&Ld5Q0LC{tiJdDWXF#Hc4>3t?^INe+mCn(cz0z) | ||
2139 | zg53B5XAZ7^{?l#|B;#@JcKs{J`EldRomr*+@f~tKF4-A5cGGa<%llR?_uZjCC~#7p | ||
2140 | zQKk0@_gZ?-{0P~Zzim9Z{Btw31Ks!xV>8%Ji1RM-<Z|W50lT3yu6CZT?;DWG&-^!P | ||
2141 | CjQ7O= | ||
2142 | |||
2143 | -- | ||
2144 | 2.31.1 | diff view generated by jsdifflib |
1 | From: Tony Krowiak <akrowiak@linux.ibm.com> | 1 | From: Richard Henderson <richard.henderson@linaro.org> |
---|---|---|---|
2 | 2 | ||
3 | This patch provides documentation describing the AP architecture and | 3 | There is nothing to distinguish this from DISAS_NORETURN. |
4 | design concepts behind the virtualization of AP devices. It also | ||
5 | includes an example of how to configure AP devices for exclusive | ||
6 | use of KVM guests. | ||
7 | 4 | ||
8 | Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> | 5 | Signed-off-by: Richard Henderson <richard.henderson@linaro.org> |
9 | Reviewed-by: Pierre Morel <pmorel@linux.ibm.com> | 6 | Message-Id: <20220702060228.420454-2-richard.henderson@linaro.org> |
10 | Tested-by: Pierre Morel <pmorel@linux.ibm.com> | 7 | Signed-off-by: Thomas Huth <thuth@redhat.com> |
11 | Tested-by: Christian Borntraeger <borntraeger@de.ibm.com> | ||
12 | Message-Id: <20181010170309.12045-7-akrowiak@linux.ibm.com> | ||
13 | Signed-off-by: Cornelia Huck <cohuck@redhat.com> | ||
14 | --- | 8 | --- |
15 | MAINTAINERS | 2 + | 9 | target/s390x/tcg/translate.c | 8 ++------ |
16 | docs/vfio-ap.txt | 825 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ | 10 | 1 file changed, 2 insertions(+), 6 deletions(-) |
17 | 2 files changed, 827 insertions(+) | ||
18 | create mode 100644 docs/vfio-ap.txt | ||
19 | 11 | ||
20 | diff --git a/MAINTAINERS b/MAINTAINERS | 12 | diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c |
21 | index XXXXXXX..XXXXXXX 100644 | 13 | index XXXXXXX..XXXXXXX 100644 |
22 | --- a/MAINTAINERS | 14 | --- a/target/s390x/tcg/translate.c |
23 | +++ b/MAINTAINERS | 15 | +++ b/target/s390x/tcg/translate.c |
24 | @@ -XXX,XX +XXX,XX @@ F: include/hw/watchdog/wdt_diag288.h | 16 | @@ -XXX,XX +XXX,XX @@ typedef struct { |
25 | F: pc-bios/s390-ccw/ | 17 | exiting the TB. */ |
26 | F: pc-bios/s390-ccw.img | 18 | #define DISAS_PC_UPDATED DISAS_TARGET_0 |
27 | F: target/s390x/ | 19 | |
28 | +F: docs/vfio-ap.txt | 20 | -/* We have emitted one or more goto_tb. No fixup required. */ |
29 | K: ^Subject:.*(?i)s390x? | 21 | -#define DISAS_GOTO_TB DISAS_TARGET_1 |
30 | T: git git://github.com/cohuck/qemu.git s390-next | 22 | - |
31 | L: qemu-s390x@nongnu.org | 23 | /* We have updated the PC and CC values. */ |
32 | @@ -XXX,XX +XXX,XX @@ F: hw/s390x/ap-bridge.c | 24 | #define DISAS_PC_CC_UPDATED DISAS_TARGET_2 |
33 | F: include/hw/s390x/ap-device.h | 25 | |
34 | F: include/hw/s390x/ap-bridge.h | 26 | @@ -XXX,XX +XXX,XX @@ static DisasJumpType help_goto_direct(DisasContext *s, uint64_t dest) |
35 | F: hw/vfio/ap.c | 27 | tcg_gen_goto_tb(0); |
36 | +F: docs/vfio-ap.txt | 28 | tcg_gen_movi_i64(psw_addr, dest); |
37 | L: qemu-s390x@nongnu.org | 29 | tcg_gen_exit_tb(s->base.tb, 0); |
38 | 30 | - return DISAS_GOTO_TB; | |
39 | vhost | 31 | + return DISAS_NORETURN; |
40 | diff --git a/docs/vfio-ap.txt b/docs/vfio-ap.txt | 32 | } else { |
41 | new file mode 100644 | 33 | tcg_gen_movi_i64(psw_addr, dest); |
42 | index XXXXXXX..XXXXXXX | 34 | per_branch(s, false); |
43 | --- /dev/null | 35 | @@ -XXX,XX +XXX,XX @@ static DisasJumpType help_branch(DisasContext *s, DisasCompare *c, |
44 | +++ b/docs/vfio-ap.txt | 36 | tcg_gen_movi_i64(psw_addr, dest); |
45 | @@ -XXX,XX +XXX,XX @@ | 37 | tcg_gen_exit_tb(s->base.tb, 1); |
46 | +Adjunct Processor (AP) Device | 38 | |
47 | +============================= | 39 | - ret = DISAS_GOTO_TB; |
48 | + | 40 | + ret = DISAS_NORETURN; |
49 | +Contents: | 41 | } else { |
50 | +========= | 42 | /* Fallthru can use goto_tb, but taken branch cannot. */ |
51 | +* Introduction | 43 | /* Store taken branch destination before the brcond. This |
52 | +* AP Architectural Overview | 44 | @@ -XXX,XX +XXX,XX @@ static void s390x_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) |
53 | +* Start Interpretive Execution (SIE) Instruction | 45 | DisasContext *dc = container_of(dcbase, DisasContext, base); |
54 | +* AP Matrix Configuration on Linux Host | 46 | |
55 | +* Starting a Linux Guest Configured with an AP Matrix | 47 | switch (dc->base.is_jmp) { |
56 | +* Example: Configure AP Matrices for Three Linux Guests | 48 | - case DISAS_GOTO_TB: |
57 | + | 49 | case DISAS_NORETURN: |
58 | +Introduction: | 50 | break; |
59 | +============ | 51 | case DISAS_TOO_MANY: |
60 | +The IBM Adjunct Processor (AP) Cryptographic Facility is comprised | ||
61 | +of three AP instructions and from 1 to 256 PCIe cryptographic adapter cards. | ||
62 | +These AP devices provide cryptographic functions to all CPUs assigned to a | ||
63 | +linux system running in an IBM Z system LPAR. | ||
64 | + | ||
65 | +On s390x, AP adapter cards are exposed via the AP bus. This document | ||
66 | +describes how those cards may be made available to KVM guests using the | ||
67 | +VFIO mediated device framework. | ||
68 | + | ||
69 | +AP Architectural Overview: | ||
70 | +========================= | ||
71 | +In order understand the terminology used in the rest of this document, let's | ||
72 | +start with some definitions: | ||
73 | + | ||
74 | +* AP adapter | ||
75 | + | ||
76 | + An AP adapter is an IBM Z adapter card that can perform cryptographic | ||
77 | + functions. There can be from 0 to 256 adapters assigned to an LPAR depending | ||
78 | + on the machine model. Adapters assigned to the LPAR in which a linux host is | ||
79 | + running will be available to the linux host. Each adapter is identified by a | ||
80 | + number from 0 to 255; however, the maximum adapter number allowed is | ||
81 | + determined by machine model. When installed, an AP adapter is accessed by | ||
82 | + AP instructions executed by any CPU. | ||
83 | + | ||
84 | +* AP domain | ||
85 | + | ||
86 | + An adapter is partitioned into domains. Each domain can be thought of as | ||
87 | + a set of hardware registers for processing AP instructions. An adapter can | ||
88 | + hold up to 256 domains; however, the maximum domain number allowed is | ||
89 | + determined by machine model. Each domain is identified by a number from 0 to | ||
90 | + 255. Domains can be further classified into two types: | ||
91 | + | ||
92 | + * Usage domains are domains that can be accessed directly to process AP | ||
93 | + commands | ||
94 | + | ||
95 | + * Control domains are domains that are accessed indirectly by AP | ||
96 | + commands sent to a usage domain to control or change the domain; for | ||
97 | + example, to set a secure private key for the domain. | ||
98 | + | ||
99 | +* AP Queue | ||
100 | + | ||
101 | + An AP queue is the means by which an AP command-request message is sent to an | ||
102 | + AP usage domain inside a specific AP. An AP queue is identified by a tuple | ||
103 | + comprised of an AP adapter ID (APID) and an AP queue index (APQI). The | ||
104 | + APQI corresponds to a given usage domain number within the adapter. This tuple | ||
105 | + forms an AP Queue Number (APQN) uniquely identifying an AP queue. AP | ||
106 | + instructions include a field containing the APQN to identify the AP queue to | ||
107 | + which the AP command-request message is to be sent for processing. | ||
108 | + | ||
109 | +* AP Instructions: | ||
110 | + | ||
111 | + There are three AP instructions: | ||
112 | + | ||
113 | + * NQAP: to enqueue an AP command-request message to a queue | ||
114 | + * DQAP: to dequeue an AP command-reply message from a queue | ||
115 | + * PQAP: to administer the queues | ||
116 | + | ||
117 | + AP instructions identify the domain that is targeted to process the AP | ||
118 | + command; this must be one of the usage domains. An AP command may modify a | ||
119 | + domain that is not one of the usage domains, but the modified domain | ||
120 | + must be one of the control domains. | ||
121 | + | ||
122 | +Start Interpretive Execution (SIE) Instruction | ||
123 | +============================================== | ||
124 | +A KVM guest is started by executing the Start Interpretive Execution (SIE) | ||
125 | +instruction. The SIE state description is a control block that contains the | ||
126 | +state information for a KVM guest and is supplied as input to the SIE | ||
127 | +instruction. The SIE state description contains a satellite control block called | ||
128 | +the Crypto Control Block (CRYCB). The CRYCB contains three fields to identify | ||
129 | +the adapters, usage domains and control domains assigned to the KVM guest: | ||
130 | + | ||
131 | +* The AP Mask (APM) field is a bit mask that identifies the AP adapters assigned | ||
132 | + to the KVM guest. Each bit in the mask, from left to right, corresponds to | ||
133 | + an APID from 0-255. If a bit is set, the corresponding adapter is valid for | ||
134 | + use by the KVM guest. | ||
135 | + | ||
136 | +* The AP Queue Mask (AQM) field is a bit mask identifying the AP usage domains | ||
137 | + assigned to the KVM guest. Each bit in the mask, from left to right, | ||
138 | + corresponds to an AP queue index (APQI) from 0-255. If a bit is set, the | ||
139 | + corresponding queue is valid for use by the KVM guest. | ||
140 | + | ||
141 | +* The AP Domain Mask field is a bit mask that identifies the AP control domains | ||
142 | + assigned to the KVM guest. The ADM bit mask controls which domains can be | ||
143 | + changed by an AP command-request message sent to a usage domain from the | ||
144 | + guest. Each bit in the mask, from left to right, corresponds to a domain from | ||
145 | + 0-255. If a bit is set, the corresponding domain can be modified by an AP | ||
146 | + command-request message sent to a usage domain. | ||
147 | + | ||
148 | +If you recall from the description of an AP Queue, AP instructions include | ||
149 | +an APQN to identify the AP adapter and AP queue to which an AP command-request | ||
150 | +message is to be sent (NQAP and PQAP instructions), or from which a | ||
151 | +command-reply message is to be received (DQAP instruction). The validity of an | ||
152 | +APQN is defined by the matrix calculated from the APM and AQM; it is the | ||
153 | +cross product of all assigned adapter numbers (APM) with all assigned queue | ||
154 | +indexes (AQM). For example, if adapters 1 and 2 and usage domains 5 and 6 are | ||
155 | +assigned to a guest, the APQNs (1,5), (1,6), (2,5) and (2,6) will be valid for | ||
156 | +the guest. | ||
157 | + | ||
158 | +The APQNs can provide secure key functionality - i.e., a private key is stored | ||
159 | +on the adapter card for each of its domains - so each APQN must be assigned to | ||
160 | +at most one guest or the linux host. | ||
161 | + | ||
162 | + Example 1: Valid configuration: | ||
163 | + ------------------------------ | ||
164 | + Guest1: adapters 1,2 domains 5,6 | ||
165 | + Guest2: adapter 1,2 domain 7 | ||
166 | + | ||
167 | + This is valid because both guests have a unique set of APQNs: Guest1 has | ||
168 | + APQNs (1,5), (1,6), (2,5) and (2,6); Guest2 has APQNs (1,7) and (2,7). | ||
169 | + | ||
170 | + Example 2: Valid configuration: | ||
171 | + ------------------------------ | ||
172 | + Guest1: adapters 1,2 domains 5,6 | ||
173 | + Guest2: adapters 3,4 domains 5,6 | ||
174 | + | ||
175 | + This is also valid because both guests have a unique set of APQNs: | ||
176 | + Guest1 has APQNs (1,5), (1,6), (2,5), (2,6); | ||
177 | + Guest2 has APQNs (3,5), (3,6), (4,5), (4,6) | ||
178 | + | ||
179 | + Example 3: Invalid configuration: | ||
180 | + -------------------------------- | ||
181 | + Guest1: adapters 1,2 domains 5,6 | ||
182 | + Guest2: adapter 1 domains 6,7 | ||
183 | + | ||
184 | + This is an invalid configuration because both guests have access to | ||
185 | + APQN (1,6). | ||
186 | + | ||
187 | +AP Matrix Configuration on Linux Host: | ||
188 | +===================================== | ||
189 | +A linux system is a guest of the LPAR in which it is running and has access to | ||
190 | +the AP resources configured for the LPAR. The LPAR's AP matrix is | ||
191 | +configured via its Activation Profile which can be edited on the HMC. When the | ||
192 | +linux system is started, the AP bus will detect the AP devices assigned to the | ||
193 | +LPAR and create the following in sysfs: | ||
194 | + | ||
195 | +/sys/bus/ap | ||
196 | +... [devices] | ||
197 | +...... xx.yyyy | ||
198 | +...... ... | ||
199 | +...... cardxx | ||
200 | +...... ... | ||
201 | + | ||
202 | +Where: | ||
203 | + cardxx is AP adapter number xx (in hex) | ||
204 | +....xx.yyyy is an APQN with xx specifying the APID and yyyy specifying the | ||
205 | + APQI | ||
206 | + | ||
207 | +For example, if AP adapters 5 and 6 and domains 4, 71 (0x47), 171 (0xab) and | ||
208 | +255 (0xff) are configured for the LPAR, the sysfs representation on the linux | ||
209 | +host system would look like this: | ||
210 | + | ||
211 | +/sys/bus/ap | ||
212 | +... [devices] | ||
213 | +...... 05.0004 | ||
214 | +...... 05.0047 | ||
215 | +...... 05.00ab | ||
216 | +...... 05.00ff | ||
217 | +...... 06.0004 | ||
218 | +...... 06.0047 | ||
219 | +...... 06.00ab | ||
220 | +...... 06.00ff | ||
221 | +...... card05 | ||
222 | +...... card06 | ||
223 | + | ||
224 | +A set of default device drivers are also created to control each type of AP | ||
225 | +device that can be assigned to the LPAR on which a linux host is running: | ||
226 | + | ||
227 | +/sys/bus/ap | ||
228 | +... [drivers] | ||
229 | +...... [cex2acard] for Crypto Express 2/3 accelerator cards | ||
230 | +...... [cex2aqueue] for AP queues served by Crypto Express 2/3 | ||
231 | + accelerator cards | ||
232 | +...... [cex4card] for Crypto Express 4/5/6 accelerator and coprocessor | ||
233 | + cards | ||
234 | +...... [cex4queue] for AP queues served by Crypto Express 4/5/6 | ||
235 | + accelerator and coprocessor cards | ||
236 | +...... [pcixcccard] for Crypto Express 2/3 coprocessor cards | ||
237 | +...... [pcixccqueue] for AP queues served by Crypto Express 2/3 | ||
238 | + coprocessor cards | ||
239 | + | ||
240 | +Binding AP devices to device drivers | ||
241 | +------------------------------------ | ||
242 | +There are two sysfs files that specify bitmasks marking a subset of the APQN | ||
243 | +range as 'usable by the default AP queue device drivers' or 'not usable by the | ||
244 | +default device drivers' and thus available for use by the alternate device | ||
245 | +driver(s). The sysfs locations of the masks are: | ||
246 | + | ||
247 | + /sys/bus/ap/apmask | ||
248 | + /sys/bus/ap/aqmask | ||
249 | + | ||
250 | + The 'apmask' is a 256-bit mask that identifies a set of AP adapter IDs | ||
251 | + (APID). Each bit in the mask, from left to right (i.e., from most significant | ||
252 | + to least significant bit in big endian order), corresponds to an APID from | ||
253 | + 0-255. If a bit is set, the APID is marked as usable only by the default AP | ||
254 | + queue device drivers; otherwise, the APID is usable by the vfio_ap | ||
255 | + device driver. | ||
256 | + | ||
257 | + The 'aqmask' is a 256-bit mask that identifies a set of AP queue indexes | ||
258 | + (APQI). Each bit in the mask, from left to right (i.e., from most significant | ||
259 | + to least significant bit in big endian order), corresponds to an APQI from | ||
260 | + 0-255. If a bit is set, the APQI is marked as usable only by the default AP | ||
261 | + queue device drivers; otherwise, the APQI is usable by the vfio_ap device | ||
262 | + driver. | ||
263 | + | ||
264 | + Take, for example, the following mask: | ||
265 | + | ||
266 | + 0x7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff | ||
267 | + | ||
268 | + It indicates: | ||
269 | + | ||
270 | + 1, 2, 3, 4, 5, and 7-255 belong to the default drivers' pool, and 0 and 6 | ||
271 | + belong to the vfio_ap device driver's pool. | ||
272 | + | ||
273 | + The APQN of each AP queue device assigned to the linux host is checked by the | ||
274 | + AP bus against the set of APQNs derived from the cross product of APIDs | ||
275 | + and APQIs marked as usable only by the default AP queue device drivers. If a | ||
276 | + match is detected, only the default AP queue device drivers will be probed; | ||
277 | + otherwise, the vfio_ap device driver will be probed. | ||
278 | + | ||
279 | + By default, the two masks are set to reserve all APQNs for use by the default | ||
280 | + AP queue device drivers. There are two ways the default masks can be changed: | ||
281 | + | ||
282 | + 1. The sysfs mask files can be edited by echoing a string into the | ||
283 | + respective sysfs mask file in one of two formats: | ||
284 | + | ||
285 | + * An absolute hex string starting with 0x - like "0x12345678" - sets | ||
286 | + the mask. If the given string is shorter than the mask, it is padded | ||
287 | + with 0s on the right; for example, specifying a mask value of 0x41 is | ||
288 | + the same as specifying: | ||
289 | + | ||
290 | + 0x4100000000000000000000000000000000000000000000000000000000000000 | ||
291 | + | ||
292 | + Keep in mind that the mask reads from left to right (i.e., most | ||
293 | + significant to least significant bit in big endian order), so the mask | ||
294 | + above identifies device numbers 1 and 7 (01000001). | ||
295 | + | ||
296 | + If the string is longer than the mask, the operation is terminated with | ||
297 | + an error (EINVAL). | ||
298 | + | ||
299 | + * Individual bits in the mask can be switched on and off by specifying | ||
300 | + each bit number to be switched in a comma separated list. Each bit | ||
301 | + number string must be prepended with a ('+') or minus ('-') to indicate | ||
302 | + the corresponding bit is to be switched on ('+') or off ('-'). Some | ||
303 | + valid values are: | ||
304 | + | ||
305 | + "+0" switches bit 0 on | ||
306 | + "-13" switches bit 13 off | ||
307 | + "+0x41" switches bit 65 on | ||
308 | + "-0xff" switches bit 255 off | ||
309 | + | ||
310 | + The following example: | ||
311 | + +0,-6,+0x47,-0xf0 | ||
312 | + | ||
313 | + Switches bits 0 and 71 (0x47) on | ||
314 | + Switches bits 6 and 240 (0xf0) off | ||
315 | + | ||
316 | + Note that the bits not specified in the list remain as they were before | ||
317 | + the operation. | ||
318 | + | ||
319 | + 2. The masks can also be changed at boot time via parameters on the kernel | ||
320 | + command line like this: | ||
321 | + | ||
322 | + ap.apmask=0xffff ap.aqmask=0x40 | ||
323 | + | ||
324 | + This would create the following masks: | ||
325 | + | ||
326 | + apmask: | ||
327 | + 0xffff000000000000000000000000000000000000000000000000000000000000 | ||
328 | + | ||
329 | + aqmask: | ||
330 | + 0x4000000000000000000000000000000000000000000000000000000000000000 | ||
331 | + | ||
332 | + Resulting in these two pools: | ||
333 | + | ||
334 | + default drivers pool: adapter 0-15, domain 1 | ||
335 | + alternate drivers pool: adapter 16-255, domains 0, 2-255 | ||
336 | + | ||
337 | +Configuring an AP matrix for a linux guest. | ||
338 | +------------------------------------------ | ||
339 | +The sysfs interfaces for configuring an AP matrix for a guest are built on the | ||
340 | +VFIO mediated device framework. To configure an AP matrix for a guest, a | ||
341 | +mediated matrix device must first be created for the /sys/devices/vfio_ap/matrix | ||
342 | +device. When the vfio_ap device driver is loaded, it registers with the VFIO | ||
343 | +mediated device framework. When the driver registers, the sysfs interfaces for | ||
344 | +creating mediated matrix devices is created: | ||
345 | + | ||
346 | +/sys/devices | ||
347 | +... [vfio_ap] | ||
348 | +......[matrix] | ||
349 | +......... [mdev_supported_types] | ||
350 | +............ [vfio_ap-passthrough] | ||
351 | +............... create | ||
352 | +............... [devices] | ||
353 | + | ||
354 | +A mediated AP matrix device is created by writing a UUID to the attribute file | ||
355 | +named 'create', for example: | ||
356 | + | ||
357 | + uuidgen > create | ||
358 | + | ||
359 | + or | ||
360 | + | ||
361 | + echo $uuid > create | ||
362 | + | ||
363 | +When a mediated AP matrix device is created, a sysfs directory named after | ||
364 | +the UUID is created in the 'devices' subdirectory: | ||
365 | + | ||
366 | +/sys/devices | ||
367 | +... [vfio_ap] | ||
368 | +......[matrix] | ||
369 | +......... [mdev_supported_types] | ||
370 | +............ [vfio_ap-passthrough] | ||
371 | +............... create | ||
372 | +............... [devices] | ||
373 | +.................. [$uuid] | ||
374 | + | ||
375 | +There will also be three sets of attribute files created in the mediated | ||
376 | +matrix device's sysfs directory to configure an AP matrix for the | ||
377 | +KVM guest: | ||
378 | + | ||
379 | +/sys/devices | ||
380 | +... [vfio_ap] | ||
381 | +......[matrix] | ||
382 | +......... [mdev_supported_types] | ||
383 | +............ [vfio_ap-passthrough] | ||
384 | +............... create | ||
385 | +............... [devices] | ||
386 | +.................. [$uuid] | ||
387 | +..................... assign_adapter | ||
388 | +..................... assign_control_domain | ||
389 | +..................... assign_domain | ||
390 | +..................... matrix | ||
391 | +..................... unassign_adapter | ||
392 | +..................... unassign_control_domain | ||
393 | +..................... unassign_domain | ||
394 | + | ||
395 | +assign_adapter | ||
396 | + To assign an AP adapter to the mediated matrix device, its APID is written | ||
397 | + to the 'assign_adapter' file. This may be done multiple times to assign more | ||
398 | + than one adapter. The APID may be specified using conventional semantics | ||
399 | + as a decimal, hexadecimal, or octal number. For example, to assign adapters | ||
400 | + 4, 5 and 16 to a mediated matrix device in decimal, hexadecimal and octal | ||
401 | + respectively: | ||
402 | + | ||
403 | + echo 4 > assign_adapter | ||
404 | + echo 0x5 > assign_adapter | ||
405 | + echo 020 > assign_adapter | ||
406 | + | ||
407 | + In order to successfully assign an adapter: | ||
408 | + | ||
409 | + * The adapter number specified must represent a value from 0 up to the | ||
410 | + maximum adapter number allowed by the machine model. If an adapter number | ||
411 | + higher than the maximum is specified, the operation will terminate with | ||
412 | + an error (ENODEV). | ||
413 | + | ||
414 | + * All APQNs that can be derived from the adapter ID being assigned and the | ||
415 | + IDs of the previously assigned domains must be bound to the vfio_ap device | ||
416 | + driver. If no domains have yet been assigned, then there must be at least | ||
417 | + one APQN with the specified APID bound to the vfio_ap driver. If no such | ||
418 | + APQNs are bound to the driver, the operation will terminate with an | ||
419 | + error (EADDRNOTAVAIL). | ||
420 | + | ||
421 | + No APQN that can be derived from the adapter ID and the IDs of the | ||
422 | + previously assigned domains can be assigned to another mediated matrix | ||
423 | + device. If an APQN is assigned to another mediated matrix device, the | ||
424 | + operation will terminate with an error (EADDRINUSE). | ||
425 | + | ||
426 | +unassign_adapter | ||
427 | + To unassign an AP adapter, its APID is written to the 'unassign_adapter' | ||
428 | + file. This may also be done multiple times to unassign more than one adapter. | ||
429 | + | ||
430 | +assign_domain | ||
431 | + To assign a usage domain, the domain number is written into the | ||
432 | + 'assign_domain' file. This may be done multiple times to assign more than one | ||
433 | + usage domain. The domain number is specified using conventional semantics as | ||
434 | + a decimal, hexadecimal, or octal number. For example, to assign usage domains | ||
435 | + 4, 8, and 71 to a mediated matrix device in decimal, hexadecimal and octal | ||
436 | + respectively: | ||
437 | + | ||
438 | + echo 4 > assign_domain | ||
439 | + echo 0x8 > assign_domain | ||
440 | + echo 0107 > assign_domain | ||
441 | + | ||
442 | + In order to successfully assign a domain: | ||
443 | + | ||
444 | + * The domain number specified must represent a value from 0 up to the | ||
445 | + maximum domain number allowed by the machine model. If a domain number | ||
446 | + higher than the maximum is specified, the operation will terminate with | ||
447 | + an error (ENODEV). | ||
448 | + | ||
449 | + * All APQNs that can be derived from the domain ID being assigned and the IDs | ||
450 | + of the previously assigned adapters must be bound to the vfio_ap device | ||
451 | + driver. If no domains have yet been assigned, then there must be at least | ||
452 | + one APQN with the specified APQI bound to the vfio_ap driver. If no such | ||
453 | + APQNs are bound to the driver, the operation will terminate with an | ||
454 | + error (EADDRNOTAVAIL). | ||
455 | + | ||
456 | + No APQN that can be derived from the domain ID being assigned and the IDs | ||
457 | + of the previously assigned adapters can be assigned to another mediated | ||
458 | + matrix device. If an APQN is assigned to another mediated matrix device, | ||
459 | + the operation will terminate with an error (EADDRINUSE). | ||
460 | + | ||
461 | +unassign_domain | ||
462 | + To unassign a usage domain, the domain number is written into the | ||
463 | + 'unassign_domain' file. This may be done multiple times to unassign more than | ||
464 | + one usage domain. | ||
465 | + | ||
466 | +assign_control_domain | ||
467 | + To assign a control domain, the domain number is written into the | ||
468 | + 'assign_control_domain' file. This may be done multiple times to | ||
469 | + assign more than one control domain. The domain number may be specified using | ||
470 | + conventional semantics as a decimal, hexadecimal, or octal number. For | ||
471 | + example, to assign control domains 4, 8, and 71 to a mediated matrix device | ||
472 | + in decimal, hexadecimal and octal respectively: | ||
473 | + | ||
474 | + echo 4 > assign_domain | ||
475 | + echo 0x8 > assign_domain | ||
476 | + echo 0107 > assign_domain | ||
477 | + | ||
478 | + In order to successfully assign a control domain, the domain number | ||
479 | + specified must represent a value from 0 up to the maximum domain number | ||
480 | + allowed by the machine model. If a control domain number higher than the | ||
481 | + maximum is specified, the operation will terminate with an error (ENODEV). | ||
482 | + | ||
483 | +unassign_control_domain | ||
484 | + To unassign a control domain, the domain number is written into the | ||
485 | + 'unassign_domain' file. This may be done multiple times to unassign more than | ||
486 | + one control domain. | ||
487 | + | ||
488 | +Notes: Hot plug/unplug is not currently supported for mediated AP matrix | ||
489 | +devices, so no changes to the AP matrix will be allowed while a guest using | ||
490 | +the mediated matrix device is running. Attempts to assign an adapter, | ||
491 | +domain or control domain will be rejected and an error (EBUSY) returned. | ||
492 | + | ||
493 | +Starting a Linux Guest Configured with an AP Matrix: | ||
494 | +=================================================== | ||
495 | +To provide a mediated matrix device for use by a guest, the following option | ||
496 | +must be specified on the QEMU command line: | ||
497 | + | ||
498 | + -device vfio_ap,sysfsdev=$path-to-mdev | ||
499 | + | ||
500 | +The sysfsdev parameter specifies the path to the mediated matrix device. | ||
501 | +There are a number of ways to specify this path: | ||
502 | + | ||
503 | +/sys/devices/vfio_ap/matrix/$uuid | ||
504 | +/sys/bus/mdev/devices/$uuid | ||
505 | +/sys/bus/mdev/drivers/vfio_mdev/$uuid | ||
506 | +/sys/devices/vfio_ap/matrix/mdev_supported_types/vfio_ap-passthrough/devices/$uuid | ||
507 | + | ||
508 | +When the linux guest is started, the guest will open the mediated | ||
509 | +matrix device's file descriptor to get information about the mediated matrix | ||
510 | +device. The vfio_ap device driver will update the APM, AQM, and ADM fields in | ||
511 | +the guest's CRYCB with the adapter, usage domain and control domains assigned | ||
512 | +via the mediated matrix device's sysfs attribute files. Programs running on the | ||
513 | +linux guest will then: | ||
514 | + | ||
515 | +1. Have direct access to the APQNs derived from the cross product of the AP | ||
516 | + adapter numbers (APID) and queue indexes (APQI) specified in the APM and AQM | ||
517 | + fields of the guests's CRYCB respectively. These APQNs identify the AP queues | ||
518 | + that are valid for use by the guest; meaning, AP commands can be sent by the | ||
519 | + guest to any of these queues for processing. | ||
520 | + | ||
521 | +2. Have authorization to process AP commands to change a control domain | ||
522 | + identified in the ADM field of the guest's CRYCB. The AP command must be sent | ||
523 | + to a valid APQN (see 1 above). | ||
524 | + | ||
525 | +CPU model features: | ||
526 | + | ||
527 | +Three CPU model features are available for controlling guest access to AP | ||
528 | +facilities: | ||
529 | + | ||
530 | +1. AP facilities feature | ||
531 | + | ||
532 | + The AP facilities feature indicates that AP facilities are installed on the | ||
533 | + guest. This feature will be exposed for use only if the AP facilities | ||
534 | + are installed on the host system. The feature is s390-specific and is | ||
535 | + represented as a parameter of the -cpu option on the QEMU command line: | ||
536 | + | ||
537 | + qemu-system-s390x -cpu $model,ap=on|off | ||
538 | + | ||
539 | + Where: | ||
540 | + | ||
541 | + $model is the CPU model defined for the guest (defaults to the model of | ||
542 | + the host system if not specified). | ||
543 | + | ||
544 | + ap=on|off indicates whether AP facilities are installed (on) or not | ||
545 | + (off). The default for CPU models zEC12 or newer | ||
546 | + is ap=on. AP facilities must be installed on the guest if a | ||
547 | + vfio-ap device (-device vfio-ap,sysfsdev=$path) is configured | ||
548 | + for the guest, or the guest will fail to start. | ||
549 | + | ||
550 | +2. Query Configuration Information (QCI) facility | ||
551 | + | ||
552 | + The QCI facility is used by the AP bus running on the guest to query the | ||
553 | + configuration of the AP facilities. This facility will be available | ||
554 | + only if the QCI facility is installed on the host system. The feature is | ||
555 | + s390-specific and is represented as a parameter of the -cpu option on the | ||
556 | + QEMU command line: | ||
557 | + | ||
558 | + qemu-system-s390x -cpu $model,apqci=on|off | ||
559 | + | ||
560 | + Where: | ||
561 | + | ||
562 | + $model is the CPU model defined for the guest | ||
563 | + | ||
564 | + apqci=on|off indicates whether the QCI facility is installed (on) or | ||
565 | + not (off). The default for CPU models zEC12 or newer | ||
566 | + is apqci=on; for older models, QCI will not be installed. | ||
567 | + | ||
568 | + If QCI is installed (apqci=on) but AP facilities are not | ||
569 | + (ap=off), an error message will be logged, but the guest | ||
570 | + will be allowed to start. It makes no sense to have QCI | ||
571 | + installed if the AP facilities are not; this is considered | ||
572 | + an invalid configuration. | ||
573 | + | ||
574 | + If the QCI facility is not installed, APQNs with an APQI | ||
575 | + greater than 15 will not be detected by the AP bus | ||
576 | + running on the guest. | ||
577 | + | ||
578 | +3. Adjunct Process Facility Test (APFT) facility | ||
579 | + | ||
580 | + The APFT facility is used by the AP bus running on the guest to test the | ||
581 | + AP facilities available for a given AP queue. This facility will be available | ||
582 | + only if the APFT facility is installed on the host system. The feature is | ||
583 | + s390-specific and is represented as a parameter of the -cpu option on the | ||
584 | + QEMU command line: | ||
585 | + | ||
586 | + qemu-system-s390x -cpu $model,apft=on|off | ||
587 | + | ||
588 | + Where: | ||
589 | + | ||
590 | + $model is the CPU model defined for the guest (defaults to the model of | ||
591 | + the host system if not specified). | ||
592 | + | ||
593 | + apft=on|off indicates whether the APFT facility is installed (on) or | ||
594 | + not (off). The default for CPU models zEC12 and | ||
595 | + newer is apft=on for older models, APFT will not be | ||
596 | + installed. | ||
597 | + | ||
598 | + If APFT is installed (apft=on) but AP facilities are not | ||
599 | + (ap=off), an error message will be logged, but the guest | ||
600 | + will be allowed to start. It makes no sense to have APFT | ||
601 | + installed if the AP facilities are not; this is considered | ||
602 | + an invalid configuration. | ||
603 | + | ||
604 | + It also makes no sense to turn APFT off because the AP bus | ||
605 | + running on the guest will not detect CEX4 and newer devices | ||
606 | + without it. Since only CEX4 and newer devices are supported | ||
607 | + for guest usage, no AP devices can be made accessible to a | ||
608 | + guest started without APFT installed. | ||
609 | + | ||
610 | +Example: Configure AP Matrixes for Three Linux Guests: | ||
611 | +===================================================== | ||
612 | +Let's now provide an example to illustrate how KVM guests may be given | ||
613 | +access to AP facilities. For this example, we will show how to configure | ||
614 | +three guests such that executing the lszcrypt command on the guests would | ||
615 | +look like this: | ||
616 | + | ||
617 | +Guest1 | ||
618 | +------ | ||
619 | +CARD.DOMAIN TYPE MODE | ||
620 | +------------------------------ | ||
621 | +05 CEX5C CCA-Coproc | ||
622 | +05.0004 CEX5C CCA-Coproc | ||
623 | +05.00ab CEX5C CCA-Coproc | ||
624 | +06 CEX5A Accelerator | ||
625 | +06.0004 CEX5A Accelerator | ||
626 | +06.00ab CEX5C CCA-Coproc | ||
627 | + | ||
628 | +Guest2 | ||
629 | +------ | ||
630 | +CARD.DOMAIN TYPE MODE | ||
631 | +------------------------------ | ||
632 | +05 CEX5A Accelerator | ||
633 | +05.0047 CEX5A Accelerator | ||
634 | +05.00ff CEX5A Accelerator (5,4), (5,171), (6,4), (6,171), | ||
635 | + | ||
636 | +Guest3 | ||
637 | +------ | ||
638 | +CARD.DOMAIN TYPE MODE | ||
639 | +------------------------------ | ||
640 | +06 CEX5A Accelerator | ||
641 | +06.0047 CEX5A Accelerator | ||
642 | +06.00ff CEX5A Accelerator | ||
643 | + | ||
644 | +These are the steps: | ||
645 | + | ||
646 | +1. Install the vfio_ap module on the linux host. The dependency chain for the | ||
647 | + vfio_ap module is: | ||
648 | + * iommu | ||
649 | + * s390 | ||
650 | + * zcrypt | ||
651 | + * vfio | ||
652 | + * vfio_mdev | ||
653 | + * vfio_mdev_device | ||
654 | + * KVM | ||
655 | + | ||
656 | + To build the vfio_ap module, the kernel build must be configured with the | ||
657 | + following Kconfig elements selected: | ||
658 | + * IOMMU_SUPPORT | ||
659 | + * S390 | ||
660 | + * ZCRYPT | ||
661 | + * S390_AP_IOMMU | ||
662 | + * VFIO | ||
663 | + * VFIO_MDEV | ||
664 | + * VFIO_MDEV_DEVICE | ||
665 | + * KVM | ||
666 | + | ||
667 | + If using make menuconfig select the following to build the vfio_ap module: | ||
668 | + -> Device Drivers | ||
669 | + -> IOMMU Hardware Support | ||
670 | + select S390 AP IOMMU Support | ||
671 | + -> VFIO Non-Privileged userspace driver framework | ||
672 | + -> Mediated device driver frramework | ||
673 | + -> VFIO driver for Mediated devices | ||
674 | + -> I/O subsystem | ||
675 | + -> VFIO support for AP devices | ||
676 | + | ||
677 | +2. Secure the AP queues to be used by the three guests so that the host can not | ||
678 | + access them. To secure the AP queues 05.0004, 05.0047, 05.00ab, 05.00ff, | ||
679 | + 06.0004, 06.0047, 06.00ab, and 06.00ff for use by the vfio_ap device driver, | ||
680 | + the corresponding APQNs must be removed from the default queue drivers pool | ||
681 | + as follows: | ||
682 | + | ||
683 | + echo -5,-6 > /sys/bus/ap/apmask | ||
684 | + | ||
685 | + echo -4,-0x47,-0xab,-0xff > /sys/bus/ap/aqmask | ||
686 | + | ||
687 | + This will result in AP queues 05.0004, 05.0047, 05.00ab, 05.00ff, 06.0004, | ||
688 | + 06.0047, 06.00ab, and 06.00ff getting bound to the vfio_ap device driver. The | ||
689 | + sysfs directory for the vfio_ap device driver will now contain symbolic links | ||
690 | + to the AP queue devices bound to it: | ||
691 | + | ||
692 | + /sys/bus/ap | ||
693 | + ... [drivers] | ||
694 | + ...... [vfio_ap] | ||
695 | + ......... [05.0004] | ||
696 | + ......... [05.0047] | ||
697 | + ......... [05.00ab] | ||
698 | + ......... [05.00ff] | ||
699 | + ......... [06.0004] | ||
700 | + ......... [06.0047] | ||
701 | + ......... [06.00ab] | ||
702 | + ......... [06.00ff] | ||
703 | + | ||
704 | + Keep in mind that only type 10 and newer adapters (i.e., CEX4 and later) | ||
705 | + can be bound to the vfio_ap device driver. The reason for this is to | ||
706 | + simplify the implementation by not needlessly complicating the design by | ||
707 | + supporting older devices that will go out of service in the relatively near | ||
708 | + future, and for which there are few older systems on which to test. | ||
709 | + | ||
710 | + The administrator, therefore, must take care to secure only AP queues that | ||
711 | + can be bound to the vfio_ap device driver. The device type for a given AP | ||
712 | + queue device can be read from the parent card's sysfs directory. For example, | ||
713 | + to see the hardware type of the queue 05.0004: | ||
714 | + | ||
715 | + cat /sys/bus/ap/devices/card05/hwtype | ||
716 | + | ||
717 | + The hwtype must be 10 or higher (CEX4 or newer) in order to be bound to the | ||
718 | + vfio_ap device driver. | ||
719 | + | ||
720 | +3. Create the mediated devices needed to configure the AP matrixes for the | ||
721 | + three guests and to provide an interface to the vfio_ap driver for | ||
722 | + use by the guests: | ||
723 | + | ||
724 | + /sys/devices/vfio_ap/matrix/ | ||
725 | + --- [mdev_supported_types] | ||
726 | + ------ [vfio_ap-passthrough] (passthrough mediated matrix device type) | ||
727 | + --------- create | ||
728 | + --------- [devices] | ||
729 | + | ||
730 | + To create the mediated devices for the three guests: | ||
731 | + | ||
732 | + uuidgen > create | ||
733 | + uuidgen > create | ||
734 | + uuidgen > create | ||
735 | + | ||
736 | + or | ||
737 | + | ||
738 | + echo $uuid1 > create | ||
739 | + echo $uuid2 > create | ||
740 | + echo $uuid3 > create | ||
741 | + | ||
742 | + This will create three mediated devices in the [devices] subdirectory named | ||
743 | + after the UUID used to create the mediated device. We'll call them $uuid1, | ||
744 | + $uuid2 and $uuid3 and this is the sysfs directory structure after creation: | ||
745 | + | ||
746 | + /sys/devices/vfio_ap/matrix/ | ||
747 | + --- [mdev_supported_types] | ||
748 | + ------ [vfio_ap-passthrough] | ||
749 | + --------- [devices] | ||
750 | + ------------ [$uuid1] | ||
751 | + --------------- assign_adapter | ||
752 | + --------------- assign_control_domain | ||
753 | + --------------- assign_domain | ||
754 | + --------------- matrix | ||
755 | + --------------- unassign_adapter | ||
756 | + --------------- unassign_control_domain | ||
757 | + --------------- unassign_domain | ||
758 | + | ||
759 | + ------------ [$uuid2] | ||
760 | + --------------- assign_adapter | ||
761 | + --------------- assign_control_domain | ||
762 | + --------------- assign_domain | ||
763 | + --------------- matrix | ||
764 | + --------------- unassign_adapter | ||
765 | + ----------------unassign_control_domain | ||
766 | + ----------------unassign_domain | ||
767 | + | ||
768 | + ------------ [$uuid3] | ||
769 | + --------------- assign_adapter | ||
770 | + --------------- assign_control_domain | ||
771 | + --------------- assign_domain | ||
772 | + --------------- matrix | ||
773 | + --------------- unassign_adapter | ||
774 | + ----------------unassign_control_domain | ||
775 | + ----------------unassign_domain | ||
776 | + | ||
777 | +4. The administrator now needs to configure the matrixes for the mediated | ||
778 | + devices $uuid1 (for Guest1), $uuid2 (for Guest2) and $uuid3 (for Guest3). | ||
779 | + | ||
780 | + This is how the matrix is configured for Guest1: | ||
781 | + | ||
782 | + echo 5 > assign_adapter | ||
783 | + echo 6 > assign_adapter | ||
784 | + echo 4 > assign_domain | ||
785 | + echo 0xab > assign_domain | ||
786 | + | ||
787 | + Control domains can similarly be assigned using the assign_control_domain | ||
788 | + sysfs file. | ||
789 | + | ||
790 | + If a mistake is made configuring an adapter, domain or control domain, | ||
791 | + you can use the unassign_xxx interfaces to unassign the adapter, domain or | ||
792 | + control domain. | ||
793 | + | ||
794 | + To display the matrix configuration for Guest1: | ||
795 | + | ||
796 | + cat matrix | ||
797 | + | ||
798 | + The output will display the APQNs in the format xx.yyyy, where xx is | ||
799 | + the adapter number and yyyy is the domain number. The output for Guest1 | ||
800 | + will look like this: | ||
801 | + | ||
802 | + 05.0004 | ||
803 | + 05.00ab | ||
804 | + 06.0004 | ||
805 | + 06.00ab | ||
806 | + | ||
807 | + This is how the matrix is configured for Guest2: | ||
808 | + | ||
809 | + echo 5 > assign_adapter | ||
810 | + echo 0x47 > assign_domain | ||
811 | + echo 0xff > assign_domain | ||
812 | + | ||
813 | + This is how the matrix is configured for Guest3: | ||
814 | + | ||
815 | + echo 6 > assign_adapter | ||
816 | + echo 0x47 > assign_domain | ||
817 | + echo 0xff > assign_domain | ||
818 | + | ||
819 | +5. Start Guest1: | ||
820 | + | ||
821 | + /usr/bin/qemu-system-s390x ... -cpu host,ap=on,apqci=on,apft=on \ | ||
822 | + -device vfio-ap,sysfsdev=/sys/devices/vfio_ap/matrix/$uuid1 ... | ||
823 | + | ||
824 | +7. Start Guest2: | ||
825 | + | ||
826 | + /usr/bin/qemu-system-s390x ... -cpu host,ap=on,apqci=on,apft=on \ | ||
827 | + -device vfio-ap,sysfsdev=/sys/devices/vfio_ap/matrix/$uuid2 ... | ||
828 | + | ||
829 | +7. Start Guest3: | ||
830 | + | ||
831 | + /usr/bin/qemu-system-s390x ... -cpu host,ap=on,apqci=on,apft=on \ | ||
832 | + -device vfio-ap,sysfsdev=/sys/devices/vfio_ap/matrix/$uuid3 ... | ||
833 | + | ||
834 | +When the guest is shut down, the mediated matrix devices may be removed. | ||
835 | + | ||
836 | +Using our example again, to remove the mediated matrix device $uuid1: | ||
837 | + | ||
838 | + /sys/devices/vfio_ap/matrix/ | ||
839 | + --- [mdev_supported_types] | ||
840 | + ------ [vfio_ap-passthrough] | ||
841 | + --------- [devices] | ||
842 | + ------------ [$uuid1] | ||
843 | + --------------- remove | ||
844 | + | ||
845 | + | ||
846 | + echo 1 > remove | ||
847 | + | ||
848 | + This will remove all of the mdev matrix device's sysfs structures including | ||
849 | + the mdev device itself. To recreate and reconfigure the mdev matrix device, | ||
850 | + all of the steps starting with step 3 will have to be performed again. Note | ||
851 | + that the remove will fail if a guest using the mdev is still running. | ||
852 | + | ||
853 | + It is not necessary to remove an mdev matrix device, but one may want to | ||
854 | + remove it if no guest will use it during the remaining lifetime of the linux | ||
855 | + host. If the mdev matrix device is removed, one may want to also reconfigure | ||
856 | + the pool of adapters and queues reserved for use by the default drivers. | ||
857 | + | ||
858 | +Limitations | ||
859 | +=========== | ||
860 | +* The KVM/kernel interfaces do not provide a way to prevent restoring an APQN | ||
861 | + to the default drivers pool of a queue that is still assigned to a mediated | ||
862 | + device in use by a guest. It is incumbent upon the administrator to | ||
863 | + ensure there is no mediated device in use by a guest to which the APQN is | ||
864 | + assigned lest the host be given access to the private data of the AP queue | ||
865 | + device, such as a private key configured specifically for the guest. | ||
866 | + | ||
867 | +* Dynamically modifying the AP matrix for a running guest (which would amount to | ||
868 | + hot(un)plug of AP devices for the guest) is currently not supported | ||
869 | + | ||
870 | +* Live guest migration is not supported for guests using AP devices. | ||
871 | -- | 52 | -- |
872 | 2.14.4 | 53 | 2.31.1 |
873 | |||
874 | diff view generated by jsdifflib |
1 | From: Thomas Huth <thuth@redhat.com> | 1 | From: Richard Henderson <richard.henderson@linaro.org> |
---|---|---|---|
2 | 2 | ||
3 | Debug macros that are disabled by default should be avoided (since the | 3 | There is nothing to distinguish this from DISAS_TOO_MANY. |
4 | code bit-rots quite easily). Thus turn these debug prints into proper | ||
5 | qemu_log_mask(CPU_LOG_xxx, ...) statements instead. The DPRINTF statements | ||
6 | in do_[ext|io|mchk]_interrupt can even be removed completely since we can | ||
7 | log the information in a central place, s390_cpu_do_interrupt, instead. | ||
8 | 4 | ||
5 | Signed-off-by: Richard Henderson <richard.henderson@linaro.org> | ||
6 | Message-Id: <20220702060228.420454-3-richard.henderson@linaro.org> | ||
9 | Signed-off-by: Thomas Huth <thuth@redhat.com> | 7 | Signed-off-by: Thomas Huth <thuth@redhat.com> |
10 | Message-Id: <1538751601-7433-1-git-send-email-thuth@redhat.com> | ||
11 | Reviewed-by: David Hildenbrand <david@redhat.com> | ||
12 | Signed-off-by: Cornelia Huck <cohuck@redhat.com> | ||
13 | --- | 8 | --- |
14 | target/s390x/excp_helper.c | 48 +++++++++++----------------------------------- | 9 | target/s390x/tcg/translate.c | 13 ++++--------- |
15 | 1 file changed, 11 insertions(+), 37 deletions(-) | 10 | 1 file changed, 4 insertions(+), 9 deletions(-) |
16 | 11 | ||
17 | diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c | 12 | diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c |
18 | index XXXXXXX..XXXXXXX 100644 | 13 | index XXXXXXX..XXXXXXX 100644 |
19 | --- a/target/s390x/excp_helper.c | 14 | --- a/target/s390x/tcg/translate.c |
20 | +++ b/target/s390x/excp_helper.c | 15 | +++ b/target/s390x/tcg/translate.c |
21 | @@ -XXX,XX +XXX,XX @@ | 16 | @@ -XXX,XX +XXX,XX @@ typedef struct { |
22 | #include "hw/s390x/s390_flic.h" | 17 | /* We have updated the PC and CC values. */ |
18 | #define DISAS_PC_CC_UPDATED DISAS_TARGET_2 | ||
19 | |||
20 | -/* We are exiting the TB, but have neither emitted a goto_tb, nor | ||
21 | - updated the PC for the next instruction to be executed. */ | ||
22 | -#define DISAS_PC_STALE DISAS_TARGET_3 | ||
23 | - | ||
24 | /* We are exiting the TB to the main loop. */ | ||
25 | #define DISAS_PC_STALE_NOCHAIN DISAS_TARGET_4 | ||
26 | |||
27 | @@ -XXX,XX +XXX,XX @@ static DisasJumpType op_sacf(DisasContext *s, DisasOps *o) | ||
28 | { | ||
29 | gen_helper_sacf(cpu_env, o->in2); | ||
30 | /* Addressing mode has changed, so end the block. */ | ||
31 | - return DISAS_PC_STALE; | ||
32 | + return DISAS_TOO_MANY; | ||
33 | } | ||
23 | #endif | 34 | #endif |
24 | 35 | ||
25 | -/* #define DEBUG_S390 */ | 36 | @@ -XXX,XX +XXX,XX @@ static DisasJumpType op_sam(DisasContext *s, DisasOps *o) |
26 | -/* #define DEBUG_S390_STDOUT */ | 37 | tcg_temp_free_i64(tsam); |
27 | - | 38 | |
28 | -#ifdef DEBUG_S390 | 39 | /* Always exit the TB, since we (may have) changed execution mode. */ |
29 | -#ifdef DEBUG_S390_STDOUT | 40 | - return DISAS_PC_STALE; |
30 | -#define DPRINTF(fmt, ...) \ | 41 | + return DISAS_TOO_MANY; |
31 | - do { fprintf(stderr, fmt, ## __VA_ARGS__); \ | 42 | } |
32 | - if (qemu_log_separate()) { qemu_log(fmt, ##__VA_ARGS__); } } while (0) | 43 | |
33 | -#else | 44 | static DisasJumpType op_sar(DisasContext *s, DisasOps *o) |
34 | -#define DPRINTF(fmt, ...) \ | 45 | @@ -XXX,XX +XXX,XX @@ static DisasJumpType translate_one(CPUS390XState *env, DisasContext *s) |
35 | - do { qemu_log(fmt, ## __VA_ARGS__); } while (0) | 46 | |
36 | -#endif | 47 | /* io should be the last instruction in tb when icount is enabled */ |
37 | -#else | 48 | if (unlikely(icount && ret == DISAS_NEXT)) { |
38 | -#define DPRINTF(fmt, ...) \ | 49 | - ret = DISAS_PC_STALE; |
39 | - do { } while (0) | 50 | + ret = DISAS_TOO_MANY; |
40 | -#endif | ||
41 | - | ||
42 | void QEMU_NORETURN tcg_s390_program_interrupt(CPUS390XState *env, uint32_t code, | ||
43 | int ilen, uintptr_t ra) | ||
44 | { | ||
45 | @@ -XXX,XX +XXX,XX @@ int s390_cpu_handle_mmu_fault(CPUState *cs, vaddr orig_vaddr, int size, | ||
46 | uint64_t asc; | ||
47 | int prot; | ||
48 | |||
49 | - DPRINTF("%s: address 0x%" VADDR_PRIx " rw %d mmu_idx %d\n", | ||
50 | - __func__, orig_vaddr, rw, mmu_idx); | ||
51 | + qemu_log_mask(CPU_LOG_MMU, "%s: addr 0x%" VADDR_PRIx " rw %d mmu_idx %d\n", | ||
52 | + __func__, orig_vaddr, rw, mmu_idx); | ||
53 | |||
54 | vaddr = orig_vaddr; | ||
55 | |||
56 | @@ -XXX,XX +XXX,XX @@ int s390_cpu_handle_mmu_fault(CPUState *cs, vaddr orig_vaddr, int size, | ||
57 | if (!address_space_access_valid(&address_space_memory, raddr, | ||
58 | TARGET_PAGE_SIZE, rw, | ||
59 | MEMTXATTRS_UNSPECIFIED)) { | ||
60 | - DPRINTF("%s: raddr %" PRIx64 " > ram_size %" PRIx64 "\n", __func__, | ||
61 | - (uint64_t)raddr, (uint64_t)ram_size); | ||
62 | + qemu_log_mask(CPU_LOG_MMU, | ||
63 | + "%s: raddr %" PRIx64 " > ram_size %" PRIx64 "\n", | ||
64 | + __func__, (uint64_t)raddr, (uint64_t)ram_size); | ||
65 | trigger_pgm_exception(env, PGM_ADDRESSING, ILEN_AUTO); | ||
66 | return 1; | ||
67 | } | 51 | } |
68 | @@ -XXX,XX +XXX,XX @@ static void do_program_interrupt(CPUS390XState *env) | 52 | |
53 | #ifndef CONFIG_USER_ONLY | ||
54 | if (s->base.tb->flags & FLAG_MASK_PER) { | ||
55 | /* An exception might be triggered, save PSW if not already done. */ | ||
56 | - if (ret == DISAS_NEXT || ret == DISAS_PC_STALE) { | ||
57 | + if (ret == DISAS_NEXT || ret == DISAS_TOO_MANY) { | ||
58 | tcg_gen_movi_i64(psw_addr, s->pc_tmp); | ||
59 | } | ||
60 | |||
61 | @@ -XXX,XX +XXX,XX @@ static void s390x_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) | ||
62 | case DISAS_NORETURN: | ||
69 | break; | 63 | break; |
70 | } | 64 | case DISAS_TOO_MANY: |
71 | 65 | - case DISAS_PC_STALE: | |
72 | - qemu_log_mask(CPU_LOG_INT, "%s: code=0x%x ilen=%d\n", | 66 | case DISAS_PC_STALE_NOCHAIN: |
73 | - __func__, env->int_pgm_code, ilen); | 67 | update_psw_addr(dc); |
74 | + qemu_log_mask(CPU_LOG_INT, | 68 | /* FALLTHRU */ |
75 | + "%s: code=0x%x ilen=%d psw: %" PRIx64 " %" PRIx64 "\n", | ||
76 | + __func__, env->int_pgm_code, ilen, env->psw.mask, | ||
77 | + env->psw.addr); | ||
78 | |||
79 | lowcore = cpu_map_lowcore(env); | ||
80 | |||
81 | @@ -XXX,XX +XXX,XX @@ static void do_program_interrupt(CPUS390XState *env) | ||
82 | |||
83 | cpu_unmap_lowcore(lowcore); | ||
84 | |||
85 | - DPRINTF("%s: %x %x %" PRIx64 " %" PRIx64 "\n", __func__, | ||
86 | - env->int_pgm_code, ilen, env->psw.mask, | ||
87 | - env->psw.addr); | ||
88 | - | ||
89 | load_psw(env, mask, addr); | ||
90 | } | ||
91 | |||
92 | @@ -XXX,XX +XXX,XX @@ static void do_ext_interrupt(CPUS390XState *env) | ||
93 | |||
94 | cpu_unmap_lowcore(lowcore); | ||
95 | |||
96 | - DPRINTF("%s: %" PRIx64 " %" PRIx64 "\n", __func__, | ||
97 | - env->psw.mask, env->psw.addr); | ||
98 | - | ||
99 | load_psw(env, mask, addr); | ||
100 | } | ||
101 | |||
102 | @@ -XXX,XX +XXX,XX @@ static void do_io_interrupt(CPUS390XState *env) | ||
103 | cpu_unmap_lowcore(lowcore); | ||
104 | g_free(io); | ||
105 | |||
106 | - DPRINTF("%s: %" PRIx64 " %" PRIx64 "\n", __func__, env->psw.mask, | ||
107 | - env->psw.addr); | ||
108 | load_psw(env, mask, addr); | ||
109 | } | ||
110 | |||
111 | @@ -XXX,XX +XXX,XX @@ static void do_mchk_interrupt(CPUS390XState *env) | ||
112 | |||
113 | cpu_unmap_lowcore(lowcore); | ||
114 | |||
115 | - DPRINTF("%s: %" PRIx64 " %" PRIx64 "\n", __func__, | ||
116 | - env->psw.mask, env->psw.addr); | ||
117 | - | ||
118 | load_psw(env, mask, addr); | ||
119 | } | ||
120 | |||
121 | @@ -XXX,XX +XXX,XX @@ void s390_cpu_do_interrupt(CPUState *cs) | ||
122 | CPUS390XState *env = &cpu->env; | ||
123 | bool stopped = false; | ||
124 | |||
125 | - qemu_log_mask(CPU_LOG_INT, "%s: %d at pc=%" PRIx64 "\n", | ||
126 | - __func__, cs->exception_index, env->psw.addr); | ||
127 | + qemu_log_mask(CPU_LOG_INT, "%s: %d at psw=%" PRIx64 ":%" PRIx64 "\n", | ||
128 | + __func__, cs->exception_index, env->psw.mask, env->psw.addr); | ||
129 | |||
130 | try_deliver: | ||
131 | /* handle machine checks */ | ||
132 | -- | 69 | -- |
133 | 2.14.4 | 70 | 2.31.1 |
134 | |||
135 | diff view generated by jsdifflib |
1 | From: Tony Krowiak <akrowiak@linux.ibm.com> | 1 | From: Richard Henderson <richard.henderson@linaro.org> |
---|---|---|---|
2 | 2 | ||
3 | A new CPU model feature and two new CPU model facilities are | 3 | Replace this with a flag: exit_to_mainloop. |
4 | introduced to support AP devices for a KVM guest. | 4 | We can now control the exit for each of DISAS_TOO_MANY, |
5 | DISAS_PC_UPDATED, and DISAS_PC_CC_UPDATED, and fold in | ||
6 | the check for PER. | ||
5 | 7 | ||
6 | CPU model features: | 8 | Signed-off-by: Richard Henderson <richard.henderson@linaro.org> |
9 | Message-Id: <20220702060228.420454-4-richard.henderson@linaro.org> | ||
10 | Signed-off-by: Thomas Huth <thuth@redhat.com> | ||
11 | --- | ||
12 | target/s390x/tcg/translate.c | 21 +++++++++++---------- | ||
13 | 1 file changed, 11 insertions(+), 10 deletions(-) | ||
7 | 14 | ||
8 | 1. The S390_FEAT_AP CPU model feature indicates whether AP | 15 | diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c |
9 | instructions are available to the guest. This feature will | ||
10 | be enabled only if the AP instructions are available on the | ||
11 | linux host as determined by the availability of the | ||
12 | KVM_S390_VM_CRYPTO_ENABLE_APIE VM attribute which is exposed | ||
13 | by KVM only if the AP instructions are available on the | ||
14 | host. | ||
15 | |||
16 | This feature must be turned on from userspace to execute AP | ||
17 | instructions on the KVM guest. The QEMU command line to turn | ||
18 | this feature on looks something like this: | ||
19 | |||
20 | qemu-system-s390x ... -cpu xxx,ap=on ... | ||
21 | |||
22 | This feature will be supported for zEC12 and newer CPU models. | ||
23 | The feature will not be supported for older models because | ||
24 | there are few older systems on which to test and the older | ||
25 | crypto cards will be going out of service in the relatively | ||
26 | near future. | ||
27 | |||
28 | CPU model facilities: | ||
29 | |||
30 | 1. The S390_FEAT_AP_QUERY_CONFIG_INFO feature indicates whether the | ||
31 | AP Query Configuration Information (QCI) facility is available | ||
32 | to the guest as determined by whether the facility is available | ||
33 | on the host. This feature will be exposed by KVM only if the | ||
34 | QCI facility is installed on the host. | ||
35 | |||
36 | 2. The S390_FEAT_AP_FACILITY_TEST feature indicates whether the AP | ||
37 | Facility Test (APFT) facility is available to the guest as | ||
38 | determined by whether the facility is available on the host. | ||
39 | This feature will be exposed by KVM only if APFT is installed | ||
40 | on the host. | ||
41 | |||
42 | Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> | ||
43 | Tested-by: Pierre Morel <pmorel@linux.ibm.com> | ||
44 | Reviewed-by: David Hildenbrand <david@redhat.com> | ||
45 | Reviewed-by: Halil Pasic <pasic@linux.ibm.com> | ||
46 | Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> | ||
47 | Tested-by: Christian Borntraeger <borntraeger@de.ibm.com> | ||
48 | Message-Id: <20181010170309.12045-3-akrowiak@linux.ibm.com> | ||
49 | Signed-off-by: Cornelia Huck <cohuck@redhat.com> | ||
50 | --- | ||
51 | target/s390x/cpu_features.c | 3 +++ | ||
52 | target/s390x/cpu_features_def.h | 3 +++ | ||
53 | target/s390x/cpu_models.c | 2 ++ | ||
54 | target/s390x/gen-features.c | 3 +++ | ||
55 | 4 files changed, 11 insertions(+) | ||
56 | |||
57 | diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c | ||
58 | index XXXXXXX..XXXXXXX 100644 | 16 | index XXXXXXX..XXXXXXX 100644 |
59 | --- a/target/s390x/cpu_features.c | 17 | --- a/target/s390x/tcg/translate.c |
60 | +++ b/target/s390x/cpu_features.c | 18 | +++ b/target/s390x/tcg/translate.c |
61 | @@ -XXX,XX +XXX,XX @@ static const S390FeatDef s390_features[] = { | 19 | @@ -XXX,XX +XXX,XX @@ struct DisasContext { |
62 | FEAT_INIT("srs", S390_FEAT_TYPE_STFL, 9, "Sense-running-status facility"), | 20 | uint64_t pc_tmp; |
63 | FEAT_INIT("csske", S390_FEAT_TYPE_STFL, 10, "Conditional-SSKE facility"), | 21 | uint32_t ilen; |
64 | FEAT_INIT("ctop", S390_FEAT_TYPE_STFL, 11, "Configuration-topology facility"), | 22 | enum cc_op cc_op; |
65 | + FEAT_INIT("apqci", S390_FEAT_TYPE_STFL, 12, "Query AP Configuration Information facility"), | 23 | + bool exit_to_mainloop; |
66 | FEAT_INIT("ipter", S390_FEAT_TYPE_STFL, 13, "IPTE-range facility"), | ||
67 | FEAT_INIT("nonqks", S390_FEAT_TYPE_STFL, 14, "Nonquiescing key-setting facility"), | ||
68 | + FEAT_INIT("apft", S390_FEAT_TYPE_STFL, 15, "AP Facilities Test facility"), | ||
69 | FEAT_INIT("etf2", S390_FEAT_TYPE_STFL, 16, "Extended-translation facility 2"), | ||
70 | FEAT_INIT("msa-base", S390_FEAT_TYPE_STFL, 17, "Message-security-assist facility (excluding subfunctions)"), | ||
71 | FEAT_INIT("ldisp", S390_FEAT_TYPE_STFL, 18, "Long-displacement facility"), | ||
72 | @@ -XXX,XX +XXX,XX @@ static const S390FeatDef s390_features[] = { | ||
73 | |||
74 | FEAT_INIT_MISC("dateh2", "DAT-enhancement facility 2"), | ||
75 | FEAT_INIT_MISC("cmm", "Collaborative-memory-management facility"), | ||
76 | + FEAT_INIT_MISC("ap", "AP instructions installed"), | ||
77 | |||
78 | FEAT_INIT("plo-cl", S390_FEAT_TYPE_PLO, 0, "PLO Compare and load (32 bit in general registers)"), | ||
79 | FEAT_INIT("plo-clg", S390_FEAT_TYPE_PLO, 1, "PLO Compare and load (64 bit in parameter list)"), | ||
80 | diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h | ||
81 | index XXXXXXX..XXXXXXX 100644 | ||
82 | --- a/target/s390x/cpu_features_def.h | ||
83 | +++ b/target/s390x/cpu_features_def.h | ||
84 | @@ -XXX,XX +XXX,XX @@ typedef enum { | ||
85 | S390_FEAT_SENSE_RUNNING_STATUS, | ||
86 | S390_FEAT_CONDITIONAL_SSKE, | ||
87 | S390_FEAT_CONFIGURATION_TOPOLOGY, | ||
88 | + S390_FEAT_AP_QUERY_CONFIG_INFO, | ||
89 | S390_FEAT_IPTE_RANGE, | ||
90 | S390_FEAT_NONQ_KEY_SETTING, | ||
91 | + S390_FEAT_AP_FACILITIES_TEST, | ||
92 | S390_FEAT_EXTENDED_TRANSLATION_2, | ||
93 | S390_FEAT_MSA, | ||
94 | S390_FEAT_LONG_DISPLACEMENT, | ||
95 | @@ -XXX,XX +XXX,XX @@ typedef enum { | ||
96 | /* Misc */ | ||
97 | S390_FEAT_DAT_ENH_2, | ||
98 | S390_FEAT_CMM, | ||
99 | + S390_FEAT_AP, | ||
100 | |||
101 | /* PLO */ | ||
102 | S390_FEAT_PLO_CL, | ||
103 | diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c | ||
104 | index XXXXXXX..XXXXXXX 100644 | ||
105 | --- a/target/s390x/cpu_models.c | ||
106 | +++ b/target/s390x/cpu_models.c | ||
107 | @@ -XXX,XX +XXX,XX @@ static void check_consistency(const S390CPUModel *model) | ||
108 | { S390_FEAT_PRNO_TRNG_QRTCR, S390_FEAT_MSA_EXT_5 }, | ||
109 | { S390_FEAT_PRNO_TRNG, S390_FEAT_MSA_EXT_5 }, | ||
110 | { S390_FEAT_SIE_KSS, S390_FEAT_SIE_F2 }, | ||
111 | + { S390_FEAT_AP_QUERY_CONFIG_INFO, S390_FEAT_AP }, | ||
112 | + { S390_FEAT_AP_FACILITIES_TEST, S390_FEAT_AP }, | ||
113 | }; | ||
114 | int i; | ||
115 | |||
116 | diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c | ||
117 | index XXXXXXX..XXXXXXX 100644 | ||
118 | --- a/target/s390x/gen-features.c | ||
119 | +++ b/target/s390x/gen-features.c | ||
120 | @@ -XXX,XX +XXX,XX @@ static uint16_t full_GEN12_GA1[] = { | ||
121 | S390_FEAT_ADAPTER_INT_SUPPRESSION, | ||
122 | S390_FEAT_EDAT_2, | ||
123 | S390_FEAT_SIDE_EFFECT_ACCESS_ESOP2, | ||
124 | + S390_FEAT_AP_QUERY_CONFIG_INFO, | ||
125 | + S390_FEAT_AP_FACILITIES_TEST, | ||
126 | + S390_FEAT_AP, | ||
127 | }; | 24 | }; |
128 | 25 | ||
129 | static uint16_t full_GEN12_GA2[] = { | 26 | /* Information carried about a condition to be evaluated. */ |
27 | @@ -XXX,XX +XXX,XX @@ typedef struct { | ||
28 | /* We have updated the PC and CC values. */ | ||
29 | #define DISAS_PC_CC_UPDATED DISAS_TARGET_2 | ||
30 | |||
31 | -/* We are exiting the TB to the main loop. */ | ||
32 | -#define DISAS_PC_STALE_NOCHAIN DISAS_TARGET_4 | ||
33 | - | ||
34 | |||
35 | /* Instruction flags */ | ||
36 | #define IF_AFP1 0x0001 /* r1 is a fp reg for HFP/FPS instructions */ | ||
37 | @@ -XXX,XX +XXX,XX @@ static DisasJumpType op_lctl(DisasContext *s, DisasOps *o) | ||
38 | tcg_temp_free_i32(r1); | ||
39 | tcg_temp_free_i32(r3); | ||
40 | /* Exit to main loop to reevaluate s390_cpu_exec_interrupt. */ | ||
41 | - return DISAS_PC_STALE_NOCHAIN; | ||
42 | + s->exit_to_mainloop = true; | ||
43 | + return DISAS_TOO_MANY; | ||
44 | } | ||
45 | |||
46 | static DisasJumpType op_lctlg(DisasContext *s, DisasOps *o) | ||
47 | @@ -XXX,XX +XXX,XX @@ static DisasJumpType op_lctlg(DisasContext *s, DisasOps *o) | ||
48 | tcg_temp_free_i32(r1); | ||
49 | tcg_temp_free_i32(r3); | ||
50 | /* Exit to main loop to reevaluate s390_cpu_exec_interrupt. */ | ||
51 | - return DISAS_PC_STALE_NOCHAIN; | ||
52 | + s->exit_to_mainloop = true; | ||
53 | + return DISAS_TOO_MANY; | ||
54 | } | ||
55 | |||
56 | static DisasJumpType op_lra(DisasContext *s, DisasOps *o) | ||
57 | @@ -XXX,XX +XXX,XX @@ static DisasJumpType op_ssm(DisasContext *s, DisasOps *o) | ||
58 | { | ||
59 | tcg_gen_deposit_i64(psw_mask, psw_mask, o->in2, 56, 8); | ||
60 | /* Exit to main loop to reevaluate s390_cpu_exec_interrupt. */ | ||
61 | - return DISAS_PC_STALE_NOCHAIN; | ||
62 | + s->exit_to_mainloop = true; | ||
63 | + return DISAS_TOO_MANY; | ||
64 | } | ||
65 | |||
66 | static DisasJumpType op_stap(DisasContext *s, DisasOps *o) | ||
67 | @@ -XXX,XX +XXX,XX @@ static DisasJumpType op_stnosm(DisasContext *s, DisasOps *o) | ||
68 | } | ||
69 | |||
70 | /* Exit to main loop to reevaluate s390_cpu_exec_interrupt. */ | ||
71 | - return DISAS_PC_STALE_NOCHAIN; | ||
72 | + s->exit_to_mainloop = true; | ||
73 | + return DISAS_TOO_MANY; | ||
74 | } | ||
75 | |||
76 | static DisasJumpType op_stura(DisasContext *s, DisasOps *o) | ||
77 | @@ -XXX,XX +XXX,XX @@ static void s390x_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs) | ||
78 | |||
79 | dc->cc_op = CC_OP_DYNAMIC; | ||
80 | dc->ex_value = dc->base.tb->cs_base; | ||
81 | + dc->exit_to_mainloop = (dc->base.tb->flags & FLAG_MASK_PER); | ||
82 | } | ||
83 | |||
84 | static void s390x_tr_tb_start(DisasContextBase *db, CPUState *cs) | ||
85 | @@ -XXX,XX +XXX,XX @@ static void s390x_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) | ||
86 | case DISAS_NORETURN: | ||
87 | break; | ||
88 | case DISAS_TOO_MANY: | ||
89 | - case DISAS_PC_STALE_NOCHAIN: | ||
90 | update_psw_addr(dc); | ||
91 | /* FALLTHRU */ | ||
92 | case DISAS_PC_UPDATED: | ||
93 | @@ -XXX,XX +XXX,XX @@ static void s390x_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) | ||
94 | /* FALLTHRU */ | ||
95 | case DISAS_PC_CC_UPDATED: | ||
96 | /* Exit the TB, either by raising a debug exception or by return. */ | ||
97 | - if ((dc->base.tb->flags & FLAG_MASK_PER) || | ||
98 | - dc->base.is_jmp == DISAS_PC_STALE_NOCHAIN) { | ||
99 | + if (dc->exit_to_mainloop) { | ||
100 | tcg_gen_exit_tb(NULL, 0); | ||
101 | } else { | ||
102 | tcg_gen_lookup_and_goto_ptr(); | ||
130 | -- | 103 | -- |
131 | 2.14.4 | 104 | 2.31.1 |
132 | |||
133 | diff view generated by jsdifflib |
1 | From: Thomas Huth <thuth@redhat.com> | 1 | From: Richard Henderson <richard.henderson@linaro.org> |
---|---|---|---|
2 | 2 | ||
3 | The device is required for running qtests, see hw/s390x/tod.c: | 3 | When EXECUTE sets ex_value to interrupt the constructed instruction, |
4 | we implicitly disable interrupts so that the value is not corrupted. | ||
5 | Exit to the main loop after execution, so that we re-evaluate any | ||
6 | pending interrupts. | ||
4 | 7 | ||
5 | void s390_init_tod(void) | 8 | Reported-by: Sven Schnelle <svens@linux.ibm.com> |
6 | { | 9 | Signed-off-by: Richard Henderson <richard.henderson@linaro.org> |
7 | Object *obj; | 10 | Message-Id: <20220702060228.420454-5-richard.henderson@linaro.org> |
8 | |||
9 | if (kvm_enabled()) { | ||
10 | obj = object_new(TYPE_KVM_S390_TOD); | ||
11 | } else { | ||
12 | obj = object_new(TYPE_QEMU_S390_TOD); | ||
13 | } | ||
14 | [...] | ||
15 | } | ||
16 | |||
17 | During qtests, we're running without kvm, so TYPE_QEMU_S390_TOD is | ||
18 | required to avoid that QEMU aborts here. | ||
19 | |||
20 | Fixes: 8046f374a6 ("s390x/tod: factor out TOD into separate device") | ||
21 | Signed-off-by: Thomas Huth <thuth@redhat.com> | 11 | Signed-off-by: Thomas Huth <thuth@redhat.com> |
22 | Message-Id: <1539264723-741-1-git-send-email-thuth@redhat.com> | ||
23 | Reviewed-by: David Hildenbrand <david@redhat.com> | ||
24 | Signed-off-by: Cornelia Huck <cohuck@redhat.com> | ||
25 | --- | 12 | --- |
26 | hw/s390x/Makefile.objs | 2 +- | 13 | target/s390x/tcg/translate.c | 2 +- |
27 | 1 file changed, 1 insertion(+), 1 deletion(-) | 14 | 1 file changed, 1 insertion(+), 1 deletion(-) |
28 | 15 | ||
29 | diff --git a/hw/s390x/Makefile.objs b/hw/s390x/Makefile.objs | 16 | diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c |
30 | index XXXXXXX..XXXXXXX 100644 | 17 | index XXXXXXX..XXXXXXX 100644 |
31 | --- a/hw/s390x/Makefile.objs | 18 | --- a/target/s390x/tcg/translate.c |
32 | +++ b/hw/s390x/Makefile.objs | 19 | +++ b/target/s390x/tcg/translate.c |
33 | @@ -XXX,XX +XXX,XX @@ obj-$(call lnot,$(CONFIG_PCI)) += s390-pci-stub.o | 20 | @@ -XXX,XX +XXX,XX @@ static void s390x_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs) |
34 | obj-y += s390-skeys.o | 21 | |
35 | obj-y += s390-stattrib.o | 22 | dc->cc_op = CC_OP_DYNAMIC; |
36 | obj-y += tod.o | 23 | dc->ex_value = dc->base.tb->cs_base; |
37 | +obj-y += tod-qemu.o | 24 | - dc->exit_to_mainloop = (dc->base.tb->flags & FLAG_MASK_PER); |
38 | obj-$(CONFIG_KVM) += tod-kvm.o | 25 | + dc->exit_to_mainloop = (dc->base.tb->flags & FLAG_MASK_PER) || dc->ex_value; |
39 | -obj-$(CONFIG_TCG) += tod-qemu.o | 26 | } |
40 | obj-$(CONFIG_KVM) += s390-skeys-kvm.o | 27 | |
41 | obj-$(CONFIG_KVM) += s390-stattrib-kvm.o | 28 | static void s390x_tr_tb_start(DisasContextBase *db, CPUState *cs) |
42 | obj-y += s390-ccw.o | ||
43 | -- | 29 | -- |
44 | 2.14.4 | 30 | 2.31.1 |
45 | |||
46 | diff view generated by jsdifflib |