[Qemu-devel] [PATCH][RESEND] Don't route PIC interrupts through the local APIC if the local APIC config says so

2007-10-08 Thread Avi Kivity
Under certain conditions, PIC interrupts should not be passed through by
the local APIC.  This is usually when the guest uses the IOAPIC instead
of the PIC.

Currently qemu does not block PIC interrupts when the local APIC is
configured to do so; this results in interrupts begin received twice and
time running at double speed on Linux x86_64 guest.

The attached patch, from Qing He and myself, fixes the problem.

-- 
error compiling committee.c: too many arguments to function


Index: vl.h
===
RCS file: /sources/qemu/qemu/vl.h,v
retrieving revision 1.273
diff -u -u -r1.273 vl.h
--- vl.h	30 Sep 2007 14:44:52 -	1.273
+++ vl.h	2 Oct 2007 10:28:55 -
@@ -1138,6 +1138,7 @@
 typedef struct IOAPICState IOAPICState;
 
 int apic_init(CPUState *env);
+int apic_accept_pic_intr(CPUState *env);
 int apic_get_interrupt(CPUState *env);
 IOAPICState *ioapic_init(void);
 void ioapic_set_irq(void *opaque, int vector, int level);
Index: hw/apic.c
===
RCS file: /sources/qemu/qemu/hw/apic.c,v
retrieving revision 1.16
diff -u -u -r1.16 apic.c
--- hw/apic.c	17 Sep 2007 08:09:46 -	1.16
+++ hw/apic.c	2 Oct 2007 10:28:55 -
@@ -484,6 +484,25 @@
 return intno;
 }
 
+int apic_accept_pic_intr(CPUState *env)
+{
+APICState *s = env->apic_state;
+uint32_t lvt0;
+
+if (!s)
+return -1;
+
+lvt0 = s->lvt[APIC_LVT_LINT0];
+
+if (s->id == 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;
@@ -790,6 +809,13 @@
 {
 APICState *s = opaque;
 apic_init_ipi(s);
+
+/*
+ * LINT0 delivery mode is set to ExtInt at initialization time
+ * typically by BIOS, so PIC interrupt can be delivered to the
+ * processor when local APIC is enabled.
+ */
+s->lvt[APIC_LVT_LINT0] = 0x700;
 }
 
 static CPUReadMemoryFunc *apic_mem_read[3] = {
@@ -821,6 +847,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
+ * typically by BIOS, 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
Index: hw/pc.c
===
RCS file: /sources/qemu/qemu/hw/pc.c,v
retrieving revision 1.85
diff -u -u -r1.85 pc.c
--- hw/pc.c	17 Sep 2007 08:09:47 -	1.85
+++ hw/pc.c	2 Oct 2007 10:28:55 -
@@ -93,6 +93,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;
 }
@@ -100,10 +103,8 @@
 static void pic_irq_request(void *opaque, int irq, int level)
 {
 CPUState *env = opaque;
-if (level)
+if (level && apic_accept_pic_intr(env))
 cpu_interrupt(env, CPU_INTERRUPT_HARD);
-else
-cpu_reset_interrupt(env, CPU_INTERRUPT_HARD);
 }
 
 /* PC cmos mappings */



[Qemu-devel] qemu/target-cris

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 12:43:02

New directory:
target-cris

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/?cvsroot=qemu




[Qemu-devel] qemu cris-dis.c target-cris/opcode-cris.h

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 12:45:39

Added files:
.  : cris-dis.c 
target-cris: opcode-cris.h 

Log message:
CRIS disassembler, originally from binutils, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/cris-dis.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/opcode-cris.h?cvsroot=qemu&rev=1.1




[Qemu-devel] qemu dis-asm.h disas.c

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 12:46:58

Modified files:
.  : dis-asm.h disas.c 

Log message:
Wire up CRIS disassembler, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/dis-asm.h?cvsroot=qemu&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemu/disas.c?cvsroot=qemu&r1=1.43&r2=1.44




[Qemu-devel] qemu/target-cris translate.c

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 12:49:08

Added files:
target-cris: translate.c 

Log message:
CRIS instruction translation, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/translate.c?cvsroot=qemu&rev=1.1




[Qemu-devel] qemu/target-cris crisv32-decode.h

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 12:50:59

Added files:
target-cris: crisv32-decode.h 

Log message:
CRIS insn decoding macros, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/crisv32-decode.h?cvsroot=qemu&rev=1.1




[Qemu-devel] qemu/target-cris op.c

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 12:52:43

Added files:
target-cris: op.c 

Log message:
CRIS micro-ops, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/op.c?cvsroot=qemu&rev=1.1




[Qemu-devel] qemu/target-cris cpu.h exec.h helper.c op_helpe...

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:04:02

Added files:
target-cris: cpu.h exec.h helper.c op_helper.c op_mem.c 
 op_template.h 

Log message:
The remainder of CRIS CPU emulation files, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/cpu.h?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/exec.h?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/helper.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/op_helper.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/op_mem.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/op_template.h?cvsroot=qemu&rev=1.1




[Qemu-devel] qemu/target-cris mmu.c mmu.h

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:11:58

Added files:
target-cris: mmu.c mmu.h 

Log message:
CRIS MMU emulation, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/mmu.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/mmu.h?cvsroot=qemu&rev=1.1




[Qemu-devel] qemu cpu-exec.c exec-all.h exec.c gdbstub.c sof...

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:16:15

Modified files:
.  : cpu-exec.c exec-all.h exec.c gdbstub.c 
 softmmu_header.h vl.c vl.h 

Log message:
CRIS support in toplevel, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-exec.c?cvsroot=qemu&r1=1.118&r2=1.119
http://cvs.savannah.gnu.org/viewcvs/qemu/exec-all.h?cvsroot=qemu&r1=1.66&r2=1.67
http://cvs.savannah.gnu.org/viewcvs/qemu/exec.c?cvsroot=qemu&r1=1.107&r2=1.108
http://cvs.savannah.gnu.org/viewcvs/qemu/gdbstub.c?cvsroot=qemu&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/qemu/softmmu_header.h?cvsroot=qemu&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemu&r1=1.346&r2=1.347
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.h?cvsroot=qemu&r1=1.275&r2=1.276




Re: [Qemu-devel] vmmouse with Fedora-6 64bit guest

2007-10-08 Thread Dan Kenigsberg
In X's vmmouse_drv, the magic number is defined as uint32_t. Therefore
the top half of the 64 bit ax register is garbage that should be
ignored. This makes fc6 guest's vmmouse work.


Index: hw/vmport.c
===
RCS file: /sources/qemu/qemu/hw/vmport.c,v
retrieving revision 1.1
diff -u -p -r1.1 vmport.c
--- hw/vmport.c 26 Aug 2007 17:48:12 -  1.1
+++ hw/vmport.c 8 Oct 2007 13:11:45 -
@@ -55,7 +55,7 @@ static uint32_t vmport_ioport_read(void 
 target_ulong eax;
 
 eax = s->env->regs[R_EAX];
-if (eax != VMPORT_MAGIC)
+if ((uint32_t)eax != VMPORT_MAGIC)
 return eax;
 
 command = s->env->regs[R_ECX];




[Qemu-devel] qemu/tests/cris

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:29:27

New directory:
tests/cris

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/?cvsroot=qemu




[Qemu-devel] qemu/tests/cris .gdbinit Makefile README check_...

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:32:21

Added files:
tests/cris : .gdbinit Makefile README check_abs.c 
 check_addc.c check_addcm.c check_addi.s 
 check_addiv32.s check_addm.s check_addo.c 
 check_addoq.c check_addq.s check_addr.s 
 check_addxc.s check_addxm.s check_addxr.s 
 check_andc.s check_andm.s check_andq.s 
 check_andr.s check_asr.s check_ba.s check_bas.s 
 check_bcc.s check_bound.c check_boundc.s 
 check_boundr.s check_btst.s check_clearfv32.s 
 check_clrjmp1.s check_cmp-2.s check_cmpc.s 
 check_cmpm.s check_cmpq.s check_cmpr.s 
 check_cmpxc.s check_cmpxm.s check_dstep.s 
 check_gcctorture_pr28634-1.c 
 check_gcctorture_pr28634.c 
 check_glibc_kernelversion.c check_hello.c 
 check_int64.c check_jsr.s check_lapc.s 
 check_lsl.s check_lsr.s check_lz.c 
 check_mapbrk.c check_mcp.s check_mmap1.c 
 check_mmap2.c check_mmap3.c check_movdelsr1.s 
 check_movecr.s check_movei.s check_movemr.s 
 check_movemrv32.s check_moveq.c check_mover.s 
 check_moverm.s check_movmp.s check_movpmv32.s 
 check_movpr.s check_movprv32.s check_movscr.s 
 check_movsm.s check_movsr.s check_movucr.s 
 check_movum.s check_movur.s check_mulv32.s 
 check_mulx.s check_neg.s check_not.s 
 check_openpf1.c check_openpf2.c check_openpf3.c 
 check_openpf4.c check_openpf5.c check_orc.s 
 check_orm.s check_orq.s check_orr.s check_ret.s 
 check_scc.s check_stat1.c check_stat2.c 
 check_stat3.c check_stat4.c check_subc.s 
 check_subm.s check_subq.s check_subr.s 
 check_swap.c check_time1.c check_time2.c 
 check_xarith.s crisutils.h crt.s sys.c sys.h 
 testutils.inc 

Log message:
CRIS testsuite, based on the SIM testsuite, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/.gdbinit?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/Makefile?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/README?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_abs.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addc.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addcm.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addi.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addiv32.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addm.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addo.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addoq.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addq.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addr.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addxc.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addxm.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_addxr.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_andc.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_andm.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_andq.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_andr.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_asr.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_ba.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_bas.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_bcc.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_bound.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_boundc.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_boundr.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/cris/check_btst.s?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/test

[Qemu-devel] qemu/linux-user/cris

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:33:45

New directory:
linux-user/cris

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/cris/?cvsroot=qemu




[Qemu-devel] qemu/linux-user/cris syscall.h syscall_nr.h tar...

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:35:05

Added files:
linux-user/cris: syscall.h syscall_nr.h target_signal.h 
 termbits.h 

Log message:
CRIS Linux usermode emulation, part 1. By Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/cris/syscall.h?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/cris/syscall_nr.h?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/cris/target_signal.h?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/cris/termbits.h?cvsroot=qemu&rev=1.1




[Qemu-devel] qemu/linux-user elfload.c main.c syscall.c sysc...

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:36:46

Modified files:
linux-user : elfload.c main.c syscall.c syscall_defs.h 

Log message:
CRIS Linux userland emulation, part 2. By Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/elfload.c?cvsroot=qemu&r1=1.49&r2=1.50
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/main.c?cvsroot=qemu&r1=1.129&r2=1.130
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall.c?cvsroot=qemu&r1=1.137&r2=1.138
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall_defs.h?cvsroot=qemu&r1=1.41&r2=1.42




[Qemu-devel] qemu Makefile.target configure tests/Makefile

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:38:27

Modified files:
.  : Makefile.target configure 
tests  : Makefile 

Log message:
Add CRIS configuration bits, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Makefile.target?cvsroot=qemu&r1=1.205&r2=1.206
http://cvs.savannah.gnu.org/viewcvs/qemu/configure?cvsroot=qemu&r1=1.159&r2=1.160
http://cvs.savannah.gnu.org/viewcvs/qemu/tests/Makefile?cvsroot=qemu&r1=1.41&r2=1.42




[Qemu-devel] qemu Changelog

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:40:14

Modified files:
.  : Changelog 

Log message:
Mentione CRIS in Changelog.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Changelog?cvsroot=qemu&r1=1.142&r2=1.143




[Qemu-devel] qemu/hw etraxfs.c etraxfs_ser.c etraxfs_timer.c

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/08 13:26:33

Added files:
hw : etraxfs.c etraxfs_ser.c etraxfs_timer.c 

Log message:
EtraxFS board support, by Edgar E. Iglesias.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs_ser.c?cvsroot=qemu&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs_timer.c?cvsroot=qemu&rev=1.1




Re: [Qemu-devel] vmmouse with Fedora-6 64bit guest

2007-10-08 Thread Anthony Liguori

Dan Kenigsberg wrote:

In X's vmmouse_drv, the magic number is defined as uint32_t. Therefore
the top half of the 64 bit ax register is garbage that should be
ignored. This makes fc6 guest's vmmouse work.

  


I think a better fix would be to change eax from target_ulong to uint32_t.

Regards,

Anthony Liguori


Index: hw/vmport.c
===
RCS file: /sources/qemu/qemu/hw/vmport.c,v
retrieving revision 1.1
diff -u -p -r1.1 vmport.c
--- hw/vmport.c 26 Aug 2007 17:48:12 -  1.1
+++ hw/vmport.c 8 Oct 2007 13:11:45 -
@@ -55,7 +55,7 @@ static uint32_t vmport_ioport_read(void 
 target_ulong eax;
 
 eax = s->env->regs[R_EAX];

-if (eax != VMPORT_MAGIC)
+if ((uint32_t)eax != VMPORT_MAGIC)
 return eax;
 
 command = s->env->regs[R_ECX];


  






Re: [Qemu-devel] vmmouse with Fedora-6 64bit guest

2007-10-08 Thread Dan Kenigsberg
On Mon, Oct 08, 2007 at 09:55:37AM -0500, Anthony Liguori wrote:
> Dan Kenigsberg wrote:
> >In X's vmmouse_drv, the magic number is defined as uint32_t. Therefore
> >the top half of the 64 bit ax register is garbage that should be
> >ignored. This makes fc6 guest's vmmouse work.
> >
> >  
> 
> I think a better fix would be to change eax from target_ulong to uint32_t.
> 

I don't really mind that.



Index: hw/vmport.c
===
RCS file: /sources/qemu/qemu/hw/vmport.c,v
retrieving revision 1.1
diff -u -p -r1.1 vmport.c
--- hw/vmport.c 26 Aug 2007 17:48:12 -  1.1
+++ hw/vmport.c 8 Oct 2007 15:24:50 -
@@ -52,7 +52,7 @@ static uint32_t vmport_ioport_read(void 
 {
 VMPortState *s = opaque;
 unsigned char command;
-target_ulong eax;
+uint32_t eax;
 
 eax = s->env->regs[R_EAX];
 if (eax != VMPORT_MAGIC)




Re: [Qemu-devel] qemu Makefile.target

2007-10-08 Thread Stefan Weil
Blue Swirl schrieb:
> On 6/1/07, Stefan Weil <[EMAIL PROTECTED]> wrote:
>> Wouldn't it be better to let the compiler create dependency files
>> which make can read? I posted a patch some time ago and use it
>> since many months for different QEMU target platforms.
>
> I don't know, the dependencies aren't changing very often.
The current Makefile.target contains a lot of dependencies,
and I think they change often, their number is growing and
nevertheless they are far from being complete.

The appended patch removes most explicit dependencies and
adds gcc flags which create dependency files during normal
compilation (so they are always up-to-date).

Stefan

Index: Makefile.target
===
RCS file: /sources/qemu/qemu/Makefile.target,v
retrieving revision 1.206
diff -u -b -B -r1.206 Makefile.target
--- Makefile.target	8 Oct 2007 13:38:26 -	1.206
+++ Makefile.target	8 Oct 2007 19:30:59 -
@@ -33,6 +33,7 @@
 BASE_CFLAGS=
 BASE_LDFLAGS=
 #CFLAGS+=-Werror
+BASE_CFLAGS += -MMD -MP
 LIBS=
 HELPER_CFLAGS=$(CFLAGS)
 DYNGEN=../dyngen$(EXESUF)
@@ -107,6 +108,8 @@
 OP_CFLAGS+=$(call cc-option, -fno-align-functions, $(call cc-option, -malign-functions=0, ""))
 OP_CFLAGS+=$(call cc-option, -fno-section-anchors, "")
 
+OP_CFLAGS += -MMD -MP
+
 ifeq ($(ARCH),i386)
 HELPER_CFLAGS+=-fomit-frame-pointer
 OP_CFLAGS+=-mpreferred-stack-boundary=2 -fomit-frame-pointer
@@ -629,58 +632,6 @@
 signal.o: signal.c
 	$(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -c -o $@ $<
 
-vga.o: pixel_ops.h
-
-tcx.o: pixel_ops.h
-
-ifeq ($(TARGET_BASE_ARCH), i386)
-op.o: op.c opreg_template.h ops_template.h ops_template_mem.h ops_mem.h ops_sse.h
-endif
-
-ifeq ($(TARGET_ARCH), arm)
-op.o: op.c op_template.h
-pl110.o: pl110_template.h
-endif
-
-ifeq ($(TARGET_BASE_ARCH), sparc)
-helper.o: cpu.h exec-all.h
-op.o: op.c op_template.h op_mem.h fop_template.h fbranch_template.h exec.h cpu.h
-op_helper.o: exec.h softmmu_template.h cpu.h
-translate.o: cpu.h exec-all.h disas.h
-endif
-
-ifeq ($(TARGET_BASE_ARCH), ppc)
-op.o: op.c op_template.h op_mem.h op_helper.h
-op_helper.o: op_helper.c mfrom_table.c op_helper_mem.h op_helper.h
-translate.o: translate.c translate_init.c
-endif
-
-ifeq ($(TARGET_BASE_ARCH), mips)
-helper.o: cpu.h exec-all.h
-op.o: op_template.c fop_template.c op_mem.c exec.h cpu.h
-op_helper.o: op_helper_mem.c exec.h softmmu_template.h cpu.h
-translate.o: translate_init.c exec-all.h disas.h
-endif
-
-loader.o: loader.c elf_ops.h
-
-ifeq ($(TARGET_ARCH), sh4)
-op.o: op.c op_mem.c cpu.h
-op_helper.o: op_helper.c exec.h cpu.h
-helper.o: helper.c exec.h cpu.h
-sh7750.o: sh7750.c sh7750_regs.h sh7750_regnames.h cpu.h
-shix.o: shix.c sh7750_regs.h sh7750_regnames.h
-sh7750_regnames.o: sh7750_regnames.c sh7750_regnames.h sh7750_regs.h
-tc58128.o: tc58128.c
-endif
-
-ifeq ($(TARGET_BASE_ARCH), alpha)
-op.o: op.c op_template.h op_mem.h
-op_helper.o: op_helper_mem.h
-endif
-
-$(OBJS) $(LIBOBJS) $(VL_OBJS): config.h ../config-host.h
-
 %.o: %.c
 	$(CC) $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -c -o $@ $<
 
@@ -689,6 +640,7 @@
 
 clean:
 	rm -f *.o  *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
+	rm -f *.d */*.d
 
 install: all
 ifneq ($(PROGS),)
@@ -699,6 +651,9 @@
 include .depend
 endif
 
+-include *.d
+-include */*.d
+
 ifeq (1, 0)
 audio.o sdlaudio.o dsoundaudio.o ossaudio.o wavaudio.o noaudio.o \
 fmodaudio.o alsaaudio.o mixeng.o sb16.o es1370.o gus.o adlib.o: \


[Qemu-devel] qemu .cvsignore

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/09 03:05:08

Modified files:
.  : .cvsignore 

Log message:
Update .cvsignore.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/.cvsignore?cvsroot=qemu&r1=1.21&r2=1.22




[Qemu-devel] qemu vl.h hw/apic.c hw/pc.c

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/09 03:08:56

Modified files:
.  : vl.h 
hw : apic.c pc.c 

Log message:
Don't route PIC interrupts through the local APIC if the local APIC
config says so. By Ari Kivity.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.h?cvsroot=qemu&r1=1.276&r2=1.277
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/apic.c?cvsroot=qemu&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/pc.c?cvsroot=qemu&r1=1.86&r2=1.87




[Qemu-devel] qemu Makefile.target target-mips/exec.h target-...

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/09 03:12:08

Modified files:
.  : Makefile.target 
target-mips: exec.h op_helper.c op_mem.c translate.c 

Log message:
Fix [ls][wd][lr] instructions, by Aurelien Jarno.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Makefile.target?cvsroot=qemu&r1=1.206&r2=1.207
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/exec.h?cvsroot=qemu&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_helper.c?cvsroot=qemu&r1=1.63&r2=1.64
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_mem.c?cvsroot=qemu&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate.c?cvsroot=qemu&r1=1.104&r2=1.105




[Qemu-devel] qemu/target-mips op_helper_mem.c

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/09 03:17:28

Removed files:
target-mips: op_helper_mem.c 

Log message:
Delete file which should have been removed in the lst commit.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_helper_mem.c?cvsroot=qemu&r1=1.9&r2=0




[Qemu-devel] qemu/hw vmport.c

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/09 03:19:01

Modified files:
hw : vmport.c 

Log message:
Fix vmmouse for 64bit guest, by Dan Kenigsberg.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/vmport.c?cvsroot=qemu&r1=1.1&r2=1.2




[Qemu-devel] qemu/target-mips exec.h op.c op_helper.c transl...

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/09 03:39:58

Modified files:
target-mips: exec.h op.c op_helper.c translate.c 

Log message:
Use always_inline in the MIPS support where applicable.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/exec.h?cvsroot=qemu&r1=1.37&r2=1.38
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op.c?cvsroot=qemu&r1=1.76&r2=1.77
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_helper.c?cvsroot=qemu&r1=1.64&r2=1.65
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate.c?cvsroot=qemu&r1=1.105&r2=1.106




[Qemu-devel] qemu/linux-user syscall.c

2007-10-08 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/10/09 03:42:35

Modified files:
linux-user : syscall.c 

Log message:
getpriority() shouldn't use libc wrapper, by Thayne Harbaugh.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall.c?cvsroot=qemu&r1=1.138&r2=1.139