Hi Cédric, > and the default ppce500 machine has enough devices for the purpose ?
We cannot test much without a predictable timer emulation on QEMU, sometimes we have fairly random freezes, but otherwise the basics work ok. I will let you know in case we find something more or less reproducible. Best, Vitaly > On 21 Jan 2022, at 20:33, Cédric Le Goater <c...@kaod.org> wrote: > > Hello Vitaly, > > On 1/21/22 10:33, Vitaly Cheptsov wrote: >> Hi Cédric, >>> This looks correct and even fixing an issue that Mario reported >>> on the TCG e6500 CPU with a kernel + KVM compiled in : >>> >>> >>> https://lore.kernel.org/all/R5JFVM$911e343ff81933b99d53fd0992d88...@locati.it/ >>> >>> KVM has some issues also with the e6500 but that's another problem >>> I think. >> Glad to hear that. Could you schedule the inclusion of the patch in 6.2.1 or >> 6.3 please? > > 7.0 it should be. > >>> What is your environment ? Which QEMU machine ? Can you provide a >>> command line ? >> We have an in-house RTOS at ISP RAS, which we use to run some environmental >> tests on QEMU. > > not a Linux. Diversity is good for the models. > >> The target hardware in this particular example is a QorIQ P3041-based board. > > and the default ppce500 machine has enough devices for the purpose ? > > Thanks, > > C. > >> The command line approximately looks like this: >> qemu-system-ppc -cpu e500mc -M ppce500 -m 128M -icount 1 -kernel >> /path/to/kernel.elf -serial tcp::1111,server,nodelay >>> Could you please resend the patch in a non attached way ? See : >>> >>> https://www.qemu.org/docs/master/devel/submitting-a-patch.html >>> >>> and copy qemu-devel. >> Yes, sure. Have just done that. >> Best regards, >> Vitaly >>> On 21 Jan 2022, at 11:17, Cédric Le Goater <c...@kaod.org> wrote: >>> >>> Hello Vitaly >>> >>> On 1/21/22 01:02, Vitaly Cheptsov wrote: >>>> Hello, >>>> PowerPC e500mc defines MSR bit 35 differently from most other PowerPC >>>> variants. In particular, for e500mc this is GS (Guest Supervisor) bit[1], >>>> while for others it is NOEXEC GUARD bit[2]. >>>> QEMU ignores this architectural difference when handling the exceptions of >>>> attempting to run not executable code on e500mc, and mistakenly sets the >>>> GS bit[3][4]. >>>> Setting this bit eventually leads to crashes, because although QEMU does >>>> not support Guest Supervisor mode on e500mc, it still requires it to be >>>> disabled[5]. >>> >>> This looks correct and even fixing an issue that Mario reported >>> on the TCG e6500 CPU with a kernel + KVM compiled in : >>> >>> >>> https://lore.kernel.org/all/R5JFVM$911e343ff81933b99d53fd0992d88...@locati.it/ >>> >>> KVM has some issues also with the e6500 but that's another problem >>> I think. >>> >>> >>> What is your environment ? Which QEMU machine ? Can you provide a >>> command line ? >>> >>> Could you please resend the patch in a non attached way ? See : >>> >>> https://www.qemu.org/docs/master/devel/submitting-a-patch.html >>> >>> and copy qemu-devel. >>> >>> Thanks, >>> >>> C. >>> >>> >>>> Best regards, >>>> Vitaly >>>> [1] https://www.nxp.com/docs/en/reference-manual/E500MCRM.pdf, 2.7.1 MSR >>>> [2] https://openpowerfoundation.org/?resource_lib=power-isa-version-3-0, >>>> 6.5.5 Instruction Storage Interrupt >>>> [3] https://github.com/qemu/qemu/blob/v6.2.0/target/ppc/mmu_common.c#L1426 >>>> [4] >>>> https://github.com/qemu/qemu/blob/v6.2.0/target/ppc/excp_helper.c#L414-L416 >>>> [5] >>>> https://github.com/qemu/qemu/blob/v6.2.0/target/ppc/mmu_helper.c#L1078-L1080 >>> >
signature.asc
Description: Message signed with OpenPGP