aboutsummaryrefslogtreecommitdiff
path: root/pc-bios/s390-ccw/bootmap.h
diff options
context:
space:
mode:
authorMaxim Samoylov <max7255@linux.vnet.ibm.com>2015-10-12 17:50:20 +0200
committerCornelia Huck <cornelia.huck@de.ibm.com>2015-11-11 17:21:39 +0100
commitba21f0cca8165c5b284274edd12dc955cf4fb248 (patch)
tree6a80ef303c990410f17af27df49c3d8831465720 /pc-bios/s390-ccw/bootmap.h
parent866cac91e06219f473a2900eefef0d1cf242b136 (diff)
downloadqemu-ba21f0cca8165c5b284274edd12dc955cf4fb248.zip
qemu-ba21f0cca8165c5b284274edd12dc955cf4fb248.tar.gz
qemu-ba21f0cca8165c5b284274edd12dc955cf4fb248.tar.bz2
pc-bios/s390-ccw: El Torito s390x boot entry check
Boot entry is considered compatible if boot image is Linux kernel with matching S390 Linux magic string. Empty boot images with sector_count == 0 are considered broken. Signed-off-by: Maxim Samoylov <max7255@linux.vnet.ibm.com> Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'pc-bios/s390-ccw/bootmap.h')
-rw-r--r--pc-bios/s390-ccw/bootmap.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/pc-bios/s390-ccw/bootmap.h b/pc-bios/s390-ccw/bootmap.h
index 4f6f767..cc77fd7 100644
--- a/pc-bios/s390-ccw/bootmap.h
+++ b/pc-bios/s390-ccw/bootmap.h
@@ -495,6 +495,14 @@ typedef struct IsoBcHdr {
uint8_t id[28];
} __attribute__((packed)) IsoBcHdr;
+/*
+ * Match two CCWs located after PSW and eight filler bytes.
+ * From libmagic and arch/s390/kernel/head.S.
+ */
+const uint8_t linux_s390_magic[] = "\x02\x00\x00\x18\x60\x00\x00\x50\x02\x00"
+ "\x00\x68\x60\x00\x00\x50\x40\x40\x40\x40"
+ "\x40\x40\x40\x40";
+
typedef struct IsoBcEntry {
uint8_t id;
union {