Re: [Qemu-devel] qemu and debian-4.0r0-linux?
On 4/27/07, ISHWAR RATTAN [EMAIL PROTECTED] wrote: The host system is Pentium 4 runing Linux. Qemu is qemu-0.9.0 (snapshot 4/26) I tried the net-installs: debian-40r0-sparc-netinst.iso and debian-testing-sparc-netinst.iso both stop at random points during the step installing the systsem: error seen: Unable to handle kernel NULL pointer dereference tsk-{mm,active,mm}-context = 00c3 tsk-{mm, active,mm}-pgd = fc017000 Kernel panic -- not syncing; killing interrupt handler I didn't get this error, but the install just stuck at 7%. This may be related to other problems reported on the installer: http://www.debian.org/releases/etch/sparc/release-notes/ch-installing.en.html#s-sparc_illegal_instruction
Re: [Qemu-devel] ARM Big endian system emulation
On Sat, Apr 28, 2007 at 01:23:36AM +0200, Alexis Berlemont wrote: Do you know some other big-endian platform ? Mostly Intel IXP stuff. Most ixp4xx used to run in big-endian mode (but a lot of them switched to little-endian when the network driver was made to work in little- endian mode), and most ixp2000 and ixp23xx systems these days are still run in big-endian mode.
[Qemu-devel] [PATCH] fix PIC irq delivery for x86 target when local APIC is enabled
Current interrupt logic in Qemu unconditionally checks pending irqs on PIC after checking local APIC, however, this is problematic. On x86 platform, PIC is usually connected to the LINT0 of local APIC. In this way when local APIC is disabled, this pin behaves like INTR. But when local APIC is enabled, its behavior can be determined by LVT_LINT0: PIC should only deliver normal irq only when `external interrupt' delivery mode is set. x86_64 Linux kernel uses PIT-PIC-LINT0 as NMI source when performance counters are not available, but the logic described above treats the NMI as normal interrupt which yields a 2x faster global timer because an additional timer interrupt is injected on every tick. This patch fixes this issue. Thanks, Qing diff -uNra qemu-cvs/hw/apic.c qemu/hw/apic.c --- qemu-cvs/hw/apic.c 2007-04-04 00:38:34.0 +0800 +++ qemu/hw/apic.c 2007-04-28 16:19:36.0 +0800 @@ -484,6 +484,20 @@ return intno; } +int apic_accept_pic_intr(CPUState *env) +{ +APICState *s = env-apic_state; +uint32_t lvt0 = s-lvt[APIC_LVT_LINT0]; + +if (env-cpu_index == 0 +((s-apicbase MSR_IA32_APICBASE_ENABLE) == 0 || + ((lvt0 APIC_LVT_MASKED) == 0 + ((lvt0 8) 0x7) == APIC_DM_EXTINT))) +return 1; + +return 0; +} + static uint32_t apic_get_current_count(APICState *s) { int64_t d; @@ -821,6 +835,13 @@ s-apicbase = 0xfee0 | (s-id ? 0 : MSR_IA32_APICBASE_BSP) | MSR_IA32_APICBASE_ENABLE; +/* + * LINT0 delivery mode is set to ExtInt at initialization time, so + * PIC interrupt can be delivered to the processor when local APIC + * is enabled. + */ +s-lvt[APIC_LVT_LINT0] = 0x700; + /* XXX: mapping more APICs at the same memory location */ if (apic_io_memory == 0) { /* NOTE: the APIC is directly connected to the CPU - it is not diff -uNra qemu-cvs/hw/pc.c qemu/hw/pc.c --- qemu-cvs/hw/pc.c2007-04-08 02:14:41.0 +0800 +++ qemu/hw/pc.c2007-04-28 16:19:36.0 +0800 @@ -98,6 +98,9 @@ return intno; } /* read the irq from the PIC */ +if (!apic_accept_pic_intr(env)) +return -1; + intno = pic_read_irq(isa_pic); return intno; } diff -uNra qemu-cvs/vl.h qemu/vl.h --- qemu-cvs/vl.h 2007-04-24 15:40:49.0 +0800 +++ qemu/vl.h 2007-04-28 16:19:36.0 +0800 @@ -1090,6 +1090,7 @@ int apic_init(CPUState *env); int apic_get_interrupt(CPUState *env); +int apic_accept_pic_intr(CPUState *env); IOAPICState *ioapic_init(void); void ioapic_set_irq(void *opaque, int vector, int level); qemu-pc-pic-apic-mutual-exclusive.patch Description: qemu-pc-pic-apic-mutual-exclusive.patch
[Qemu-devel] Sparc-linux-user problem
Hi, I'm investigating why Sparc32 user emulator breaks when linked with -lrt. It seems that other libraries also cause the problem, for example -lm -ldl -lX11 -lbfd -lslang is okay, but -lm -ldl -lX11 -lbfd -lslang -lglib-2.0 segfaults just like -lm -lrt. If just address space conflict was the issue, I'd think 12 megs libbfd would trigger the problem instead of 64k librt. Any ideas? Good output (DEBUG_SIGNAL enabled): qemu-sparc ./ld-linux.so.2 qemu: SIGSEGV pc=0x810d80b4 address=4103fd10 w=1 oldset=0x8000 Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...] You have invoked `ld.so', the helper program for shared library executables. This program usually lives in the file `/lib/ld.so', and special directives [cut] Bad output: qemu: SIGSEGV pc=0x810d80d4 address=4103fd10 w=1 oldset=0x8000 qemu: SIGSEGV pc=0x00018000 address=00018000 w=0 oldset=0xfffbfaff queue_signal: sig=11 qemu: uncaught target signal 11 (Segmentation fault) - exiting This ld-linux.so.2 is from qemu-tests-0.5.3. The value pc (=0x810d80d4) changes a bit when libraries are added.
[Qemu-devel] question in linux's printk in qemu and vga console err
i build a linux 2-6.16 kernel image, and use it to run in qemu. but it have some problems when it runs. 1:the console's config(kernel config) can only be dummy console , can not be vga console ,if i choose vga console ,it will fails in console_init function. 2:it can print message like putstr(Uncompressing Linux...); but when it run in start_kernel, it use printk to print message, the message can not be found in qemu. my kernel config did not choose vga console ,but choosed dummy console, is this made printk did not work ??? who konws what is wrong ?? and how to deal with it ??? _ 与联机的朋友进行交流,请使用 MSN Messenger: http://messenger.msn.com/cn
[Qemu-devel] qemu sparc.ld
CVSROOT:/cvsroot/qemu Module name:qemu Changes by: Blue Swirl blueswir1 07/04/28 15:18:14 Modified files: . : sparc.ld Log message: Fix Sparc32 ldscript CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/sparc.ld?cvsroot=qemur1=1.1r2=1.2
RE: [Qemu-devel] question in linux's printk in qemu and vga console err
From: tang peilei [EMAIL PROTECTED] Reply-To: qemu-devel@nongnu.org To: qemu-devel@nongnu.org Subject: [Qemu-devel] question in linux's printk in qemu and vga console err Date: Sat, 28 Apr 2007 12:19:02 + i build a linux 2-6.16 kernel image, and use it to run in qemu. but it have some problems when it runs. 1:the console's config(kernel config) can only be dummy console , can not be vga console ,if i choose vga console ,it will fails in console_init function. 2:it can print message like putstr(Uncompressing Linux...); but when it run in start_kernel, it use printk to print message, the message can not be found in qemu. my kernel config did not choose vga console ,but choosed dummy console, is this made printk did not work ??? i found that dummy console can not display printk messages. but in qemu, there is also some serial port , it should also useful for printk. i found there is some serial drivers in linux2.6 i do not konw what should be compiled for qemu's serial, who konws? if i compiled them all , qemu will crash when this kernel image runs. who konws what is wrong ?? and how to deal with it ??? _ 与联机的朋友进行交流,请使用 MSN Messenger: http://messenger.msn.com/cn _ 享用世界上最大的电子邮件系统― MSN Hotmail。 http://www.hotmail.com
Re: [Qemu-devel] Sparc-linux-user problem
On Saturday 28 April 2007, Blue Swirl wrote: Hi, I'm investigating why Sparc32 user emulator breaks when linked with -lrt. It seems that other libraries also cause the problem, for example -lm -ldl -lX11 -lbfd -lslang is okay, but -lm -ldl -lX11 -lbfd -lslang -lglib-2.0 segfaults just like -lm -lrt. If just address space conflict was the issue, I'd think 12 megs libbfd would trigger the problem instead of 64k librt. Any ideas? I've never got this to work reliably on either x86 or amd64 hosts. I get mysterious segfaults in the depths of libc. My guess is that the tricks qemu uses to link itself as a shared library are confusing things (possibly the TLS initialisation). Configuring with --enable-static usually works around the problem. Paul
RE: [Qemu-devel] question in linux's printk in qemu and vga consoleerr
i found in qemu, there is also a parallel console, so i build a linux 2.6 kernle with all parallel drivers in it , but there is no message in parallel console. i do not know how to do now, i put my config file in this mail, i hope some one can help me to found out what is wrong in my kernel image. thank you very much From: tang peilei [EMAIL PROTECTED] Reply-To: qemu-devel@nongnu.org To: qemu-devel@nongnu.org Subject: RE: [Qemu-devel] question in linux's printk in qemu and vga consoleerr Date: Sat, 28 Apr 2007 17:03:16 + From: tang peilei [EMAIL PROTECTED] Reply-To: qemu-devel@nongnu.org To: qemu-devel@nongnu.org Subject: [Qemu-devel] question in linux's printk in qemu and vga console err Date: Sat, 28 Apr 2007 12:19:02 + i build a linux 2-6.16 kernel image, and use it to run in qemu. but it have some problems when it runs. 1:the console's config(kernel config) can only be dummy console , can not be vga console ,if i choose vga console ,it will fails in console_init function. 2:it can print message like putstr(Uncompressing Linux...); but when it run in start_kernel, it use printk to print message, the message can not be found in qemu. my kernel config did not choose vga console ,but choosed dummy console, is this made printk did not work ??? i found that dummy console can not display printk messages. but in qemu, there is also some serial port , it should also useful for printk. i found there is some serial drivers in linux2.6 i do not konw what should be compiled for qemu's serial, who konws? if i compiled them all , qemu will crash when this kernel image runs. who konws what is wrong ?? and how to deal with it ??? _ 与联机的朋友进行交流,请使用 MSN Messenger: http://messenger.msn.com/cn _ 享用世界上最大的电子邮件系统― MSN Hotmail。 http://www.hotmail.com _ 享用世界上最大的电子邮件系统― MSN Hotmail。 http://www.hotmail.com config Description: Binary data
[Qemu-devel] qemu ppc.ld
CVSROOT:/sources/qemu Module name:qemu Changes by: Thiemo Seufer ths 07/04/28 19:00:30 Modified files: . : ppc.ld Log message: Update ppc.ld to work with newer binutils. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/ppc.ld?cvsroot=qemur1=1.2r2=1.3
Re: [Qemu-devel] Sparc-linux-user problem
On Sat, 28 Apr 2007 18:20:55 +0100 Paul Brook [EMAIL PROTECTED] wrote: On Saturday 28 April 2007, Blue Swirl wrote: Hi, I'm investigating why Sparc32 user emulator breaks when linked with -lrt. It seems that other libraries also cause the problem, for example -lm -ldl -lX11 -lbfd -lslang is okay, but -lm -ldl -lX11 -lbfd -lslang -lglib-2.0 segfaults just like -lm -lrt. If just address space conflict was the issue, I'd think 12 megs libbfd would trigger the problem instead of 64k librt. Any ideas? I've never got this to work reliably on either x86 or amd64 hosts. I get mysterious segfaults in the depths of libc. My guess is that the tricks qemu uses to link itself as a shared library are confusing things (possibly the TLS initialisation). I don't suppose using gcc/binutils -fPIE/-pie would achieve qemu's goals, thus avoiding the need to specify bespoke ld scripts? -- Kevin F. Quinn signature.asc Description: PGP signature
[Qemu-devel] qemu/hw lsi53c895a.c
CVSROOT:/sources/qemu Module name:qemu Changes by: Thiemo Seufer ths 07/04/28 20:45:04 Modified files: hw : lsi53c895a.c Log message: Fix length mismatch condition, by Wang Cheng Yeh. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/hw/lsi53c895a.c?cvsroot=qemur1=1.8r2=1.9
[Qemu-devel] qemu/hw scsi-disk.c
CVSROOT:/sources/qemu Module name:qemu Changes by: Thiemo Seufer ths 07/04/28 20:47:59 Modified files: hw : scsi-disk.c Log message: Buffer length fixes, by Wang Cheng Yeh. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/hw/scsi-disk.c?cvsroot=qemur1=1.13r2=1.14
[Qemu-devel] qemu vl.c
CVSROOT:/sources/qemu Module name:qemu Changes by: Thiemo Seufer ths 07/04/28 20:49:36 Modified files: . : vl.c Log message: Fix typo, by Linus Nordberg. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.285r2=1.286
[Qemu-devel] qemu/hw mips_malta.c mips_pica61.c mips_r4k.c
CVSROOT:/sources/qemu Module name:qemu Changes by: Thiemo Seufer ths 07/04/28 21:07:41 Modified files: hw : mips_malta.c mips_pica61.c mips_r4k.c Log message: Switch default CPU to 24Kf for now, as the Linux FPU emulation in the current qemu mips emulation fails in some cases. (The Linux FPU emulation works on real FPU-less hardware.) CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_malta.c?cvsroot=qemur1=1.25r2=1.26 http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_pica61.c?cvsroot=qemur1=1.2r2=1.3 http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_r4k.c?cvsroot=qemur1=1.42r2=1.43
[Qemu-devel] qemu/target-mips TODO
CVSROOT:/sources/qemu Module name:qemu Changes by: Thiemo Seufer ths 07/04/28 21:44:04 Modified files: target-mips: TODO Log message: Update TODO. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/TODO?cvsroot=qemur1=1.7r2=1.8
Re: [Qemu-devel] Sparc-linux-user problem
On Saturday 28 April 2007, Kevin F. Quinn wrote: On Sat, 28 Apr 2007 18:20:55 +0100 Paul Brook [EMAIL PROTECTED] wrote: On Saturday 28 April 2007, Blue Swirl wrote: Hi, I'm investigating why Sparc32 user emulator breaks when linked with -lrt. It seems that other libraries also cause the problem, for example -lm -ldl -lX11 -lbfd -lslang is okay, but -lm -ldl -lX11 -lbfd -lslang -lglib-2.0 segfaults just like -lm -lrt. If just address space conflict was the issue, I'd think 12 megs libbfd would trigger the problem instead of 64k librt. Any ideas? I've never got this to work reliably on either x86 or amd64 hosts. I get mysterious segfaults in the depths of libc. My guess is that the tricks qemu uses to link itself as a shared library are confusing things (possibly the TLS initialisation). I don't suppose using gcc/binutils -fPIE/-pie would achieve qemu's goals, thus avoiding the need to specify bespoke ld scripts? Sort-of, maybe. Paul
[Qemu-devel] qemu vl.h hw/mips_pica61.c hw/vga.c hw/vga_int.h
CVSROOT:/sources/qemu Module name:qemu Changes by: Thiemo Seufer ths 07/04/29 01:47:26 Modified files: . : vl.h hw : mips_pica61.c vga.c vga_int.h Log message: Memory-mapped interface for VGA, by Herve Poussineau. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/vl.h?cvsroot=qemur1=1.220r2=1.221 http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips_pica61.c?cvsroot=qemur1=1.3r2=1.4 http://cvs.savannah.gnu.org/viewcvs/qemu/hw/vga.c?cvsroot=qemur1=1.49r2=1.50 http://cvs.savannah.gnu.org/viewcvs/qemu/hw/vga_int.h?cvsroot=qemur1=1.11r2=1.12
[Qemu-devel] qemu vnc.c
CVSROOT:/sources/qemu Module name:qemu Changes by: Thiemo Seufer ths 07/04/29 01:53:20 Modified files: . : vnc.c Log message: Crop VNC update requests to avoid segfaults, by Thomas Tuttle. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/vnc.c?cvsroot=qemur1=1.13r2=1.14