Re: [Qemu-devel] VirtualBox PC virtualization released as Open Source

2007-01-16 Thread Christian MICHON

based on *quick* benchs and without entering too much in detail
(in case I'd violate EULA), it seems faster than qemu+kqemu on
windows hosts :(

--
Christian


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] VirtualBox PC virtualization released as Open Source

2007-01-16 Thread Christian MICHON

sorry I meant  :) 

it's a stupid typo mistake...

basically: video is faster, hdd access is faster.
I'll see if I can gather more figures.

I hope too we can put these improvements back inside qemu
of course! :)

On 1/16/07, Paul Brook [EMAIL PROTECTED] wrote:

On Tuesday 16 January 2007 08:25, Christian MICHON wrote:
 based on *quick* benchs and without entering too much in detail
 (in case I'd violate EULA), it seems faster than qemu+kqemu on
 windows hosts :(

Why is that a bad thing? VirtualBox is GPL, kqemu is not, so I'd say
VirtualBox being faster is a good thing. It means there's no need for
proprietary kernel modules.

Paul




--
Christian


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] VirtualBox PC virtualization released as Open Source

2007-01-16 Thread Paul Brook
On Tuesday 16 January 2007 08:25, Christian MICHON wrote:
 based on *quick* benchs and without entering too much in detail
 (in case I'd violate EULA), it seems faster than qemu+kqemu on
 windows hosts :(

Why is that a bad thing? VirtualBox is GPL, kqemu is not, so I'd say 
VirtualBox being faster is a good thing. It means there's no need for 
proprietary kernel modules.

Paul


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] [BUG] Bios32 Service introduced between 0.8.0 and 0.8.2

2007-01-16 Thread Thomas Frey

In Qemu 0.8.0 the Bluebottle operating system
(http://bluebottle.ethz.ch) works as expected given the simulated
hardware and the available drivers. In Qemu 0.8.2 the initialization
fails because of a problem in the Bios32 ServiceDirectory call. When
tracing it, I found that the service directory lookup for the $PCI
ID returns with a corrupted stack pointer.

--Thomas


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] Re: [BUG] QEMU x86_64 SSE bug in modf() + MMX bug

2007-01-16 Thread Ludovic Drolez

Julian Seward wrote:

Would someone be able to track down this SSE QEMU bug seen only in SLES's
modf() function ?



The Valgrind sources contain test programs, including expected outputs,
for all SSE/SSE2/SSE3 instructions on amd64 (see none/tests/amd64/insn-sse
and insn-sse2).  Running those on QEMU might be a quick and easy first
check for something wrong in the SSE department.  They are not completely
comprehensive but may find obvious arithmetic errors and instruction
decoding errors.



Hi !

I've run the valgrind tests on Qemu 0.8.2, in particular insn_basic, insn_fpu, 
 _mmx, _sse, _sse2. No bugs were found in SSE and FPU emulation, but one was 
found in MMX !:


  ~/tests/none/tests/amd64 # diff insn_mmx.r insn_mmx.stdout.exp
  1,6c1,2
   movd_1 ... not ok
 result0.sd[0] = 1234 (expected 1234)
 result0.sd[1] = 0 (expected 5678)
   movd_2 ... not ok
 result0.sd[0] = 1234 (expected 1234)
 result0.sd[1] = 0 (expected 5678)
  ---
   movd_1 ... ok
   movd_2 ... ok

Which comes from the following test:
  #
  # %mm - ireg64
  #
  movd mm.sd[1234,5678] r64.sd[,] = 1.sd[1234,5678]
  movd r64.sd[1234,5678] mm.sd[,] = 1.sd[1234,5678]


So one MMX bug when using 64 bits regs has been found, but the SSE2 bug is
still a mystery :-(

Cheers,


--
Ludovic DROLEZ  Linbox / FreeALter Soft
www.linbox.com www.linbox.org tel: +33 3 87 50 87 90
152 rue de Grigy - Technopole Metz 2000   57070 METZ


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] Race condition in VMDK (QCOW*) formats.

2007-01-16 Thread Igor Lvovsky
 Hi all,

I have doubt about the race condition during the write operation on snapshot.

I think the problem exists in VMDK and QCOW* formats (I didn't checked the 
others). 

 

The example from the block_vmdk.c.

 

static int vmdk_write(BlockDriverState *bs, int64_t sector_num, 

 const uint8_t *buf, int nb_sectors)

{

BDRVVmdkState *s = bs-opaque;

int ret, index_in_cluster, n;

uint64_t cluster_offset;

 

while (nb_sectors  0) {

index_in_cluster = sector_num  (s-cluster_sectors - 1);

n = s-cluster_sectors - index_in_cluster;

if (n  nb_sectors)

n = nb_sectors;

cluster_offset = get_cluster_offset(bs, sector_num  9, 1);

if (!cluster_offset)

return -1;

lseek(s-fd, cluster_offset + index_in_cluster * 512, SEEK_SET);

ret = write(s-fd, buf, n * 512);

if (ret != n * 512)

return -1;

nb_sectors -= n;

sector_num += n;

buf += n * 512;

}

return 0;

}

 

The get_cluster_offset(…) routine update the L2 table of the metadata and 
return the cluster_offset.

After that the vmdk_write(…) routine actually write the grain at right place.

So, we have timing hole here.

 

Assume, VM that perform write operation will be destroyed at this moment.

So, we have corrupted image (with updated L2 table, but without the grain 
itself).

 

Regards,

Igor Lvovsky

 

 

 

 

 

___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] VirtualBox PC virtualization released as Open Source

2007-01-16 Thread Ottavio Caruso
--- Ottavio Caruso [EMAIL PROTECTED] wrote:

 Interesting! Does anybody know if and where I could finf [sic!]a
Windows
 binary via http/ftp? Unfortunately I can't torrent!


I am sorry! A Windows binary was actually provided and I have later
installed it, but I am not going touse it as it is not portable,
unlike Qemu, which I can just run from my usb flash drive...

-- 
Ottavio Caruso

I will not purchase any computing equipment from manufacturers that recommend 
Windows Vista™ or any other Microsoft® products.
http://www.pledgebank.com/boycottvista


 

8:00? 8:25? 8:40? Find a flick in no time 
with the Yahoo! Search movie showtime shortcut.
http://tools.search.yahoo.com/shortcuts/#news


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] VirtualBox PC virtualization released as Open Source

2007-01-16 Thread Ottavio Caruso
--- Oliver Gerlich [EMAIL PROTECTED] wrote:


 
 as I was just reading this on german newsticker heise.de:
 http://www.heise.de/open/news/meldung/83680
 
 Also on Slashdot:
 http://it.slashdot.org/it/07/01/15/1631234.shtml
 
 And the original news:
 http://www.virtualbox.org/wiki/News
 

Interesting! Does anybody know if and where I could finf a Windows
binary via http/ftp? Unfortunately I can't torrent!


-- 
Ottavio Caruso

I will not purchase any computing equipment from manufacturers that recommend 
Windows Vista™ or any other Microsoft® products.
http://www.pledgebank.com/boycottvista


 

We won't tell. Get more on shows you hate to love 
(and love to hate): Yahoo! TV's Guilty Pleasures list.
http://tv.yahoo.com/collections/265 


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] VirtualBox PC virtualization released as Open Source

2007-01-16 Thread Marc Lörner
On Tuesday 16 January 2007 15:12, Ottavio Caruso wrote:
 --- Oliver Gerlich [EMAIL PROTECTED] wrote:
  as I was just reading this on german newsticker heise.de:
  http://www.heise.de/open/news/meldung/83680
 
  Also on Slashdot:
  http://it.slashdot.org/it/07/01/15/1631234.shtml
 
  And the original news:
  http://www.virtualbox.org/wiki/News

 Interesting! Does anybody know if and where I could finf a Windows
 binary via http/ftp? Unfortunately I can't torrent!

Hello,
either click at site: http://www.virtualbox.org/wiki/Downloads left on:
VirtualBox 1.3.2 for Windows Hosts, not on the torrent link at the right,
or follow this link to download the msi:
http://www.virtualbox.org/download/1.3.2/VirtualBox_1.3.2_Win_x86.msi


HTH,
Marc


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] [PATCH] darwin-user merge attempt - patch v2

2007-01-16 Thread Pierre d'Herbemont

Here is an updated version of the patch:



darwin_user.2.diff.txt.gz
Description: GNU Zip compressed data


It mostly fix i386-darwin-user on ppc which was broken in previous  
patch.


Pierre.

On 12 janv. 07, at 07:44, Pierre d'Herbemont wrote:


Hi,

Here is an attempt to merge the qemu tree hosted in darwine CVS  
repository [1]. This branch contains a darwin-user target for qemu,  
which goal is similar to linux-user on linux.


For now there is still much to do, like:
1- fill the ioctls*.h files
2- Accurately implement all the syscall.
3- have all the user access protected by lock_user/unlock_user and  
g2h/h2g macro.
4- Fix the bugs that prevent Cocoa apps from running i386-darwin- 
user on ppc


But darwin-user is starting to become functionnal:
- i386-darwin-user on x86: (Some) cocoa apps run fines.
- i386-darwin-user on ppc: (Some) command line utility work fines,  
but we may have some bugs left that prevent Cocoa applications from  
working.
- ppc-darwin-user on ppc: commpage issues can prevent qemu from  
running, hopefully todo#3 could fix that.
- ppc-darwin-user on x86: ppc and x86 commpage overlap, so the ppc  
commpage can't be mapped, hopefully todo#3 could fix that too.


I hope to ear some feedback about inclusion in the qemu TOT.

Pierre.

(Note that Matt Reda used to work on that too.)

[1] http://darwine.cvs.sourceforge.net/darwine/qemu/



___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] Re: [BUG] QEMU x86_64 SSE bug in modf() + MMX bug

2007-01-16 Thread Aurelien Jarno
Ludovic Drolez a écrit :
 I've also found the buggy SSE instruction by tracing modf() with gdb.
 It's similar to the MMX bug found below: only the 32 bits part of the 
 register 
 is stored instead of the whole 64 bits.
 
 The bug is in the movd instruction in 64 bits emulation.
 Under gdb, just before the movd I had %rsi=0x3FF0
 and, after movd, %xmm0=0 ! Only the 32bits part seems to be copied when
 the source is a 64bits register.
 
 2edaa:   48 d3 e0shl%cl,%rax
 2edad:   48 21 c6and%rax,%rsi
 2edb0:   66 48 0f 6e c6  movd   %rsi,%xmm0
 
 So in fact the valgrind mmx bug and the modf() bug have the same cause.
 

I have just looked at the documentation from AMD. I confirm that in
32-bit mode, the 32 bits of the register have to be copied in the lower
part of mmx or xmm register. In 64-bit mode, the 64 bits of the register
have to be copied in the mmx register or in the lower part of the xmm
register.

So that confirms the implementation in QEMU is wrong.

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


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu vl.h hw/arm_boot.c hw/integratorcp.c hw/re...

2007-01-16 Thread Paul Brook
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Paul Brook pbrook 07/01/16 18:54:31

Modified files:
.  : vl.h 
hw : arm_boot.c integratorcp.c realview.c 
 versatilepb.c 

Log message:
ARM ELF loader.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.h?cvsroot=qemur1=1.172r2=1.173
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/arm_boot.c?cvsroot=qemur1=1.1r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/integratorcp.c?cvsroot=qemur1=1.10r2=1.11
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/realview.c?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/versatilepb.c?cvsroot=qemur1=1.7r2=1.8


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu/target-i386 ops_sse.h translate.c

2007-01-16 Thread Fabrice Bellard
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Fabrice Bellard bellard   07/01/16 19:28:58

Modified files:
target-i386: ops_sse.h translate.c 

Log message:
fixed movd mmx/sse insn

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/ops_sse.h?cvsroot=qemur1=1.6r2=1.7
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/translate.c?cvsroot=qemur1=1.61r2=1.62


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] Race condition in VMDK (QCOW*) formats.

2007-01-16 Thread Fabrice Bellard
Well, it was never said that the QCOW* code was safe if you interrupted 
QEMU at some point.


But I agree that it could be safer to write the sector first and update 
the links after. It could be interesting to analyze the QCOW2 snapshots 
handling too (what if QEMU is stopped during the creation of a snapshot ?).


Regards,

Fabrice.

Igor Lvovsky wrote:



 Hi all,

I have doubt about the race condition during the *write operation on 
snapshot*.


I think the problem exists in VMDK and QCOW* formats (I didn't checked 
the others).


 


The example from the block_vmdk.c.

 


static int vmdk_write(BlockDriverState *bs, int64_t sector_num,

 const uint8_t *buf, int nb_sectors)

{

BDRVVmdkState *s = bs-opaque;

int ret, index_in_cluster, n;

uint64_t cluster_offset;

 


while (nb_sectors  0) {

index_in_cluster = sector_num  (s-cluster_sectors - 1);

n = s-cluster_sectors - index_in_cluster;

if (n  nb_sectors)

n = nb_sectors;

cluster_offset = get_cluster_offset(bs, sector_num  9, 1);

if (!cluster_offset)

return -1;

lseek(s-fd, cluster_offset + index_in_cluster * 512, SEEK_SET);

ret = write(s-fd, buf, n * 512);

if (ret != n * 512)

return -1;

nb_sectors -= n;

sector_num += n;

buf += n * 512;

}

return 0;

}

 

The /get_cluster_offset(…)/ routine update the L2 table of the metadata 
and return the /cluster_offset. /


After that the /vmdk_write(…)/ routine/ /actually write the grain at 
right place.


So, we have timing hole here.

 


Assume, VM that perform write operation will be destroyed at this moment.

So, we have corrupted image (with updated L2 table, but without the 
grain itself).


 


Regards,

Igor Lvovsky

 

 

 

 

 





___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel





___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] Race condition in VMDK (QCOW*) formats.

2007-01-16 Thread Fabrice Bellard
Well, it was never said that the QCOW* code was safe if you interrupted 
QEMU at some point.


But I agree that it could be safer to write the sector first and update 
the links after. It could be interesting to analyze the QCOW2 snapshots 
handling too (what if QEMU is stopped during the creation of a snapshot ?).


Regards,

Fabrice.

Igor Lvovsky wrote:



 Hi all,

I have doubt about the race condition during the *write operation on 
snapshot*.


I think the problem exists in VMDK and QCOW* formats (I didn't checked 
the others).


 


The example from the block_vmdk.c.

 


static int vmdk_write(BlockDriverState *bs, int64_t sector_num,

 const uint8_t *buf, int nb_sectors)

{

BDRVVmdkState *s = bs-opaque;

int ret, index_in_cluster, n;

uint64_t cluster_offset;

 


while (nb_sectors  0) {

index_in_cluster = sector_num  (s-cluster_sectors - 1);

n = s-cluster_sectors - index_in_cluster;

if (n  nb_sectors)

n = nb_sectors;

cluster_offset = get_cluster_offset(bs, sector_num  9, 1);

if (!cluster_offset)

return -1;

lseek(s-fd, cluster_offset + index_in_cluster * 512, SEEK_SET);

ret = write(s-fd, buf, n * 512);

if (ret != n * 512)

return -1;

nb_sectors -= n;

sector_num += n;

buf += n * 512;

}

return 0;

}

 

The /get_cluster_offset(…)/ routine update the L2 table of the metadata 
and return the /cluster_offset. /


After that the /vmdk_write(…)/ routine/ /actually write the grain at 
right place.


So, we have timing hole here.

 


Assume, VM that perform write operation will be destroyed at this moment.

So, we have corrupted image (with updated L2 table, but without the 
grain itself).


 


Regards,

Igor Lvovsky

 

 

 

 

 





___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel





___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu console.c

2007-01-16 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/01/16 23:02:36

Modified files:
.  : console.c 

Log message:
Improved console handling, thanks Stefan Weil.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/console.c?cvsroot=qemur1=1.9r2=1.10


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] [PATCH] GT64120 big-endian fix

2007-01-16 Thread Aurelien Jarno
The patch below (partly) fixes the big-endian support for the GT64120
northbridge. This is the correct way to implement byte swapping, but 
this chip also allow byte swapping on the PCI bus depending on a
configuration bit. This is not yet implemented, but also not used by the
Linux kernel.

This patch also adds support for a few more registers.


Index: hw/gt64xxx.c
===
RCS file: /sources/qemu/qemu/hw/gt64xxx.c,v
retrieving revision 1.1
diff -u -d -p -r1.1 gt64xxx.c
--- hw/gt64xxx.c15 Jan 2007 18:32:02 -  1.1
+++ hw/gt64xxx.c16 Jan 2007 23:36:44 -
@@ -240,14 +240,19 @@ static void gt64120_writel (void *opaque
 GT64120State *s = opaque;
 uint32_t saddr;
 
+#ifdef TARGET_WORDS_BIGENDIAN
+val = bswap32(val);
+#endif
+
 saddr = (addr  0xfff)  2;
 switch (saddr) {
-/* CPU Configuration Register */
+
+/* CPU Configuration */
 case GT_CPU:
 s-regs[GT_CPU] = val;
-gt64120_pci_mapping(s);
 break;
 case GT_MULTI:
+   /* Read-only register as only one GT64xxx is present on the CPU bus */
 break;
 
 /* CPU Address Decode */
@@ -306,6 +311,13 @@ static void gt64120_writel (void *opaque
 case GT_CPUERR_DATALO:
 case GT_CPUERR_DATAHI:
 case GT_CPUERR_PARITY:
+   /* Read-only registers, do nothing */
+break;
+
+/* CPU Sync Barrier */
+case GT_PCI0SYNC:
+case GT_PCI1SYNC:
+   /* Read-only registers, do nothing */
 break;
 
 /* ECC */
@@ -314,6 +326,7 @@ static void gt64120_writel (void *opaque
 case GT_ECC_MEM:
 case GT_ECC_CALC:
 case GT_ECC_ERRADDR:
+/* Read-only registers, do nothing */
 break;
 
 /* PCI Internal */
@@ -328,6 +341,16 @@ static void gt64120_writel (void *opaque
 pci_host_data_writel(s-pci, 0, val);
 break;
 
+/* SDRAM Parameters */
+case GT_SDRAM_B0:
+case GT_SDRAM_B1:
+case GT_SDRAM_B2:
+case GT_SDRAM_B3:
+/* We don't simulate electrical parameters of the SDRAM.
+   Accept, but ignore the values. */
+s-regs[saddr] = val;
+break;
+
 default:
 #if 0
 printf (gt64120_writel: Bad register offset 0x%x\n, (int)addr);
@@ -348,13 +371,31 @@ static uint32_t gt64120_readl (void *opa
 
 switch (saddr) {
 
+/* CPU Configuration */
+case GT_MULTI:
+/* Only one GT64xxx is present on the CPU bus, return
+   the initial value */
+val = s-regs[saddr];
+break;
+
 /* CPU Error Report */
 case GT_CPUERR_ADDRLO:
 case GT_CPUERR_ADDRHI:
 case GT_CPUERR_DATALO:
 case GT_CPUERR_DATAHI:
 case GT_CPUERR_PARITY:
-return 0;
+/* Emulated memory has no error, always return the initial
+   values */ 
+val = s-regs[saddr];
+break;
+
+/* CPU Sync Barrier */
+case GT_PCI0SYNC:
+case GT_PCI1SYNC:
+/* Reading those register should empty all FIFO on the PCI
+   bus, which are not emulated. The return value should be
+   a random value that should be ignored. */
+val = 0xc000ffee; 
 break;
 
 /* ECC */
@@ -363,11 +404,12 @@ static uint32_t gt64120_readl (void *opa
 case GT_ECC_MEM:
 case GT_ECC_CALC:
 case GT_ECC_ERRADDR:
-return 0;
+/* Emulated memory has no error, always return the initial
+   values */ 
+val = s-regs[saddr];
 break;
 
 case GT_CPU:
-case GT_MULTI:
 case GT_PCI0IOLD:
 case GT_PCI0M0LD:
 case GT_PCI0M1LD:
@@ -394,6 +436,16 @@ static uint32_t gt64120_readl (void *opa
val = pic_intack_read(isa_pic);
 break;
 
+/* SDRAM Parameters */
+case GT_SDRAM_B0:
+case GT_SDRAM_B1:
+case GT_SDRAM_B2:
+case GT_SDRAM_B3:
+/* We don't simulate electrical parameters of the SDRAM.
+   Just return the last written value. */
+val = s-regs[saddr];
+break;
+
 /* PCI Internal */
 case GT_PCI0_CFGADDR:
 val = s-pci-config_reg;
@@ -410,7 +462,11 @@ static uint32_t gt64120_readl (void *opa
 break;
 }
 
+#ifdef TARGET_WORDS_BIGENDIAN
+return bswap32(val);
+#else
 return val;
+#endif
 }
 
 static CPUWriteMemoryFunc *gt64120_write[] = {
@@ -521,6 +577,12 @@ void gt64120_reset(void *opaque)
 s-regs[GT_ECC_CALC]  = 0x;
 s-regs[GT_ECC_ERRADDR]   = 0x;
 
+/* SDRAM Parameters */
+s-regs[GT_SDRAM_B0]  = 0x0005;
+s-regs[GT_SDRAM_B1]  = 0x0005;
+s-regs[GT_SDRAM_B2]  = 0x0005;
+s-regs[GT_SDRAM_B3]  = 0x0005;
+
 /* PCI Internal FIXME: not complete*/
 #ifdef TARGET_WORDS_BIGENDIAN
 s-regs[GT_PCI0_CMD]  = 0x;


-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-  

Re: [Qemu-devel] qemu vl.h hw/arm_boot.c hw/integratorcp.c hw/re...

2007-01-16 Thread Jason Wessel
Paul the code change that was checked in here causes the zImage files I 
generate not to work anymore.


Please consider the small patch which fixes the problem.  The load_elf() 
function is returning -1.


signed-off-by: [EMAIL PROTECTED]


Paul Brook wrote:

CVSROOT:/sources/qemu
Module name:qemu
Changes by: Paul Brook pbrook   07/01/16 18:54:31

Modified files:
	.  : vl.h 
	hw : arm_boot.c integratorcp.c realview.c 
	 versatilepb.c 


Log message:
ARM ELF loader.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.h?cvsroot=qemur1=1.172r2=1.173
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/arm_boot.c?cvsroot=qemur1=1.1r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/integratorcp.c?cvsroot=qemur1=1.10r2=1.11
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/realview.c?cvsroot=qemur1=1.2r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/versatilepb.c?cvsroot=qemur1=1.7r2=1.8


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel
  


Index: qemu/hw/arm_boot.c
===
--- qemu.orig/hw/arm_boot.c
+++ qemu/hw/arm_boot.c
@@ -80,7 +80,7 @@ void arm_load_kernel(CPUState *env, int 
 }
 
 kernel_size = load_elf(kernel_filename, 0, entry);
-if (kernel_size) {
+if (kernel_size  0) {
 /* An ELF image.  Jump to the entry point.  */
 env-regs[15] = entry  0xfffe;
 env-thumb = entry  1;
___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel