qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t


From: Alexander Graf
Subject: Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t
Date: Wed, 07 Apr 2010 17:09:57 +0200
User-agent: Thunderbird 2.0.0.23 (X11/20090817)

malc wrote:
> On Mon, 5 Apr 2010, Alexander Graf wrote:
>
>   
>> On 05.04.2010, at 14:41, malc wrote:
>>
>>     
>>> On Mon, 5 Apr 2010, Paul Brook wrote:
>>>
>>>       
>>>> I think I got all the tcg backend bits right, but can't test most of them. 
>>>> Please test and report any problems.
>>>>
>>>> Historically the qemu tlb "addend" field was used for both RAM and IO 
>>>> accesses,
>>>> so needed to be able to hold both host addresses (unsigned long) and guest
>>>> physical addresses (target_phys_addr_t).  However since the introduction of
>>>> the iotlb field it has only been used for RAM accesses.
>>>>
>>>> This means we can change the type of addend to unsigned long, and remove
>>>> associated hacks in the big-endian TCG backends.
>>>>
>>>> We can also remove the host dependence from target_phys_addr_t.
>>>>
>>>> Signed-off-by: Paul Brook <address@hidden>
>>>>         
>>> PPC32 seems to be operational.
>>>
>>> Alexander: Can you please test it a bit more thoroughly, my PPCs are a bit
>>>           on the slow side.
>>>       
>> Test what exactly? Booting random guests with TCG on PPC?
>>     
>
> Booting 64 bit guests with 32 bit ppc hosts specifically.
>   

This is what I get when booting an x86_64 11.2 installation iso on a
ppc32 host (970MP with 32-bit userland):

address@hidden:~/git/qemu> ./x86_64-softmmu/qemu-system-x86_64 -vnc :5
-serial stdio -m 1024 -cdrom
/mounts/schnell/CD-ARCHIVE/11.2/iso/openSUSE-11.2-DVD-x86_64.iso
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.31.5-0.1-default (address@hidden) (gcc
version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux) ) #1 SMP
2009-10-26 15:49:03 +0100
[    0.000000] Command line: BOOT_IMAGE=linux initrd=initrd,08000600.spl
splash=silent vga=0x314 console=tty console=ttyS0
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f400 (usable)
[    0.000000]  BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000003fffd000 (usable)
[    0.000000]  BIOS-e820: 000000003fffd000 - 0000000040000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved)
[    0.000000] DMI 2.4 present.
[    0.000000] last_pfn = 0x3fffd max_arch_pfn = 0x400000000
[    0.000000] x86 PAT enabled: cpu 0, old 0x0, new 0x7010600070106
[    0.000000] Scanning 1 areas for low memory corruption
[    0.000000] modified physical RAM map:
[    0.000000]  modified: 0000000000000000 - 0000000000001000 (usable)
[    0.000000]  modified: 0000000000001000 - 0000000000006000 (reserved)
[    0.000000]  modified: 0000000000006000 - 000000000009f400 (usable)
[    0.000000]  modified: 000000000009f400 - 00000000000a0000 (reserved)
[    0.000000]  modified: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  modified: 0000000000100000 - 000000003fffd000 (usable)
[    0.000000]  modified: 000000003fffd000 - 0000000040000000 (reserved)
[    0.000000]  modified: 00000000fffc0000 - 0000000100000000 (reserved)
[    0.000000] init_memory_mapping: 0000000000000000-000000003fffd000
[    0.000000] RAMDISK: 3e7d8000 - 3ffdb28b
[    0.000000] ACPI: RSDP 00000000000f8870 00014 (v00 BOCHS )
[    0.000000] ACPI: RSDT 000000003fffde30 00034 (v01 BOCHS  BXPCRSDT
00000001 BXPC 00000001)
[    0.000000] ACPI: FACP 000000003ffffe70 00074 (v01 BOCHS  BXPCFACP
00000001 BXPC 00000001)
[    0.000000] ACPI: DSDT 000000003fffdfd0 01E22 (v01   BXPC   BXDSDT
00000001 INTL 20090123)
[    0.000000] ACPI: FACS 000000003ffffe00 00040
[    0.000000] ACPI: SSDT 000000003fffdf90 00037 (v01 BOCHS  BXPCSSDT
00000001 BXPC 00000001)
[    0.000000] ACPI: APIC 000000003fffdeb0 00072 (v01 BOCHS  BXPCAPIC
00000001 BXPC 00000001)
[    0.000000] ACPI: HPET 000000003fffde70 00038 (v01 BOCHS  BXPCHPET
00000001 BXPC 00000001)
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-000000003fffd000
[    0.000000] Bootmem setup node 0 0000000000000000-000000003fffd000
[    0.000000]   NODE_DATA [0000000000009000 - 0000000000020fff]
[    0.000000]   bootmap [0000000000021000 -  0000000000028fff] pages 8
[    0.000000] (7 early reservations) ==> bootmem [0000000000 - 003fffd000]
[    0.000000]   #0 [0000000000 - 0000001000]   BIOS data page ==>
[0000000000 - 0000001000]
[    0.000000]   #1 [0000006000 - 0000008000]       TRAMPOLINE ==>
[0000006000 - 0000008000]
[    0.000000]   #2 [0001000000 - 0001c6e8b0]    TEXT DATA BSS ==>
[0001000000 - 0001c6e8b0]
[    0.000000]   #3 [003e7d8000 - 003ffdb28b]          RAMDISK ==>
[003e7d8000 - 003ffdb28b]
[    0.000000]   #4 [000009f400 - 0000100000]    BIOS reserved ==>
[000009f400 - 0000100000]
[    0.000000]   #5 [0001c6f000 - 0001c6f049]              BRK ==>
[0001c6f000 - 0001c6f049]
[    0.000000]   #6 [0000008000 - 0000009000]          PGTABLE ==>
[0000008000 - 0000009000]
[    0.000000] found SMP MP-table at [ffff8800000f88c0] f88c0
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000000 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x00100000
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00000001
[    0.000000]     0: 0x00000006 -> 0x0000009f
[    0.000000]     0: 0x00000100 -> 0x0003fffd
[    0.000000] ACPI: PM-Timer IO Port: 0xb008
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI
0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs
[    0.000000] PM: Registered nosave memory: 0000000000001000 -
0000000000006000
[    0.000000] PM: Registered nosave memory: 000000000009f000 -
00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 -
00000000000f0000
[    0.000000] PM: Registered nosave memory: 00000000000f0000 -
0000000000100000
[    0.000000] Allocating PCI resources starting at 40000000 (gap:
40000000:bffc0000)
[    0.000000] NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:1 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages at ffff880001ca3000, static
data 82912 bytes
[    0.000000] Built 1 zonelists in Node order, mobility grouping on. 
Total pages: 258355
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: BOOT_IMAGE=linux
initrd=initrd,08000600.spl splash=silent vga=0x314 console=tty console=ttyS0
[    0.000000] bootsplash: silent mode.
[    0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Memory: 996000k/1048564k available (5504k kernel code,
408k absent, 52156k reserved, 4533k data, 1020k init)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:4352 nr_irqs:256
[    0.000000] Fast TSC calibration failed
[    0.000000] TSC: PIT calibration matches PMTIMER. 2 loops
[    0.000000] Detected 14.226 MHz processor.
[    0.004000] Console: colour dummy device 80x25
[    0.004000] console [tty0] enabled
[    0.004000] console [ttyS0] enabled
[    0.004000] HPET: 3 timers in total, 0 timers will be used for
per-cpu timer
[    0.009458] Calibrating delay loop (skipped), value calculated using
timer frequency.. 28.45 BogoMIPS (lpj=56904)
[    0.018306] kdb version 4.4 by Keith Owens, Scott Lurndal. Copyright
SGI, All Rights Reserved
kdb_cmd[0]: defcmd archkdb "" "First line arch debugging"
kdb_cmd[7]: defcmd archkdbcpu "" "archkdb with only tasks on cpus"
kdb_cmd[14]: defcmd archkdbshort "" "archkdb with less detailed backtrace"
kdb_cmd[21]: defcmd archkdbcommon "" "Common arch debugging"
[    0.035757] Security Framework initialized
[    0.042764] AppArmor: AppArmor initialized
[    0.051465] Dentry cache hash table entries: 131072 (order: 8,
1048576 bytes)
[    0.068965] Inode-cache hash table entries: 65536 (order: 7, 524288
bytes)
[    0.077585] Mount-cache hash table entries: 256
[    0.103933] Initializing cgroup subsys ns
[    0.104966] Initializing cgroup subsys cpuacct
[    0.106176] Initializing cgroup subsys memory
[    0.109583] Initializing cgroup subsys devices
[    0.110803] Initializing cgroup subsys freezer
[    0.111610] Initializing cgroup subsys net_cls
[    0.116340] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64
bytes/line)
[    0.117530] CPU: L2 Cache: 512K (64 bytes/line)
[    0.118933] CPU 0/0x0 -> Node 0
[    0.120516] mce: CPU supports 10 MCE banks
[    0.123414] Performance Counters: AMD PMU driver.
[    0.124900] ... version:                 0
[    0.125540] ... bit width:               48
[    0.126319] ... generic counters:        4
[    0.127059] ... value mask:              0000ffffffffffff
[    0.128197] ... max period:              00007fffffffffff
[    0.129012] ... fixed-purpose counters:  0
[    0.129631] ... counter mask:            000000000000000f
[    0.131407] SMP alternatives: switching to UP code
[    0.460416] Freeing SMP alternatives: 34k freed
[    0.464227] ACPI: Core revision 20090521
[    0.593347] Setting APIC routing to flat
[    0.605736] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.648502] CPU0: AMD QEMU Virtual CPU version 0.12.50 stepping 03
[    0.664698] Brought up 1 CPUs
[    0.665611] Total of 1 processors activated (28.45 BogoMIPS).
[    0.687857] devtmpfs: initialized
[    0.883925] Booting paravirtualized kernel on bare hardware
[    0.896241] regulator: core version 0.5
[    0.898110] Time: 15:01:21  Date: 04/07/10
[    0.904680] NET: Registered protocol family 16
[    0.926350] ACPI: bus type pci registered
[    0.933781] PCI: Using configuration type 1 for base access
[    0.997003] bio: create slab <bio-0> at 0
[    1.239546] ACPI: Interpreter enabled
[    1.240240] ACPI: (supports S0 S3 S4 S5)
[    1.245116] ACPI: Using IOAPIC for interrupt routing
[    1.489740] ACPI: No dock devices found.
[    1.495956] ACPI: PCI Root Bridge [PCI0] (0000:00)
[    1.509770] pci 0000:00:01.3: quirk: region b000-b03f claimed by
PIIX4 ACPI
[    1.511081] pci 0000:00:01.3: quirk: region b100-b10f claimed by
PIIX4 SMB
[    1.727181] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
[    1.735198] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
[    1.742612] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
[    1.750170] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
[    1.765314] SCSI subsystem initialized
[    1.775202] usbcore: registered new interface driver usbfs
[    1.777926] usbcore: registered new interface driver hub
[    1.781709] usbcore: registered new device driver usb
[    1.790324] PCI: Using ACPI for IRQ routing
[    1.810563] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    1.811830] hpet0: 3 comparators, 64-bit 100.000000 MHz counter
[    1.912775] AppArmor: AppArmor Filesystem Enabled
[    1.915885] pnp: PnP ACPI init
[    1.917672] ACPI: bus type pnp registered
[    1.977819] pnp: PnP ACPI: found 8 devices
[    1.978732] ACPI: ACPI bus type pnp unregistered
[    2.009723] NET: Registered protocol family 2
[    2.019395] IP route cache hash table entries: 32768 (order: 6,
262144 bytes)
[    2.061775] TCP established hash table entries: 131072 (order: 9,
2097152 bytes)
[    2.088712] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    2.099693] TCP: Hash tables configured (established 131072 bind 65536)
[    2.101381] TCP reno registered
[    2.109590] NET: Registered protocol family 1
[    2.123725] Unpacking initramfs...
[    2.148288] Freeing initrd memory: 24588k freed
[    2.148288] Scanning for low memory corruption every 60 seconds
[    2.148288] audit: initializing netlink socket (disabled)
[    2.148288] type=2000 audit(1270652481.144:1): initialized
[    2.148288] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    2.148288] VFS: Disk quotas dquot_6.5.2
[    2.148288] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.148288] msgmni has been set to 498
[    2.148288] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 253)
[    2.148288] io scheduler noop registered
[    2.148288] io scheduler anticipatory registered
[    2.148288] io scheduler deadline registered
[    2.148288] io scheduler cfq registered (default)
[    2.148288] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[    2.148288] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[    2.148288] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[    2.148288] pci-stub: invalid id string ""
[    2.148288] vesafb: framebuffer at 0xf0000000, mapped to
0xffffc90000580000, using 1875k, total 4096k
[    2.148288] vesafb: mode is 800x600x16, linelength=1600, pages=3
[    2.148288] vesafb: scrolling: redraw
[    2.148288] vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
[    2.148288] bootsplash 3.1.6-2004/03/31: looking for picture...
[    2.148288] bootsplash: silentjpeg size 71362 bytes
[    2.148288] bootsplash: ...found (800x600, 24018 bytes, v3).
[    2.148288] Console: switching to colour frame buffer device 96x33
[    2.148288] fb0: VESA VGA frame buffer device
[    2.148288] Non-volatile memory driver v1.3
[    2.148288] Linux agpgart interface v0.103
[    2.148288] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    2.148288] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.148288] 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.148288] scsi0 : ata_piix
[    2.148288] scsi1 : ata_piix
[    2.148288] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc000 irq 14
[    2.148288] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc008 irq 15
[    2.148288] Fixed MDIO Bus: probed
[    2.148288] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.148288] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.148288] uhci_hcd: USB Universal Host Controller Interface driver
[    2.148288] Initializing USB Mass Storage driver...
[    2.148288] usbcore: registered new interface driver usb-storage
[    2.148288] USB Mass Storage support registered.
[    2.148288] usbcore: registered new interface driver libusual
[    2.148288] usbcore: registered new interface driver ums-alauda
[    2.148288] usbcore: registered new interface driver ums-cypress
[    2.148288] usbcore: registered new interface driver ums-datafab
[    2.148288] usbcore: registered new interface driver ums-freecom
[    2.148288] usbcore: registered new interface driver ums-isd200
[    2.148288] usbcore: registered new interface driver ums-jumpshot
[    2.148288] usbcore: registered new interface driver ums-karma
[    2.148288] usbcore: registered new interface driver ums-onetouch
[    2.148288] usbcore: registered new interface driver ums-sddr09
[    2.148288] usbcore: registered new interface driver ums-sddr55
[    2.148288] usbcore: registered new interface driver ums-usbat
[    2.148288] PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at
0x60,0x64 irq 1,12
[    2.148288] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.148288] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.148288] mice: PS/2 mouse device common for all mice
[    2.148288] input: AT Translated Set 2 keyboard as
/devices/platform/i8042/serio0/input/input0
[    2.148288] rtc_cmos 00:01: rtc core: registered rtc_cmos as rtc0
[    2.148288] rtc0: alarms up to one day, 114 bytes nvram, hpet irqs
[    2.148288] cpuidle: using governor ladder
[    2.148288] cpuidle: using governor menu
[    2.148288] usbcore: registered new interface driver hiddev
[    2.148288] usbcore: registered new interface driver usbhid
[    2.148288] usbhid: v2.6:USB HID core driver
[    2.148288] TCP cubic registered
[    2.148288] NET: Registered protocol family 10
[    2.148288] lo: Disabled Privacy Extensions
[    2.148288] lib80211: common routines for IEEE802.11 drivers
[    2.148288] registered taskstats version 1
[    2.148288]   Magic number: 6:65:32
[    2.148288] rtc_cmos 00:01: setting system clock to 2010-04-07
15:01:35 UTC (1270652495)

*** sits here in hlt ***

Almost looks like a timekeeping issue, no? And yes, I tried to revert
4a9590f32e5692114aaae4ca10da89dac633e164 - no change.

> [Testing whether 64bit host still works would be nice too, thanks]
>   

That one looks good.



Alex





reply via email to

[Prev in Thread] Current Thread [Next in Thread]