From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MYVuf-0005xf-DG for qemu-devel@nongnu.org; Tue, 04 Aug 2009 22:07:33 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MYVue-0005xT-U9 for qemu-devel@nongnu.org; Tue, 04 Aug 2009 22:07:33 -0400 Received: from [199.232.76.173] (port=55318 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MYVue-0005xQ-QG for qemu-devel@nongnu.org; Tue, 04 Aug 2009 22:07:32 -0400 Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5]:50657 helo=grelber.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MYVud-0003if-Vf for qemu-devel@nongnu.org; Tue, 04 Aug 2009 22:07:32 -0400 From: Rob Landley Subject: Re: [Qemu-devel] Powerpc regressions? Date: Tue, 4 Aug 2009 21:05:56 -0500 References: <200907071748.03623.rob@landley.net> <20090802100429.GO3732@hall.aurel32.net> In-Reply-To: MIME-Version: 1.0 Content-Disposition: inline Content-Type: Multipart/Mixed; boundary="Boundary-00=_FkOeKYTpO8At6LC" Message-Id: <200908042105.57784.rob@landley.net> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: qemu-devel@nongnu.org, Aurelien Jarno --Boundary-00=_FkOeKYTpO8At6LC Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Sunday 02 August 2009 07:25:45 Alexander Graf wrote: > On 02.08.2009, at 12:04, Aurelien Jarno wrote: > > On Sun, Aug 02, 2009 at 12:40:53AM -0500, Rob Landley wrote: > >> 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. > > > > I think using console=ttyPZ0 which is the serial port name on PowerPC > > will give you more details. Yup, that gave me boot messages. Thanks. Huh. It used ttyS0 with the other .config (I at least got boot messages), I wonder why that changed? (Just confirmed that this .config has the driver for a 16550a built in. And the name "ttyS0" for the first serial device is presumably about as genric as using eth1 for the first wired ethernet device...) Ok, switch on squashfs, boot with: qemu-system-c -M g3beige -nographic -no-reboot -kernel zImage-powerpc -hda image-powerpc.sqf -append "root=/dev/hda rw init=/usr/bin/hello-static panic=1 PATH=/usr/bin console=ttyPZ0" And it hangs. I'm using a statically linked "hello world" program linked against uClibc as my init (attached), and it hangs after printing the first two characters of "hello world". Well, I suppose that's progress. Any suggestions? > Also try "-vnc :5 -serial mon:stdio" instead of -nographic. When I get these targets working, I drive builds on them with things like: ./run-from-build.sh $1 << 'EOF' # # Smoke test for the compiler gcc -s /usr/src/thread-hello2.c -lpthread -o /tmp/hello && /tmp/hello sync exit EOF (The first line of spaces is because linux kernel 16550a serial chip initialization flushes the queue, eating anywhere up to the first 16 bytes of input data.) Therefore, I prefer to test what I'd like to actually _use_. The -nographic option can make qemu act like a normal, more or less scriptable process. Other display options don't, they all expect to interact with a human (unless you want to do something fancy with the virtual network to work around it). > Alex Rob -- Latency is more important than throughput. It's that simple. - Linus Torvalds --Boundary-00=_FkOeKYTpO8At6LC Content-Type: application/zip; charset="UTF-8"; name=".config.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=".config.zip" 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 --Boundary-00=_FkOeKYTpO8At6LC Content-Type: application/x-executable; name="hello-static" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="hello-static" 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 AAAAAAAAAQAAAAA= --Boundary-00=_FkOeKYTpO8At6LC--