[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 0/7] pc-bios/s390-ccw: Fixes and improvements for start.S (and
From: |
Thomas Huth |
Subject: |
[PATCH v3 0/7] pc-bios/s390-ccw: Fixes and improvements for start.S (and other files) |
Date: |
Thu, 29 Jun 2023 12:48:14 +0200 |
tl;dr: Please review the final patch - it's the only one that really changed.
This is a respin of the currently pending s390-ccw bios patches. Compared
to v2, I've included other pending patches for the s390-ccw bios this time,
so the series grew a little bit.
The only real code change compared to the previous version is in the
final patch: Instead of using ".bss" as start address of the area that
should be cleared, it now loads __bss_start indirectly instead. That
way we should be safe in case there will be another segment between
__bss_start and .bss one day (like .sbss on other architectures). See
The comments in https://bugzilla.redhat.com/show_bug.cgi?id=2216662
for more information.
Old cover letter follows:
------------------------------- 8< ------------------------------------
Main motivation of this series was a bug that showed up when compiling
with Clang 16 and binutils 2.40 (which has been reported in Fedora ELN, see
https://bugzilla.redhat.com/show_bug.cgi?id=2216662). This is fixed in
the final patch. I checked with "objdump" that the change is fine, indeed.
While working on this issue, I came accross some other issues which I
address in the other patches patches:
- Juan recently noticed unnecessary types in the s390-ccw bios (patch 1)
which I continued to improve in patch 2
- Recent binutils complain about executable stack - fixed in patch 3
- Indentation is a mixture between tabs and spaces in start.S (patch 4)
- We do not set up a stack frame for the main() function, which could
cause memory corruption (patch 5)
- The stack is declared in multiple places, though it's only needed
in start.S (patch 6)
v3:
- Included other pending s390-ccw bios patches
- Changed the commit message of the "__u*" clean-up patch
- Changed the final patch to load __bss_start indirectly instead
v2:
- Use ".space" instead of ".lcomm" in the third patch to make sure
that the alignment is really taken into consideration (thanks Richard)
- Alignment of 8 should be enough in the third patch (thank Christian)
- Added Reviewed-bys from v1
Juan Quintela (1):
s390-ccw: Getting rid of ulong
Thomas Huth (6):
pc-bios/s390-ccw: Get rid of the the __u* types
pc-bios/s390-ccw/Makefile: Use -z noexecstack to silence linker
warning
pc-bios/s390-ccw: Fix indentation in start.S
pc-bios/s390-ccw: Provide space for initial stack frame in start.S
pc-bios/s390-ccw: Move the stack array into start.S
pc-bios/s390-ccw: Don't use __bss_start with the "larl" instruction
pc-bios/s390-ccw/cio.h | 232 +++++++++++++++----------------
pc-bios/s390-ccw/helper.h | 2 +-
pc-bios/s390-ccw/s390-ccw.h | 12 +-
pc-bios/s390-ccw/virtio-scsi.h | 2 +-
pc-bios/s390-ccw/virtio.h | 4 +-
pc-bios/s390-ccw/main.c | 1 -
pc-bios/s390-ccw/netmain.c | 1 -
pc-bios/s390-ccw/virtio-blkdev.c | 12 +-
pc-bios/s390-ccw/virtio-scsi.c | 4 +-
pc-bios/s390-ccw/virtio.c | 12 +-
pc-bios/s390-ccw/Makefile | 2 +-
pc-bios/s390-ccw/start.S | 149 +++++++++++---------
tests/tcg/s390x/head64.S | 7 +-
13 files changed, 220 insertions(+), 220 deletions(-)
--
2.39.3
- [PATCH v3 0/7] pc-bios/s390-ccw: Fixes and improvements for start.S (and other files),
Thomas Huth <=
- [PATCH v3 2/7] pc-bios/s390-ccw: Get rid of the the __u* types, Thomas Huth, 2023/06/29
- [PATCH v3 3/7] pc-bios/s390-ccw/Makefile: Use -z noexecstack to silence linker warning, Thomas Huth, 2023/06/29
- [PATCH v3 1/7] s390-ccw: Getting rid of ulong, Thomas Huth, 2023/06/29
- [PATCH v3 5/7] pc-bios/s390-ccw: Provide space for initial stack frame in start.S, Thomas Huth, 2023/06/29
- [PATCH v3 7/7] pc-bios/s390-ccw: Don't use __bss_start with the "larl" instruction, Thomas Huth, 2023/06/29