mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 02:03:56 -06:00
s390x update:
- have the bios tolerate bootmap signature entries - next chunk of vector instruction support in tcg - a headers update against Linux 5.2-rc1 - add more facilities and gen15 machines to the cpu model -----BEGIN PGP SIGNATURE----- iQJGBAABCAAwFiEEw9DWbcNiT/aowBjO3s9rk8bwL68FAlzkFK8SHGNvaHVja0By ZWRoYXQuY29tAAoJEN7Pa5PG8C+vV40P/38Q1yqqfQSc6Q7f/xwXLHFnrhuXCHgG 5BNhGoX+L8ywaQwkX9CndpkbI4BGixzbEPgQ4sf9SQjNvsecTujC2LBV/IZsYQ9N dAFxGQbxCVibMWJZUYvyNpgjkwB/XQbGvZKUSFCsqZ308dG//KkGQrlz8HuWOnOe qvUUCD8aTe9zX2mCouoBjCv2F+X/piFHubTB2OeYz0NVVIC0AcXbhqenzKqUu3vL /UL7qY2ThAiPBNYIoZTKHT1b80o2k0x+JQnFbYq8O03h5hXwR5D4lo8IYxm92xRG Xafc33H0k+fIwXUJJUdBsKjZh9fy2eMLoFa/qRE0vlv8g29EDLCFm+CPqGp7otEb 3i96EOBjAYwT7b23mC2VSVDMCRMmIR5No7PnjllsH8slLz80plF0r/Wj52KQX4ba GLWvD6H4KZ0g5tiTgE8m/C5t9+5komll7EDDGfh+HTl/9EpUoESx3r9FXKzxsZFW ANuG8nmGnafGvmGvmqPOv6d6BbWsfqV2H8T+yqh+EIftBxM0o7HtAv95hlyOO2xj W6/gKIQMMrAwLETFdQLOsDsnRp6zimIYIvLQ33WIqC77YX0Hn6/tSrfPDm1sDvmh JfxY9pxUVfiPjIzzvDgyf5ZBhPmsYeXrpqx90cX9QVKDYNcdBP7y9c7Rqj4oZ2qm rfCtaFMmOb3c =+HXM -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20190521-3' into staging s390x update: - have the bios tolerate bootmap signature entries - next chunk of vector instruction support in tcg - a headers update against Linux 5.2-rc1 - add more facilities and gen15 machines to the cpu model # gpg: Signature made Tue 21 May 2019 16:09:35 BST # gpg: using RSA key C3D0D66DC3624FF6A8C018CEDECF6B93C6F02FAF # gpg: issuer "cohuck@redhat.com" # gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>" [unknown] # gpg: aka "Cornelia Huck <huckc@linux.vnet.ibm.com>" [full] # gpg: aka "Cornelia Huck <cornelia.huck@de.ibm.com>" [full] # gpg: aka "Cornelia Huck <cohuck@kernel.org>" [unknown] # gpg: aka "Cornelia Huck <cohuck@redhat.com>" [unknown] # Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0 18CE DECF 6B93 C6F0 2FAF * remotes/cohuck/tags/s390x-20190521-3: (55 commits) s390x/cpumodel: wire up 8561 and 8562 as gen15 machines s390x/cpumodel: add gen15 defintions s390x/cpumodel: add Deflate-conversion facility s390x/cpumodel: enhanced sort facility s390x/cpumodel: vector enhancements s390x/cpumodel: msa9 facility s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3 s390x/cpumodel: ignore csske for expansion linux headers: update against Linux 5.2-rc1 update-linux-headers: handle new header file s390x/tcg: Implement VECTOR TEST UNDER MASK s390x/tcg: Implement VECTOR SUM ACROSS WORD s390x/tcg: Implement VECTOR SUM ACROSS QUADWORD s390x/tcg: Implement VECTOR SUM ACROSS DOUBLEWORD s390x/tcg: Implement VECTOR SUBTRACT WITH BORROW COMPUTE BORROW INDICATION s390x/tcg: Implement VECTOR SUBTRACT WITH BORROW INDICATION s390x/tcg: Implement VECTOR SUBTRACT COMPUTE BORROW INDICATION s390x/tcg: Implement VECTOR SUBTRACT s390x/tcg: Implement VECTOR SHIFT RIGHT LOGICAL * s390x/tcg: Implement VECTOR SHIFT RIGHT ARITHMETIC ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
a4f667b671
60 changed files with 3453 additions and 162 deletions
|
@ -830,8 +830,12 @@ static int ccw_dstream_rw_noflags(CcwDataStream *cds, void *buff, int len,
|
|||
if (op == CDS_OP_A) {
|
||||
goto incr;
|
||||
}
|
||||
ret = address_space_rw(&address_space_memory, cds->cda,
|
||||
MEMTXATTRS_UNSPECIFIED, buff, len, op);
|
||||
if (!cds->do_skip) {
|
||||
ret = address_space_rw(&address_space_memory, cds->cda,
|
||||
MEMTXATTRS_UNSPECIFIED, buff, len, op);
|
||||
} else {
|
||||
ret = MEMTX_OK;
|
||||
}
|
||||
if (ret != MEMTX_OK) {
|
||||
cds->flags |= CDS_F_STREAM_BROKEN;
|
||||
return -EINVAL;
|
||||
|
@ -928,8 +932,13 @@ static int ccw_dstream_rw_ida(CcwDataStream *cds, void *buff, int len,
|
|||
do {
|
||||
iter_len = MIN(len, cont_left);
|
||||
if (op != CDS_OP_A) {
|
||||
ret = address_space_rw(&address_space_memory, cds->cda,
|
||||
MEMTXATTRS_UNSPECIFIED, buff, iter_len, op);
|
||||
if (!cds->do_skip) {
|
||||
ret = address_space_rw(&address_space_memory, cds->cda,
|
||||
MEMTXATTRS_UNSPECIFIED, buff, iter_len,
|
||||
op);
|
||||
} else {
|
||||
ret = MEMTX_OK;
|
||||
}
|
||||
if (ret != MEMTX_OK) {
|
||||
/* assume inaccessible address */
|
||||
ret = -EINVAL; /* channel program check */
|
||||
|
@ -968,6 +977,11 @@ void ccw_dstream_init(CcwDataStream *cds, CCW1 const *ccw, ORB const *orb)
|
|||
|
||||
cds->count = ccw->count;
|
||||
cds->cda_orig = ccw->cda;
|
||||
/* skip is only effective for read, read backwards, or sense commands */
|
||||
cds->do_skip = (ccw->flags & CCW_FLAG_SKIP) &&
|
||||
((ccw->cmd_code & 0x0f) == CCW_CMD_BASIC_SENSE ||
|
||||
(ccw->cmd_code & 0x03) == 0x02 /* read */ ||
|
||||
(ccw->cmd_code & 0x0f) == 0x0c /* read backwards */);
|
||||
ccw_dstream_rewind(cds);
|
||||
if (!(cds->flags & CDS_F_IDA)) {
|
||||
cds->op_handler = ccw_dstream_rw_noflags;
|
||||
|
|
|
@ -374,8 +374,7 @@ static bool s390_gen_initial_iplb(S390IPLState *ipl)
|
|||
if (ccw_dev) {
|
||||
switch (devtype) {
|
||||
case CCW_DEVTYPE_SCSI:
|
||||
sd = (SCSIDevice *) object_dynamic_cast(OBJECT(dev_st),
|
||||
TYPE_SCSI_DEVICE);
|
||||
sd = SCSI_DEVICE(dev_st);
|
||||
ipl->iplb.len = cpu_to_be32(S390_IPLB_MIN_QEMU_SCSI_LEN);
|
||||
ipl->iplb.blk0_len =
|
||||
cpu_to_be32(S390_IPLB_MIN_QEMU_SCSI_LEN - S390_IPLB_HEADER_LEN);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue