On Wed, 2008-11-05 at 14:08 -0600, Anthony Liguori wrote: > > > It's worth noting that the PFN_SHIFT question (in the other thread) is a > > separate issue. I could have PFN_SHIFT=10 but define VRING_PAGE_SIZE=4K > > for internal alignment. I'm a little nervous about making PPC the only > > arch with VRING_PAGE_SIZE=1K, since that might affect my vring layout in > > "unusual" ways if it expands beyond 1K but stays inside 4K. > > > > This is starting to get a little hairy. Yes it is. > Maybe 64k guest pages is asking > for trouble? Are you sure other things aren't breaking all over the > place with these patches in place? Define "other things"? Here's my current boot log from 64K/64K guest/host configuration: bash-3.00# ./qemu-system-ppcemb -m 128 -M bamboo -nographic -kernel ~/uImage.64k -L ../pc-bios/ -append "root=/dev/vda rw debug" -net nic -net tap -drive file=/mnt/images/ramdisk_image,if=virtio,boot=on bamboo_init: START Ram size passed is: 128 MB Calling function ppc440_init setup mmio setup universal controller trying to setup sdram controller sdram_unmap_bcr: Unmap RAM area 0000000000000000 00400000 sdram_set_bcr: Map RAM area 0000000000000000 08000000 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: 0x381488 bamboo_init: DONE Using PowerPC 44x Platform machine description Linux version 2.6.28-rc2-dirty (hollisb@xxxxxxxxxxxxxxxxxxxx) (gcc version 4.2.3) #101 Tue Nov 4 14:19:54 CST 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 setup_arch: bootmem arch: exit Top of RAM: 0x8000000, Total RAM: 0x8000000 Memory hole size: 0MB Zone PFN ranges: DMA 0x00000000 -> 0x00000800 Normal 0x00000800 -> 0x00000800 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00000800 On node 0 totalpages: 2048 free_area_init_node: node 0, pgdat c034baa8, node_mem_map c0440000 DMA zone: 1 pages used for memmap DMA zone: 0 pages reserved DMA zone: 2047 pages, LIFO batch:0 Normal zone: 0 pages used for memmap Movable zone: 0 pages used for memmap Built 1 zonelists in Zone order, mobility grouping off. Total pages: 2047 Kernel command line: root=/dev/vda rw debug UIC0 (32 IRQ sources) at DCR 0xc0 PID hash table entries: 512 (order: 9, 2048 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: 16384 (order: 0, 65536 bytes) Inode-cache hash table entries: 16384 (order: 0, 65536 bytes) Memory: 126336k/131072k available (3136k kernel code, 4736k reserved, 256k data, 655k bss, 320k init) SLUB: Genslabs=14, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Calibrating delay loop... 2555.90 BogoMIPS (lpj=5111808) Mount-cache hash table entries: 8192 net_namespace: 288 bytes program_check_exception: nip c02cad1c reason 2800000 ------------[ cut here ]------------ Badness at c02cad1c [verbose debug info unavailable] NIP: c02cad1c LR: c00013e4 CTR: c02cacf0 REGS: c7e11e00 TRAP: 0700 Not tainted (2.6.28-rc2-dirty) MSR: 00029002 <EE,ME> CR: 84000042 XER: 20000000 TASK = c7e00000[1] 'swapper' THREAD: c7e10000 GPR00: c7fe0000 c7e11eb0 c7e00000 c02cacf0 00000000 00000000 c04a04bc 0000076d GPR08: 00000036 00000001 c7e11e38 c7fdffff 44000042 00000000 00000000 00000000 GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 GPR24: 00000000 00000000 00000f60 00000000 c0390360 c02cacf0 c7e10000 c032001c NIP [c02cad1c] dma_alloc_init+0x2c/0xcc LR [c00013e4] do_one_initcall+0x38/0x19c Call Trace: [c7e11eb0] [c02d78d0] net_ns_init+0x0/0x1e4 (unreliable) [c7e11ec0] [c00013e4] do_one_initcall+0x38/0x19c [c7e11fd0] [c02c0168] kernel_init+0x88/0xf4 [c7e11ff0] [c000d5f4] kernel_thread+0x50/0x6c Instruction dump: 4e800020 9421fff0 7c0802a6 3d20c033 93e1000c 90010014 81290334 37e9001c 41820094 8009001c 3160ffff 7d2b0110 <0f090000> 7403ffff 4182005c 3c030001 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 pci 0000:00:01.0: reg 10 io port: [0x00-0x3f] pci 0000:00:02.0: reg 10 io port: [0x00-0x1f] bus: 00 index 0 io port: [0x00-0xffff] bus: 00 index 1 mmio: [0xa0000000-0xbfffffff] NET: Registered protocol family 2 IP route cache hash table entries: 16384 (order: 0, 65536 bytes) TCP established hash table entries: 8192 (order: 0, 65536 bytes) TCP bind hash table entries: 8192 (order: -1, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered NET: Registered protocol family 1 msgmni has been set to 244 alg: No test for stdrng (krng) io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered Serial: 8250/16550 driver4 ports, IRQ sharing enabled serial8250.0: ttyS0 at MMIO 0xef600300 (irq = 16) is a 16550A console handover: boot [udbg0] -> real [ttyS0] ef600300.serial: ttyS0 at MMIO 0xef600300 (irq = 16) is a 16550A brd: module loaded Intel(R) PRO/1000 Network Driver - version 7.3.20-k3-NAPI Copyright (c) 1999-2006 Intel Corporation. PPC 4xx OCP EMAC driver, version 3.54 ZMII /plb/opb/emac-zmii@ef600d00 initialized pcnet32.c:v1.35 21.Apr.2008 tsbogend@xxxxxxxxxxxxxxxx tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky <maxk@xxxxxxxxxxxx> virtio-pci 0000:00:01.0: enabling device (0000 -> 0001) vda:qemu-system-ppcemb: Guest moved used index from 0 to 38277 (This is with my in-progress patches applied. Before virtio would just hang, since it was miscommunicating the vring's physical address.) -- Hollis Blanchard IBM Linux Technology Center -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html