From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hollis Blanchard Subject: virtio-net working on PowerPC KVM Date: Fri, 28 Mar 2008 17:33:17 -0500 Message-ID: <1206743597.5432.50.camel@basalt> Reply-To: Hollis Blanchard Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-tyMqKqae9lGnaO25ir7u" Cc: kvm-devel To: kvm-ppc-devel Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces@lists.sourceforge.net Errors-To: kvm-devel-bounces@lists.sourceforge.net List-Id: kvm.vger.kernel.org --=-tyMqKqae9lGnaO25ir7u Content-Type: text/plain Content-Transfer-Encoding: 7bit I'm pleased to report that we now have working network support in the guest, via the virtio-net driver. In fact, we can use NFS for the guest's root filesystem. :) Boot log attached. The bad news is that it's very slow, but the good news is that it's nice to be improving performance rather than debugging mysterious crashes... ;) With this milestone reached, in the near future I intend to start sending patches to Avi and linuxppc-dev for review, hopefully for inclusion in 2.6.26. However, I do want to see if we can improve the performance a little bit first... -- Hollis Blanchard IBM Linux Technology Center --=-tyMqKqae9lGnaO25ir7u Content-Disposition: attachment; filename=kvmppc_440_vioboot.txt Content-Type: text/plain; name=kvmppc_440_vioboot.txt; charset=UTF-8 Content-Transfer-Encoding: 7bit bash-3.00# ./qemu-system-ppcemb -M bamboo -nographic -kernel ../../uImage.bamboo -L ../pc-bios/ -append "ip=dhcp nfsroot=9.XX.XX.XX:/netroot/ppc_4xx root=/dev/nfs rw debug" -net nic,model=virtio -net tap bamboo_init: START Ram size passed is: 144 MB Calling function ppc440_init setup mmio setup universal controller trying to setup sdram controller sdram_unmap_bcr: Unmap RAM area 0000000000000000 00400000 sdram_unmap_bcr: Unmap RAM area 0000000000000000 00400000 sdram_set_bcr: Map RAM area 0000000000000000 08000000 sdram_set_bcr: Map RAM area 0000000000000000 01000000 Initializing first serial port ppc405_serial_init: offset 0000000000000300 Done calling ppc440_init bamboo_init: load kernel kernel is at guest address: 0x0 bamboo_init: load device tree file device tree address is at guest address: 0x2b2100 bamboo_init: loading kvm registers bamboo_init: DONE Using Bamboo machine description Linux version 2.6.25-rc3-hg1858cec8eb87-dirty (hollisb@basalt) (gcc version 3.4.2) #150 Wed Mar 19 12:51:20 CDT 2008 Found legacy serial port 0 for /plb/opb/serial@ef600300 mem=ef600300, taddr=ef600300, irq=0, clk=11059200, speed=115200 Found legacy serial port 1 for /plb/opb/serial@ef600400 mem=ef600400, taddr=ef600400, irq=0, clk=11059200, speed=0 console [udbg0] enabled Entering add_active_range(0, 0, 36864) 0 entries of 256 used setup_arch: bootmem arch: exit Top of RAM: 0x9000000, Total RAM: 0x9000000 Memory hole size: 0MB Zone PFN ranges: DMA 0 -> 36864 Normal 36864 -> 36864 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0 -> 36864 On node 0 totalpages: 36864 DMA zone: 288 pages used for memmap DMA zone: 0 pages reserved DMA zone: 36576 pages, LIFO batch:7 Normal zone: 0 pages used for memmap Movable zone: 0 pages used for memmap Built 1 zonelists in Zone order, mobility grouping on. Total pages: 36576 Kernel command line: ip=dhcp nfsroot=9.XX.XX.XX:/netroot/ppc_4xx root=/dev/nfs rw debug irq: Allocated host of type 2 @0xc03f3900 UIC0 (32 IRQ sources) at DCR 0xc0 irq: Default host set to @0xc03f3900 PID hash table entries: 1024 (order: 10, 4096 bytes) time_init: decrementer frequency = 666.666660 MHz time_init: processor frequency = 666.666660 MHz clocksource: timebase mult[600000] shift[22] registered clockevent: decrementer mult[aaaa] shift[16] cpu[0] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 143060k/147456k available (2632k kernel code, 4252k reserved, 100k data, 125k bss, 132k init) SLUB: Genslabs=10, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1 Calibrating delay loop... 2490.36 BogoMIPS (lpj=4980736) Mount-cache hash table entries: 512 net_namespace: 156 bytes NET: Registered protocol family 16 PCI host bridge /plb/pci@ec000000 (primary) ranges: MEM 0x00000000a0000000..0x00000000bfffffff -> 0x00000000a0000000 IO 0x00000000e8000000..0x00000000e800ffff -> 0x0000000000000000 4xx PCI DMA offset set to 0x00000000 PCI: Probing PCI hardware PCI: Hiding 4xx host bridge resources 0000:00:00.0 irq: irq_create_mapping(0xc03f3900, 0x1c) irq: -> using host @c03f3900 irq: -> obtained virq 28 Time: timebase clocksource has been installed. NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered irq: irq_create_mapping(0xc03f3900, 0x0) irq: -> using host @c03f3900 irq: -> obtained virq 16 irq: irq_create_mapping(0xc03f3900, 0x1) irq: -> using host @c03f3900 irq: -> obtained virq 17 io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled serial8250.0: ttyS0 at MMIO 0xef600300 (irq = 16) is a 16450 console handover: boot [udbg0] -> real [ttyS0] irq: irq_create_mapping(0xc03f3900, 0x0) irq: -> using host @c03f3900 irq: -> existing mapping on virq 16 ef600300.serial: ttyS0 at MMIO 0xef600300 (irq = 16) is a 16450 irq: irq_create_mapping(0xc03f3900, 0x1) irq: -> using host @c03f3900 irq: -> existing mapping on virq 17 brd: module loaded Intel(R) PRO/1000 Network Driver - version 7.3.20-k2 Copyright (c) 1999-2006 Intel Corporation. pcnet32.c:v1.34 14.Aug.2007 tsbogend@alpha.franken.de tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky PCI: Enabling device 0000:00:01.0 (0000 -> 0001) TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 17 RPC: Registered udp transport module. RPC: Registered tcp transport module. Sending DHCP requests .., OK IP-Config: Got DHCP answer from 255.255.255.255, my address is 9.XX.XX.XX IP-Config: Complete: device=eth0, addr=9.XX.XX.XX, mask=255.255.255.0, gw=9.XX.XX.XX, host=9.XX.XX.XX, domain=austin.ibm.com, nis-domain=(none), bootserver=255.255.255.255, rootserver=9.XX.XX.XX, rootpath= Looking up port of RPC 100003/2 on 9.XX.XX.XX Looking up port of RPC 100005/1 on 9.XX.XX.XX VFS: Mounted root (nfs filesystem). Freeing unused kernel memory: 132k init modprobe: FATAL: Could not load /lib/modules/2.6.25-rc3-hg1858cec8eb87-dirty/modules.dep: No such file or directory modprobe: FATAL: Could not load /lib/modules/2.6.25-rc3-hg1858cec8eb87-dirty/modules.dep: No such file or directory INIT: version 2.85 booting Welcome to DENX Embedded Linux Environment Press 'I' to enter interactive startup. Building the cache [ OK ] storage network audio done[ OK ] modprobe: FATAL: Could not load /lib/modules/2.6.25-rc3-hg1858cec8eb87-dirty/modules.dep: No such file or directory Cannot access the Hardware Clock via any known method. Use the --debug option to see the details of our search for an access method. Setting clock : Thu Jan 1 00:04:09 UTC 1970 [ OK ] Setting hostname 9.53.41.171: [ OK ] Mounting local filesystems: [ OK ] Enabling swap space: [ OK ] INIT: Entering runlevel: 3 Entering non-interactive startup Bringing up loopback interface: [ OK ] Starting system logger: [ OK ] Starting kernel logger: [ OK ] Starting portmap: [ OK ] Mounting NFS filesystems: [ OK ] Mounting other filesystems: [ OK ] Starting xinetd: [ OK ] add bridge failed: Package not installed interface eth1 does not exist! SIOCGIFFLAGS: No such device SIOCGIFFLAGS: No such device DENX ELDK version 4.1 build 2007-01-19 Linux 2.6.25-rc3-hg1858cec8eb87-dirty on a ppc 9 login: --=-tyMqKqae9lGnaO25ir7u Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace --=-tyMqKqae9lGnaO25ir7u Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel --=-tyMqKqae9lGnaO25ir7u--