Re: [Qemu-devel] qemu and configuration file?

2006-01-03 Thread martin

I shouldn't write posts at 7-8am

should be

s/Certainly better every/Certainly better than every/

s/broken and compatible/broken and incompatible/

sry :) , you probably understood anyway what i meant ...

martin


martin wrote:
 If we'd go for a config file at all with such a complicated structure, 
i see no reasons why to choose anything else than xml for it. We have 
tons of xml libs that can be used for gui's (think perl, tk, python 
etc...). Certainly better every dude writing it's own XuPeRpArSeR that 
will be broken and compatible after a major change in qemu ...
 Another choice would be the pure rc (just 'item = value' lines) without 
any supersmart blocks.


xml style or rc style, please no hack in betweeen :)

martin



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


Re: [Qemu-devel] qemu and configuration file?

2006-01-03 Thread martin
 If we'd go for a config file at all with such a complicated structure, i see no reasons why to 
choose anything else than xml for it. We have tons of xml libs that can be used for gui's (think 
perl, tk, python etc...). Certainly better every dude writing it's own XuPeRpArSeR that will be 
broken and compatible after a major change in qemu ...

 Another choice would be the pure rc (just 'item = value' lines) without any 
supersmart blocks.

xml style or rc style, please no hack in betweeen :)

martin


Giuseppe Della Bianca wrote:

Hi.

My idea is this:  
- qemu start 
- set up of the hardcode parameters 
- reading of the configuration file and set up of the parameters 
- set up of the parameters of command line 


Example of configuration file:
[general]
  
  [vlan0]
ip= x.y.x.w
mac= l:m:n:o

  [/vlan0]
[/general]

[suse.img]
  
  [vlan3]
mac= h:j:k:l

  [/vlan3]
[/suse.img]

[win.img]
  
  [vlan2]
mac= z:x:c:v

  [/vlan2]
[/win.img]

Result: 
- full compatibility with every version of qemu 
- more flexibility 
- possibility to set up the hardcode parameters 
- possibility of parameters personalized for every image 

One similar thing, with smaller flexibility, is possible 
 without modify qemu and using one series of bash script.


Comments are welcomes (at least one "it does not interest to us"). 


Regards.
	Gdb 



___
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] qemu and configuration file?

2006-01-03 Thread André Braga
On 1/3/06, Johannes Schindelin <[EMAIL PROTECTED]> wrote:
> > If I find 1 free hour tomorrow I'll post a POC.
>
> POC=Piece Of Crap??? ;-)

I can only hope he meant Proof Of Concept :)


--
"I decry the current tendency to seek patents on algorithms. There are
better ways to earn a living than to prevent other people from making
use of one's contributions to computer science."
Donald Knuth


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


Re: [Qemu-devel] qemu and configuration file?

2006-01-03 Thread Johannes Schindelin
Hi,

On Tue, 3 Jan 2006, Flavio Visentin wrote:

> It would be useful for automatic startup of the VMs by init scripts.
> OTOH it's very simple to create a config file parser with
> perl/python/bash who can wrap around qemu options.

It is simpler to write the bash script right away, especially if you know 
init scripts.

> If I find 1 free hour tomorrow I'll post a POC.

POC=Piece Of Crap??? ;-)

Ciao,
Dscho



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


Re: [Qemu-devel] qemu and configuration file?

2006-01-03 Thread Flavio Visentin
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Paul Brook wrote:
> Config file support without a decent GUI seem rather pointless.
> The big advantage of doing it as a shell script is it's dead easy to hack to 
> include whatever custom magical features people want.

It would be useful for automatic startup of the VMs by init scripts.
OTOH it's very simple to create a config file parser with
perl/python/bash who can wrap around qemu options.

If I find 1 free hour tomorrow I'll post a POC.

- --
Flavio Visentin

| \|||/
|@/0.0\@
| \ - /
+--oOOo---oOOo--

There are only 10 types of people in this world:
those who understand binary, and those who don't.

GPG Key: http://www.zipman.it/gpgkey.asc
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDuvpousUmHkh1cnoRAgvHAJ0eHmaCxf0q1od+El+v/goRS9XsbwCfYdVm
8M59yryja9pnmrNJff1etLI=
=wcb1
-END PGP SIGNATURE-


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


Re: [Qemu-devel] qemu and configuration file?

2006-01-03 Thread Paul Brook
> Result:
> - full compatibility with every version of qemu
> - more flexibility
> - possibility to set up the hardcode parameters
> - possibility of parameters personalized for every image
>
> One similar thing, with smaller flexibility, is possible
>  without modify qemu and using one series of bash script.
>
> Comments are welcomes (at least one "it does not interest to us").

I'd go for the shell script. If enough people like it I'm sure it could be 
included with qemu.
Config file support without a decent GUI seem rather pointless.
The big advantage of doing it as a shell script is it's dead easy to hack to 
include whatever custom magical features people want.

Paul


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


Re: [Qemu-devel] qemu and configuration file?

2006-01-03 Thread Giuseppe Della Bianca
Hi.

My idea is this:  
- qemu start 
- set up of the hardcode parameters 
- reading of the configuration file and set up of the parameters 
- set up of the parameters of command line 

Example of configuration file:
[general]
  
  [vlan0]
ip= x.y.x.w
mac= l:m:n:o

  [/vlan0]
[/general]

[suse.img]
  
  [vlan3]
mac= h:j:k:l

  [/vlan3]
[/suse.img]

[win.img]
  
  [vlan2]
mac= z:x:c:v

  [/vlan2]
[/win.img]

Result: 
- full compatibility with every version of qemu 
- more flexibility 
- possibility to set up the hardcode parameters 
- possibility of parameters personalized for every image 

One similar thing, with smaller flexibility, is possible 
 without modify qemu and using one series of bash script.

Comments are welcomes (at least one "it does not interest to us"). 

Regards.
Gdb 


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


Re: Re: [Qemu-devel] [PATCH] Fix to gdb - wrong translation block invalidated when setting gdb breakpoints

2006-01-03 Thread Andre Pech
Hi Mulyadi,

The problem that you are running into here is that sys_uname has been
replaced by sys_newuname in kernel/sys.c. When I put a breakpoint in
this function, everything works correctly when I run uname in the
virtual machine.

I'm not sure I exactly understand your concern that breakpoints could
be missed. When you set the breakpoint, tb_invalidate_phys_page_range
is called, invalidating the translation block block for the address
where you are placing the breakpoint. At this point, the next time that
the address is hit, translate.c:gen_intermediate_code will have to be
called, and the breakpoint will be hit. Let me know if I've missed
something here.

Thanks,
AndreOn 1/1/06, Mulyadi Santosa <[EMAIL PROTECTED]> wrote:
Hello Andre...> Not a problem. I only started using qemu a month ago, so it took me a> while to get oriented in the code and understand what was going on. I> must say that I've been really impressed with qemu so far.
There was an interesting case I had found recently. In Linux kernel fori386 arch, you will see that sys_uname is placed to return kernelversion/name. Funny thing is, even if I use your patch (against qemu
0.7.1) and I put a breakpoint at sys_uname and issue "uname" at bashprompt, the Qemu VM doesn't stop. Can you kindly check it?NB: Please see target-i386/translate.c, there you will see lines like
these (around line 6306):if (env->nb_breakpoints > 0) {for(j = 0; j < env->nb_breakpoints; j++) {if
(env->breakpoints[j] == pc_ptr) {gen_debug(dc,
pc_ptr - dc->cs_base);break;}}}What I understand from this code is, VM is stop if breakpoint addressmatches with pc_ptr, which tb->pc and AFAIK that is the start address
of the translation block. So in other word, in some cases Qemu mightstill miss the breakpoint (does it explain the sys_uname case?) PleaseCMIIWregardsMulyadi
___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] Shutting down the unused bug tracker

2006-01-03 Thread Mick Weiss
Fabrice didn't know that this existed since recently. I had commented on 
setting up bugzilla, but I found the savanna bts later.

I think it should stay open and start being used.

Currently everything is done over the mailinglist (some stuff via irc). 
I think that should change.


- Mick



Adam Kennedy wrote:


I've put this into a seperate email for thread purposes.

It appears you have a bug tracker running on Savannah that people have 
people have been submitting bugs into for 2 years, but that nobody has 
actually been handling.


Of the 59 bug reports in the tracking system, none have been assigned, 
prioritised, or closed.


I would highly recommend shutting this down if you are not using it, 
as it may be causing people to falsely believe they have reported 
bugs, when they should have reported them to this (or the -user) 
mailing list.


Adam K


___
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] [PATCH] ide id updates

2006-01-03 Thread Jens Axboe
Hi,

Some changes to the ata/atapi identify code and default values:

- Store the drive id in the IDEState, so we can reliably set and query
  new values. Right now doing things like:

# hdparm -Xudma2 /dev/hda
# hdparm -i /dev/hda (and check for mode)

doesn't work, as the IDENTIFY command will re-fill default values
everytime.

- Fill in IORDY, dma timings, and mdma modes.

- Don't set both 1 << 14 and 0x4000 for word 93, it's the same thing.

- Fill in supported/set ata specs

- Implement real setting of transfer mode (sub feature 0x03 of
  WIN_SETFEATURES) so we can reflect the transfer mode requested by the
  OS.

With this patch, Linux correctly identifies and sets DMA mode in the
drive by default.

Fabrice, let me know if you will merge this. I need to post another
little update for the lba48 support patch (needed a cast for hob filling
in ide_set_sector() to work correctly for really big disks), since I
need to rebase that on top of this patch.

Index: hw/ide.c
===
RCS file: /sources/qemu/qemu/hw/ide.c,v
retrieving revision 1.38
diff -u -r1.38 ide.c
--- hw/ide.c6 Aug 2005 09:14:32 -   1.38
+++ hw/ide.c3 Jan 2006 19:35:06 -
@@ -296,6 +296,8 @@
 int cylinders, heads, sectors;
 int64_t nb_sectors;
 int mult_sectors;
+int identify_set;
+uint16_t identify_data[256];
 SetIRQFunc *set_irq;
 void *irq_opaque;
 int irq;
@@ -414,6 +416,11 @@
 unsigned int oldsize;
 char buf[20];
 
+if (s->identify_set) {
+   memcpy(s->io_buffer, s->identify_data, sizeof(s->identify_data));
+   return;
+}
+
 memset(s->io_buffer, 0, 512);
 p = (uint16_t *)s->io_buffer;
 put_le16(p + 0, 0x0040);
@@ -433,10 +440,10 @@
 put_le16(p + 47, 0x8000 | MAX_MULT_SECTORS);
 #endif
 put_le16(p + 48, 1); /* dword I/O */
-put_le16(p + 49, 1 << 9 | 1 << 8); /* DMA and LBA supported */
+put_le16(p + 49, (1 << 11) | (1 << 9) | (1 << 8)); /* DMA and LBA 
supported */
 put_le16(p + 51, 0x200); /* PIO transfer cycle */
 put_le16(p + 52, 0x200); /* DMA transfer cycle */
-put_le16(p + 53, 1 | 1 << 2); /* words 54-58,88 are valid */
+put_le16(p + 53, 1 | 1 << 1 | 1 << 2); /* words 54-58,64-70,88 are valid */
 put_le16(p + 54, s->cylinders);
 put_le16(p + 55, s->heads);
 put_le16(p + 56, s->sectors);
@@ -447,15 +454,24 @@
 put_le16(p + 59, 0x100 | s->mult_sectors);
 put_le16(p + 60, s->nb_sectors);
 put_le16(p + 61, s->nb_sectors >> 16);
-put_le16(p + 80, (1 << 1) | (1 << 2));
+put_le16(p + 63, 0x07); /* mdma0-2 supported */
+put_le16(p + 65, 120);
+put_le16(p + 66, 120);
+put_le16(p + 67, 120);
+put_le16(p + 68, 120);
+put_le16(p + 80, 0xf0); /* ata3 -> ata6 supported */
+put_le16(p + 81, 0x16); /* conforms to ata5 */
 put_le16(p + 82, (1 << 14));
 put_le16(p + 83, (1 << 14));
 put_le16(p + 84, (1 << 14));
 put_le16(p + 85, (1 << 14));
 put_le16(p + 86, 0);
 put_le16(p + 87, (1 << 14));
-put_le16(p + 88, 0x1f | (1 << 13));
-put_le16(p + 93, 1 | (1 << 14) | 0x2000 | 0x4000);
+put_le16(p + 88, 0x3f | (1 << 13)); /* udma5 set and supported */
+put_le16(p + 93, 1 | (1 << 14) | 0x2000);
+
+memcpy(s->identify_data, p, sizeof(s->identify_data));
+s->identify_set = 1;
 }
 
 static void ide_atapi_identify(IDEState *s)
@@ -463,6 +479,11 @@
 uint16_t *p;
 char buf[20];
 
+if (s->identify_set) {
+   memcpy(s->io_buffer, s->identify_data, sizeof(s->identify_data));
+   return;
+}
+
 memset(s->io_buffer, 0, 512);
 p = (uint16_t *)s->io_buffer;
 /* Removable CDROM, 50us response, 12 byte packets */
@@ -483,11 +504,14 @@
 put_le16(p + 66, 0xb4); /* recommended DMA multiword tx cycle time */
 put_le16(p + 67, 0x12c); /* minimum PIO cycle time without flow control */
 put_le16(p + 68, 0xb4); /* minimum PIO cycle time with IORDY flow control 
*/
-
+
 put_le16(p + 71, 30); /* in ns */
 put_le16(p + 72, 30); /* in ns */
 
 put_le16(p + 80, 0x1e); /* support up to ATA/ATAPI-4 */
+
+memcpy(s->identify_data, p, sizeof(s->identify_data));
+s->identify_set = 1;
 }
 
 static void ide_set_signature(IDEState *s)
@@ -1601,13 +1625,36 @@
 /* XXX: valid for CDROM ? */
 switch(s->feature) {
 case 0x02: /* write cache enable */
-case 0x03: /* set transfer mode */
 case 0x82: /* write cache disable */
 case 0xaa: /* read look-ahead enable */
 case 0x55: /* read look-ahead disable */
 s->status = READY_STAT | SEEK_STAT;
 ide_set_irq(s);
 break;
+case 0x03: { /* set transfer mode */
+   uint8_t val = s->nsector & 0x07;
+
+   switch (s->nsector >> 3) {
+   case 0x00: /* pio default */
+   case 0x01: /* pio mode */
+   

[Qemu-devel] Re: Pharammaceutical

2006-01-03 Thread Timothe Alpers

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


Re: [Qemu-devel] OpenStep / Busmouse - correct patch

2006-01-03 Thread engel

Hi,

>> Hmm, there seems to be a problem with your patch, though I haven't quite
>> figured out what exactly the cause is. When using the -busmouse option,
>> the busmouse_init function is called and seems to register the callbacks
>> for the provided I/O address ranges successfully (return value is 0 from
>> register_ioport_{read,write}) - but the actual callback routines are
>> never being executed, which results in OpenStep not recognizing the
>> busmouse.
>
> I'll investigate.

Got it! Your patch calls busmouse_init() before calling init_ioports() in
vl.c.
I moved the sequence some lines down (below cpu_calibrate_ticks), and
now the mouse works as expected.

malc's remark, however, is correct - the SB16 emulation also uses IRQ 5.
I have to check if OpenStep is able to use a different IRQ for either the
Soundblaster or the busmouse driver...

Btw., networking now works fine using an open source NE2k PCI driver
for OpenStep. I'll post a unified patch later this evening and set up a web
page describing how to install OpenStep in qemu.

Michael




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


Re: [Qemu-devel] OpenStep / Busmouse - correct patch

2006-01-03 Thread malc

On Tue, 3 Jan 2006, Johannes Schindelin wrote:


Hi,

On Tue, 3 Jan 2006, [EMAIL PROTECTED] wrote:


The most difficult problem was actually finding documentation on the
busmouse controller ;-).


That always seems to be the biggest problem...


How about this on top (unfortunately untested, since I do not
have a system handy which supports a busmouse):


Hmm, there seems to be a problem with your patch, though I haven't quite
figured out what exactly the cause is. When using the -busmouse option,
the busmouse_init function is called and seems to register the callbacks
for the provided I/O address ranges successfully (return value is 0 from
register_ioport_{read,write}) - but the actual callback routines are
never being executed, which results in OpenStep not recognizing the
busmouse.


I'll investigate.



FWIW. IRQ 5 is already taken by sb16.

--
mailto:[EMAIL PROTECTED]


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


Re: [Qemu-devel] OpenStep / Busmouse - correct patch

2006-01-03 Thread Johannes Schindelin
Hi,

On Tue, 3 Jan 2006, [EMAIL PROTECTED] wrote:

> The most difficult problem was actually finding documentation on the 
> busmouse controller ;-).

That always seems to be the biggest problem...

> > How about this on top (unfortunately untested, since I do not
> > have a system handy which supports a busmouse):
> 
> Hmm, there seems to be a problem with your patch, though I haven't quite 
> figured out what exactly the cause is. When using the -busmouse option, 
> the busmouse_init function is called and seems to register the callbacks 
> for the provided I/O address ranges successfully (return value is 0 from 
> register_ioport_{read,write}) - but the actual callback routines are 
> never being executed, which results in OpenStep not recognizing the 
> busmouse.

I'll investigate.

Ciao,
Dscho



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


Re: [Qemu-devel] OpenStep / Busmouse - correct patch

2006-01-03 Thread engel

Hi,

> On Sun, 1 Jan 2006, [EMAIL PROTECTED] wrote:
>
>> I attached the correct version to this mail. Sorry...
>
> Impressive!

Thanks! The most difficult problem was actually finding documentation
on the busmouse controller ;-).

> How about this on top (unfortunately untested, since I do not
> have a system handy which supports a busmouse):

Hmm, there seems to be a problem with your patch, though I haven't quite
figured out what exactly the cause is. When using the -busmouse option,
the busmouse_init function is called and seems to register the callbacks for
the provided I/O address ranges successfully (return value is 0 from
register_
ioport_{read,write}) - but the actual callback routines are never being
executed, which results in OpenStep not recognizing the busmouse.

regards,
Michael




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