On 5/2/2014 11:43 AM, Richard Henderson wrote: > On 05/02/2014 09:30 AM, Ulrich Weigand wrote: >> Richard Henderson <rth7...@gmail.com> wrote on 01.05.2014 17:44:21: >> >>> Please review, and if you've got an ELFv2 system (nudge nudge), please >>> give it a try and make sure it works. >> >> I ran into illegal instructions due to this patch: >> >>> tcg-ppc64: Support mulsh_i32 >> [snip] >>> case INDEX_op_muluh_i32: >>> tcg_out32(s, MULHWU | TAB(args[0], args[1], args[2])); >>> break; >>> + case INDEX_op_mulsh_i32: >>> + tcg_out32(s, MULHW | TAB(args[1], args[2], args[3])); >>> + break; >> >> I guess that needs to be args[0], args[1], args[2] as well. >> >> With that change, I was able to start both qemu-system-x86_64 and >> qemu-system-ppc64 and have them run through the respective BIOS/ >> SLOF bootup sequence. > > Whoops. That what I get for rearranging the patches at the last minute. > > > r~ > >
In addition to this, I am seeing an additional anomaly that I did not see with QEMU git master plus Uli's original patch (http://lists.nongnu.org/archive/html/qemu-devel/2014-04/msg03411.html). I am seeing an oops during the linux kernel boot: #9 SMP Fri Oct 1PCI: Probing PCI hardware no ibm,pcie-link-speed-stats property PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x10000-0x1ffff] (bus address [0x0000-0xffff]) pci_bus 0000:00: root bus resource [mem 0x100a0000000-0x100bfffffff] (bus address [0x80000000-0x9fffffff]) pci_bus 0000:00: root bus resource [bus 00-ffffffffff000000] IOMMU table initialized, virtual merging enabled opal: Node not found bio: create slab <bio-0> at 0 Unable to handle kernel paging request for data at address 0xc0000000e0e3ae58 Faulting instruction address: 0xc0000000001c383c Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=2048 NUMA pSeries Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.9-00001-gbe9e5b1-dirty #9 task: c00000007e500000 ti: c00000007e520000 task.ti: c00000007e520000 NIP: c0000000001c383c LR: c0000000001c3818 CTR: 0000000000000000 REGS: c00000007e5237c0 TRAP: 0300 Not tainted (3.10.9-00001-gbe9e5b1-dirty) MSR: 8000000000009033 <SF,EE,ME,IR,DR,RI,LE> CR: 24000084 XER: 20000000 SOFTE: 1 CFAR: c0000000003da630 DAR: c0000000e0e3ae58, DSISR: 40000000 GPR00: c0000000001c3818 c00000007e523a40 c000000000cbaa08 0000000000000002 GPR04: c000000000a2c679 0000000000000040 c00000007e072f40 000000000000033f GPR08: 00000000e00000e8 ffffffff80808081 0000000000000062 0000000000000000 GPR12: 0000000044000084 c00000000fe80000 c00000000000c000 0000000000000000 GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 GPR24: 000000000000001d c000000000a2c678 c000000000e3ad70 c00000007e072ee0 GPR28: 0000000000000100 c000000000ba13d0 0000000000000000 000000000000001d NIP [c0000000001c383c] .__register_chrdev_region+0xfc/0x270 LR [c0000000001c3818] .__register_chrdev_region+0xd8/0x270 PACATMSCRATCH [8000000000009033] Call Trace: [c00000007e523a40] [c0000000001c3818] .__register_chrdev_region+0xd8/0x270 (unreliable) [c00000007e523af0] [c0000000001c3f1c] .__register_chrdev+0x4c/0x160 [c00000007e523ba0] [c000000000b1e3dc] .fbmem_init+0x58/0xe4 [c00000007e523c20] [c00000000000b904] .do_one_initcall+0x164/0x1c0 [c00000007e523cd0] [c000000000ae3dd8] .kernel_init_freeable+0x248/0x320 [c00000007e523da0] [c00000000000c030] .kernel_init+0x30/0x1e0 [c00000007e523e30] [c00000000000a160] .ret_from_kernel_thread+0x5c/0x7c Instruction dump: 7f24cb78 38a00040 48216d8d 60000000 3d208080 61298081 7d1f4816 5508c9fe 1d0800ff 7d08f850 7d0807b4 79081f24 <7d3a402a> 7d1a4214 2fa90000 409e007c ---[ end trace 77ad1c7792cd7ca5 ]--- swapper/0 (1) used greatest stack depth: 8976 bytes left Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b Rebooting in 10 seconds.. SLOF ********************************************************************** QEMU Starting Build Date = Apr 4 2014 11:52:36 FW Version = git-c90b50b5055f976a