[Top][All Lists]
[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
- [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t, Paul Brook, 2010/04/04
- Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t, malc, 2010/04/05
- Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t, Alexander Graf, 2010/04/05
- Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t, malc, 2010/04/05
- Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t,
Alexander Graf <=
- Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t, Alexander Graf, 2010/04/07
- Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t, malc, 2010/04/07
- Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t, Alexander Graf, 2010/04/07
- Re: [Qemu-devel] [Applied PATCH] Split TLB addend and target_phys_addr_t, malc, 2010/04/17