[Qemu-devel] [PATCH] ds1225y nvram: Fix some bugs [v2]

2008-03-13 Thread Hervé Poussineau

Attached files fixes some problems with nvram emulation:
- whole nvram was erased in some conditions
- fix out of range accesses
- improve reading speed by keeping contents in memory

Changelog v1 to v2
- rename capacity to chip_size
- write nvram contents during initialization only the first time

Thanks Aurelien for your comments.

Hervé
Index: hw/ds1225y.c
===
RCS file: /sources/qemu/qemu/hw/ds1225y.c,v
retrieving revision 1.4
diff -u -r1.4 hw/ds1225y.c
--- hw/ds1225y.c13 Mar 2008 01:19:15 -  1.4
+++ hw/ds1225y.c13 Mar 2008 07:41:15 -
@@ -1,8 +1,8 @@
 /*
  * QEMU NVRAM emulation for DS1225Y chip
- * 
- * Copyright (c) 2007 Hervé Poussineau
- * 
+ *
+ * Copyright (c) 2007-2008 Hervé Poussineau
+ *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the Software), to 
deal
  * in the Software without restriction, including without limitation the rights
@@ -26,98 +26,169 @@
 #include mips.h
 #include nvram.h
 
-typedef enum
-{
-none = 0,
-readmode,
-writemode,
-} nvram_open_mode;
+//#define DEBUG_NVRAM
 
-struct ds1225y_t
+typedef struct ds1225y_t
 {
 target_phys_addr_t mem_base;
-uint32_t capacity;
-const char *filename;
+uint32_t chip_size;
 QEMUFile *file;
-nvram_open_mode open_mode;
-};
+uint8_t *contents;
+uint8_t protection;
+} ds1225y_t;
 
-static int ds1225y_set_to_mode(ds1225y_t *NVRAM, nvram_open_mode mode, const 
char *filemode)
-{
-if (NVRAM-open_mode != mode)
-{
-if (NVRAM-file)
-qemu_fclose(NVRAM-file);
-NVRAM-file = qemu_fopen(NVRAM-filename, filemode);
-NVRAM-open_mode = mode;
-}
-return (NVRAM-file != NULL);
-}
 
 static uint32_t nvram_readb (void *opaque, target_phys_addr_t addr)
 {
-ds1225y_t *NVRAM = opaque;
+ds1225y_t *s = opaque;
 int64_t pos;
+uint32_t val;
+
+pos = addr - s-mem_base;
+if (pos = s-chip_size)
+pos -= s-chip_size;
+
+val = s-contents[pos];
+
+#ifdef DEBUG_NVRAM
+printf(nvram: read 0x%x at  TARGET_FMT_lx \n, val, addr);
+#endif
+return val;
+}
 
-pos = addr - NVRAM-mem_base;
-if (addr = NVRAM-capacity)
-addr -= NVRAM-capacity;
+static uint32_t nvram_readw (void *opaque, target_phys_addr_t addr)
+{
+uint32_t v;
+v = nvram_readb(opaque, addr);
+v |= nvram_readb(opaque, addr + 1)  8;
+return v;
+}
 
-if (!ds1225y_set_to_mode(NVRAM, readmode, rb))
-return 0;
-qemu_fseek(NVRAM-file, pos, SEEK_SET);
-return (uint32_t)qemu_get_byte(NVRAM-file);
+static uint32_t nvram_readl (void *opaque, target_phys_addr_t addr)
+{
+uint32_t v;
+v = nvram_readb(opaque, addr);
+v |= nvram_readb(opaque, addr + 1)  8;
+v |= nvram_readb(opaque, addr + 2)  16;
+v |= nvram_readb(opaque, addr + 3)  24;
+return v;
 }
 
-static void nvram_writeb (void *opaque, target_phys_addr_t addr, uint32_t 
value)
+static void nvram_writeb (void *opaque, target_phys_addr_t addr, uint32_t val)
 {
-ds1225y_t *NVRAM = opaque;
+ds1225y_t *s = opaque;
 int64_t pos;
 
-pos = addr - NVRAM-mem_base;
-if (ds1225y_set_to_mode(NVRAM, writemode, wb))
-{
-qemu_fseek(NVRAM-file, pos, SEEK_SET);
-qemu_put_byte(NVRAM-file, (int)value);
+#ifdef DEBUG_NVRAM
+printf(nvram: write 0x%x at  TARGET_FMT_lx \n, val, addr);
+#endif
+
+pos = addr - s-mem_base;
+s-contents[pos] = val  0xff;
+if (s-file) {
+qemu_fseek(s-file, pos, SEEK_SET);
+qemu_put_byte(s-file, (int)val);
+qemu_fflush(s-file);
+}
+}
+
+static void nvram_writew (void *opaque, target_phys_addr_t addr, uint32_t val)
+{
+nvram_writeb(opaque, addr, val  0xff);
+nvram_writeb(opaque, addr + 1, (val  8)  0xff);
+}
+
+static void nvram_writel (void *opaque, target_phys_addr_t addr, uint32_t val)
+{
+nvram_writeb(opaque, addr, val  0xff);
+nvram_writeb(opaque, addr + 1, (val  8)  0xff);
+nvram_writeb(opaque, addr + 2, (val  16)  0xff);
+nvram_writeb(opaque, addr + 3, (val  24)  0xff);
+}
+
+static void nvram_writeb_protected (void *opaque, target_phys_addr_t addr, 
uint32_t val)
+{
+ds1225y_t *s = opaque;
+
+if (s-protection != 7) {
+#ifdef DEBUG_NVRAM
+printf(nvram: prevent write of 0x%x at  TARGET_FMT_lx \n, val, addr);
+#endif
+return;
 }
+
+nvram_writeb(opaque, addr - s-chip_size, val);
+}
+
+static void nvram_writew_protected (void *opaque, target_phys_addr_t addr, 
uint32_t val)
+{
+nvram_writeb_protected(opaque, addr, val  0xff);
+nvram_writeb_protected(opaque, addr + 1, (val  8)  0xff);
+}
+
+static void nvram_writel_protected (void *opaque, target_phys_addr_t addr, 
uint32_t val)
+{
+nvram_writeb_protected(opaque, addr, val  0xff);
+nvram_writeb_protected(opaque, addr + 1, (val  8)  0xff);
+nvram_writeb_protected(opaque, addr + 2, 

[Qemu-devel] [PATCH] Fix floppy controller issues v4

2008-03-13 Thread Hervé Poussineau

Hi,

Attached patch fixes some issues in the floppy disk controller:
- Enhance reset support (external and software)
- Use MAX_FD constant when possible
- Support up to 4 drives if MAX_FD is set to 4
- Fix DOR register, which should be writable at any time
- Let MSR return 0x20 when non-DMA transfer is happening
- Don't assume caller wants to read whole track at once
- Add seek to next sector when in non-DMA mode
- Fix non-DMA write, which was stopping after only 1 byte
- Better handling of status0/status1/status2
- Fix floppy drive in BeOS (FD_CMD_READ_SECTOR/FD_CMD_WRITE_SECTOR)
- Remove sun4m quirk on DOR and IRQ handling

Credits to Stuart Brady to help me to debug some issues...

Changelog v1 to v2:
- Fix non-DMA write, which was stopping after only 1 byte
Changelog v2 to v3:
- Update to current CVS
Changelog v3 to v4:
- Store state in floppy registers instead of another variables
- Better handling of status0/status1/status2
- Fix floppy drive in BeOS (FD_CMD_READ_SECTOR/FD_CMD_WRITE_SECTOR)
- Remove sun4m quirk on DOR and IRQ handling


To Blue Swirl, floppy disk is now read (I can see FD_CMD_READ commands),
but filesystem is still not recognized.
It seems that it tries 3 differents reads, 4 times. Maybe to try to 
recognize 3 filesystems?


Hervé
Index: hw/fdc.c
===
RCS file: /sources/qemu/qemu/hw/fdc.c,v
retrieving revision 1.38
diff -u -r1.38 hw/fdc.c
--- hw/fdc.c29 Feb 2008 19:24:00 -  1.38
+++ hw/fdc.c13 Mar 2008 09:13:19 -
@@ -2,6 +2,7 @@
  * QEMU Floppy disk emulator (Intel 82078)
  *
  * Copyright (c) 2003, 2007 Jocelyn Mayer
+ * Copyright (c) 2008 Hervé Poussineau
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the Software), to 
deal
@@ -21,10 +22,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
-/*
- * The controller is used in Sun4m systems in a slightly different
- * way. There are changes in DOR register and DMA is not available.
- */
+
 #include hw.h
 #include fdc.h
 #include block.h
@@ -48,6 +46,8 @@
 //
 /* Floppy drive emulation   */
 
+#define SELECT_FD(fdctrl, drive) ((fdctrl)-dor = ((fdctrl)-dor  
~FD_DOR_SELMASK) | ((drive)  FD_DOR_SELMASK))
+
 /* Will always be a fixed parameter for us */
 #define FD_SECTOR_LEN 512
 #define FD_SECTOR_SC  2   /* Sector size code */
@@ -68,10 +68,6 @@
 FDRIVE_DRV_NONE = 0x03,   /* No drive connected */
 } fdrive_type_t;
 
-typedef enum fdrive_flags_t {
-FDRIVE_MOTOR_ON   = 0x01, /* motor on/off   */
-} fdrive_flags_t;
-
 typedef enum fdisk_flags_t {
 FDISK_DBL_SIDES  = 0x01,
 } fdisk_flags_t;
@@ -80,7 +76,6 @@
 BlockDriverState *bs;
 /* Drive status */
 fdrive_type_t drive;
-fdrive_flags_t drflags;
 uint8_t perpendicular;/* 2.88 MB access mode*/
 /* Position */
 uint8_t head;
@@ -102,7 +97,6 @@
 /* Drive */
 drv-bs = bs;
 drv-drive = FDRIVE_DRV_NONE;
-drv-drflags = 0;
 drv-perpendicular = 0;
 /* Disk */
 drv-last_sect = 0;
@@ -121,6 +115,13 @@
 return _fd_sector(drv-head, drv-track, drv-sect, drv-last_sect);
 }
 
+/* Seek to a new position:
+ * returns 0 if already on right track
+ * returns 1 if track changed
+ * returns 2 if track is invalid
+ * returns 3 if sector is invalid
+ * returns 4 if seek is disabled
+ */
 static int fd_seek (fdrive_t *drv, uint8_t head, uint8_t track, uint8_t sect,
 int enable_seek)
 {
@@ -144,14 +145,16 @@
 }
 sector = _fd_sector(head, track, sect, drv-last_sect);
 ret = 0;
-if (sector != fd_sector(drv)) {
 #if 0
-if (!enable_seek) {
-FLOPPY_ERROR(no implicit seek %d %02x %02x (max=%d %02x %02x)\n,
- head, track, sect, 1, drv-max_track, drv-last_sect);
-return 4;
-}
+if (!enable_seek  (head != drv-head || track != drv-track)) {
+FLOPPY_ERROR(no implicit seek %d %02x %02x (current=%d %02x %02x, 
max=%d %02x %02x)\n,
+ head, track, sect,
+ drv-head, drv-track, drv-sect,
+ 1, drv-max_track, drv-last_sect);
+return 4;
+}
 #endif
+if (sector != fd_sector(drv)) {
 drv-head = head;
 if (drv-track != track)
 ret = 1;
@@ -295,24 +298,6 @@
 }
 }
 
-/* Motor control */
-static void fd_start (fdrive_t *drv)
-{
-drv-drflags |= FDRIVE_MOTOR_ON;
-}
-
-static void fd_stop (fdrive_t *drv)
-{
-drv-drflags = ~FDRIVE_MOTOR_ON;
-}
-
-/* Re-initialise a drives (motor off, repositioned) */
-static void fd_reset (fdrive_t *drv)
-{
-fd_stop(drv);
-fd_recalibrate(drv);
-}
-
 //
 /* Intel 82078 floppy disk controller emulation  */
 
@@ -320,7 

[Qemu-devel] [PATCH] ds1225y nvram: Fix some bugs [v3]

2008-03-13 Thread Hervé Poussineau

Hi,

Attached files fixes some problems with nvram emulation:
- whole nvram was erased in some conditions
- fix out of range accesses
- improve reading speed by keeping contents in memory

Changelog v1 to v2
- rename capacity to chip_size
- write nvram contents during initialization only the first time
Changelog v2 to v3
- write nvram contents at each initialization, because 'wb' mode
  cleans the file

Thanks Aurelien for your comments.

Hervé
Index: hw/ds1225y.c
===
RCS file: /sources/qemu/qemu/hw/ds1225y.c,v
retrieving revision 1.4
diff -u -r1.4 hw/ds1225y.c
--- hw/ds1225y.c13 Mar 2008 01:19:15 -  1.4
+++ hw/ds1225y.c13 Mar 2008 07:41:15 -
@@ -1,8 +1,8 @@
 /*
  * QEMU NVRAM emulation for DS1225Y chip
- * 
- * Copyright (c) 2007 Hervé Poussineau
- * 
+ *
+ * Copyright (c) 2007-2008 Hervé Poussineau
+ *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the Software), to 
deal
  * in the Software without restriction, including without limitation the rights
@@ -26,98 +26,169 @@
 #include mips.h
 #include nvram.h
 
-typedef enum
-{
-none = 0,
-readmode,
-writemode,
-} nvram_open_mode;
+//#define DEBUG_NVRAM
 
-struct ds1225y_t
+typedef struct ds1225y_t
 {
 target_phys_addr_t mem_base;
-uint32_t capacity;
-const char *filename;
+uint32_t chip_size;
 QEMUFile *file;
-nvram_open_mode open_mode;
-};
+uint8_t *contents;
+uint8_t protection;
+} ds1225y_t;
 
-static int ds1225y_set_to_mode(ds1225y_t *NVRAM, nvram_open_mode mode, const 
char *filemode)
-{
-if (NVRAM-open_mode != mode)
-{
-if (NVRAM-file)
-qemu_fclose(NVRAM-file);
-NVRAM-file = qemu_fopen(NVRAM-filename, filemode);
-NVRAM-open_mode = mode;
-}
-return (NVRAM-file != NULL);
-}
 
 static uint32_t nvram_readb (void *opaque, target_phys_addr_t addr)
 {
-ds1225y_t *NVRAM = opaque;
+ds1225y_t *s = opaque;
 int64_t pos;
+uint32_t val;
+
+pos = addr - s-mem_base;
+if (pos = s-chip_size)
+pos -= s-chip_size;
+
+val = s-contents[pos];
+
+#ifdef DEBUG_NVRAM
+printf(nvram: read 0x%x at  TARGET_FMT_lx \n, val, addr);
+#endif
+return val;
+}
 
-pos = addr - NVRAM-mem_base;
-if (addr = NVRAM-capacity)
-addr -= NVRAM-capacity;
+static uint32_t nvram_readw (void *opaque, target_phys_addr_t addr)
+{
+uint32_t v;
+v = nvram_readb(opaque, addr);
+v |= nvram_readb(opaque, addr + 1)  8;
+return v;
+}
 
-if (!ds1225y_set_to_mode(NVRAM, readmode, rb))
-return 0;
-qemu_fseek(NVRAM-file, pos, SEEK_SET);
-return (uint32_t)qemu_get_byte(NVRAM-file);
+static uint32_t nvram_readl (void *opaque, target_phys_addr_t addr)
+{
+uint32_t v;
+v = nvram_readb(opaque, addr);
+v |= nvram_readb(opaque, addr + 1)  8;
+v |= nvram_readb(opaque, addr + 2)  16;
+v |= nvram_readb(opaque, addr + 3)  24;
+return v;
 }
 
-static void nvram_writeb (void *opaque, target_phys_addr_t addr, uint32_t 
value)
+static void nvram_writeb (void *opaque, target_phys_addr_t addr, uint32_t val)
 {
-ds1225y_t *NVRAM = opaque;
+ds1225y_t *s = opaque;
 int64_t pos;
 
-pos = addr - NVRAM-mem_base;
-if (ds1225y_set_to_mode(NVRAM, writemode, wb))
-{
-qemu_fseek(NVRAM-file, pos, SEEK_SET);
-qemu_put_byte(NVRAM-file, (int)value);
+#ifdef DEBUG_NVRAM
+printf(nvram: write 0x%x at  TARGET_FMT_lx \n, val, addr);
+#endif
+
+pos = addr - s-mem_base;
+s-contents[pos] = val  0xff;
+if (s-file) {
+qemu_fseek(s-file, pos, SEEK_SET);
+qemu_put_byte(s-file, (int)val);
+qemu_fflush(s-file);
+}
+}
+
+static void nvram_writew (void *opaque, target_phys_addr_t addr, uint32_t val)
+{
+nvram_writeb(opaque, addr, val  0xff);
+nvram_writeb(opaque, addr + 1, (val  8)  0xff);
+}
+
+static void nvram_writel (void *opaque, target_phys_addr_t addr, uint32_t val)
+{
+nvram_writeb(opaque, addr, val  0xff);
+nvram_writeb(opaque, addr + 1, (val  8)  0xff);
+nvram_writeb(opaque, addr + 2, (val  16)  0xff);
+nvram_writeb(opaque, addr + 3, (val  24)  0xff);
+}
+
+static void nvram_writeb_protected (void *opaque, target_phys_addr_t addr, 
uint32_t val)
+{
+ds1225y_t *s = opaque;
+
+if (s-protection != 7) {
+#ifdef DEBUG_NVRAM
+printf(nvram: prevent write of 0x%x at  TARGET_FMT_lx \n, val, addr);
+#endif
+return;
 }
+
+nvram_writeb(opaque, addr - s-chip_size, val);
+}
+
+static void nvram_writew_protected (void *opaque, target_phys_addr_t addr, 
uint32_t val)
+{
+nvram_writeb_protected(opaque, addr, val  0xff);
+nvram_writeb_protected(opaque, addr + 1, (val  8)  0xff);
+}
+
+static void nvram_writel_protected (void *opaque, target_phys_addr_t addr, 
uint32_t val)
+{
+nvram_writeb_protected(opaque, addr, val  0xff);
+

[Qemu-devel] Re: [PATCH] CFI: Fix AMD erase support

2008-03-13 Thread Jean-Christophe PLAGNIOL-VILLARD
No review?
On 16:57 Sun 24 Feb , Jean-Christophe PLAGNIOL-VILLARD wrote:
 Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD [EMAIL PROTECTED]
 
 diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c
 index b3a8a8e..c360179 100644
 --- a/hw/pflash_cfi01.c
 +++ b/hw/pflash_cfi01.c
 @@ -275,7 +275,7 @@ static void pflash_write (pflash_t *pfl, target_ulong 
 offset, uint32_t value,
  if (cmd == 0xd0) { /* confirm */
  pfl-wcycle = 1;
  pfl-status |= 0x80;
 -} if (cmd == 0xff) { /* read array mode */
 +} else if (cmd == 0xff) { /* read array mode */
  goto reset_flash;
  } else
  goto error_flash;
 -- 
 1.5.4




[Qemu-devel] qemu/hw e1000.c

2008-03-13 Thread Aurelien Jarno
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Aurelien Jarno aurel3208/03/13 19:18:27

Modified files:
hw : e1000.c 

Log message:
e1000: fix endianness issues

This patch fixes endianness issues in the e1000 nic emulation, which
currently only works on little endian hosts with little endian targets.

Byte swapping does not depend on host endianness, so this patch remove
the use of cpu_to_le32 and le32_to_cpu functions. It depends on the path
from the CPU to the device, which is currently and *wrongly* implemented
in Qemu as a byteswap on big endian targets. This patch does the same
as in other devices emulation as all the currently implemented targets
work with this implementation.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/e1000.c?cvsroot=qemur1=1.4r2=1.5




[Qemu-devel] qemu cpu-all.h target-ppc/op.c target-ppc/op_he...

2008-03-13 Thread Aurelien Jarno
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Aurelien Jarno aurel3208/03/13 19:19:16

Modified files:
.  : cpu-all.h 
target-ppc : op.c op_helper.c op_helper.h op_helper_mem.h 
 op_mem.h 

Log message:
Use float32/64 instead of float/double

The patch below uses the float32 and float64 types instead of the float
and double types in the PPC code. This doesn't change anything when
using softfloat-native as the types are the same, but that helps
compiling the PPC target with softfloat.

It also defines a new union CPU_FloatU in addition to CPU_DoubleU, and
use them instead of identical unions that are defined in numerous
places.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-all.h?cvsroot=qemur1=1.84r2=1.85
http://cvs.savannah.gnu.org/viewcvs/qemu/target-ppc/op.c?cvsroot=qemur1=1.69r2=1.70
http://cvs.savannah.gnu.org/viewcvs/qemu/target-ppc/op_helper.c?cvsroot=qemur1=1.74r2=1.75
http://cvs.savannah.gnu.org/viewcvs/qemu/target-ppc/op_helper.h?cvsroot=qemur1=1.30r2=1.31
http://cvs.savannah.gnu.org/viewcvs/qemu/target-ppc/op_helper_mem.h?cvsroot=qemur1=1.16r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemu/target-ppc/op_mem.h?cvsroot=qemur1=1.27r2=1.28




[Qemu-devel] qemu/target-ppc op_helper.c

2008-03-13 Thread Aurelien Jarno
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Aurelien Jarno aurel3208/03/13 19:20:00

Modified files:
target-ppc : op_helper.c 

Log message:
Math functions helper for CONFIG_SOFTFLOAT=yes

The patch below adds isfinite() and isnormal() functions which can
work with float64 type, used when CONFIG_SOFTFLOAT=yes.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-ppc/op_helper.c?cvsroot=qemur1=1.75r2=1.76




[Qemu-devel] qemu sdl.c

2008-03-13 Thread Aurelien Jarno
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Aurelien Jarno aurel3208/03/13 19:20:19

Modified files:
.  : sdl.c 

Log message:
SDL mouse events smoothness

(Samuel Thibault)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/sdl.c?cvsroot=qemur1=1.46r2=1.47




[Qemu-devel] qemu console.h sdl.c vl.c

2008-03-13 Thread Aurelien Jarno
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Aurelien Jarno aurel3208/03/13 19:20:33

Modified files:
.  : console.h sdl.c vl.c 

Log message:
Slowdown SDL while minimized

When SDL is invisible/minimized, there is no need to keep calling the
VGA refresh 33 times per second.  This patch reduces in that case the
rate to 2 times per second, which should be responsive enough for the
un-minimizing event.

(Samuel Thibault)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/console.h?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/sdl.c?cvsroot=qemur1=1.47r2=1.48
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.410r2=1.411




[Qemu-devel] qemu/hw ds1225y.c mips.h

2008-03-13 Thread Aurelien Jarno
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Aurelien Jarno aurel3208/03/13 19:23:00

Modified files:
hw : ds1225y.c mips.h 

Log message:
ds1225y nvram: Fix some bugs

- whole nvram was erased in some conditions
- fix out of range accesses
- improve reading speed by keeping contents in memory
- rename capacity to chip_size

(Hervé Poussineau)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/ds1225y.c?cvsroot=qemur1=1.4r2=1.5
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/mips.h?cvsroot=qemur1=1.1r2=1.2




Re: [Qemu-devel] [PATCH] fix SDL mouse events processing

2008-03-13 Thread Aurelien Jarno
On Wed, Mar 05, 2008 at 01:54:53PM +, Samuel Thibault wrote:
 Here is a revamped patch:
 
 This fixes SDL mouse events processing:
 - GetRelativeMouseState() always returns the last position, so when the
   polling loop gets several mouse events in one go, we would send
   useless 'no move' events, let's avoid that.
 - So as to make sure we don't miss any mouse click / double click, we
   should not use GetRelativeMouseState() to get the button state, but
   rather keep records of the button state ourselves (I've requested SDL
   developers to provide it directly in the event in SDL 1.3).
 - bev-state doesn't contain the button state but whether the event is a press
   or a release. Use bev-button instead.

This patch does not apply anymore. Could you please to redo it against
the current CVS?

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net




[Qemu-devel] CVS build error

2008-03-13 Thread Rick Vernam
Pulling todays CVS (including Aurelien Jaron's recent commits), I've not been 
able to build.


./configure --prefix=/usr --enable-ac97 --enable-alsa --disable-vnc-tls 
--disable-linux-user --disable-gcc-check --target-list=i386-softmmu 
make
[...]
gcc -Wall -O2 -g -fno-strict-aliasing  -fno-reorder-blocks  -fno-gcse  
-fno-tree-ch  -fno-optimize-sibling-calls  -fno-crossjumping  -fno-align-labels 
 -fno-align-jumps  -fno-align-functions   -mpreferred-stack-boundary=2 
-fomit-frame-pointer  -m32 -I. -I.. -I/root/qemu/target-i386 -I/root/qemu -MMD 
-MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 
-I/root/qemu/tcg -I/root/qemu/tcg/i386 -I/root/qemu/fpu -DHAS_AUDIO 
-DHAS_AUDIO_CHOICE -I/root/qemu/slirp -c -o 
op.o /root/qemu/target-i386/op.c
/root/qemu/target-i386/ops_template_mem.h: In function 
'op_cmpxchgb_kernel_T0_T1_EAX_cc':
../softmmu_header.h:170: error: can't find a register in class 'Q_REGS' while 
reloading 'asm'
make[1]: *** [op.o] Error 1
make[1]: Leaving directory `/root/qemu/i386-softmmu'
make: *** [subdir-i386-softmmu] Error 2


gcc --version
gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2)

system is 32-bit i686

Is this on my end, or just the current state of things?

thanks
-Rick




[Qemu-devel] qemu/target-sparc cpu.h op.c translate.c

2008-03-13 Thread Blue Swirl
CVSROOT:/cvsroot/qemu
Module name:qemu
Changes by: Blue Swirl blueswir1  08/03/13 20:45:31

Modified files:
target-sparc   : cpu.h op.c translate.c 

Log message:
 Convert condition code changing versions of add, sub, logic, and div 
to TCG

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/cpu.h?cvsroot=qemur1=1.66r2=1.67
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/op.c?cvsroot=qemur1=1.56r2=1.57
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/translate.c?cvsroot=qemur1=1.101r2=1.102




[Qemu-devel] qemu/tcg tcg-op.h

2008-03-13 Thread Blue Swirl
CVSROOT:/cvsroot/qemu
Module name:qemu
Changes by: Blue Swirl blueswir1  08/03/13 20:46:42

Modified files:
tcg: tcg-op.h 

Log message:
 Add tcg_const_tl

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/tcg/tcg-op.h?cvsroot=qemur1=1.8r2=1.9




Re: [Qemu-devel] CVS build error

2008-03-13 Thread Paul Brook
 gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2)

Which part of gcc 4.x is not supported didn't you understand?

Paul




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

2008-03-13 Thread Blue Swirl
CVSROOT:/cvsroot/qemu
Module name:qemu
Changes by: Blue Swirl blueswir1  08/03/13 20:47:53

Modified files:
target-sparc   : translate.c 

Log message:
 Use tcg_const_tl for zero constant

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/translate.c?cvsroot=qemur1=1.102r2=1.103




Re: [Qemu-devel] CVS build error

2008-03-13 Thread Ben Taylor
On Thu, Mar 13, 2008 at 4:47 PM, Paul Brook [EMAIL PROTECTED] wrote:

  gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2)

 Which part of gcc 4.x is not supported didn't you understand?

 Paul


 Apparently, we should make configure fail horribly if gcc4 is found even
if disable-gcc-check is enabled.


Re: [Qemu-devel] CVS build error

2008-03-13 Thread Johannes Schindelin
Hi,

On Thu, 13 Mar 2008, Ben Taylor wrote:

 On Thu, Mar 13, 2008 at 4:47 PM, Paul Brook [EMAIL PROTECTED] wrote:
 
   gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2)
 
  Which part of gcc 4.x is not supported didn't you understand?

 Apparently, we should make configure fail horribly if gcc4 is found even 
 if disable-gcc-check is enabled.

No, we should educate people so we do not have to clutter our source code 
with unnecessary messages.

I mean, it says what it should say, really.  Really.

Hth,
Dscho





Re: [Qemu-devel] CVS build error

2008-03-13 Thread Rick Vernam
On Thursday 13 March 2008 04:27:29 pm Ben Taylor wrote:
 On Thu, Mar 13, 2008 at 4:47 PM, Paul Brook [EMAIL PROTECTED] wrote:
   gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2)
 
  Which part of gcc 4.x is not supported didn't you understand?
 
  Paul
 
 
  Apparently, we should make configure fail horribly if gcc4 is found even

 if disable-gcc-check is enabled.

It's quite interesting - the arrogant and presumptuous assertions that are 
made.

On a different system (x86_64) - my everyday-use laptop, actually - I have 
only gcc 4.1.2.
If you're familiar with Gentoo, you'll know what this means:
gcc-config -l
 [1] x86_64-pc-linux-gnu-4.1.2 *


On this laptop, I run qemu cvs, configured as such:
./configure --prefix=/usr --enable-ac97 --enable-alsa --disable-vnc-tls 
--disable-linux-user --disable-gcc-check --target-list=x86_64-softmmu

and build with no problems.  I run it every single day.  in fact, it is 
running right now.  It runs ms and linux guests without problem.


Not supported?  Okay, fine.  But don't tell me it can't work.  The fact of the 
matter is that I use it daily.

Make configure fail horribly?  Well, that seems a bit counter-productive, 
don't you think?




Re: [Qemu-devel] CVS build error

2008-03-13 Thread Johannes Schindelin
Hi,

On Thu, 13 Mar 2008, Rick Vernam wrote:

 [gcc4] Not supported?  Okay, fine.  But don't tell me it can't work.  
 The fact of the matter is that I use it daily.
 
 Make configure fail horribly?  Well, that seems a bit counter-productive, 
 don't you think?

If you would only have researched a _little_ bit, you would have found out 
that x86, by far the most common platform at the moment, which you should 
have known before stating what you stated, does _not_ work with gcc4.

So all you said is just bull.

Ciao,
Dscho





Re: [Qemu-devel] [PATCH] fix SDL mouse events processing

2008-03-13 Thread Samuel Thibault
Aurelien Jarno, le Thu 13 Mar 2008 20:50:51 +0100, a écrit :
 On Wed, Mar 05, 2008 at 01:54:53PM +, Samuel Thibault wrote:
  This fixes SDL mouse events processing:
  - GetRelativeMouseState() always returns the last position, so when the
polling loop gets several mouse events in one go, we would send
useless 'no move' events, let's avoid that.
  - So as to make sure we don't miss any mouse click / double click, we
should not use GetRelativeMouseState() to get the button state, but
rather keep records of the button state ourselves (I've requested SDL
developers to provide it directly in the event in SDL 1.3).
  - bev-state doesn't contain the button state but whether the event is a 
  press
or a release. Use bev-button instead.
 
 This patch does not apply anymore. Could you please to redo it against
 the current CVS?

Mmm, well, it actually is conflicting with the mouse smoothness patch:
the question is: after the 30ms period, if we got several mouse motion
events, should we merge them into a single one for the guest, or should
we provide all of them (hence making the cursor looking more smooth, but
requiring more treatments from the guest)?

Samuel




[Qemu-devel] qemu Makefile.target cpu-exec.c translate-all.c...

2008-03-13 Thread Edgar E. Iglesias
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Edgar E. Iglesias edgar_igl   08/03/14 01:04:24

Modified files:
.  : Makefile.target cpu-exec.c translate-all.c 
hw : etraxfs.c etraxfs_timer.c etraxfs_ser.c 
target-cris: helper.c 
Added files:
hw : etraxfs_pic.c 

Log message:
* Add a model of the ETRAX interrupt controller.
* Clean up the interrupt handling a bit.
* Connect some NOR flash to the test board.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Makefile.target?cvsroot=qemur1=1.248r2=1.249
http://cvs.savannah.gnu.org/viewcvs/qemu/cpu-exec.c?cvsroot=qemur1=1.133r2=1.134
http://cvs.savannah.gnu.org/viewcvs/qemu/translate-all.c?cvsroot=qemur1=1.27r2=1.28
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs.c?cvsroot=qemur1=1.5r2=1.6
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs_timer.c?cvsroot=qemur1=1.3r2=1.4
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs_ser.c?cvsroot=qemur1=1.3r2=1.4
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs_pic.c?cvsroot=qemurev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/helper.c?cvsroot=qemur1=1.5r2=1.6




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

2008-03-13 Thread Edgar E. Iglesias
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Edgar E. Iglesias edgar_igl   08/03/14 01:08:09

Modified files:
target-cris: mmu.c mmu.h cpu.h op.c op_helper.c 
Added files:
target-cris: helper.h 

Log message:
Model more parts of the ETRAX mmu (still alot missing).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/mmu.c?cvsroot=qemur1=1.3r2=1.4
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/mmu.h?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/cpu.h?cvsroot=qemur1=1.4r2=1.5
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/op.c?cvsroot=qemur1=1.6r2=1.7
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/op_helper.c?cvsroot=qemur1=1.4r2=1.5
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/helper.h?cvsroot=qemurev=1.1




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

2008-03-13 Thread Edgar E. Iglesias
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Edgar E. Iglesias edgar_igl   08/03/14 01:11:25

Modified files:
target-cris: translate.c 

Log message:
A first small step to convert the CRIS translator to TCG.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-cris/translate.c?cvsroot=qemur1=1.7r2=1.8




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

2008-03-13 Thread Edgar E. Iglesias
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Edgar E. Iglesias edgar_igl   08/03/14 01:50:49

Modified files:
hw : etraxfs.c etraxfs_pic.c etraxfs_ser.c 
 etraxfs_timer.c 

Log message:
Made the etrax timers and serial-ports base address relocatable. Use 
target_phys_addr_t instead of target_ulong.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs.c?cvsroot=qemur1=1.6r2=1.7
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs_pic.c?cvsroot=qemur1=1.1r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs_ser.c?cvsroot=qemur1=1.4r2=1.5
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/etraxfs_timer.c?cvsroot=qemur1=1.4r2=1.5