25f5adea | 06-Oct-2020 |
Janosch Frank <frankja@linux.ibm.com> |
pc-bios: s390x: Go into disabled wait when encountering a PGM exception
Let's setup a PGM PSW, so we won't load 0s when a program exception happens. Instead we'll load a disabled wait PSW.
Signed-o
pc-bios: s390x: Go into disabled wait when encountering a PGM exception
Let's setup a PGM PSW, so we won't load 0s when a program exception happens. Instead we'll load a disabled wait PSW.
Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20201006094249.50640-5-frankja@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
42ab98e7 | 06-Oct-2020 |
Janosch Frank <frankja@linux.ibm.com> |
pc-bios: s390x: Use reset PSW if avaliable
If a blob provides a reset PSW then we should use it instead of branching to the PSW address and using our own mask.
Signed-off-by: Janosch Frank <frankja
pc-bios: s390x: Use reset PSW if avaliable
If a blob provides a reset PSW then we should use it instead of branching to the PSW address and using our own mask.
Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20201006094249.50640-4-frankja@linux.ibm.com> [thuth: Use Elvis operator to shorten long line] Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
26e0b96f | 06-Oct-2020 |
Janosch Frank <frankja@linux.ibm.com> |
pc-bios: s390x: Save PSW rework
We don't need to save the ipl_continue variable in lowcore and have it limited to 32 bits because of the lowcore layout. Let's move it to a new 64 bit variable and ge
pc-bios: s390x: Save PSW rework
We don't need to save the ipl_continue variable in lowcore and have it limited to 32 bits because of the lowcore layout. Let's move it to a new 64 bit variable and get rid of the reset info struct.
Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20201006094249.50640-3-frankja@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
4906a4e4 | 06-Oct-2020 |
Janosch Frank <frankja@linux.ibm.com> |
pc-bios: s390x: Fix bootmap.c zipl component entry data handling
The two main types of zipl component entries are execute and load/data. The last member of the component entry struct therefore denot
pc-bios: s390x: Fix bootmap.c zipl component entry data handling
The two main types of zipl component entries are execute and load/data. The last member of the component entry struct therefore denotes either a PSW or an address. Let's make this a bit more clear by introducing a union and cleaning up the code that uses that struct member.
The execute type component entries written by zipl contain short PSWs, not addresses. Let's mask them and only pass the address part to jump_to_IPL_code(uint64_t address) because it expects an address as visible by the name of the argument.
Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20201006094249.50640-2-frankja@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
468184ec | 24-Sep-2020 |
Marc Hartmayer <mhartmay@linux.ibm.com> |
pc-bios/s390-ccw: break loop if a null block number is reached
Break the loop if `cur_block_nr` is a null block number because this means that the end of chunk is reached. In this case we will try t
pc-bios/s390-ccw: break loop if a null block number is reached
Break the loop if `cur_block_nr` is a null block number because this means that the end of chunk is reached. In this case we will try to boot the default entry.
Fixes: ba831b25262a ("s390-ccw: read stage2 boot loader data to find menu") Reviewed-by: Collin Walling <walling@linux.ibm.com> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com> Message-Id: <20200924085926.21709-3-mhartmay@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
5f97ba0c | 24-Sep-2020 |
Marc Hartmayer <mhartmay@linux.ibm.com> |
pc-bios/s390-ccw: fix off-by-one error
This error takes effect when the magic value "zIPL" is located at the end of a block. For example if s2_cur_blk = 0x7fe18000 and the magic value "zIPL" is loca
pc-bios/s390-ccw: fix off-by-one error
This error takes effect when the magic value "zIPL" is located at the end of a block. For example if s2_cur_blk = 0x7fe18000 and the magic value "zIPL" is located at 0x7fe18ffc - 0x7fe18fff.
Fixes: ba831b25262a ("s390-ccw: read stage2 boot loader data to find menu") Reviewed-by: Collin Walling <walling@linux.ibm.com> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com> Message-Id: <20200924085926.21709-2-mhartmay@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> [thuth: Use "<= ... - 4" instead of "< ... - 3"] Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
49d4388e | 06-Aug-2020 |
Thomas Huth <thuth@redhat.com> |
pc-bios/s390-ccw/main: Remove superfluous call to enable_subchannel()
enable_subchannel() is already done during is_dev_possibly_bootable() (which is called from find_boot_device() -> find_subch()),
pc-bios/s390-ccw/main: Remove superfluous call to enable_subchannel()
enable_subchannel() is already done during is_dev_possibly_bootable() (which is called from find_boot_device() -> find_subch()), so there is no need to do this again in the main() function.
Message-Id: <20200806105349.632-9-thuth@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
5dc739f3 | 28-Jul-2020 |
Thomas Huth <thuth@redhat.com> |
pc-bios/s390-ccw: Allow booting in case the first virtio-blk disk is bad
If you try to boot with two virtio-blk disks (without bootindex), and only the second one is bootable, the s390-ccw bios curr
pc-bios/s390-ccw: Allow booting in case the first virtio-blk disk is bad
If you try to boot with two virtio-blk disks (without bootindex), and only the second one is bootable, the s390-ccw bios currently stops at the first disk and does not continue booting from the second one. This is annoying - and all other major QEMU firmwares succeed to boot from the second disk in this case, so we should do the same in the s390-ccw bios, too.
Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <20200806105349.632-8-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
869d0e2f | 28-Jul-2020 |
Thomas Huth <thuth@redhat.com> |
pc-bios/s390-ccw: Scan through all devices if no boot device specified
If no boot device has been specified (via "bootindex=..."), the s390-ccw bios scans through all devices to find a bootable devi
pc-bios/s390-ccw: Scan through all devices if no boot device specified
If no boot device has been specified (via "bootindex=..."), the s390-ccw bios scans through all devices to find a bootable device. But so far, it stops at the very first block device (including virtio-scsi controllers without attached devices) that it finds, no matter whether it is bootable or not. That leads to some weird situatation where it is e.g. possible to boot via:
qemu-system-s390x -hda /path/to/disk.qcow2
but not if there is e.g. a virtio-scsi controller specified before:
qemu-system-s390x -device virtio-scsi -hda /path/to/disk.qcow2
While using "bootindex=..." is clearly the preferred way of booting on s390x, we still can make the life for the users at least a little bit easier if we look at all available devices to find a bootable one.
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1846975 Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <20200806105349.632-7-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
605751b5 | 28-Jul-2020 |
Thomas Huth <thuth@redhat.com> |
pc-bios/s390-ccw: Do not bail out early if not finding a SCSI disk
In case the user did not specify a boot device, we want to continue looking for other devices if there are no valid SCSI disks on a
pc-bios/s390-ccw: Do not bail out early if not finding a SCSI disk
In case the user did not specify a boot device, we want to continue looking for other devices if there are no valid SCSI disks on a virtio- scsi controller. As a first step, do not panic in this case and let the control flow carry the error to the upper functions instead.
Message-Id: <20200806105349.632-6-thuth@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
d2cf4af1 | 28-Jul-2020 |
Thomas Huth <thuth@redhat.com> |
pc-bios/s390-ccw: Move the inner logic of find_subch() to a separate function
Move the code to a separate function to be able to re-use it from a different spot later.
Reviewed-by: Claudio Imbrenda
pc-bios/s390-ccw: Move the inner logic of find_subch() to a separate function
Move the code to a separate function to be able to re-use it from a different spot later.
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Message-Id: <20200806105349.632-5-thuth@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
f3180b02 | 05-Aug-2020 |
Thomas Huth <thuth@redhat.com> |
pc-bios/s390-ccw: Introduce ENODEV define and remove guards of others
Remove the "#ifndef E..." guards from the defines here - the header guard S390_CCW_H at the top of the file should avoid double
pc-bios/s390-ccw: Introduce ENODEV define and remove guards of others
Remove the "#ifndef E..." guards from the defines here - the header guard S390_CCW_H at the top of the file should avoid double definition, and if the error code is defined in a different file already, we're in trouble anyway, then it's better to see the error at compile time instead of hunting weird behavior during runtime later. Also define ENODEV - we will use this in a later patch.
Message-Id: <20200806105349.632-4-thuth@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
d1f060a8 | 28-Jul-2020 |
Thomas Huth <thuth@redhat.com> |
pc-bios/s390-ccw: Move ipl-related code from main() into a separate function
Let's move this part of the code into a separate function to be able to use it from multiple spots later.
Reviewed-by: C
pc-bios/s390-ccw: Move ipl-related code from main() into a separate function
Let's move this part of the code into a separate function to be able to use it from multiple spots later.
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Message-Id: <20200806105349.632-3-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
41923660 | 07-Sep-2020 |
Laszlo Ersek <lersek@redhat.com> |
pc-bios: update the README file with edk2-stable202008 information
Refresh the "pc-bios/README" file with edk2 and OpenSSL release info, matching the edk2-stable202008 firmware images added in the p
pc-bios: update the README file with edk2-stable202008 information
Refresh the "pc-bios/README" file with edk2 and OpenSSL release info, matching the edk2-stable202008 firmware images added in the previous patch.
Cc: Philippe Mathieu-Daudé <philmd@redhat.com> Ref: https://bugs.launchpad.net/qemu/+bug/1852196 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <e967b4d5-bcc2-3846-0ad6-9e8f4d2f9115@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
show more ...
|