Re: [Qemu-discuss] QEMU: DBT vs. Interpretation

2015-01-28 Thread Peter Maydell
On 28 January 2015 at 02:51, Dale R. Worley  wrote:
> Javier Picorel  writes:
>> We are trying to make QEMU deterministic for
>> architectural simulation. In the absence of I/O,
>> let's say only user code or exceptions, is there
>> any source of indeterminism (e.g., non deterministic
>> compiler optimizations, TB indeterminism) of
>> QEMU's DBT versus a canonical interpreter? Thanks!
>
> I'm not sure exactly what information you're trying to obtain.  Given
> that most CPU architectures have multiple implementations, and many of
> those have complex internal operations, it's difficult to make an
> emulator deterministic in any way other than "its behavior conforms to
> the architecture specification".

I had assumed the meaning here was "deterministic" in the sense
of "every time you run QEMU with the same binary and settings
you get exactly the same execution run". With the default
switches we don't provide that (we give 'best performance'
instead). -icount is I think supposed to be deterministic but
probably buggy. Determinism is a requirement for the checkpoint/
reverse execution work so the people doing that are probably
best placed to say what the current status is.

-- PMM



Re: [Qemu-discuss] QEMU: DBT vs. Interpretation

2015-01-28 Thread Javier Picorel
Yes, your assumption is right. Every time we execute 
the same binary and settings (w/o I/O), we get the same 
instruction trace. The question is whether DBT introduces
any source of indeterminism (e.g., arbitrary reordering of 
instructions in the TB  or something that does not violate 
correctness but it’s not exactly the same). We checked the
code and it seems that the TCG generates the same code 
every time, but we would like some confirmation. Thanks!

Regards,
Javier

> On 28 Jan 2015, at 11:18, Peter Maydell  wrote:
> 
> On 28 January 2015 at 02:51, Dale R. Worley  wrote:
>> Javier Picorel  writes:
>>> We are trying to make QEMU deterministic for
>>> architectural simulation. In the absence of I/O,
>>> let's say only user code or exceptions, is there
>>> any source of indeterminism (e.g., non deterministic
>>> compiler optimizations, TB indeterminism) of
>>> QEMU's DBT versus a canonical interpreter? Thanks!
>> 
>> I'm not sure exactly what information you're trying to obtain.  Given
>> that most CPU architectures have multiple implementations, and many of
>> those have complex internal operations, it's difficult to make an
>> emulator deterministic in any way other than "its behavior conforms to
>> the architecture specification".
> 
> I had assumed the meaning here was "deterministic" in the sense
> of "every time you run QEMU with the same binary and settings
> you get exactly the same execution run". With the default
> switches we don't provide that (we give 'best performance'
> instead). -icount is I think supposed to be deterministic but
> probably buggy. Determinism is a requirement for the checkpoint/
> reverse execution work so the people doing that are probably
> best placed to say what the current status is.
> 
> -- PMM




[Qemu-discuss] qemu-system-arm - machines with more than 1 GB RAM?

2015-01-28 Thread Stefan
Hi,

I'd like to emulate an armhf platform with at least 2, better 4 or more GB RAM,
allthough didn't find one supported by qemu. (most was vexpress-a9
with up to 1 GB)
Since out in the wild there are ARM devices like the imx6
with up to 2GB, this seems to be quite odd.

Do you have a hint, where to find information
about the maximum amount of RAM the different qemu arm machines support?



Re: [Qemu-discuss] qemu-system-arm - machines with more than 1 GB RAM?

2015-01-28 Thread Peter Maydell
On 28 January 2015 at 16:02, Stefan  wrote:
> I'd like to emulate an armhf platform with at least 2, better 4
> or more GB RAM, allthough didn't find one supported by qemu.
> (most was vexpress-a9 with up to 1 GB)

vexpress-a15 allows up to 30GB (assuming a 64-bit host system;
32-bit hosts are always limited to just under 2GB guest RAM).
The "virtual machine" board 'virt' can also handle up to 30GB.
highbank and midway can do 4GB.

> Since out in the wild there are ARM devices like the imx6
> with up to 2GB, this seems to be quite odd.

It's just a reflection of which SoCs and boards we've modelled.

> Do you have a hint, where to find information
> about the maximum amount of RAM the different qemu arm machines
> support?

You have to read the source code, I'm afraid.

-- PMM



[Qemu-discuss] About ftp

2015-01-28 Thread z_axis
hi, friends
After `ftp.exe 10.0.2.2` successfully, why cannot i `ls` the host(OpenBSD) ?
Even passive mode doesnot work too. The guest is WindowsXP  running in qemu-2.x 
on OpenBSD.

Regards!




[Qemu-discuss] A different way of networking

2015-01-28 Thread Gregor Szaktilla
Hi there!

When I was looking around for some documentation on how to get qemu
networking I only found guides where bridges and/or VPNs were involved.

Since I didn‘t want to read another manpage concerning something I
probably won‘t need anywhere else and since I had the time to think
about how things usually work, I created „my“ setup and wrote down what
I did. Starting with my notes I wrote the documentation I was missing
when I was looking around for something helpful. My setup doesn‘t need
anything else than what comes with probably any Linux installation (no
bridge, no VPN etc.).

Another advantage of my setup is that all things are tied together with
iptables rules only. A disadvantage may be that every new independent
virtual machine sits in its own (sub)net.

If you want to make your qemu networking without having to set up
bridging and such, my (german) guide may be helpful:
http://html.szaktilla.de/qemu

If you have any comment or suggestion please let me know.

Have fun! That‘s an order :-)

Gregor



Re: [Qemu-discuss] About ftp

2015-01-28 Thread Jakob Bohm

On 29/01/2015 02:19, z_axis wrote:

hi, friends
After `ftp.exe 10.0.2.2` successfully, why cannot i `ls` the host(OpenBSD) ?
Even passive mode doesnot work too. The guest is WindowsXP  running in qemu-2.x 
on OpenBSD.

Regards!




Three possibilities:

1. Is this one of those ftp servers (traditional) where the ftp ls
command actually invokes /bin/ls on the server?  In that case it
could be a server issue.  To test this try to ftp 127.0.0.1 from
the server itself (with the same username/password) to make sure
it is actually working.

2. Is this a situation where the secondary (data) channel doesn't
get through.  To test this, try to simply "get" a file which you
know is there.  The error message should be more revealing in such
cases, as it now only reflects the transmission (and possible file
access errors).  For extra diagnostics, turn on verbose mode
first.  If this reveals a problem, check if you are using some
kind of NAT logic between the virtual network inside qemu and the
host (I seem to recall that some qemu options do this).

3. Are you sure you are in passive mode?  Not all Microsoft
implementations of ftp.exe actually include the code for passive
mode, even when the corresponding copy of Internet Explorer does.

Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded



Re: [Qemu-discuss] A different way of networking

2015-01-28 Thread Jakob Bohm

On 29/01/2015 05:01, Gregor Szaktilla wrote:

Hi there!

When I was looking around for some documentation on how to get qemu
networking I only found guides where bridges and/or VPNs were involved.

Actually, the "bridge" involved is also part of Linux itself.
In fact on many moderndistributions (such as Debian 6/7/8),
the needed bridge commands are preinstalledand simply need to
be enabled in the network config file.


Since I didn‘t want to read another manpage concerning something I
probably won‘t need anywhere else and since I had the time to think
about how things usually work, I created „my“ setup and wrote down what
I did. Starting with my notes I wrote the documentation I was missing
when I was looking around for something helpful. My setup doesn‘t need
anything else than what comes with probably any Linux installation (no
bridge, no VPN etc.).

Another advantage of my setup is that all things are tied together with
iptables rules only. A disadvantage may be that every new independent
virtual machine sits in its own (sub)net.


For example, on Debian, all you need to do is change the file
/etc/network/interfaceson the host machine from something
like:

auto eth0
iface eth0 inet ...
...

Tosomething like (the ... parts are unchanged):

auto br0
iface br0 inet ...
...
bridge_ports eth0
bridge_stp on
bridge_maxwait 0
bridge_fd 0

Then qemu instances can simply be told to join br0, and
it'll be like they are plugged in next tothe host
computer in extra ports in your home router.  No need
for special iptables rules, tun/tap devices etc. (though
you can still use iptables/ebtables if you want to block
some traffic).

I have heard that Red Hat people like much more
difficult explanations, and have even included those in
their GUI designs, but with Debian (and probably Ubuntu)
it is really this simple.


If you want to make your qemu networking without having to set up
bridging and such, my (german) guide may be helpful:
http://html.szaktilla.de/qemu

If you have any comment or suggestion please let me know.

Have fun! That‘s an order :-)


Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded