[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too
From: |
Cornelia Huck |
Subject: |
Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too |
Date: |
Mon, 3 May 2021 11:14:57 +0200 |
On Mon, 03 May 2021 10:23:20 +0200
Markus Armbruster <armbru@redhat.com> wrote:
> David Hildenbrand <david@redhat.com> writes:
>
> > On 03.05.21 07:17, Thomas Huth wrote:
> >> On 03/05/2021 06.58, Markus Armbruster wrote:
> >>> Thomas Huth <thuth@redhat.com> writes:
> >>>
> >>>> Clang unfortunately does not support generating code for the z900
> >>>> architecture level and starts with the z10 instead. Thus to be able
> >>>> to support compiling with Clang, we have to check for the supported
> >>>> compiler flags. The disadvantage is of course that the bios image
> >>>> will only run with z10 guest CPUs upwards (which is what most people
> >>>> use anyway), so just in case let's also emit a warning in that case.
> >>>
> >>> What happens when you try to use this bios with an old CPU anyway?
> >>
> >> Interesting question. I was expecting the guest to crash since it would be
> >> using a CPU instruction that is not supported on the old CPU model. But I
> >> just gave it a try, and there was no crash. The guest booted just fine.
> >> Either Clang only emits instructions that work with the old z900 anyway, or
> >> our emulation in QEMU is imprecise and we allow newer instructions to be
> >> executed on old models, too.
> >
> > Yes, that's currently still done. We once thought about disabling that
> > (there was a patch from Richard), but decided against it because -- back
> > then -- the default QEMU model was still very basic and would have
> > essentially disabled all more recent instructions as default.
> >
> > We can most probably do that change soon as we have a "fairly new"
> > default QEMU CPU model. I can glue it to my z14 change.
>
> In case this makes the BIOS crash with old CPUs: when a guest refuses to
> start because the BIOS was compiled the wrong way for it, configure
> having told you so back then is not a nice user experience. Can we do
> better, with reasonable effort?
I fear the experience will be as bad as for any guest that is using
features from a newer cpu level (i.e. random crashes when the guest
actually tries to use that newer instruction.)
I see two options:
- Just try to start and hope that it works.
- Deprecate any cpu model older than z10.
Anyone have a better idea? I don't particularly like any of the two.
- Re: [PATCH 1/4] pc-bios/s390-ccw: Silence warning from Clang by marking panic() as noreturn, (continued)
- [PATCH 2/4] pc-bios/s390-ccw: Fix the cc-option macro in the Makefile, Thomas Huth, 2021/05/02
- [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Thomas Huth, 2021/05/02
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Philippe Mathieu-Daudé, 2021/05/02
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Markus Armbruster, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Thomas Huth, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, David Hildenbrand, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Markus Armbruster, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too,
Cornelia Huck <=
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, David Hildenbrand, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Cornelia Huck, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Thomas Huth, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Cornelia Huck, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Christian Borntraeger, 2021/05/03
Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Cornelia Huck, 2021/05/03
[PATCH 3/4] pc-bios/s390-ccw: Silence GCC 11 stringop-overflow warning, Thomas Huth, 2021/05/02