[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 20/30] tests/boot-sector: Add magic bytes to s390x bo
From: |
John Snow |
Subject: |
[Qemu-devel] [PULL 20/30] tests/boot-sector: Add magic bytes to s390x boot code header |
Date: |
Fri, 8 Jun 2018 13:47:23 -0400 |
From: Thomas Huth <address@hidden>
We're going to use the s390x boot code for testing CD-ROM booting.
But the ISO loader of the s390-ccw bios is a little bit more picky
than the network loader and expects some magic bytes in the header
of the file (see linux_s390_magic in pc-bios/s390-ccw/bootmap.c), so
we've got to add them in our boot code here, too.
Reviewed-by: Christian Borntraeger <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Hervé Poussineau <address@hidden>
Acked-By: Mark Cave-Ayland <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: John Snow <address@hidden>
---
tests/boot-sector.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/tests/boot-sector.c b/tests/boot-sector.c
index c373f0e715..7824286b9a 100644
--- a/tests/boot-sector.c
+++ b/tests/boot-sector.c
@@ -68,8 +68,11 @@ static uint8_t x86_boot_sector[512] = {
};
/* For s390x, use a mini "kernel" with the appropriate signature */
-static const uint8_t s390x_psw[] = {
- 0x00, 0x08, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00
+static const uint8_t s390x_psw_and_magic[] = {
+ 0x00, 0x08, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, /* Program status word */
+ 0x02, 0x00, 0x00, 0x18, 0x60, 0x00, 0x00, 0x50, /* Magic: */
+ 0x02, 0x00, 0x00, 0x68, 0x60, 0x00, 0x00, 0x50, /* see linux_s390_magic */
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 /* in the s390-ccw bios */
};
static const uint8_t s390x_code[] = {
0xa7, 0xf4, 0x00, 0x0a, /* j 0x10010 */
@@ -110,7 +113,7 @@ int boot_sector_init(char *fname)
} else if (g_str_equal(arch, "s390x")) {
len = 0x10000 + sizeof(s390x_code);
boot_code = g_malloc0(len);
- memcpy(boot_code, s390x_psw, sizeof(s390x_psw));
+ memcpy(boot_code, s390x_psw_and_magic, sizeof(s390x_psw_and_magic));
memcpy(&boot_code[0x10000], s390x_code, sizeof(s390x_code));
} else {
g_assert_not_reached();
--
2.14.3
- [Qemu-devel] [PULL 12/30] ahci: add host register enumeration, (continued)
- [Qemu-devel] [PULL 12/30] ahci: add host register enumeration, John Snow, 2018/06/08
- [Qemu-devel] [PULL 06/30] ahci: make port read traces more descriptive, John Snow, 2018/06/08
- [Qemu-devel] [PULL 09/30] ahci: modify ahci_port_write to use register numbers, John Snow, 2018/06/08
- [Qemu-devel] [PULL 17/30] ahci: adjust ahci_mem_write to work on registers, John Snow, 2018/06/08
- [Qemu-devel] [PULL 16/30] ahci: fix spacing damage on ahci_mem_write, John Snow, 2018/06/08
- [Qemu-devel] [PULL 26/30] ide: push end_transfer_func out of start_transfer callback, rename callback, John Snow, 2018/06/08
- [Qemu-devel] [PULL 27/30] ide: call ide_cmd_done from ide_transfer_stop, John Snow, 2018/06/08
- [Qemu-devel] [PULL 04/30] ahci: add port register enumeration, John Snow, 2018/06/08
- [Qemu-devel] [PULL 10/30] ahci: make port write traces more descriptive, John Snow, 2018/06/08
- [Qemu-devel] [PULL 07/30] ahci: fix spacing damage on ahci_port_write, John Snow, 2018/06/08
- [Qemu-devel] [PULL 20/30] tests/boot-sector: Add magic bytes to s390x boot code header,
John Snow <=
- [Qemu-devel] [PULL 23/30] MAINTAINERS: Add the cdrom-test to John's section, John Snow, 2018/06/08
- [Qemu-devel] [PULL 19/30] ahci: make ahci_mem_write traces more descriptive, John Snow, 2018/06/08
- [Qemu-devel] [PULL 28/30] ide: make ide_transfer_stop idempotent, John Snow, 2018/06/08
- [Qemu-devel] [PULL 22/30] tests/cdrom-test: Test that -cdrom parameter is working, John Snow, 2018/06/08
- [Qemu-devel] [PULL 21/30] tests/cdrom-test: Test booting from CD-ROM ISO image file, John Snow, 2018/06/08
- [Qemu-devel] [PULL 25/30] ahci: move PIO Setup FIS before transfer, fix it for ATAPI commands, John Snow, 2018/06/08
- [Qemu-devel] [PULL 30/30] ide: introduce ide_transfer_start_norecurse, John Snow, 2018/06/08
- [Qemu-devel] [PULL 29/30] atapi: call ide_set_irq before ide_transfer_start, John Snow, 2018/06/08
- [Qemu-devel] [PULL 24/30] libqos/ahci: track sector size, John Snow, 2018/06/08
- Re: [Qemu-devel] [PULL 00/30] Ide patches, Peter Maydell, 2018/06/11