* [Qemu-devel] SPARC - host support in vl.c @ 2004-08-31 22:04 Bochnig, Martin 2004-08-31 22:14 ` Falk Hueffner 2004-08-31 23:24 ` [Qemu-devel] The very best I can get on SPARC Bochnig, Martin 0 siblings, 2 replies; 7+ messages in thread From: Bochnig, Martin @ 2004-08-31 22:04 UTC (permalink / raw) To: qemu-devel Here my patch suggestions to add SPARC host support to vl.c : #elif defined(__sparc__) /* Derived from: "m68k updates #2" by Richard Zidlicky "crude hack to get some sort of rdtsc support" */ #include <sys/time.h> static int64_t cputicks=0; static struct timeval lastcptcall={0,0}; // assume 5 MHz Pentium, min 80 ticks between rdtsc calls int64_t cpu_get_real_ticks(void) { struct timeval tp; gettimeofday(&tp,(void*)0); if (tp.tv_sec == lastcptcall.tv_sec && tp.tv_usec == lastcptcall.tv_usec ){ cputicks += 1; } else { cputicks=0; lastcptcall=tp; } return ((int64_t)tp.tv_sec*1000000+tp.tv_usec)*5+cputicks; } #elif defined(__sparc64__) /* I'm not sure it was worth it, personally. * *UltraSparc: * * unsigned long x; * asm volatile ("rd %tick, %0" : "=r"(x)); * * Earlier Sparcs do not have this feature. * * */ int64_t cpu_get_real_ticks(void) { int64_t val; asm volatile ("rd %%tick, %0" : "=r"(val)); return val; } #else #error unsupported CPU #endif Any ideas would be appreciated. Martin ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] SPARC - host support in vl.c 2004-08-31 22:04 [Qemu-devel] SPARC - host support in vl.c Bochnig, Martin @ 2004-08-31 22:14 ` Falk Hueffner 2004-08-31 22:24 ` Bochnig, Martin 2004-09-01 15:44 ` Richard Zidlicky 2004-08-31 23:24 ` [Qemu-devel] The very best I can get on SPARC Bochnig, Martin 1 sibling, 2 replies; 7+ messages in thread From: Falk Hueffner @ 2004-08-31 22:14 UTC (permalink / raw) To: bochnig; +Cc: qemu-devel "Bochnig, Martin" <mb1x@gmx.com> writes: > Here my patch suggestions to add SPARC host support to vl.c : > > #elif defined(__sparc__) Why conditionalize this to __sparc__? Seems like a generally sensible fallback. -- Falk ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] SPARC - host support in vl.c 2004-08-31 22:14 ` Falk Hueffner @ 2004-08-31 22:24 ` Bochnig, Martin 2004-08-31 22:41 ` Falk Hueffner 2004-09-01 15:44 ` Richard Zidlicky 1 sibling, 1 reply; 7+ messages in thread From: Bochnig, Martin @ 2004-08-31 22:24 UTC (permalink / raw) To: qemu-devel >>#elif defined(__sparc__) > > > Why conditionalize this to __sparc__? Seems like a generally sensible > fallback. > Huh? It is to be conditionalized among powerpc, i386, x86_64 and so. SPARC32's didn't support the UltraSPARC specific %tick instruction. What do you mean? -- Martin ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] SPARC - host support in vl.c 2004-08-31 22:24 ` Bochnig, Martin @ 2004-08-31 22:41 ` Falk Hueffner 2004-09-01 7:57 ` Bochnig, Martin 0 siblings, 1 reply; 7+ messages in thread From: Falk Hueffner @ 2004-08-31 22:41 UTC (permalink / raw) To: bochnig; +Cc: qemu-devel "Bochnig, Martin" <mb1x@gmx.com> writes: >>>#elif defined(__sparc__) >> Why conditionalize this to __sparc__? Seems like a generally sensible >> fallback. > > It is to be conditionalized among powerpc, i386, x86_64 and so. > > SPARC32's didn't support the UltraSPARC specific %tick instruction. > > What do you mean? I mean that what is now for __sparc__ should just be a global #else, since it should work everywhere if a more specialized version is not available. -- Falk ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] SPARC - host support in vl.c 2004-08-31 22:41 ` Falk Hueffner @ 2004-09-01 7:57 ` Bochnig, Martin 0 siblings, 0 replies; 7+ messages in thread From: Bochnig, Martin @ 2004-09-01 7:57 UTC (permalink / raw) To: qemu-devel Falk Hueffner wrote: > I mean that what is now for __sparc__ should just be a global #else, > since it should work everywhere if a more specialized version is not > available. > Oh, of course - that's true. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] SPARC - host support in vl.c 2004-08-31 22:14 ` Falk Hueffner 2004-08-31 22:24 ` Bochnig, Martin @ 2004-09-01 15:44 ` Richard Zidlicky 1 sibling, 0 replies; 7+ messages in thread From: Richard Zidlicky @ 2004-09-01 15:44 UTC (permalink / raw) To: qemu-devel On Wed, Sep 01, 2004 at 12:14:47AM +0200, Falk Hueffner wrote: > "Bochnig, Martin" <mb1x@gmx.com> writes: > > > Here my patch suggestions to add SPARC host support to vl.c : > > > > #elif defined(__sparc__) > > Why conditionalize this to __sparc__? Seems like a generally sensible > fallback. Fabrice had plans to do this properly, by counting executed instructions. Any idea what happened with this plan? Richard ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] The very best I can get on SPARC 2004-08-31 22:04 [Qemu-devel] SPARC - host support in vl.c Bochnig, Martin 2004-08-31 22:14 ` Falk Hueffner @ 2004-08-31 23:24 ` Bochnig, Martin 1 sibling, 0 replies; 7+ messages in thread From: Bochnig, Martin @ 2004-08-31 23:24 UTC (permalink / raw) To: qemu-devel Please see my recent postings first. The very best I can get on SPARC (compiled on UltraSPARC IIi for SPARC32) : debian:~/QEMU/qemu-0.6.0# uname -a Linux debian 2.4.18 #2 Thu Apr 11 14:37:17 EDT 2002 sparc64 unknown debian:~/QEMU/qemu-0.6.0# debian:~/QEMU/qemu-0.6.0# file /usr/local/bin/qemu /usr/local/bin/qemu: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, stripped debian:~/QEMU/qemu-0.6.0# debian:~/QEMU/qemu-0.6.0# /usr/local/bin/qemu -nographic -hda hd10meg.img -kernel vmlinuz-2.6.5-1.358 -append "console=ttyS0 root=/dev/hda sb=0x220,5,1,5 ide2=noprobe ide3=noprobe ide4=noprobe ide5=noprobe" warning: could not open /dev/net/tun: no virtual network emulation Linux version 2.6.5-1.358 (bhcompile@bugs.build.redhat.com) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #1 Sat May 8 09:04:50 EDT 2004 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 0000000000100000 - 0000000008000000 (usable) 0MB HIGHMEM available. 128MB LOWMEM available. zapping low mappings. On node 0 totalpages: 32768 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 28672 pages, LIFO batch:7 HighMem zone: 0 pages, LIFO batch:1 DMI not present. ACPI: Unable to locate RSDP Built 1 zonelists Kernel command line: console=ttyS0 root=/dev/hda sb=0x220,5,1,5 ide2=noprobe ide3=noprobe ide4=noprobe ide5=noprobe ide_setup: ide2=noprobe ide_setup: ide3=noprobe ide_setup: ide4=noprobe ide_setup: ide5=noprobe mapped 4G/4G trampoline to ffff3000. Initializing CPU#0 CPU 0 irqstacks, hard=02345000 soft=02344000 PID hash table entries: 1024 (order 10: 8192 bytes) Detected 5.036 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Losing too many ticks! TSC cannot be used as a timesource. Possible reasons for this are: You're running with Speedstep, You don't have DMA enabled for your hard disk (see hdparm), Incorrect TSC synchronization on an SMP system (see dmesg). Falling back to a sane timesource now. Memory: 126804k/131072k available (1540k kernel code, 3696k reserved, 599k data, 144k init, 0k highmem) Calibrating delay loop... 142.33 BogoMIPS Security Scaffold v1.0.0 initialized SELinux: Initializing. SELinux: Starting in permissive mode There is already a security framework initialized, register_security failed. Failure registering capabilities with the kernel selinux_register_security: Registering secondary module capability Capability LSM initialized Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 8K CPU: L2 cache: 128K CPU: Intel Pentium Pro stepping 03 Unable to handle kernel paging request at virtual address fffffc01 printing eip: 023180c4 *pde = 00002067 Oops: 0002 [#1] CPU: 0 EIP: 0060:[<023180c4>] Not tainted EFLAGS: 00000246 (2.6.5-1.358) EIP is at check_fpu+0x91/0xcb eax: 0000000d ebx: 02378d00 ecx: 00000000 edx: 000003f8 esi: 0000000d edi: 0000270f ebp: 02349c03 esp: 02317f54 ds: 007b es: 007b ss: 0068 Process swapper (pid: 0, threadinfo=02317000 task=022c5aa0) Stack: 00000060 02191439 021d7b4a 0000000d 00000000 0000000d 022d9380 021d79d4 022d9380 021d79d4 02118726 00000964 fffff69c 00000964 00000964 02118840 00000246 fffff69c 00000246 fffff69c 00000246 02348e8d 00000246 021189cd Call Trace: [<02191439>] __delay+0x9/0xa [<021d7b4a>] serial8250_console_write+0x176/0x1bc [<021d79d4>] serial8250_console_write+0x0/0x1bc [<021d79d4>] serial8250_console_write+0x0/0x1bc [<02118726>] __call_console_drivers+0x36/0x42 [<02118840>] call_console_drivers+0xbe/0xe3 [<021189cd>] printk+0x106/0x113 [<0231cf7f>] print_cpu_info+0x94/0xa8 [<02318176>] check_bugs+0x28/0x50 [<023185f2>] start_kernel+0x154/0x176 Code: db e3 dd 05 a0 ff 32 02 dc 35 a8 ff 32 02 dc 0d a8 ff 32 02 <0>Kernel panic: Attempted to kill the idle task! In idle task - not syncing Killed ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2004-09-01 15:56 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-08-31 22:04 [Qemu-devel] SPARC - host support in vl.c Bochnig, Martin 2004-08-31 22:14 ` Falk Hueffner 2004-08-31 22:24 ` Bochnig, Martin 2004-08-31 22:41 ` Falk Hueffner 2004-09-01 7:57 ` Bochnig, Martin 2004-09-01 15:44 ` Richard Zidlicky 2004-08-31 23:24 ` [Qemu-devel] The very best I can get on SPARC Bochnig, Martin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).