Re: [RFC PATCH] docs/about/deprecated: Deprecate 32-bit host systems

2023-04-05 Thread BALATON Zoltan

On Wed, 5 Apr 2023, Thomas Huth wrote:

On 04/04/2023 17.42, BALATON Zoltan wrote:

On Tue, 4 Apr 2023, Cédric Le Goater wrote:

[ adding Zoltan ]

On 4/4/23 16:00, Thomas Huth wrote:

On 05/02/2023 23.12, Mark Cave-Ayland wrote:

On 30/01/2023 20:45, Alex Bennée wrote:


Daniel P. Berrangé  writes:


On Mon, Jan 30, 2023 at 11:47:02AM +, Peter Maydell wrote:

On Mon, 30 Jan 2023 at 11:44, Thomas Huth  wrote:


Testing 32-bit host OS support takes a lot of precious time during 
the QEMU
contiguous integration tests, and considering that many OS vendors 
stopped
shipping 32-bit variants of their OS distributions and most hardware 
from

the past >10 years is capable of 64-bit


True for x86, not necessarily true for other architectures.
Are you proposing to deprecate x86 32-bit, or all 32-bit?
I'm not entirely sure about whether we're yet at a point where
I'd want to deprecate-and-drop 32-bit arm host support.


Do we have a feeling on which aspects of 32-bit cause us the support
burden ? The boring stuff like compiler errors from mismatched integer
sizes is mostly quick & easy to detect simply through a cross compile.

I vaguely recall someone mentioned problems with atomic ops in the 
past,

or was it 128-bit ints, caused implications for the codebase ?


Atomic operations on > TARGET_BIT_SIZE and cputlb when
TCG_OVERSIZED_GUEST is set. Also the core TCG code and a bunch of the
backends have TARGET_LONG_BITS > TCG_TARGET_REG_BITS ifdefs peppered
throughout.


I am one of an admittedly small group of people still interested in 
using KVM-PR on ppc32 to boot MacOS, although there is some interest on 
using 64-bit KVM-PR to run super-fast MacOS on modern Talos hardware.


 From my perspective losing the ability to run 64-bit guests on 32-bit 
hardware with TCG wouldn't be an issue, as long as it were still 
possible to use qemu-system-ppc on 32-bit hardware using both TCG and 
KVM to help debug the remaining issues.


  Hi Mark!

Just out of curiosity (since we briefly talked about 32-bit KVM on ppc in 
today's QEMU/KVM call - in the context of whether qemu-system-ppc64 is a 
proper superset of qemu-system-ppc when it comes to building a unified 
qemu-system binary): What host machine are you using for running KVM-PR? 
And which QEMU machine are you using for running macOS? The mac99 or the 
g3beige machine?


Zoltan, what about the pegasos2 and sam460ex machines ? can they be run 
under KVM ?


I don't know as I don't have PPC hardware to test on but theoretically they 
should work. Although BookE KVM was dropped from Linux I think so sam460ex 
could only work with an old kernel on a BookE host which is now rare 

[...]

Thanks for your explanations, that indeed helps to understand the situation!

But are you sure about the BookE KVM removal in the Linux kernel? ... when I 
look at the arch/powerpc/kvm/ folder there, I can still see some files there 
with "booke" in the name?


No, I'm not sure but I think KVM on PPC440 (which is used by sam460ex) is 
likely not working properly. What's there may work on newer cores such as 
e500 and later but not sure if that can run PPC440 code. I never heard 
anyone successfully getting sam460ex work with KVM but that may also be 
because real PPC440 hosts are rare.


But if the question is if we still need 32 bit PPC host I think we do for 
now as that's the only way to run 32bit guests with G3 and G4 until the 
issues which prevent them to run on 64bit host kernel are fixed.


Regards,
BALATON Zoltan

Re: [RFC PATCH] docs/about/deprecated: Deprecate 32-bit host systems

2023-04-04 Thread BALATON Zoltan

On Tue, 4 Apr 2023, Cédric Le Goater wrote:
Unrelated to KVM: Do you happen to know whether there are any problems when 
running 32-bit guests with TCG with the mac99 or g3beige machine while 
using qemu-system-ppc64 ?


We removed rfi support for 64bit machine in QEMU 2.7.  Commit a2e71b28e8
("ppc: Fix rfi/rfid/hrfi/... emulation"). So a mac99 machine using a 970
CPU needs a 64 bit kernel. The rfi insn was deleted from the ISA ...


I don't know about that issue but maybe this does not really answer the 
question. AFAIK you could still run 32 bit guests with qemu-system-ppc64 
and they seem to work. One could still get the qemu-system-ppc -M mac99 
machine as qemu-system-ppc64 -M mac99 -cpu G4 but this is very confusing 
and nobody could guess it. Other machines should work the same in 
qemu-system-ppc64, the only concern is that some defines such as 
TARGET_ULONG are different between qemu-system-ppc and qemu-system-ppc64 
and it's not known if this could cause any problems. It's more frequently 
happens that people try qemu-system-ppc64 -M mac99 when they want a G4 Mac 
and get confused that it emulates a G5 Mac instead which does not even 
work for anything than a Linux guest.


Regards,
BALATON Zoltan

Re: [RFC PATCH] docs/about/deprecated: Deprecate 32-bit host systems

2023-04-04 Thread BALATON Zoltan

On Tue, 4 Apr 2023, Cédric Le Goater wrote:

[ adding Zoltan ]

On 4/4/23 16:00, Thomas Huth wrote:

On 05/02/2023 23.12, Mark Cave-Ayland wrote:

On 30/01/2023 20:45, Alex Bennée wrote:


Daniel P. Berrangé  writes:


On Mon, Jan 30, 2023 at 11:47:02AM +, Peter Maydell wrote:

On Mon, 30 Jan 2023 at 11:44, Thomas Huth  wrote:


Testing 32-bit host OS support takes a lot of precious time during the 
QEMU
contiguous integration tests, and considering that many OS vendors 
stopped
shipping 32-bit variants of their OS distributions and most hardware 
from

the past >10 years is capable of 64-bit


True for x86, not necessarily true for other architectures.
Are you proposing to deprecate x86 32-bit, or all 32-bit?
I'm not entirely sure about whether we're yet at a point where
I'd want to deprecate-and-drop 32-bit arm host support.


Do we have a feeling on which aspects of 32-bit cause us the support
burden ? The boring stuff like compiler errors from mismatched integer
sizes is mostly quick & easy to detect simply through a cross compile.

I vaguely recall someone mentioned problems with atomic ops in the past,
or was it 128-bit ints, caused implications for the codebase ?


Atomic operations on > TARGET_BIT_SIZE and cputlb when
TCG_OVERSIZED_GUEST is set. Also the core TCG code and a bunch of the
backends have TARGET_LONG_BITS > TCG_TARGET_REG_BITS ifdefs peppered
throughout.


I am one of an admittedly small group of people still interested in using 
KVM-PR on ppc32 to boot MacOS, although there is some interest on using 
64-bit KVM-PR to run super-fast MacOS on modern Talos hardware.


 From my perspective losing the ability to run 64-bit guests on 32-bit 
hardware with TCG wouldn't be an issue, as long as it were still possible 
to use qemu-system-ppc on 32-bit hardware using both TCG and KVM to help 
debug the remaining issues.


  Hi Mark!

Just out of curiosity (since we briefly talked about 32-bit KVM on ppc in 
today's QEMU/KVM call - in the context of whether qemu-system-ppc64 is a 
proper superset of qemu-system-ppc when it comes to building a unified 
qemu-system binary): What host machine are you using for running KVM-PR? 
And which QEMU machine are you using for running macOS? The mac99 or the 
g3beige machine?


Zoltan, what about the pegasos2 and sam460ex machines ? can they be run under 
KVM ?


I don't know as I don't have PPC hardware to test on but theoretically 
they should work. Although BookE KVM was dropped from Linux I think so 
sam460ex could only work with an old kernel on a BookE host which is now 
rare but pegasos2 uses G4 CPU which is more likely to work on a host with 
the same CPU but I don't know anybody tested it yet. I know some people 
are interested to use it especially on G4 and G5 and some tested the 
latter but it does not work due to some differences that should be handled 
by KVM-PR but apparently they aren't (e.g. dcbz cache line size which I've 
seen debugged and identified by at least two sources that I sent 
references to this list before but to my knowledge no fix got upstream in 
Linux for this).


AFAIK Mark has a G4 Mac mini on which KVM-PR works and it may also work on 
G5 when using 32 bit Kernel but running G4 guest on G5 with 64 bit kernel 
does not work. G5 host with 64 bit kernel may work with 64 bit guests but 
all Amiga like OSes I'm interested in are 32 bit so they either need 32 
bit host kernel, preferably with same CPU as the guest (so G4 for pegasos2 
or PPC440 for sam460ex) or fixing the patching and emulation of 
instructions in KVM-PR that behave differently between G4 and G5 which 
should be possible but nobody seems to have done it or bothered to 
upstream it and what's there may be incomplete or buggy.


The only reports I've seen that said it works were either running 32bit 
guest on 32bit BookS host or 64bit guest on 64bit BookS host. (A special 
case is running 64bit aware 32bit guest such as newer MacOS or MorphOS 
versions on 64bit hosts which can run on real G5 so these may run as long 
as they correctly identify the CPU they are running on but the G5 Mac 
emulation in QEMU currently can't boot these because the machine is not 
emulated precisely enough for them.)


Regards,
BALATON Zoltan

Re: [RFC PATCH] docs/about/deprecated: Deprecate 32-bit host systems

2023-04-04 Thread BALATON Zoltan

On Tue, 4 Apr 2023, Thomas Huth wrote:

On 05/02/2023 23.12, Mark Cave-Ayland wrote:

On 30/01/2023 20:45, Alex Bennée wrote:


Daniel P. Berrangé  writes:


On Mon, Jan 30, 2023 at 11:47:02AM +, Peter Maydell wrote:

On Mon, 30 Jan 2023 at 11:44, Thomas Huth  wrote:


Testing 32-bit host OS support takes a lot of precious time during the 
QEMU
contiguous integration tests, and considering that many OS vendors 
stopped
shipping 32-bit variants of their OS distributions and most hardware 
from

the past >10 years is capable of 64-bit


True for x86, not necessarily true for other architectures.
Are you proposing to deprecate x86 32-bit, or all 32-bit?
I'm not entirely sure about whether we're yet at a point where
I'd want to deprecate-and-drop 32-bit arm host support.


Do we have a feeling on which aspects of 32-bit cause us the support
burden ? The boring stuff like compiler errors from mismatched integer
sizes is mostly quick & easy to detect simply through a cross compile.

I vaguely recall someone mentioned problems with atomic ops in the past,
or was it 128-bit ints, caused implications for the codebase ?


Atomic operations on > TARGET_BIT_SIZE and cputlb when
TCG_OVERSIZED_GUEST is set. Also the core TCG code and a bunch of the
backends have TARGET_LONG_BITS > TCG_TARGET_REG_BITS ifdefs peppered
throughout.


I am one of an admittedly small group of people still interested in using 
KVM-PR on ppc32 to boot MacOS, although there is some interest on using 
64-bit KVM-PR to run super-fast MacOS on modern Talos hardware.


 From my perspective losing the ability to run 64-bit guests on 32-bit 
hardware with TCG wouldn't be an issue, as long as it were still possible 
to use qemu-system-ppc on 32-bit hardware using both TCG and KVM to help 
debug the remaining issues.


Hi Mark!

Just out of curiosity (since we briefly talked about 32-bit KVM on ppc in 
today's QEMU/KVM call - in the context of whether qemu-system-ppc64 is a 
proper superset of qemu-system-ppc when it comes to building a unified 
qemu-system binary): What host machine are you using for running KVM-PR? And


Another issue I know is that mac99 behaves differently in qemu-system-ppc 
and qemu-system-ppc64. This is not only confusing users but makes it more 
difficult to get rid of qemu-system-ppc. I've tried to solve that and 
sumbitted a patch to start deprecating these but I could not get that 
merged. That thread ended here:


https://lists.nongnu.org/archive/html/qemu-ppc/2023-01/msg00406.html

Regards,
BALATON Zoltan

Re: [PATCH v2 07/18] hw/ide/piix: Ensure IDE output IRQs are wired at realization

2023-02-21 Thread BALATON Zoltan

On Mon, 20 Feb 2023, Bernhard Beschow wrote:
IIUC, QEMU guarantees a deprecation period for at least two major 
versions. So if we deprecated user-creatable piix-ide in 8.1, we are not 
allowed to remove it before 10.1. Let's stick to our rules to give our 
users a chance to adapt gracefully.


I think that's not 2 major releases just 2 releases so in your example 
could be removed in 9.0. qemu/docs/about/deprecated.rst says:


"The feature will remain functional for the release in which it was 
deprecated and one further release. After these two releases, the feature 
is liable to be removed."


Regards,
BALATON Zoltan