From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MXTq4-0003RQ-86 for qemu-devel@nongnu.org; Sun, 02 Aug 2009 01:42:32 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MXTq2-0003RD-Br for qemu-devel@nongnu.org; Sun, 02 Aug 2009 01:42:30 -0400 Received: from [199.232.76.173] (port=44626 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MXTq2-0003RA-3Q for qemu-devel@nongnu.org; Sun, 02 Aug 2009 01:42:30 -0400 Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5]:40847 helo=grelber.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MXTq1-0006xI-Eh for qemu-devel@nongnu.org; Sun, 02 Aug 2009 01:42:29 -0400 From: Rob Landley Subject: Re: [Qemu-devel] Powerpc regressions? Date: Sun, 2 Aug 2009 00:40:53 -0500 References: <200907071748.03623.rob@landley.net> <200907122224.25591.rob@landley.net> <20090713122545.GB27081@hall.aurel32.net> In-Reply-To: <20090713122545.GB27081@hall.aurel32.net> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_mbSdKoPA69RorqH" Message-Id: <200908020040.54644.rob@landley.net> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: qemu-devel@nongnu.org --Boundary-00=_mbSdKoPA69RorqH Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Monday 13 July 2009 07:25:45 Aurelien Jarno wrote: > > If changing my kernel .config so I build a new kernel that works with the > > new qemu is my only alternative, I'm happy to do that. But I don't > > currently have a working kernel .config, and don't understand why the old > > one broke or how to avoid being hit by similar changes in future. > > I am using the Debian kernel and it works fine, please find attached the > .config attached. Finally got back in a position to spend some more time on this. Sorry for the delay. Ok, I'm trying just to boot to a command prompt with a serial console and IDE /dev/hda. (Or funky scsi IDE /dev/sda in a pinch.) Your .config is for a 2.6.26 kernel and I'm building 2.6.30, so I have to run make oldconfig against it (and just hit enter on everything to take the defaults). Also, I'm not using an initramfs at the moment, so presumably anything that's in a module can go because it won't get loaded before I get a shell prompt anyway, so I can yank anything config =m, and the module infrastructure itself, to simplify things a bit. That gave me the (much smaller) attached .config, which _should_ work the same as yours, I hope? Note that CONFIG_SERIAL_8250_CONSOLE is on, so I should be able to get a serial console, which is my first target: get boot messages from this kernel. I built a kernel using the attached .config and my existing powerpc toolchain (which built a kernel that booted under older qemu), and attempted to boot the result under current git (28e738dcb81d): qemu-system-ppc -M g3beige -nographic -no-reboot -kernel zImage-powerpc -hda image-powerpc.sqf -append "root=/dev/hda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttyS0 " >> ============================================================= >> OpenBIOS 1.0 [Jul 5 2009 17:36] >> Configuration device id QEMU version 1 machine id 2 >> CPUs: 1 >> Memory: 128M >> UUID: 00000000-0000-0000-0000-000000000000 >> CPU type PowerPC,750 Welcome to OpenBIOS v1.0 built on Jul 5 2009 17:36 >> [ppc] Kernel already loaded (0x01000000 + 0x0039bef0) (initrd 0x00000000 + 0x00000000) >> [ppc] Kernel command line: root=/dev/hda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttyS0 OF stdout device is: /pci@80000000/mac-io@4/escc@13000/ch-b@13000 Preparing to boot Linux version 2.6.30 (landley@driftwood) (gcc version 4.2.1) #1 Sat Aug 1 17:35:12 CDT 2009 command line: root=/dev/hda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttyS0 memory layout at init: alloc_bottom : 013a0000 alloc_top : 08000000 alloc_top_hi : 08000000 rmo_top : 08000000 ram_top : 08000000 found display : /pci@80000000/QEMU,VGA@1, opening... done copying OF device tree... Building dt strings... Building dt structure... Device tree strings 0x013a1000 -> 0x013a1383 Device tree struct 0x013a2000 -> 0x013a4000 Calling quiesce... returning from prom_init At which point it exits and I get the prompt back. Any idea what I'm doing wrong? Thanks, Rob -- Latency is more important than throughput. It's that simple. - Linus Torvalds --Boundary-00=_mbSdKoPA69RorqH Content-Type: application/zip; charset="UTF-8"; name=".config.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=".config.zip" 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 AAABAAEAPgAAAD8iAAAAAA== --Boundary-00=_mbSdKoPA69RorqH--