From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 06:40:16 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 06:40:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1rje-0000HH-Q0; Tue, 01 Jul 2014 06:40:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1rjd-0000HC-Bi
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 06:40:09 +0000
Received: from [85.158.143.35:46068] by server-3.bemta-4.messagelabs.com id
	A7/27-16194-8C752B35; Tue, 01 Jul 2014 06:40:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-21.messagelabs.com!1404196804!14959625!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26373 invoked from network); 1 Jul 2014 06:40:04 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-21.messagelabs.com with SMTP;
	1 Jul 2014 06:40:04 -0000
Received: (qmail 24207 invoked by uid 634); 1 Jul 2014 06:40:04 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4465920.home.otenet.gr (HELO [10.100.22.69])
	(94.71.100.240)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 07:40:00 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <87k37ymd6r.fsf@gmail.com>
Date: Tue, 1 Jul 2014 09:39:42 +0300
Message-Id: <A749FCE4-3A5E-45EB-8D40-279CAE82238C@recoil.org>
References: <87zjgumhg7.fsf@gmail.com>
	<CAMC0NwSOcdzC361Rp_no+1T-VwEgFSHJY_-95RPX4uwsGY4giA@mail.gmail.com>
	<87k37ymd6r.fsf@gmail.com>
To: Malcolm Matalka <mmatalka@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Small typo in hello-world doc
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

There is definitely a slight inconsistency around the way we give inputs
to the `mirage` tool though:

- a builtin mechanism of selecting the OS backend (--xen, --unix)
- the config.ml script can detect environment variables depending on the app (FS, DHCP, NET)

I did play with extending the cmdliner parsing to include application-specific
things (such as --dhcp instead of setting the environment variable DHCP=1),
but decided it wasn't worth the trouble until we have a few more bigger
applications.

-anil

On 30 Jun 2014, at 22:04, Malcolm Matalka <mmatalka@gmail.com> wrote:

> Whoops, brain fart.  You're completely right.  My brain was just working
> the wrong way today.
> 
> Ignore me!
> 
> Jyotsna Prakash <jyotsna.prakash@gmail.com> writes:
> 
>> Hi Malcolm,
>> 
>> According to the manpage for env this syntax should be correct. It seems
>> env only sets the environment variable temporarily--so mirage configure
>> will not have FS set and will default to crunch in the newline case.
>> 
>> However I believe that you can do
>> 
>> $ export FS=fat
>> $ mirage configure
>> 
>> to get the same results.
>> - Jyotsna
>> 
>> 
>> On Mon, Jun 30, 2014 at 10:32 AM, Malcolm Matalka <mmatalka@gmail.com>
>> wrote:
>> 
>>> Hey, just noticed what I believe to me a tiny typo in the hello-world
>>> doc.
>>> 
>>> http://openmirage.org/wiki/hello-world
>>> 
>>> Search for:
>>> 
>>> env FS=fat mirage configure
>>> 
>>> I believe there is a missing new line between 'fat' and 'mirage'.
>>> 
>>> _______________________________________________
>>> MirageOS-devel mailing list
>>> MirageOS-devel@lists.xenproject.org
>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>>> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 06:40:16 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 06:40:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1rje-0000HH-Q0; Tue, 01 Jul 2014 06:40:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1rjd-0000HC-Bi
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 06:40:09 +0000
Received: from [85.158.143.35:46068] by server-3.bemta-4.messagelabs.com id
	A7/27-16194-8C752B35; Tue, 01 Jul 2014 06:40:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-21.messagelabs.com!1404196804!14959625!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26373 invoked from network); 1 Jul 2014 06:40:04 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-21.messagelabs.com with SMTP;
	1 Jul 2014 06:40:04 -0000
Received: (qmail 24207 invoked by uid 634); 1 Jul 2014 06:40:04 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4465920.home.otenet.gr (HELO [10.100.22.69])
	(94.71.100.240)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 07:40:00 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <87k37ymd6r.fsf@gmail.com>
Date: Tue, 1 Jul 2014 09:39:42 +0300
Message-Id: <A749FCE4-3A5E-45EB-8D40-279CAE82238C@recoil.org>
References: <87zjgumhg7.fsf@gmail.com>
	<CAMC0NwSOcdzC361Rp_no+1T-VwEgFSHJY_-95RPX4uwsGY4giA@mail.gmail.com>
	<87k37ymd6r.fsf@gmail.com>
To: Malcolm Matalka <mmatalka@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Small typo in hello-world doc
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

There is definitely a slight inconsistency around the way we give inputs
to the `mirage` tool though:

- a builtin mechanism of selecting the OS backend (--xen, --unix)
- the config.ml script can detect environment variables depending on the app (FS, DHCP, NET)

I did play with extending the cmdliner parsing to include application-specific
things (such as --dhcp instead of setting the environment variable DHCP=1),
but decided it wasn't worth the trouble until we have a few more bigger
applications.

-anil

On 30 Jun 2014, at 22:04, Malcolm Matalka <mmatalka@gmail.com> wrote:

> Whoops, brain fart.  You're completely right.  My brain was just working
> the wrong way today.
> 
> Ignore me!
> 
> Jyotsna Prakash <jyotsna.prakash@gmail.com> writes:
> 
>> Hi Malcolm,
>> 
>> According to the manpage for env this syntax should be correct. It seems
>> env only sets the environment variable temporarily--so mirage configure
>> will not have FS set and will default to crunch in the newline case.
>> 
>> However I believe that you can do
>> 
>> $ export FS=fat
>> $ mirage configure
>> 
>> to get the same results.
>> - Jyotsna
>> 
>> 
>> On Mon, Jun 30, 2014 at 10:32 AM, Malcolm Matalka <mmatalka@gmail.com>
>> wrote:
>> 
>>> Hey, just noticed what I believe to me a tiny typo in the hello-world
>>> doc.
>>> 
>>> http://openmirage.org/wiki/hello-world
>>> 
>>> Search for:
>>> 
>>> env FS=fat mirage configure
>>> 
>>> I believe there is a missing new line between 'fat' and 'mirage'.
>>> 
>>> _______________________________________________
>>> MirageOS-devel mailing list
>>> MirageOS-devel@lists.xenproject.org
>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>>> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 07:02:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 07:02:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1s5Z-0003Qs-Ky; Tue, 01 Jul 2014 07:02:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1s5Y-0003Qh-1R
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 07:02:48 +0000
Received: from [193.109.254.147:64106] by server-7.bemta-14.messagelabs.com id
	67/ED-17726-71D52B35; Tue, 01 Jul 2014 07:02:47 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-27.messagelabs.com!1404198166!14664940!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12258 invoked from network); 1 Jul 2014 07:02:46 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 07:02:46 -0000
Received: (qmail 7306 invoked by uid 634); 1 Jul 2014 07:02:46 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4467727.home.otenet.gr (HELO [10.100.22.69])
	(94.71.107.255)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 08:02:45 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy964J58BxpC4NE7WbfaK5JL=_n4pzZSA68KJtKoOh4V9w@mail.gmail.com>
Date: Tue, 1 Jul 2014 10:02:20 +0300
Message-Id: <29B7D10F-6B2B-498E-ACDB-799D9CBA8F60@recoil.org>
References: <CAG4opy964J58BxpC4NE7WbfaK5JL=_n4pzZSA68KJtKoOh4V9w@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Jon Ludlam <jonathan.ludlam@eu.citrix.com>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios and stub_hypervisor_suspend
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 25 Jun 2014, at 17:55, Thomas Leonard <talex5@gmail.com> wrote:

> I've started tidying up my arm-preview branch of mirage-platform. The
> only obvious thing missing in the new version is
> stub_hypervisor_suspend, which tries to call the missing
> arch_rebuild_p2m. Is this a Mirage-only thing?

CCing Jon Ludlam and Dave Scott; they added this particular code into
our fork.

commit b8aff537f66dcb04e958d889eba529f16ec536bf
Author: David Scott <dave.scott@eu.citrix.com>
Date:   Fri Oct 4 15:31:09 2013 +0100

    xen: re-enable event delivery on resume
    
    The resume codepath is quite similar to the start codepath.

commit f8d2bf8fa02cf8aaaddbc0b109125a25bac3178b
Author: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
Date:   Thu Sep 27 16:17:47 2012 +0100

    Fix suspend/resume such that it doesn't spin after resuming.
    Turns out the event channels were masked.

commit 55d7f0acaa92ffb8a36b9528db4df63ed8dd87c3
Author: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
Date:   Wed Sep 12 14:50:55 2012 +0100

    Add the C level pieces needed for suspend/resume

It's best to retire this from the Mirage-specific fork and move
to a more canonical MiniOS solution, unless there are objections
from Dave or Jon.


> 
> Apart from that, stub_gnttab_init and stub_gnttab_fini both now do
> nothing, as Mini-OS deals with mapping the grant tables. I've left
> them in for now - hopefully they're not needed at other times.
> 
> The new-minios branch has the changes so far to upgrade to using the
> new libminios (without ARM support):
> 
>  https://github.com/talex5/mirage-platform/commits/new-minios
> 
> Github won't display the diff because it's too big:
> 
> 779 files changed, 1395 insertions(+), 59697 deletions(-)
> 
> However, if you ignore deletions and renaming there aren't many changes.
> 
> The ARM changes build on this in the arm-preview branch. Both branches
> need more cleanups - this is just a preview.

cheers,
Anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 07:02:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 07:02:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1s5Z-0003Qs-Ky; Tue, 01 Jul 2014 07:02:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1s5Y-0003Qh-1R
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 07:02:48 +0000
Received: from [193.109.254.147:64106] by server-7.bemta-14.messagelabs.com id
	67/ED-17726-71D52B35; Tue, 01 Jul 2014 07:02:47 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-27.messagelabs.com!1404198166!14664940!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12258 invoked from network); 1 Jul 2014 07:02:46 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 07:02:46 -0000
Received: (qmail 7306 invoked by uid 634); 1 Jul 2014 07:02:46 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4467727.home.otenet.gr (HELO [10.100.22.69])
	(94.71.107.255)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 08:02:45 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy964J58BxpC4NE7WbfaK5JL=_n4pzZSA68KJtKoOh4V9w@mail.gmail.com>
Date: Tue, 1 Jul 2014 10:02:20 +0300
Message-Id: <29B7D10F-6B2B-498E-ACDB-799D9CBA8F60@recoil.org>
References: <CAG4opy964J58BxpC4NE7WbfaK5JL=_n4pzZSA68KJtKoOh4V9w@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Jon Ludlam <jonathan.ludlam@eu.citrix.com>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios and stub_hypervisor_suspend
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 25 Jun 2014, at 17:55, Thomas Leonard <talex5@gmail.com> wrote:

> I've started tidying up my arm-preview branch of mirage-platform. The
> only obvious thing missing in the new version is
> stub_hypervisor_suspend, which tries to call the missing
> arch_rebuild_p2m. Is this a Mirage-only thing?

CCing Jon Ludlam and Dave Scott; they added this particular code into
our fork.

commit b8aff537f66dcb04e958d889eba529f16ec536bf
Author: David Scott <dave.scott@eu.citrix.com>
Date:   Fri Oct 4 15:31:09 2013 +0100

    xen: re-enable event delivery on resume
    
    The resume codepath is quite similar to the start codepath.

commit f8d2bf8fa02cf8aaaddbc0b109125a25bac3178b
Author: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
Date:   Thu Sep 27 16:17:47 2012 +0100

    Fix suspend/resume such that it doesn't spin after resuming.
    Turns out the event channels were masked.

commit 55d7f0acaa92ffb8a36b9528db4df63ed8dd87c3
Author: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
Date:   Wed Sep 12 14:50:55 2012 +0100

    Add the C level pieces needed for suspend/resume

It's best to retire this from the Mirage-specific fork and move
to a more canonical MiniOS solution, unless there are objections
from Dave or Jon.


> 
> Apart from that, stub_gnttab_init and stub_gnttab_fini both now do
> nothing, as Mini-OS deals with mapping the grant tables. I've left
> them in for now - hopefully they're not needed at other times.
> 
> The new-minios branch has the changes so far to upgrade to using the
> new libminios (without ARM support):
> 
>  https://github.com/talex5/mirage-platform/commits/new-minios
> 
> Github won't display the diff because it's too big:
> 
> 779 files changed, 1395 insertions(+), 59697 deletions(-)
> 
> However, if you ignore deletions and renaming there aren't many changes.
> 
> The ARM changes build on this in the arm-preview branch. Both branches
> need more cleanups - this is just a preview.

cheers,
Anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 08:15:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 08:15:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1tDU-0008Lv-Dm; Tue, 01 Jul 2014 08:15:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1tDR-0008LW-05
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 08:15:01 +0000
Received: from [193.109.254.147:19265] by server-1.bemta-14.messagelabs.com id
	DE/86-14887-40E62B35; Tue, 01 Jul 2014 08:15:00 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1404202499!9305921!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4669 invoked from network); 1 Jul 2014 08:14:59 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 08:14:59 -0000
Received: (qmail 11100 invoked by uid 634); 1 Jul 2014 08:14:59 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4465920.home.otenet.gr (HELO [10.100.22.69])
	(94.71.100.240)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 09:14:54 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <87fvimpzpf.fsf@gmail.com>
Date: Tue, 1 Jul 2014 11:14:38 +0300
Message-Id: <D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
References: <87fvimpzpf.fsf@gmail.com>
To: Malcolm Matalka <mmatalka@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Whole Program Optimization in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30 Jun 2014, at 11:29, Malcolm Matalka <mmatalka@gmail.com> wrote:

> I've seen it mentioned a few times that Mirage does WPO.  Is there
> documentation on what exactly this means?  I am under the impression
> that the ocaml compiler does not do whole program optimisation.
> 

I tend not to call it WPO when speaking, but 'whole OS optimisation'
instead (although slips of the tongue have no doubt happened).  There
are a few different forms this optimisation could take in Mirage:

- cross-module inlining: as Goswin points out, the compiler already does
  this optimisation and it's helpful that a lot of configuration code is
  also just OCaml code, thus allowing the compiler to propagate constants
  into library code.  We haven't done a comprehensive analysis of the
  effectiveness of this for larger applications (e.g. mirage-www).  Pierre
  Chambart has an -flambda branch that is aimed at OCaml 4.03 which 
  significantly improves the amount of inlining the compiler does.
  Mirage should be an excellent way of stress-testing it and also looking
  at detailed CMM dumps to check that the optimisation is effective.

- staged programming: the Mirage tool evaluates a config.ml, and outputs
  an OCaml main.ml which performs the functor applications into a concrete
  module.  This gives the compiler more static knowledge than if we used
  first-class modules.  Again, we don't have much defunctorisation in the
  compiler right now, but Pierre's -flambda branch will help a lot (no
  pressure, Pierre :-)

- data representation: the gold standard for WPO is MLTon's transformations
  on the representation layout of data structures by monomorphising all
  types, eliminating separate compilation and doing optimizations on the
  resulting graphs.  Thomas and I experimented with this approach with a 
  poor man's WPO in OCaml -- do a source transform by concatenating the
  entire unikernel source into a single ML file, and compile that.  We
  never extended it to actually change memory layout of values, so that's
  still an open (and interesting) problem to anyone interested.  We've
  considered exposing the compile-time representation of every type as a
  Ctypes GADT, as a first step in this direction.

- Syntax transformations: something that doesn't really count as WPO --
  but is still applied across all modules -- are camlp4 extensions that
  do local transformations on the AST.  The main two used are cstruct and
  lwt in Mirage libraries.  A combination of a macro system and staged
  programming in OCaml would make it much easier to evaluate static
  knowledge at build-time (particularly for configuration directives).

-anil
  

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 08:15:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 08:15:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1tDU-0008Lv-Dm; Tue, 01 Jul 2014 08:15:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1tDR-0008LW-05
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 08:15:01 +0000
Received: from [193.109.254.147:19265] by server-1.bemta-14.messagelabs.com id
	DE/86-14887-40E62B35; Tue, 01 Jul 2014 08:15:00 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1404202499!9305921!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4669 invoked from network); 1 Jul 2014 08:14:59 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 08:14:59 -0000
Received: (qmail 11100 invoked by uid 634); 1 Jul 2014 08:14:59 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4465920.home.otenet.gr (HELO [10.100.22.69])
	(94.71.100.240)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 09:14:54 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <87fvimpzpf.fsf@gmail.com>
Date: Tue, 1 Jul 2014 11:14:38 +0300
Message-Id: <D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
References: <87fvimpzpf.fsf@gmail.com>
To: Malcolm Matalka <mmatalka@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Whole Program Optimization in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30 Jun 2014, at 11:29, Malcolm Matalka <mmatalka@gmail.com> wrote:

> I've seen it mentioned a few times that Mirage does WPO.  Is there
> documentation on what exactly this means?  I am under the impression
> that the ocaml compiler does not do whole program optimisation.
> 

I tend not to call it WPO when speaking, but 'whole OS optimisation'
instead (although slips of the tongue have no doubt happened).  There
are a few different forms this optimisation could take in Mirage:

- cross-module inlining: as Goswin points out, the compiler already does
  this optimisation and it's helpful that a lot of configuration code is
  also just OCaml code, thus allowing the compiler to propagate constants
  into library code.  We haven't done a comprehensive analysis of the
  effectiveness of this for larger applications (e.g. mirage-www).  Pierre
  Chambart has an -flambda branch that is aimed at OCaml 4.03 which 
  significantly improves the amount of inlining the compiler does.
  Mirage should be an excellent way of stress-testing it and also looking
  at detailed CMM dumps to check that the optimisation is effective.

- staged programming: the Mirage tool evaluates a config.ml, and outputs
  an OCaml main.ml which performs the functor applications into a concrete
  module.  This gives the compiler more static knowledge than if we used
  first-class modules.  Again, we don't have much defunctorisation in the
  compiler right now, but Pierre's -flambda branch will help a lot (no
  pressure, Pierre :-)

- data representation: the gold standard for WPO is MLTon's transformations
  on the representation layout of data structures by monomorphising all
  types, eliminating separate compilation and doing optimizations on the
  resulting graphs.  Thomas and I experimented with this approach with a 
  poor man's WPO in OCaml -- do a source transform by concatenating the
  entire unikernel source into a single ML file, and compile that.  We
  never extended it to actually change memory layout of values, so that's
  still an open (and interesting) problem to anyone interested.  We've
  considered exposing the compile-time representation of every type as a
  Ctypes GADT, as a first step in this direction.

- Syntax transformations: something that doesn't really count as WPO --
  but is still applied across all modules -- are camlp4 extensions that
  do local transformations on the AST.  The main two used are cstruct and
  lwt in Mirage libraries.  A combination of a macro system and staged
  programming in OCaml would make it much easier to evaluate static
  knowledge at build-time (particularly for configuration directives).

-anil
  

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 08:21:01 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 08:21:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1tJF-0000Hg-1n; Tue, 01 Jul 2014 08:21:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1tJD-0000Hb-3m
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 08:20:59 +0000
Received: from [193.109.254.147:7616] by server-1.bemta-14.messagelabs.com id
	F1/C0-14887-A6F62B35; Tue, 01 Jul 2014 08:20:58 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1404202857!9308030!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28766 invoked from network); 1 Jul 2014 08:20:57 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 08:20:57 -0000
Received: (qmail 16105 invoked by uid 634); 1 Jul 2014 08:20:57 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4465920.home.otenet.gr (HELO [10.100.22.69])
	(94.71.100.240)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 09:20:56 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
Date: Tue, 1 Jul 2014 11:20:52 +0300
Message-Id: <0560DAA5-5713-49D1-8973-531F3833B855@recoil.org>
References: <87fvimpzpf.fsf@gmail.com>
	<D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
To: Malcolm Matalka <mmatalka@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Whole Program Optimization in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 Jul 2014, at 11:14, Anil Madhavapeddy <anil@recoil.org> wrote:

> - staged programming: the Mirage tool evaluates a config.ml, and outputs
>  an OCaml main.ml which performs the functor applications into a concrete
>  module.  This gives the compiler more static knowledge than if we used
>  first-class modules.  Again, we don't have much defunctorisation in the
>  compiler right now, but Pierre's -flambda branch will help a lot (no
>  pressure, Pierre :-)

As an aside, we submitted a talk proposal to the ML workshop that just got
accepted, and I noticed this misinterpretation of the config.ml combinators
from one of the anonymous reviewers:

Reviewer #2 wrote:
> MirageOS is a very interesting project and it is nice to see an example of ML module system features being put to use. At the same time, the need for a customized configuration language with new functor combinators suggests that the authors ran into limitations in the expressiveness of the OCaml module system. Taken together, these points suggest this work should lead to interesting discussions.

Our extended abstract was written in the early hours of the morning and was
no doubt slightly incoherent, but we should definitely emphasise that the
functor combinators are in fact just normal OCaml functions, with the resulting
values being GADTs that output code that is guaranteed (due to the GADT
witnesses) to not result in a type error.

This is something that will eventually disappear behind a MetaCaml-like
model, instead of concrete source code being output between stages...

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 08:21:01 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 08:21:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1tJF-0000Hg-1n; Tue, 01 Jul 2014 08:21:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1tJD-0000Hb-3m
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 08:20:59 +0000
Received: from [193.109.254.147:7616] by server-1.bemta-14.messagelabs.com id
	F1/C0-14887-A6F62B35; Tue, 01 Jul 2014 08:20:58 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1404202857!9308030!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28766 invoked from network); 1 Jul 2014 08:20:57 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 08:20:57 -0000
Received: (qmail 16105 invoked by uid 634); 1 Jul 2014 08:20:57 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4465920.home.otenet.gr (HELO [10.100.22.69])
	(94.71.100.240)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 09:20:56 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
Date: Tue, 1 Jul 2014 11:20:52 +0300
Message-Id: <0560DAA5-5713-49D1-8973-531F3833B855@recoil.org>
References: <87fvimpzpf.fsf@gmail.com>
	<D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
To: Malcolm Matalka <mmatalka@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Whole Program Optimization in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 Jul 2014, at 11:14, Anil Madhavapeddy <anil@recoil.org> wrote:

> - staged programming: the Mirage tool evaluates a config.ml, and outputs
>  an OCaml main.ml which performs the functor applications into a concrete
>  module.  This gives the compiler more static knowledge than if we used
>  first-class modules.  Again, we don't have much defunctorisation in the
>  compiler right now, but Pierre's -flambda branch will help a lot (no
>  pressure, Pierre :-)

As an aside, we submitted a talk proposal to the ML workshop that just got
accepted, and I noticed this misinterpretation of the config.ml combinators
from one of the anonymous reviewers:

Reviewer #2 wrote:
> MirageOS is a very interesting project and it is nice to see an example of ML module system features being put to use. At the same time, the need for a customized configuration language with new functor combinators suggests that the authors ran into limitations in the expressiveness of the OCaml module system. Taken together, these points suggest this work should lead to interesting discussions.

Our extended abstract was written in the early hours of the morning and was
no doubt slightly incoherent, but we should definitely emphasise that the
functor combinators are in fact just normal OCaml functions, with the resulting
values being GADTs that output code that is guaranteed (due to the GADT
witnesses) to not result in a type error.

This is something that will eventually disappear behind a MetaCaml-like
model, instead of concrete source code being output between stages...

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 09:33:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 09:33:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1uRe-0005XS-VA; Tue, 01 Jul 2014 09:33:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1uRd-0005XG-9q
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 09:33:45 +0000
Received: from [85.158.143.35:23049] by server-2.bemta-4.messagelabs.com id
	05/3C-06539-87082B35; Tue, 01 Jul 2014 09:33:44 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-4.tower-21.messagelabs.com!1404207223!14967953!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32450 invoked from network); 1 Jul 2014 09:33:43 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-4.tower-21.messagelabs.com with SMTP;
	1 Jul 2014 09:33:43 -0000
Received: (qmail 16272 invoked by uid 634); 1 Jul 2014 09:33:42 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4467727.home.otenet.gr (HELO [10.100.22.69])
	(94.71.107.255)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 10:33:41 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAAWM5TxhSZFrbMR1sc6NnUqD4HPDehVW42iKsmA1xyKquhWMHg@mail.gmail.com>
Date: Tue, 1 Jul 2014 12:33:39 +0300
Message-Id: <354BA218-E4A0-4AD6-8B33-CFCEA87CADA3@recoil.org>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
	<CAAWM5TxhSZFrbMR1sc6NnUqD4HPDehVW42iKsmA1xyKquhWMHg@mail.gmail.com>
To: David Sheets <kosmo.zb@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 27 Jun 2014, at 16:38, David Sheets <kosmo.zb@gmail.com> wrote:

> On Tue, Jun 24, 2014 at 4:00 PM, Anil Madhavapeddy <anil@recoil.org> wrote:
>> Thanks to Balraj for assembling this.  Are we missing any?  Please reply to this thread with corrections and we can assemble:
> 
> profuse depends on ocaml-unix-errno, ocaml-unix-dirent,
> ocaml-unix-sys-stat, ocaml-unix-unistd, and ocaml-unix-fcntl for
> host-specific libc macro codecs. They will soon undergo fairly major
> refactoring to make them cleaner and more Mirage-friendly. Neither
> they nor profuse has been released but will likely be cut later this
> summer. I don't know if you count these libraries as Mirage libraries
> but they do offer a way to achieve compatibility with UNIX-like
> systems that expect client and server to share a common set of CPP
> macro definitions. Do as you will.

I think those definitely count as Mirage libraries, but I was hesitant
to include them until the interfaces had settled down.  If you're
reasonably confident that the repositories will continue to exist in
the eventual summer release, I'm happy to include them as essential
abstractions between Unix and unikernels.

-anil

> 
> David
> 
>> Core OS / Build Framework
>> -------------------------
>> mirage/mirage              - Command-line frontend
>> mirage/mirage-platform     - Core framework and runtime
>> mirage/mirage-clock        - clock for Unix and Xen
>> mirage/mirage-types        - type signatures for all Mirage modules
>> ocaml/opam                 - package manager library
>> ocaml/opamfu               - functions over package sets
>> samoht/ocaml-tools         - tools to manage project configuration
>> 
>> Persistence
>> -----------
>> 
>> mirage/irmin               - Distributed database with Git-like properties
>> samoht/ocaml-git           - OCaml low level git bindings
>> mirage/ocaml-lazy-trie     - Lazy trie data structure
>> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
>> mirage/orm                 - ORM-style relational mapper
>> samoht/mqueue              - Distributed, persistent queues
>> 
>> 
>> Filesystems and Block Storage
>> -------------
>> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
>> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
>> mirage/ocaml-fat           - FAT format file system
>> mirage/xen-disk            - Example userspace blkback in
>> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
>> mirage/mirage-fs-unix      - Unix filesystem passthrough
>> dsheets/profuse            - FUSE protocol implementation
>> 
>> Network Stack
>> -------------
>> mirage/mirage-tcpip        - OCaml TCP/IP stack
>> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
>> mirage/mirage-net-unix     - Ethernet interface using tuntap
>> mirage/ocaml-tuntap        - bindings to UNIX tuntap
>> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
>> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
>> mirage/ocaml-dns           - DNS protocol
>> 
>> Security
>> --------
>> 
>> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
>> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
>> mirleft/ocaml-nocrypto     - libc-free crypto implementations
>> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
>> dsheets/ocaml-sodium       - bindings to NaCL crypto
>> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
>> 
>> Foreign Language Interface
>> --------------------------
>> 
>> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
>> samoht/mstruct             - mutable cstruct interface
>> ocamllabs/ocaml-ctypes     -
>> 
>> Xen support
>> -----------
>> 
>> mirage/shared-memory-ring  - Xen style shared memory ring
>> mirage/io-page             - IO memory page library
>> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
>> djs55/ocaml-xenstore-clients -
>> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
>> mirage/ocaml-vchan         - Inter-VM shared memory communication
>> 
>> HTTP Utilities
>> -------------
>> mirage/ocaml-cohttp        - Light weight HTTP server
>> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
>> mirage/ocaml-uri           - URI and URL handling
>> mirage/mirage-http         - Mirage HTTP client and server
>> mirage/ocaml-cow           - Caml on the Web
>> ocaml/omd                  - Markdown implementation in OCaml
>> 
>> Misc Utilities
>> --------------
>> mirage/mirage-console      - Portable application console
>> mirage/ocaml-pcap          - Capture and analyse pcap files
>> avsm/ocaml-github          - GitHub API bindings
>> mirage/dyntype             - Dynamic types for OCaml
>> 
>> 
>> Reference Applications
>> ----------------------
>> mirage/mirage-www          - complete openmirage.org site and server
>> mirage/mirage-decks        - Presentations written using Mirage about Mirage
>> mirage/mirage-skeleton     - Build skeleton, tests and examples
>> 
>> Docker and Vagrant
>> ------------------
>> 
>> mirage/mirage-vagrant-vms  - Build Vagrant images
>> 
>> 
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 09:33:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 09:33:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1uRe-0005XS-VA; Tue, 01 Jul 2014 09:33:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1uRd-0005XG-9q
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 09:33:45 +0000
Received: from [85.158.143.35:23049] by server-2.bemta-4.messagelabs.com id
	05/3C-06539-87082B35; Tue, 01 Jul 2014 09:33:44 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-4.tower-21.messagelabs.com!1404207223!14967953!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32450 invoked from network); 1 Jul 2014 09:33:43 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-4.tower-21.messagelabs.com with SMTP;
	1 Jul 2014 09:33:43 -0000
Received: (qmail 16272 invoked by uid 634); 1 Jul 2014 09:33:42 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4467727.home.otenet.gr (HELO [10.100.22.69])
	(94.71.107.255)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 10:33:41 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAAWM5TxhSZFrbMR1sc6NnUqD4HPDehVW42iKsmA1xyKquhWMHg@mail.gmail.com>
Date: Tue, 1 Jul 2014 12:33:39 +0300
Message-Id: <354BA218-E4A0-4AD6-8B33-CFCEA87CADA3@recoil.org>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
	<CAAWM5TxhSZFrbMR1sc6NnUqD4HPDehVW42iKsmA1xyKquhWMHg@mail.gmail.com>
To: David Sheets <kosmo.zb@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 27 Jun 2014, at 16:38, David Sheets <kosmo.zb@gmail.com> wrote:

> On Tue, Jun 24, 2014 at 4:00 PM, Anil Madhavapeddy <anil@recoil.org> wrote:
>> Thanks to Balraj for assembling this.  Are we missing any?  Please reply to this thread with corrections and we can assemble:
> 
> profuse depends on ocaml-unix-errno, ocaml-unix-dirent,
> ocaml-unix-sys-stat, ocaml-unix-unistd, and ocaml-unix-fcntl for
> host-specific libc macro codecs. They will soon undergo fairly major
> refactoring to make them cleaner and more Mirage-friendly. Neither
> they nor profuse has been released but will likely be cut later this
> summer. I don't know if you count these libraries as Mirage libraries
> but they do offer a way to achieve compatibility with UNIX-like
> systems that expect client and server to share a common set of CPP
> macro definitions. Do as you will.

I think those definitely count as Mirage libraries, but I was hesitant
to include them until the interfaces had settled down.  If you're
reasonably confident that the repositories will continue to exist in
the eventual summer release, I'm happy to include them as essential
abstractions between Unix and unikernels.

-anil

> 
> David
> 
>> Core OS / Build Framework
>> -------------------------
>> mirage/mirage              - Command-line frontend
>> mirage/mirage-platform     - Core framework and runtime
>> mirage/mirage-clock        - clock for Unix and Xen
>> mirage/mirage-types        - type signatures for all Mirage modules
>> ocaml/opam                 - package manager library
>> ocaml/opamfu               - functions over package sets
>> samoht/ocaml-tools         - tools to manage project configuration
>> 
>> Persistence
>> -----------
>> 
>> mirage/irmin               - Distributed database with Git-like properties
>> samoht/ocaml-git           - OCaml low level git bindings
>> mirage/ocaml-lazy-trie     - Lazy trie data structure
>> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
>> mirage/orm                 - ORM-style relational mapper
>> samoht/mqueue              - Distributed, persistent queues
>> 
>> 
>> Filesystems and Block Storage
>> -------------
>> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
>> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
>> mirage/ocaml-fat           - FAT format file system
>> mirage/xen-disk            - Example userspace blkback in
>> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
>> mirage/mirage-fs-unix      - Unix filesystem passthrough
>> dsheets/profuse            - FUSE protocol implementation
>> 
>> Network Stack
>> -------------
>> mirage/mirage-tcpip        - OCaml TCP/IP stack
>> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
>> mirage/mirage-net-unix     - Ethernet interface using tuntap
>> mirage/ocaml-tuntap        - bindings to UNIX tuntap
>> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
>> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
>> mirage/ocaml-dns           - DNS protocol
>> 
>> Security
>> --------
>> 
>> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
>> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
>> mirleft/ocaml-nocrypto     - libc-free crypto implementations
>> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
>> dsheets/ocaml-sodium       - bindings to NaCL crypto
>> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
>> 
>> Foreign Language Interface
>> --------------------------
>> 
>> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
>> samoht/mstruct             - mutable cstruct interface
>> ocamllabs/ocaml-ctypes     -
>> 
>> Xen support
>> -----------
>> 
>> mirage/shared-memory-ring  - Xen style shared memory ring
>> mirage/io-page             - IO memory page library
>> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
>> djs55/ocaml-xenstore-clients -
>> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
>> mirage/ocaml-vchan         - Inter-VM shared memory communication
>> 
>> HTTP Utilities
>> -------------
>> mirage/ocaml-cohttp        - Light weight HTTP server
>> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
>> mirage/ocaml-uri           - URI and URL handling
>> mirage/mirage-http         - Mirage HTTP client and server
>> mirage/ocaml-cow           - Caml on the Web
>> ocaml/omd                  - Markdown implementation in OCaml
>> 
>> Misc Utilities
>> --------------
>> mirage/mirage-console      - Portable application console
>> mirage/ocaml-pcap          - Capture and analyse pcap files
>> avsm/ocaml-github          - GitHub API bindings
>> mirage/dyntype             - Dynamic types for OCaml
>> 
>> 
>> Reference Applications
>> ----------------------
>> mirage/mirage-www          - complete openmirage.org site and server
>> mirage/mirage-decks        - Presentations written using Mirage about Mirage
>> mirage/mirage-skeleton     - Build skeleton, tests and examples
>> 
>> Docker and Vagrant
>> ------------------
>> 
>> mirage/mirage-vagrant-vms  - Build Vagrant images
>> 
>> 
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 09:53:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 09:53:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1uko-00070w-8g; Tue, 01 Jul 2014 09:53:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X1ukm-00070e-L3
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 09:53:32 +0000
Received: from [85.158.143.35:3925] by server-1.bemta-4.messagelabs.com id
	8D/C8-09496-B1582B35; Tue, 01 Jul 2014 09:53:31 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1404208411!15045368!1
X-Originating-IP: [74.125.82.179]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6230 invoked from network); 1 Jul 2014 09:53:31 -0000
Received: from mail-we0-f179.google.com (HELO mail-we0-f179.google.com)
	(74.125.82.179)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 09:53:31 -0000
Received: by mail-we0-f179.google.com with SMTP id w62so9429184wes.10
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 02:53:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=wvxthEZHCC7qwYjAoi/vOC6owbXT/mi8i/fiyzoSUzc=;
	b=GlgbDoM3SRHMPQAscVykqDO7zXU6qxaOZSzNNLLzR9FUfSTW7f7bKqaprmq75r8U0Z
	vGRUOIYv07HzA0WeRzfQQNswXMRsOsBMd4QkNT0Ii2dCP/wGasu6zvfbQaQWrNYdz+Kk
	wNnJkJMHVqGxP3T+rHD8FPoOWIw5CK0ruKnxpZiIvSjDrxyTWhQUV6AjI3PM4GyDwzrc
	YdQkbQO98uk9F1JhfoqvJ50mEuRVbgXAk5XI86TBn2xEpQgPyU+rdDkO40Nwr8I/D6I5
	ZRfWME6TcnBn9P+LZC1Clk8ugyEa8E0dOSdIgf6Z0cSxVrna08ozWVutcXalAlChb+OQ
	Cmhw==
X-Received: by 10.180.96.97 with SMTP id dr1mr35726113wib.19.1404208410804;
	Tue, 01 Jul 2014 02:53:30 -0700 (PDT)
Received: from [172.16.25.10] (97e5a5cd.skybroadband.com. [151.229.165.205])
	by mx.google.com with ESMTPSA id d12sm13549256wjx.0.2014.07.01.02.53.28
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Tue, 01 Jul 2014 02:53:30 -0700 (PDT)
Message-ID: <53B28517.9020807@xen.org>
Date: Tue, 01 Jul 2014 10:53:27 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, 
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, 
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>, 
	Alex Agizim <alex.agizim@globallogic.com>,
	Artem Mygaiev <artem.mygaiev@globallogic.com>
Subject: [MirageOS-devel] [For Community Review] Embedded and Automotive PV
 Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi all,

the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see 
http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal) 
is now open for community review. Please provide feedback by replying to 
this thread or using the Comment feature (see 
http://wiki.xenproject.org/wiki/Template:Comment) using 
"{{comment|~~~~}} My comment" on the relevant section of the wiki page.

I extended the deadline by a few days, to account for the 4th of July 
holidays/vacation in the USA

Best Regards
Lars

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 09:53:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 09:53:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1uko-00070w-8g; Tue, 01 Jul 2014 09:53:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X1ukm-00070e-L3
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 09:53:32 +0000
Received: from [85.158.143.35:3925] by server-1.bemta-4.messagelabs.com id
	8D/C8-09496-B1582B35; Tue, 01 Jul 2014 09:53:31 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1404208411!15045368!1
X-Originating-IP: [74.125.82.179]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6230 invoked from network); 1 Jul 2014 09:53:31 -0000
Received: from mail-we0-f179.google.com (HELO mail-we0-f179.google.com)
	(74.125.82.179)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 09:53:31 -0000
Received: by mail-we0-f179.google.com with SMTP id w62so9429184wes.10
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 02:53:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=wvxthEZHCC7qwYjAoi/vOC6owbXT/mi8i/fiyzoSUzc=;
	b=GlgbDoM3SRHMPQAscVykqDO7zXU6qxaOZSzNNLLzR9FUfSTW7f7bKqaprmq75r8U0Z
	vGRUOIYv07HzA0WeRzfQQNswXMRsOsBMd4QkNT0Ii2dCP/wGasu6zvfbQaQWrNYdz+Kk
	wNnJkJMHVqGxP3T+rHD8FPoOWIw5CK0ruKnxpZiIvSjDrxyTWhQUV6AjI3PM4GyDwzrc
	YdQkbQO98uk9F1JhfoqvJ50mEuRVbgXAk5XI86TBn2xEpQgPyU+rdDkO40Nwr8I/D6I5
	ZRfWME6TcnBn9P+LZC1Clk8ugyEa8E0dOSdIgf6Z0cSxVrna08ozWVutcXalAlChb+OQ
	Cmhw==
X-Received: by 10.180.96.97 with SMTP id dr1mr35726113wib.19.1404208410804;
	Tue, 01 Jul 2014 02:53:30 -0700 (PDT)
Received: from [172.16.25.10] (97e5a5cd.skybroadband.com. [151.229.165.205])
	by mx.google.com with ESMTPSA id d12sm13549256wjx.0.2014.07.01.02.53.28
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Tue, 01 Jul 2014 02:53:30 -0700 (PDT)
Message-ID: <53B28517.9020807@xen.org>
Date: Tue, 01 Jul 2014 10:53:27 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, 
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, 
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>, 
	Alex Agizim <alex.agizim@globallogic.com>,
	Artem Mygaiev <artem.mygaiev@globallogic.com>
Subject: [MirageOS-devel] [For Community Review] Embedded and Automotive PV
 Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi all,

the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see 
http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal) 
is now open for community review. Please provide feedback by replying to 
this thread or using the Comment feature (see 
http://wiki.xenproject.org/wiki/Template:Comment) using 
"{{comment|~~~~}} My comment" on the relevant section of the wiki page.

I extended the deadline by a few days, to account for the 4th of July 
holidays/vacation in the USA

Best Regards
Lars

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 11:08:24 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 11:08:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1vvB-0002Cg-Jt; Tue, 01 Jul 2014 11:08:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X1vvA-0002CU-2o
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 11:08:20 +0000
Received: from [85.158.139.211:35005] by server-1.bemta-5.messagelabs.com id
	7B/02-30932-3A692B35; Tue, 01 Jul 2014 11:08:19 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-9.tower-206.messagelabs.com!1404212898!12952955!1
X-Originating-IP: [131.111.8.152]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MiA9PiA4MDU1Mw==\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26803 invoked from network); 1 Jul 2014 11:08:18 -0000
Received: from ppsw-52.csi.cam.ac.uk (HELO ppsw-52.csi.cam.ac.uk)
	(131.111.8.152)
	by server-9.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 Jul 2014 11:08:18 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from m.cb1.com ([217.155.139.150]:65182 helo=[192.168.1.187])
	by ppsw-52.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.159]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X1vv7-0008As-EV (Exim 4.82_3-c0e5623)
	(return-path <amc79@cam.ac.uk>); Tue, 01 Jul 2014 12:08:17 +0100
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Amir Chaudhry <amc79@cam.ac.uk>
In-Reply-To: <5396D482.6000706@eu.citrix.com>
Date: Tue, 1 Jul 2014 12:08:17 +0100
Message-Id: <0CF8E334-9DB6-44A8-B327-3644C14D92EA@cam.ac.uk>
References: <5396D482.6000706@eu.citrix.com>
To: Jon Ludlam <jonathan.ludlam@eu.citrix.com>, xen-api@lists.xen.org,
	David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Lars Kurth <lars.kurth@citrix.com>
X-Mailer: Apple Mail (2.1510)
Subject: Re: [MirageOS-devel] Xapi project repositories
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi folks,

Since the Mirage release is fast approaching, I'd like to get the repo transfers in order.
Extracting from Jon's email below, here is where things stand with respect to the Mirage libs.

    *ocaml-xenstore*
    xapi-project is the current root
    An admin must initiate transfer to the Mirage org
    https://github.com/xapi-project/ocaml-xenstore/settings

    *ocaml-xenstore-xen*
    xapi-project is the current root
    An admin must initiate transfer to the Mirage org
    https://github.com/xapi-project/ocaml-xenstore-xen/settings

    *ocaml-xenstore-clients*
    djs55 is the current root
    Dave to transfer his personal repo to the Mirage org
    https://github.com/djs55/ocaml-xenstore-clients/settings

    *ocaml-gnt*
    Already transferred

    *ocaml-evtchn*
    Already transferred

Dave, could we please move the three remaining libraries to the Mirage org as soon as possible please?
It's a fairly trivial process and is transparent to end users.  I've even included links that should take you to the exact page where you can click the transfer button. :)
If there's some blocker to this, please let me know.

Best wishes,
Amir


On 10 Jun 2014, at 10:48, Jon Ludlam <jonathan.ludlam@eu.citrix.com> wrote:

> Hi all,
> 
> In preparing for the 2.0 release, it's become increasingly obvious that
> we really need to tidy up the xapi-project org on github. There are many
> repositories that are in the org that aren't a part of the Xapi Project.
> I started making a list, and realised that there are a few other
> inconsistencies that we ought to clean up at the same time, for example,
> many repositories are marked as forks of personal repos where that
> relationship ought to be reversed.
> 
> 
> 
> First, there are some repositories that should just be deleted:
> 
> - opam
> A fork of github.com/ocaml/opam. I don't know why we have this, it
> doesn't appear to have any commits from us.
> 
> - opam-repository
> Same as opam.
> 
> - xcp-fhs
> This is unused by anyone, as far as I know.
> 
> - xen-unstable-mirror
> Just a mirror of the xen project repository.
> 
> - xcp-storage-managers
> An old fork. sm.git should be used instead.
> 
> - ocaml-sha
> A fork of upstream, no additional changesets from us.
> 
> - ocaml-tar
> A fork of upstream, no additional changesets from us
> 
> - ocaml-vhd
> A fork of upstream, no additional changesets from us
> 
> 
> 
> Secondly, I believe some of the repositories should be transferred to
> the 'xenserver' organisation, which I think probably needs approval, as
> the xenserver org is not a part of the Linux Foundation. These are:
> 
> - filesystem-summarise
> A tool to check for filesystem changes. Useful on XenServer for
> detecting when changes have been made to configuration files and so on.
> Not useful for general installations of the xapi project.
> 
> - jiralib
> An old python library for talking to jira. Superseded by jira-python
> package.
> 
> - mirrortest
> A test repository for checking Citrix's internal mirrors of the github
> repositories.
> 
> - PRDup
> 'Pull Request Duplicator', a tool for helping to backport pull requests
> to different branches.
> 
> - pull-request-manager
> Uses Citrix's internal build system to test pull requests - no longer used.
> 
> - xs-pull-request-build-scripts
> Replacement for pull-request-manager - uses Citrix's internal build
> system to test pull requests, this time using jenkins.
> 
> - xen-api-libs-specs
> Spec files used for building a lot of the xapi-project components for
> XenServer. There is large overlap with github.com/xenserver/buildroot -
> these should probably merge (or become more closely related).
> 
> - xen-api-backports
> Similar to xen-api-libs-specs, but for Citrix's internal 'old
> buildsystem' as opposed to Citrix's internal 'newer buildsystem'.
> 
> I don't think any of these is actually contentious - they probably
> should never have been part of the Linux Foundation, and have been there
> since we only had the one place on github to put things!
> 
> 
> 
> Third, we have some libraries that are actually mirage core libraries.
> These should transfer over to the mirage organisation (remaining in LF,
> as mirage is a Xen Project subproject like xapi):
> 
> - ocaml-gnt
> OCaml grant table manipulation. This code originated in the mirage
> project and was put here when it was split out of mirage-platform (see
> here:
> https://github.com/mirage/mirage-platform/commit/f532fc79af41e0e39b624a8e63dffc900bf1b7e4).
> 
> - ocaml-xenstore
> This is the mirage implementation of a xenstore client library. Required
> for running mirage kernels on xen. We use the unix-flavour of this
> library. It also contains a WIP new version of the guts of a xenstore
> daemon, which will be a mirage-style unix process _or_ unikernel
> (xenstore stub-domain!) that should eventually be upstreamed into xen.
> 
> - ocaml-xenstore-clients
> Slightly oddly named library that defines the unix transport mechanisms
> (unix-domain sockets) for using the ocaml-xenstore library. This is the
> unix counterpart to the internal shared-page mechanism used by mirage
> unikernels.
> 
> - ocaml-evtchn
> Similar to ocaml-gnt - split from the main mirage code at around the
> same time as ocaml-gnt.
> 
> - ocaml-xenstore-xen
> Unused by xapi-project. I believe in here lives the code that turns the
> xenstore daemon library from ocaml-xenstore into the actual xenstored
> stubdomain or process.
> 
> 
> 
> We have a few repositories that are forks of upstream repos with some of
> our own changes in. We should get these changes upstreamed at some
> point, but for now we should leave them there, but recognise that these
> aren't necessarily part of the official Xapi Project (excepting where
> they are, e.g. ocaml-xen-lowlevel-libs, which is a staging area for
> upstreaming back into xen.git!)
> - oclock
> - ocamltest
> - ocaml-xen-lowlevel-libs
> - python-github2
> 
> 
> 
> Then there are generic ocaml libraries which could be used by other
> ocaml programs. I think these can live on in the xapi project
> organisation for now, but I wouldn't class them as 'core' xapi-project
> repos.
> 
> - cdrom
> - netdev
> - ocamldoc-json
> - ocaml-encodings
> - ocaml-crc
> - ocaml-fd-send-recv
> - ocaml-netlink
> - ocaml-opasswd
> - ocaml-pci-db
> - ocaml-qmp
> - stdext
> - stunnel
> - nbd
> 
> 
> 
> 
> Which leaves us with the 'core' xapi project repositories:
> 
> - blktap
> - blktap-dkms
> - example-ocaml-daemon
> - ffs
> - forkexecd
> - libvhd
> - message-switch
> - ocaml-rrdd-plugins
> - opam-repo-dev
> - rrd-transport
> - rrdd-plugin-legacy
> - rrddump
> - sm
> - sm-cli
> - squeezed
> - tapctl
> - vhd-tool
> - vncproxy
> - vncterm
> - vxs
> - wsproxy
> - xapi-codegen
> - xapi-libvirt-storage
> - xapi-project
> - xcp-eliloader
> - xcp-guest-templates
> - xcp-idl
> - xcp-inventory
> - xcp-networkd
> - xcp-rrd
> - xcp-rrdd
> - xen-api
> - xen-api-client
> - xen-api-libs
> - xen-api-libs-transitional
> - xen-api-sdk
> - xenops
> - xenops-cli
> - xenopsd
> 
> Of the above lists that will remain in the xapi project, these
> repositories have incorrect forking status (they are marked as forks of
> someone here at Citrix, but shouldn't be):
> 
> Forked from me (jonludlam on github):
> xen-api-libs-transitional
> xen-api-client
> xcp-guest-templates
> xcp-eliloader
> wsproxy
> tapctl
> libvhd
> blktap-dkms
> netdev
> nbd
> cdrom
> 
> Forked from Dave Scott (djs55)
> xcp-idl
> vhd-tool
> ffs
> ocaml-vhd
> ocaml-tar
> ocaml-fd-send-recv
> 
> Forked from Simon Beaumont (simonjbeaumont):
> ocaml-pci-db
> 
> Forked from Mike McClurg (mcclurmc):
> ocaml-opasswd
> 
> These forking relationship problems need to be fixed by the people who
> own the upstream repo. I don't think it's quite as simple as clicking
> the 'transfer repository' button. If anyone knows the exact procedure
> for doing this, could they please reply?
> 
> 
> In summary, I believe we need to:
> 1) delete some repositories
> 2) move some repositories to xenserver
> 3) move some repositories to mirage-project
> 4) transfer ownership of some repositories (just flip around the
> direction of the fork).
> 5) document all of this on the wiki!
> 
> Any comments?
> 
> Jon
> 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 11:08:24 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 11:08:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1vvB-0002Cg-Jt; Tue, 01 Jul 2014 11:08:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X1vvA-0002CU-2o
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 11:08:20 +0000
Received: from [85.158.139.211:35005] by server-1.bemta-5.messagelabs.com id
	7B/02-30932-3A692B35; Tue, 01 Jul 2014 11:08:19 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-9.tower-206.messagelabs.com!1404212898!12952955!1
X-Originating-IP: [131.111.8.152]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MiA9PiA4MDU1Mw==\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26803 invoked from network); 1 Jul 2014 11:08:18 -0000
Received: from ppsw-52.csi.cam.ac.uk (HELO ppsw-52.csi.cam.ac.uk)
	(131.111.8.152)
	by server-9.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 Jul 2014 11:08:18 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from m.cb1.com ([217.155.139.150]:65182 helo=[192.168.1.187])
	by ppsw-52.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.159]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X1vv7-0008As-EV (Exim 4.82_3-c0e5623)
	(return-path <amc79@cam.ac.uk>); Tue, 01 Jul 2014 12:08:17 +0100
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Amir Chaudhry <amc79@cam.ac.uk>
In-Reply-To: <5396D482.6000706@eu.citrix.com>
Date: Tue, 1 Jul 2014 12:08:17 +0100
Message-Id: <0CF8E334-9DB6-44A8-B327-3644C14D92EA@cam.ac.uk>
References: <5396D482.6000706@eu.citrix.com>
To: Jon Ludlam <jonathan.ludlam@eu.citrix.com>, xen-api@lists.xen.org,
	David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Lars Kurth <lars.kurth@citrix.com>
X-Mailer: Apple Mail (2.1510)
Subject: Re: [MirageOS-devel] Xapi project repositories
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi folks,

Since the Mirage release is fast approaching, I'd like to get the repo transfers in order.
Extracting from Jon's email below, here is where things stand with respect to the Mirage libs.

    *ocaml-xenstore*
    xapi-project is the current root
    An admin must initiate transfer to the Mirage org
    https://github.com/xapi-project/ocaml-xenstore/settings

    *ocaml-xenstore-xen*
    xapi-project is the current root
    An admin must initiate transfer to the Mirage org
    https://github.com/xapi-project/ocaml-xenstore-xen/settings

    *ocaml-xenstore-clients*
    djs55 is the current root
    Dave to transfer his personal repo to the Mirage org
    https://github.com/djs55/ocaml-xenstore-clients/settings

    *ocaml-gnt*
    Already transferred

    *ocaml-evtchn*
    Already transferred

Dave, could we please move the three remaining libraries to the Mirage org as soon as possible please?
It's a fairly trivial process and is transparent to end users.  I've even included links that should take you to the exact page where you can click the transfer button. :)
If there's some blocker to this, please let me know.

Best wishes,
Amir


On 10 Jun 2014, at 10:48, Jon Ludlam <jonathan.ludlam@eu.citrix.com> wrote:

> Hi all,
> 
> In preparing for the 2.0 release, it's become increasingly obvious that
> we really need to tidy up the xapi-project org on github. There are many
> repositories that are in the org that aren't a part of the Xapi Project.
> I started making a list, and realised that there are a few other
> inconsistencies that we ought to clean up at the same time, for example,
> many repositories are marked as forks of personal repos where that
> relationship ought to be reversed.
> 
> 
> 
> First, there are some repositories that should just be deleted:
> 
> - opam
> A fork of github.com/ocaml/opam. I don't know why we have this, it
> doesn't appear to have any commits from us.
> 
> - opam-repository
> Same as opam.
> 
> - xcp-fhs
> This is unused by anyone, as far as I know.
> 
> - xen-unstable-mirror
> Just a mirror of the xen project repository.
> 
> - xcp-storage-managers
> An old fork. sm.git should be used instead.
> 
> - ocaml-sha
> A fork of upstream, no additional changesets from us.
> 
> - ocaml-tar
> A fork of upstream, no additional changesets from us
> 
> - ocaml-vhd
> A fork of upstream, no additional changesets from us
> 
> 
> 
> Secondly, I believe some of the repositories should be transferred to
> the 'xenserver' organisation, which I think probably needs approval, as
> the xenserver org is not a part of the Linux Foundation. These are:
> 
> - filesystem-summarise
> A tool to check for filesystem changes. Useful on XenServer for
> detecting when changes have been made to configuration files and so on.
> Not useful for general installations of the xapi project.
> 
> - jiralib
> An old python library for talking to jira. Superseded by jira-python
> package.
> 
> - mirrortest
> A test repository for checking Citrix's internal mirrors of the github
> repositories.
> 
> - PRDup
> 'Pull Request Duplicator', a tool for helping to backport pull requests
> to different branches.
> 
> - pull-request-manager
> Uses Citrix's internal build system to test pull requests - no longer used.
> 
> - xs-pull-request-build-scripts
> Replacement for pull-request-manager - uses Citrix's internal build
> system to test pull requests, this time using jenkins.
> 
> - xen-api-libs-specs
> Spec files used for building a lot of the xapi-project components for
> XenServer. There is large overlap with github.com/xenserver/buildroot -
> these should probably merge (or become more closely related).
> 
> - xen-api-backports
> Similar to xen-api-libs-specs, but for Citrix's internal 'old
> buildsystem' as opposed to Citrix's internal 'newer buildsystem'.
> 
> I don't think any of these is actually contentious - they probably
> should never have been part of the Linux Foundation, and have been there
> since we only had the one place on github to put things!
> 
> 
> 
> Third, we have some libraries that are actually mirage core libraries.
> These should transfer over to the mirage organisation (remaining in LF,
> as mirage is a Xen Project subproject like xapi):
> 
> - ocaml-gnt
> OCaml grant table manipulation. This code originated in the mirage
> project and was put here when it was split out of mirage-platform (see
> here:
> https://github.com/mirage/mirage-platform/commit/f532fc79af41e0e39b624a8e63dffc900bf1b7e4).
> 
> - ocaml-xenstore
> This is the mirage implementation of a xenstore client library. Required
> for running mirage kernels on xen. We use the unix-flavour of this
> library. It also contains a WIP new version of the guts of a xenstore
> daemon, which will be a mirage-style unix process _or_ unikernel
> (xenstore stub-domain!) that should eventually be upstreamed into xen.
> 
> - ocaml-xenstore-clients
> Slightly oddly named library that defines the unix transport mechanisms
> (unix-domain sockets) for using the ocaml-xenstore library. This is the
> unix counterpart to the internal shared-page mechanism used by mirage
> unikernels.
> 
> - ocaml-evtchn
> Similar to ocaml-gnt - split from the main mirage code at around the
> same time as ocaml-gnt.
> 
> - ocaml-xenstore-xen
> Unused by xapi-project. I believe in here lives the code that turns the
> xenstore daemon library from ocaml-xenstore into the actual xenstored
> stubdomain or process.
> 
> 
> 
> We have a few repositories that are forks of upstream repos with some of
> our own changes in. We should get these changes upstreamed at some
> point, but for now we should leave them there, but recognise that these
> aren't necessarily part of the official Xapi Project (excepting where
> they are, e.g. ocaml-xen-lowlevel-libs, which is a staging area for
> upstreaming back into xen.git!)
> - oclock
> - ocamltest
> - ocaml-xen-lowlevel-libs
> - python-github2
> 
> 
> 
> Then there are generic ocaml libraries which could be used by other
> ocaml programs. I think these can live on in the xapi project
> organisation for now, but I wouldn't class them as 'core' xapi-project
> repos.
> 
> - cdrom
> - netdev
> - ocamldoc-json
> - ocaml-encodings
> - ocaml-crc
> - ocaml-fd-send-recv
> - ocaml-netlink
> - ocaml-opasswd
> - ocaml-pci-db
> - ocaml-qmp
> - stdext
> - stunnel
> - nbd
> 
> 
> 
> 
> Which leaves us with the 'core' xapi project repositories:
> 
> - blktap
> - blktap-dkms
> - example-ocaml-daemon
> - ffs
> - forkexecd
> - libvhd
> - message-switch
> - ocaml-rrdd-plugins
> - opam-repo-dev
> - rrd-transport
> - rrdd-plugin-legacy
> - rrddump
> - sm
> - sm-cli
> - squeezed
> - tapctl
> - vhd-tool
> - vncproxy
> - vncterm
> - vxs
> - wsproxy
> - xapi-codegen
> - xapi-libvirt-storage
> - xapi-project
> - xcp-eliloader
> - xcp-guest-templates
> - xcp-idl
> - xcp-inventory
> - xcp-networkd
> - xcp-rrd
> - xcp-rrdd
> - xen-api
> - xen-api-client
> - xen-api-libs
> - xen-api-libs-transitional
> - xen-api-sdk
> - xenops
> - xenops-cli
> - xenopsd
> 
> Of the above lists that will remain in the xapi project, these
> repositories have incorrect forking status (they are marked as forks of
> someone here at Citrix, but shouldn't be):
> 
> Forked from me (jonludlam on github):
> xen-api-libs-transitional
> xen-api-client
> xcp-guest-templates
> xcp-eliloader
> wsproxy
> tapctl
> libvhd
> blktap-dkms
> netdev
> nbd
> cdrom
> 
> Forked from Dave Scott (djs55)
> xcp-idl
> vhd-tool
> ffs
> ocaml-vhd
> ocaml-tar
> ocaml-fd-send-recv
> 
> Forked from Simon Beaumont (simonjbeaumont):
> ocaml-pci-db
> 
> Forked from Mike McClurg (mcclurmc):
> ocaml-opasswd
> 
> These forking relationship problems need to be fixed by the people who
> own the upstream repo. I don't think it's quite as simple as clicking
> the 'transfer repository' button. If anyone knows the exact procedure
> for doing this, could they please reply?
> 
> 
> In summary, I believe we need to:
> 1) delete some repositories
> 2) move some repositories to xenserver
> 3) move some repositories to mirage-project
> 4) transfer ownership of some repositories (just flip around the
> direction of the fork).
> 5) document all of this on the wiki!
> 
> Any comments?
> 
> Jon
> 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 11:35:39 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 11:35:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1wLa-0003iy-MU; Tue, 01 Jul 2014 11:35:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hannes@mehnert.org>) id 1X1wLZ-0003iq-O7
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 11:35:37 +0000
Received: from [85.158.143.35:64572] by server-2.bemta-4.messagelabs.com id
	C4/34-06539-90D92B35; Tue, 01 Jul 2014 11:35:37 +0000
X-Env-Sender: hannes@mehnert.org
X-Msg-Ref: server-14.tower-21.messagelabs.com!1404214536!15088372!1
X-Originating-IP: [213.73.89.200]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25983 invoked from network); 1 Jul 2014 11:35:36 -0000
Received: from mail.mehnert.org (HELO mail.mehnert.org) (213.73.89.200)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 Jul 2014 11:35:36 -0000
Received: from [128.232.110.146] (c146.al.cl.cam.ac.uk [128.232.110.146])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (verified OK))
	by mail.mehnert.org (Postfix) with ESMTPS id 3F38814DF
	for <mirageos-devel@lists.xenproject.org>;
	Tue,  1 Jul 2014 13:35:35 +0200 (CEST)
Message-ID: <53B29CBC.7070700@mehnert.org>
Date: Tue, 01 Jul 2014 12:34:20 +0100
From: Hannes Mehnert <hannes@mehnert.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
In-Reply-To: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384

On 06/24/2014 16:00, Anil Madhavapeddy wrote:
> Core OS / Build Framework ------------------------- mirage/mirage
> - Command-line frontend mirage/mirage-platform     - Core framework
> and runtime mirage/mirage-clock        - clock for Unix and Xen 
> mirage/mirage-types        - type signatures for all Mirage
> modules ocaml/opam                 - package manager library 
> ocaml/opamfu               - functions over package sets 
> samoht/ocaml-tools         - tools to manage project configuration

There is now also an entropy device (repo mirage/mirage-entropy ;
mirage/mirage-types pull request
https://github.com/mirage/mirage/pull/256)


Hannes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBCQAGBQJTspy8AAoJELyJZYjffCjuvqsP/RWNDTy4h56hVlDxyUaDTiMi
/lYMqN/d2PDj6TYbQ69pV9OK79uAOBDSe2nWNPWXm04oN2WaBB6FMjG8svImbr0/
aq8aBmJlkqZ47hcHN9JiNW3YSVsqnmJdWHQeX4xOKYHG5AzhtLYrBIgR8ei+fKLE
cqss04fUDZoqcbO5JCcvQbIaZdcmwScUcEUPd8RPjoF2PCyNjsmz2+4Vlc3hPrC7
9EyNSBsYEedVT47VSzl7eEiQD5oIStXLl1K8og25JagePmhTNK7baK1XAe2AIWAM
k3wsXIIV2D0FIXFoxeJPYwvftdtrHTF7/ZLtPav1CcudGR9vOhpUVZfAjLX/JZzb
+eK44b5NST1awg3d/sm+ufqqIcYCMYlXBl+qD9PgHlQ3tMK77gzY1cpqZqaRqKer
Gm32tt1K6/VZUs74OuLBz9WURCAfksACsosvImqukUPbgo/RsXxIH4HsZvrpOo+R
zbyK+on+mDFmzNGGj8UNKID3vZZ6b09A+aUrdJUkQBKJOe1iLc0PBeH/ZuiygwSf
dOXRu6yXnqx28HXYiNFbp1XwNTz3NFUguaNxlYWLYN5gWDGIYqcot5aDLHjpeHcj
BsSas0lwediSaL9NkZDK6DZG0KQ9pAAiYO+v0IBoSs+GDZBrCET1lX8h8wzW1VoY
CXvic8f5OOD4gBt2Uabv
=2jwg
-----END PGP SIGNATURE-----

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 11:35:39 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 11:35:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1wLa-0003iy-MU; Tue, 01 Jul 2014 11:35:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hannes@mehnert.org>) id 1X1wLZ-0003iq-O7
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 11:35:37 +0000
Received: from [85.158.143.35:64572] by server-2.bemta-4.messagelabs.com id
	C4/34-06539-90D92B35; Tue, 01 Jul 2014 11:35:37 +0000
X-Env-Sender: hannes@mehnert.org
X-Msg-Ref: server-14.tower-21.messagelabs.com!1404214536!15088372!1
X-Originating-IP: [213.73.89.200]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25983 invoked from network); 1 Jul 2014 11:35:36 -0000
Received: from mail.mehnert.org (HELO mail.mehnert.org) (213.73.89.200)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 Jul 2014 11:35:36 -0000
Received: from [128.232.110.146] (c146.al.cl.cam.ac.uk [128.232.110.146])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (verified OK))
	by mail.mehnert.org (Postfix) with ESMTPS id 3F38814DF
	for <mirageos-devel@lists.xenproject.org>;
	Tue,  1 Jul 2014 13:35:35 +0200 (CEST)
Message-ID: <53B29CBC.7070700@mehnert.org>
Date: Tue, 01 Jul 2014 12:34:20 +0100
From: Hannes Mehnert <hannes@mehnert.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
In-Reply-To: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384

On 06/24/2014 16:00, Anil Madhavapeddy wrote:
> Core OS / Build Framework ------------------------- mirage/mirage
> - Command-line frontend mirage/mirage-platform     - Core framework
> and runtime mirage/mirage-clock        - clock for Unix and Xen 
> mirage/mirage-types        - type signatures for all Mirage
> modules ocaml/opam                 - package manager library 
> ocaml/opamfu               - functions over package sets 
> samoht/ocaml-tools         - tools to manage project configuration

There is now also an entropy device (repo mirage/mirage-entropy ;
mirage/mirage-types pull request
https://github.com/mirage/mirage/pull/256)


Hannes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBCQAGBQJTspy8AAoJELyJZYjffCjuvqsP/RWNDTy4h56hVlDxyUaDTiMi
/lYMqN/d2PDj6TYbQ69pV9OK79uAOBDSe2nWNPWXm04oN2WaBB6FMjG8svImbr0/
aq8aBmJlkqZ47hcHN9JiNW3YSVsqnmJdWHQeX4xOKYHG5AzhtLYrBIgR8ei+fKLE
cqss04fUDZoqcbO5JCcvQbIaZdcmwScUcEUPd8RPjoF2PCyNjsmz2+4Vlc3hPrC7
9EyNSBsYEedVT47VSzl7eEiQD5oIStXLl1K8og25JagePmhTNK7baK1XAe2AIWAM
k3wsXIIV2D0FIXFoxeJPYwvftdtrHTF7/ZLtPav1CcudGR9vOhpUVZfAjLX/JZzb
+eK44b5NST1awg3d/sm+ufqqIcYCMYlXBl+qD9PgHlQ3tMK77gzY1cpqZqaRqKer
Gm32tt1K6/VZUs74OuLBz9WURCAfksACsosvImqukUPbgo/RsXxIH4HsZvrpOo+R
zbyK+on+mDFmzNGGj8UNKID3vZZ6b09A+aUrdJUkQBKJOe1iLc0PBeH/ZuiygwSf
dOXRu6yXnqx28HXYiNFbp1XwNTz3NFUguaNxlYWLYN5gWDGIYqcot5aDLHjpeHcj
BsSas0lwediSaL9NkZDK6DZG0KQ9pAAiYO+v0IBoSs+GDZBrCET1lX8h8wzW1VoY
CXvic8f5OOD4gBt2Uabv
=2jwg
-----END PGP SIGNATURE-----

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 12:37:41 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 12:37:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1xJY-00079m-9I; Tue, 01 Jul 2014 12:37:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1xJW-00079Z-Pl
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 12:37:34 +0000
Received: from [193.109.254.147:17238] by server-15.bemta-14.messagelabs.com
	id 4D/A3-15813-E8BA2B35; Tue, 01 Jul 2014 12:37:34 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1404218253!14778689!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32632 invoked from network); 1 Jul 2014 12:37:33 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 12:37:33 -0000
Received: (qmail 15523 invoked by uid 634); 1 Jul 2014 12:37:32 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4465920.home.otenet.gr (HELO [10.100.22.69])
	(94.71.100.240)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 13:37:32 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53987CB5.7020105@somerandomidiot.com>
Date: Tue, 1 Jul 2014 15:37:21 +0300
Message-Id: <3AB4A456-955C-44B0-AFA3-D1CA960FFEA2@recoil.org>
References: <537A1EAD.5090906@somerandomidiot.com>
	<538C9FB9.7070001@somerandomidiot.com>
	<912BC56B-F927-4CDE-9C1E-D40BBD8A79CE@recoil.org>
	<CANeYhgEM4O+SZvTCNVdzuKd-pAxZjBtEDpJga3WkZYF2Ex0RQw@mail.gmail.com>
	<BE082EE6-8E67-428D-B857-1066645316E6@recoil.org>
	<53987CB5.7020105@somerandomidiot.com>
To: Mindy <mindy@somerandomidiot.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Balraj Singh <balraj.singh@cl.cam.ac.uk>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] OPW intern checking in!
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 11 Jun 2014, at 18:58, Mindy <mindy@somerandomidiot.com> wrote:

> Doubling as my update for this morning, here are some inline responses:
>>> Mainly, as you say, this points to a lack of good regression tests and test infrastructure.  I have tried to make some unit tests but for TCP there are many balls that have to be kept in the air and I could not quite do it in an automated way.  The most successful of this kind of test was one in which a single VM would bring up 2 virtual interfaces and send specific patterns of data in both directions.  It knew what to expect and it could, if necessary, even examine the state machines of the two TCPs.  This was quite fragile - it would often stumble on something simple like bringing up two VIFs.
>> The other option here is not to use Xen for testing the net stack at all, but just use Linux with two tap interfaces.  That gives us the ability to use tcpdump to inspect the traces as well...
>> 
>>> On 2 Jun 2014, at 17:00, Mindy <mindy@somerandomidiot.com> wrote:
>>> My first thought is that I don't know how to get the workflow I've been using (start up a unikernel in Xen and throw a bunch of stuff at it from scapy) set up in Travis, but if that doesn't seem like obviously the wrong thing to do, I can look into it.  I would still like to look at Quickcheck as well.
>> Similar to answer to Balraj above -- instead of spinning up a Xen VM, spin up a user-level stack on Linux instead (using `NET=direct mirage configure --unix` in the various skeleton examples).
>> 
>> However, one downside to Travis is that it uses LXC (containers) for its isolation, and so doesn't support tuntap.
>> 
>> This does leave Balraj's suggestion as the best one: create two network stacks in one Mirage program and get them talking to each other!
> Playing around with this uncovered a logic problem in how DHCP setup works in the context of unikernels that don't want to run listeners; I've submitted an issue (mirage/mirage-tcpip #53) with more details.
>>> Also, an update - Last w

I've released TCPIP 1.1.5 with this DHCP logic fix, the FIN leak, and the examples all merged!

https://github.com/ocaml/opam-repository/pull/2301

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 12:37:41 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 12:37:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1xJY-00079m-9I; Tue, 01 Jul 2014 12:37:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1xJW-00079Z-Pl
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 12:37:34 +0000
Received: from [193.109.254.147:17238] by server-15.bemta-14.messagelabs.com
	id 4D/A3-15813-E8BA2B35; Tue, 01 Jul 2014 12:37:34 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1404218253!14778689!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32632 invoked from network); 1 Jul 2014 12:37:33 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 12:37:33 -0000
Received: (qmail 15523 invoked by uid 634); 1 Jul 2014 12:37:32 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4465920.home.otenet.gr (HELO [10.100.22.69])
	(94.71.100.240)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 13:37:32 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53987CB5.7020105@somerandomidiot.com>
Date: Tue, 1 Jul 2014 15:37:21 +0300
Message-Id: <3AB4A456-955C-44B0-AFA3-D1CA960FFEA2@recoil.org>
References: <537A1EAD.5090906@somerandomidiot.com>
	<538C9FB9.7070001@somerandomidiot.com>
	<912BC56B-F927-4CDE-9C1E-D40BBD8A79CE@recoil.org>
	<CANeYhgEM4O+SZvTCNVdzuKd-pAxZjBtEDpJga3WkZYF2Ex0RQw@mail.gmail.com>
	<BE082EE6-8E67-428D-B857-1066645316E6@recoil.org>
	<53987CB5.7020105@somerandomidiot.com>
To: Mindy <mindy@somerandomidiot.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Balraj Singh <balraj.singh@cl.cam.ac.uk>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] OPW intern checking in!
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 11 Jun 2014, at 18:58, Mindy <mindy@somerandomidiot.com> wrote:

> Doubling as my update for this morning, here are some inline responses:
>>> Mainly, as you say, this points to a lack of good regression tests and test infrastructure.  I have tried to make some unit tests but for TCP there are many balls that have to be kept in the air and I could not quite do it in an automated way.  The most successful of this kind of test was one in which a single VM would bring up 2 virtual interfaces and send specific patterns of data in both directions.  It knew what to expect and it could, if necessary, even examine the state machines of the two TCPs.  This was quite fragile - it would often stumble on something simple like bringing up two VIFs.
>> The other option here is not to use Xen for testing the net stack at all, but just use Linux with two tap interfaces.  That gives us the ability to use tcpdump to inspect the traces as well...
>> 
>>> On 2 Jun 2014, at 17:00, Mindy <mindy@somerandomidiot.com> wrote:
>>> My first thought is that I don't know how to get the workflow I've been using (start up a unikernel in Xen and throw a bunch of stuff at it from scapy) set up in Travis, but if that doesn't seem like obviously the wrong thing to do, I can look into it.  I would still like to look at Quickcheck as well.
>> Similar to answer to Balraj above -- instead of spinning up a Xen VM, spin up a user-level stack on Linux instead (using `NET=direct mirage configure --unix` in the various skeleton examples).
>> 
>> However, one downside to Travis is that it uses LXC (containers) for its isolation, and so doesn't support tuntap.
>> 
>> This does leave Balraj's suggestion as the best one: create two network stacks in one Mirage program and get them talking to each other!
> Playing around with this uncovered a logic problem in how DHCP setup works in the context of unikernels that don't want to run listeners; I've submitted an issue (mirage/mirage-tcpip #53) with more details.
>>> Also, an update - Last w

I've released TCPIP 1.1.5 with this DHCP logic fix, the FIN leak, and the examples all merged!

https://github.com/ocaml/opam-repository/pull/2301

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 13:57:09 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 13:57:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1yYV-00036Z-DW; Tue, 01 Jul 2014 13:57:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1yYO-00035y-9N
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 13:57:00 +0000
Received: from [85.158.139.211:38242] by server-8.bemta-5.messagelabs.com id
	D9/02-17254-B2EB2B35; Tue, 01 Jul 2014 13:56:59 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-15.tower-206.messagelabs.com!1404223018!9655669!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29698 invoked from network); 1 Jul 2014 13:56:58 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-15.tower-206.messagelabs.com with SMTP;
	1 Jul 2014 13:56:58 -0000
Received: (qmail 5180 invoked by uid 634); 1 Jul 2014 13:56:57 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297430.home.otenet.gr (HELO [10.100.22.69])
	(85.73.209.116)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 14:56:57 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53B28517.9020807@xen.org>
Date: Tue, 1 Jul 2014 16:56:40 +0300
Message-Id: <75D6B875-6AF4-4176-B530-447D47B2A18A@recoil.org>
References: <53B28517.9020807@xen.org>
To: lars.kurth@xen.org
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Artem Mygaiev <artem.mygaiev@globallogic.com>,
	Alex Agizim <alex.agizim@globallogic.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
	and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 1 Jul 2014, at 12:53, Lars Kurth <lars.kurth@xen.org> wrote:
> Hi all,
> 
> the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal) is now open for community review. Please provide feedback by replying to this thread or using the Comment feature (see http://wiki.xenproject.org/wiki/Template:Comment) using "{{comment|~~~~}} My comment" on the relevant section of the wiki page.

Looks great! A few comments:

- "pv_fb driver provide audio driver back- " => audio should be "framebuffer"

- Several of the drivers overlap with existing front/back drivers (for example, the pv_usb one).  Is there a plan to merge these, or at least document the differences between QNX and the Linux/BSD versions of the relevant ring protocols?

- Not sure why the pv_gpu drivers has a "lnx-alsa-be/" entry in the drivers. Might be a c&p error.

cheers,
ANil

> 
> I extended the deadline by a few days, to account for the 4th of July holidays/vacation in the USA
> 
> Best Regards
> Lars
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 13:57:09 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 13:57:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1yYV-00036Z-DW; Tue, 01 Jul 2014 13:57:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1yYO-00035y-9N
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 13:57:00 +0000
Received: from [85.158.139.211:38242] by server-8.bemta-5.messagelabs.com id
	D9/02-17254-B2EB2B35; Tue, 01 Jul 2014 13:56:59 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-15.tower-206.messagelabs.com!1404223018!9655669!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29698 invoked from network); 1 Jul 2014 13:56:58 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-15.tower-206.messagelabs.com with SMTP;
	1 Jul 2014 13:56:58 -0000
Received: (qmail 5180 invoked by uid 634); 1 Jul 2014 13:56:57 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297430.home.otenet.gr (HELO [10.100.22.69])
	(85.73.209.116)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 14:56:57 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53B28517.9020807@xen.org>
Date: Tue, 1 Jul 2014 16:56:40 +0300
Message-Id: <75D6B875-6AF4-4176-B530-447D47B2A18A@recoil.org>
References: <53B28517.9020807@xen.org>
To: lars.kurth@xen.org
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Artem Mygaiev <artem.mygaiev@globallogic.com>,
	Alex Agizim <alex.agizim@globallogic.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
	and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 1 Jul 2014, at 12:53, Lars Kurth <lars.kurth@xen.org> wrote:
> Hi all,
> 
> the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal) is now open for community review. Please provide feedback by replying to this thread or using the Comment feature (see http://wiki.xenproject.org/wiki/Template:Comment) using "{{comment|~~~~}} My comment" on the relevant section of the wiki page.

Looks great! A few comments:

- "pv_fb driver provide audio driver back- " => audio should be "framebuffer"

- Several of the drivers overlap with existing front/back drivers (for example, the pv_usb one).  Is there a plan to merge these, or at least document the differences between QNX and the Linux/BSD versions of the relevant ring protocols?

- Not sure why the pv_gpu drivers has a "lnx-alsa-be/" entry in the drivers. Might be a c&p error.

cheers,
ANil

> 
> I extended the deadline by a few days, to account for the 4th of July holidays/vacation in the USA
> 
> Best Regards
> Lars
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 14:13:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 14:13:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1yoS-0004aY-Jj; Tue, 01 Jul 2014 14:13:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X1yoR-0004aD-P4
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 14:13:35 +0000
Received: from [85.158.143.35:32122] by server-1.bemta-4.messagelabs.com id
	57/9E-09496-F02C2B35; Tue, 01 Jul 2014 14:13:35 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1404224014!15098113!1
X-Originating-IP: [74.125.82.170]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20657 invoked from network); 1 Jul 2014 14:13:34 -0000
Received: from mail-we0-f170.google.com (HELO mail-we0-f170.google.com)
	(74.125.82.170)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 14:13:34 -0000
Received: by mail-we0-f170.google.com with SMTP id w61so9620104wes.1
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 07:13:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=S1uOX65P14AfyZIKkjyT8Ptbsnr+QBL/1RsyKzfYrPQ=;
	b=azc2EwUYnUjkQy6tjc5xFOoCjvflGIunTVQqK0gTKYIxmntYivH4KHYqQddHDn0aEn
	rqBRjUAb/ZKqZFSu7lK09GhQvX5aDsj4TSxrP9+ny4ezIiXfEfJIsEk7PIQoRXfeYKZa
	cs0Y0BGiIRG+SRWf9Zgx4lHGxCkhqz4luGw1b86BcDLHL4W1GmtyuKsRJQgT3ioxCnJA
	79lVoWjNfeyvw9A2zz7GQg0zAf4jh1r63ZR3vjH/rfYl3adu7eyFPiUe4/nz1zLq7Ikd
	ZEzWss/KTAcIrXS0KDdrieGbKRAun6KvAg+put4GvkXqSsgTHTwrbHOme/+D/FHUSW7S
	Azrw==
X-Received: by 10.180.221.162 with SMTP id qf2mr36032188wic.75.1404224010851; 
	Tue, 01 Jul 2014 07:13:30 -0700 (PDT)
Received: from piana.mac.cl.cam.ac.uk (piana.mac.cl.cam.ac.uk. [128.232.56.38])
	by mx.google.com with ESMTPSA id w9sm19169679wif.12.2014.07.01.07.13.28
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Tue, 01 Jul 2014 07:13:28 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
Date: Tue, 1 Jul 2014 15:13:26 +0100
Message-Id: <1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
To: Anil Madhavapeddy <anil@recoil.org>
X-Mailer: Apple Mail (2.1878.2)
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

> Persistence
> -----------
> 
> mirage/irmin               - Distributed database with Git-like properties
> samoht/ocaml-git           - OCaml low level git bindings
> mirage/ocaml-lazy-trie     - Lazy trie data structure
> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
> mirage/orm                 - ORM-style relational mapper
> samoht/mqueue              - Distributed, persistent queues

There's also
https://github.com/mirage/ocaml-bloom-filters - Bloom Filters Library in OCaml


> 
> 
> Filesystems and Block Storage
> -------------
> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
> mirage/ocaml-fat           - FAT format file system
> mirage/xen-disk            - Example userspace blkback in 
> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
> mirage/mirage-fs-unix      - Unix filesystem passthrough
> dsheets/profuse            - FUSE protocol implementation
> 
> Network Stack
> -------------
> mirage/mirage-tcpip        - OCaml TCP/IP stack
> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
> mirage/mirage-net-unix     - Ethernet interface using tuntap
> mirage/ocaml-tuntap        - bindings to UNIX tuntap
> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
> mirage/ocaml-dns           - DNS protocol
> 
> Security
> --------
> 
> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
> mirleft/ocaml-nocrypto     - libc-free crypto implementations
> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
> dsheets/ocaml-sodium       - bindings to NaCL crypto
> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
> 
> Foreign Language Interface
> --------------------------
> 
> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
> samoht/mstruct             - mutable cstruct interface
> ocamllabs/ocaml-ctypes     - 
> 
> Xen support
> -----------
> 
> mirage/shared-memory-ring  - Xen style shared memory ring
> mirage/io-page             - IO memory page library
> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
> djs55/ocaml-xenstore-clients - 
> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
> mirage/ocaml-vchan         - Inter-VM shared memory communication
> 
> HTTP Utilities
> -------------
> mirage/ocaml-cohttp        - Light weight HTTP server
> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
> mirage/ocaml-uri           - URI and URL handling
> mirage/mirage-http         - Mirage HTTP client and server
> mirage/ocaml-cow           - Caml on the Web
> ocaml/omd                  - Markdown implementation in OCaml
> 
> Misc Utilities
> --------------
> mirage/mirage-console      - Portable application console
> mirage/ocaml-pcap          - Capture and analyse pcap files
> avsm/ocaml-github          - GitHub API bindings
> mirage/dyntype             - Dynamic types for OCaml
> 
> 
> Reference Applications
> ----------------------
> mirage/mirage-www          - complete openmirage.org site and server
> mirage/mirage-decks        - Presentations written using Mirage about Mirage
> mirage/mirage-skeleton     - Build skeleton, tests and examples
> 
> Docker and Vagrant
> ------------------
> 
> mirage/mirage-vagrant-vms  - Build Vagrant images 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 14:13:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 14:13:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1yoS-0004aY-Jj; Tue, 01 Jul 2014 14:13:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X1yoR-0004aD-P4
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 14:13:35 +0000
Received: from [85.158.143.35:32122] by server-1.bemta-4.messagelabs.com id
	57/9E-09496-F02C2B35; Tue, 01 Jul 2014 14:13:35 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1404224014!15098113!1
X-Originating-IP: [74.125.82.170]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20657 invoked from network); 1 Jul 2014 14:13:34 -0000
Received: from mail-we0-f170.google.com (HELO mail-we0-f170.google.com)
	(74.125.82.170)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 14:13:34 -0000
Received: by mail-we0-f170.google.com with SMTP id w61so9620104wes.1
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 07:13:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=S1uOX65P14AfyZIKkjyT8Ptbsnr+QBL/1RsyKzfYrPQ=;
	b=azc2EwUYnUjkQy6tjc5xFOoCjvflGIunTVQqK0gTKYIxmntYivH4KHYqQddHDn0aEn
	rqBRjUAb/ZKqZFSu7lK09GhQvX5aDsj4TSxrP9+ny4ezIiXfEfJIsEk7PIQoRXfeYKZa
	cs0Y0BGiIRG+SRWf9Zgx4lHGxCkhqz4luGw1b86BcDLHL4W1GmtyuKsRJQgT3ioxCnJA
	79lVoWjNfeyvw9A2zz7GQg0zAf4jh1r63ZR3vjH/rfYl3adu7eyFPiUe4/nz1zLq7Ikd
	ZEzWss/KTAcIrXS0KDdrieGbKRAun6KvAg+put4GvkXqSsgTHTwrbHOme/+D/FHUSW7S
	Azrw==
X-Received: by 10.180.221.162 with SMTP id qf2mr36032188wic.75.1404224010851; 
	Tue, 01 Jul 2014 07:13:30 -0700 (PDT)
Received: from piana.mac.cl.cam.ac.uk (piana.mac.cl.cam.ac.uk. [128.232.56.38])
	by mx.google.com with ESMTPSA id w9sm19169679wif.12.2014.07.01.07.13.28
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Tue, 01 Jul 2014 07:13:28 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
Date: Tue, 1 Jul 2014 15:13:26 +0100
Message-Id: <1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
To: Anil Madhavapeddy <anil@recoil.org>
X-Mailer: Apple Mail (2.1878.2)
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

> Persistence
> -----------
> 
> mirage/irmin               - Distributed database with Git-like properties
> samoht/ocaml-git           - OCaml low level git bindings
> mirage/ocaml-lazy-trie     - Lazy trie data structure
> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
> mirage/orm                 - ORM-style relational mapper
> samoht/mqueue              - Distributed, persistent queues

There's also
https://github.com/mirage/ocaml-bloom-filters - Bloom Filters Library in OCaml


> 
> 
> Filesystems and Block Storage
> -------------
> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
> mirage/ocaml-fat           - FAT format file system
> mirage/xen-disk            - Example userspace blkback in 
> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
> mirage/mirage-fs-unix      - Unix filesystem passthrough
> dsheets/profuse            - FUSE protocol implementation
> 
> Network Stack
> -------------
> mirage/mirage-tcpip        - OCaml TCP/IP stack
> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
> mirage/mirage-net-unix     - Ethernet interface using tuntap
> mirage/ocaml-tuntap        - bindings to UNIX tuntap
> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
> mirage/ocaml-dns           - DNS protocol
> 
> Security
> --------
> 
> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
> mirleft/ocaml-nocrypto     - libc-free crypto implementations
> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
> dsheets/ocaml-sodium       - bindings to NaCL crypto
> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
> 
> Foreign Language Interface
> --------------------------
> 
> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
> samoht/mstruct             - mutable cstruct interface
> ocamllabs/ocaml-ctypes     - 
> 
> Xen support
> -----------
> 
> mirage/shared-memory-ring  - Xen style shared memory ring
> mirage/io-page             - IO memory page library
> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
> djs55/ocaml-xenstore-clients - 
> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
> mirage/ocaml-vchan         - Inter-VM shared memory communication
> 
> HTTP Utilities
> -------------
> mirage/ocaml-cohttp        - Light weight HTTP server
> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
> mirage/ocaml-uri           - URI and URL handling
> mirage/mirage-http         - Mirage HTTP client and server
> mirage/ocaml-cow           - Caml on the Web
> ocaml/omd                  - Markdown implementation in OCaml
> 
> Misc Utilities
> --------------
> mirage/mirage-console      - Portable application console
> mirage/ocaml-pcap          - Capture and analyse pcap files
> avsm/ocaml-github          - GitHub API bindings
> mirage/dyntype             - Dynamic types for OCaml
> 
> 
> Reference Applications
> ----------------------
> mirage/mirage-www          - complete openmirage.org site and server
> mirage/mirage-decks        - Presentations written using Mirage about Mirage
> mirage/mirage-skeleton     - Build skeleton, tests and examples
> 
> Docker and Vagrant
> ------------------
> 
> mirage/mirage-vagrant-vms  - Build Vagrant images 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 14:26:39 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 14:26:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1z14-00059X-2H; Tue, 01 Jul 2014 14:26:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X1z12-00059S-QT
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 14:26:37 +0000
Received: from [193.109.254.147:54799] by server-2.bemta-14.messagelabs.com id
	E8/DE-30377-C15C2B35; Tue, 01 Jul 2014 14:26:36 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-7.tower-27.messagelabs.com!1404224791!14787688!1
X-Originating-IP: [131.111.8.140]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28231 invoked from network); 1 Jul 2014 14:26:31 -0000
Received: from ppsw-40.csi.cam.ac.uk (HELO ppsw-40.csi.cam.ac.uk)
	(131.111.8.140)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 Jul 2014 14:26:31 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from gw-eduroam.dar.cam.ac.uk ([131.111.194.10]:56542
	helo=[192.168.99.23])
	by ppsw-40.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.156]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X1z0v-0006io-lh (Exim 4.82_3-c0e5623)
	(return-path <amc79@cam.ac.uk>); Tue, 01 Jul 2014 15:26:29 +0100
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Amir Chaudhry <amc79@cam.ac.uk>
In-Reply-To: <1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
Date: Tue, 1 Jul 2014 15:26:29 +0100
Message-Id: <E484EFFE-BB70-4492-8837-3E7EBD92D040@cam.ac.uk>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
	<1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
X-Mailer: Apple Mail (2.1510)
Cc: mirageos-devel@lists.xenproject.org, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

It would be really nice to be able to tag a repository somehow and periodically auto-generate this list (by tag).
Manually curating it is going to be painful.

<thinking aloud>
GitHub doesn't offer this feature but maybe the following would be useful?
- Add a TAGS file to the mirage repos. Just a string per line.
- Use the github api to go look at all the repos, parse the TAGS file and output a structured text file.
- Use some of the upcoming platform tools to aid the creation of new repos with such meta files.

(Though I guess this is what the trove stuff is trying/going to solve)

AC


On 1 Jul 2014, at 15:13, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:

>> Persistence
>> -----------
>> 
>> mirage/irmin               - Distributed database with Git-like properties
>> samoht/ocaml-git           - OCaml low level git bindings
>> mirage/ocaml-lazy-trie     - Lazy trie data structure
>> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
>> mirage/orm                 - ORM-style relational mapper
>> samoht/mqueue              - Distributed, persistent queues
> 
> There's also
> https://github.com/mirage/ocaml-bloom-filters - Bloom Filters Library in OCaml
> 
> 
>> 
>> 
>> Filesystems and Block Storage
>> -------------
>> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
>> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
>> mirage/ocaml-fat           - FAT format file system
>> mirage/xen-disk            - Example userspace blkback in 
>> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
>> mirage/mirage-fs-unix      - Unix filesystem passthrough
>> dsheets/profuse            - FUSE protocol implementation
>> 
>> Network Stack
>> -------------
>> mirage/mirage-tcpip        - OCaml TCP/IP stack
>> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
>> mirage/mirage-net-unix     - Ethernet interface using tuntap
>> mirage/ocaml-tuntap        - bindings to UNIX tuntap
>> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
>> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
>> mirage/ocaml-dns           - DNS protocol
>> 
>> Security
>> --------
>> 
>> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
>> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
>> mirleft/ocaml-nocrypto     - libc-free crypto implementations
>> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
>> dsheets/ocaml-sodium       - bindings to NaCL crypto
>> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
>> 
>> Foreign Language Interface
>> --------------------------
>> 
>> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
>> samoht/mstruct             - mutable cstruct interface
>> ocamllabs/ocaml-ctypes     - 
>> 
>> Xen support
>> -----------
>> 
>> mirage/shared-memory-ring  - Xen style shared memory ring
>> mirage/io-page             - IO memory page library
>> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
>> djs55/ocaml-xenstore-clients - 
>> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
>> mirage/ocaml-vchan         - Inter-VM shared memory communication
>> 
>> HTTP Utilities
>> -------------
>> mirage/ocaml-cohttp        - Light weight HTTP server
>> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
>> mirage/ocaml-uri           - URI and URL handling
>> mirage/mirage-http         - Mirage HTTP client and server
>> mirage/ocaml-cow           - Caml on the Web
>> ocaml/omd                  - Markdown implementation in OCaml
>> 
>> Misc Utilities
>> --------------
>> mirage/mirage-console      - Portable application console
>> mirage/ocaml-pcap          - Capture and analyse pcap files
>> avsm/ocaml-github          - GitHub API bindings
>> mirage/dyntype             - Dynamic types for OCaml
>> 
>> 
>> Reference Applications
>> ----------------------
>> mirage/mirage-www          - complete openmirage.org site and server
>> mirage/mirage-decks        - Presentations written using Mirage about Mirage
>> mirage/mirage-skeleton     - Build skeleton, tests and examples
>> 
>> Docker and Vagrant
>> ------------------
>> 
>> mirage/mirage-vagrant-vms  - Build Vagrant images 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 14:26:39 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 14:26:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1z14-00059X-2H; Tue, 01 Jul 2014 14:26:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X1z12-00059S-QT
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 14:26:37 +0000
Received: from [193.109.254.147:54799] by server-2.bemta-14.messagelabs.com id
	E8/DE-30377-C15C2B35; Tue, 01 Jul 2014 14:26:36 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-7.tower-27.messagelabs.com!1404224791!14787688!1
X-Originating-IP: [131.111.8.140]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28231 invoked from network); 1 Jul 2014 14:26:31 -0000
Received: from ppsw-40.csi.cam.ac.uk (HELO ppsw-40.csi.cam.ac.uk)
	(131.111.8.140)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 Jul 2014 14:26:31 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from gw-eduroam.dar.cam.ac.uk ([131.111.194.10]:56542
	helo=[192.168.99.23])
	by ppsw-40.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.156]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X1z0v-0006io-lh (Exim 4.82_3-c0e5623)
	(return-path <amc79@cam.ac.uk>); Tue, 01 Jul 2014 15:26:29 +0100
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Amir Chaudhry <amc79@cam.ac.uk>
In-Reply-To: <1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
Date: Tue, 1 Jul 2014 15:26:29 +0100
Message-Id: <E484EFFE-BB70-4492-8837-3E7EBD92D040@cam.ac.uk>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
	<1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
X-Mailer: Apple Mail (2.1510)
Cc: mirageos-devel@lists.xenproject.org, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

It would be really nice to be able to tag a repository somehow and periodically auto-generate this list (by tag).
Manually curating it is going to be painful.

<thinking aloud>
GitHub doesn't offer this feature but maybe the following would be useful?
- Add a TAGS file to the mirage repos. Just a string per line.
- Use the github api to go look at all the repos, parse the TAGS file and output a structured text file.
- Use some of the upcoming platform tools to aid the creation of new repos with such meta files.

(Though I guess this is what the trove stuff is trying/going to solve)

AC


On 1 Jul 2014, at 15:13, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:

>> Persistence
>> -----------
>> 
>> mirage/irmin               - Distributed database with Git-like properties
>> samoht/ocaml-git           - OCaml low level git bindings
>> mirage/ocaml-lazy-trie     - Lazy trie data structure
>> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
>> mirage/orm                 - ORM-style relational mapper
>> samoht/mqueue              - Distributed, persistent queues
> 
> There's also
> https://github.com/mirage/ocaml-bloom-filters - Bloom Filters Library in OCaml
> 
> 
>> 
>> 
>> Filesystems and Block Storage
>> -------------
>> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
>> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
>> mirage/ocaml-fat           - FAT format file system
>> mirage/xen-disk            - Example userspace blkback in 
>> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
>> mirage/mirage-fs-unix      - Unix filesystem passthrough
>> dsheets/profuse            - FUSE protocol implementation
>> 
>> Network Stack
>> -------------
>> mirage/mirage-tcpip        - OCaml TCP/IP stack
>> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
>> mirage/mirage-net-unix     - Ethernet interface using tuntap
>> mirage/ocaml-tuntap        - bindings to UNIX tuntap
>> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
>> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
>> mirage/ocaml-dns           - DNS protocol
>> 
>> Security
>> --------
>> 
>> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
>> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
>> mirleft/ocaml-nocrypto     - libc-free crypto implementations
>> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
>> dsheets/ocaml-sodium       - bindings to NaCL crypto
>> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
>> 
>> Foreign Language Interface
>> --------------------------
>> 
>> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
>> samoht/mstruct             - mutable cstruct interface
>> ocamllabs/ocaml-ctypes     - 
>> 
>> Xen support
>> -----------
>> 
>> mirage/shared-memory-ring  - Xen style shared memory ring
>> mirage/io-page             - IO memory page library
>> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
>> djs55/ocaml-xenstore-clients - 
>> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
>> mirage/ocaml-vchan         - Inter-VM shared memory communication
>> 
>> HTTP Utilities
>> -------------
>> mirage/ocaml-cohttp        - Light weight HTTP server
>> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
>> mirage/ocaml-uri           - URI and URL handling
>> mirage/mirage-http         - Mirage HTTP client and server
>> mirage/ocaml-cow           - Caml on the Web
>> ocaml/omd                  - Markdown implementation in OCaml
>> 
>> Misc Utilities
>> --------------
>> mirage/mirage-console      - Portable application console
>> mirage/ocaml-pcap          - Capture and analyse pcap files
>> avsm/ocaml-github          - GitHub API bindings
>> mirage/dyntype             - Dynamic types for OCaml
>> 
>> 
>> Reference Applications
>> ----------------------
>> mirage/mirage-www          - complete openmirage.org site and server
>> mirage/mirage-decks        - Presentations written using Mirage about Mirage
>> mirage/mirage-skeleton     - Build skeleton, tests and examples
>> 
>> Docker and Vagrant
>> ------------------
>> 
>> mirage/mirage-vagrant-vms  - Build Vagrant images 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 14:40:26 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 14:40:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1zEN-0006La-Ib; Tue, 01 Jul 2014 14:40:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1zEM-0006LV-Cp
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 14:40:22 +0000
Received: from [85.158.143.35:43153] by server-2.bemta-4.messagelabs.com id
	FA/2B-06539-558C2B35; Tue, 01 Jul 2014 14:40:21 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1404225619!11665703!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30941 invoked from network); 1 Jul 2014 14:40:19 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-21.messagelabs.com with SMTP;
	1 Jul 2014 14:40:19 -0000
Received: (qmail 32716 invoked by uid 634); 1 Jul 2014 14:40:18 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4467727.home.otenet.gr (HELO [10.100.22.69])
	(94.71.107.255)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 15:40:17 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <E484EFFE-BB70-4492-8837-3E7EBD92D040@cam.ac.uk>
Date: Tue, 1 Jul 2014 17:39:47 +0300
Message-Id: <501C0E61-C02F-43F7-8406-51A6CADAA492@recoil.org>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
	<1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
	<E484EFFE-BB70-4492-8837-3E7EBD92D040@cam.ac.uk>
To: Amir M Chaudhry <amc79@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Thomas Gazagnaire <thomas@gazagnaire.org>,
	mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I believe it should be possible to do this by ensuring that the 'org:mirage' tag is present in OPAM metadata.  Try "opam search mirage" to see what I mean.

-anil

On 1 Jul 2014, at 17:26, Amir Chaudhry <amc79@cam.ac.uk> wrote:

> It would be really nice to be able to tag a repository somehow and periodically auto-generate this list (by tag).
> Manually curating it is going to be painful.
> 
> <thinking aloud>
> GitHub doesn't offer this feature but maybe the following would be useful?
> - Add a TAGS file to the mirage repos. Just a string per line.
> - Use the github api to go look at all the repos, parse the TAGS file and output a structured text file.
> - Use some of the upcoming platform tools to aid the creation of new repos with such meta files.
> 
> (Though I guess this is what the trove stuff is trying/going to solve)
> 
> AC
> 
> 
> On 1 Jul 2014, at 15:13, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
> 
>>> Persistence
>>> -----------
>>> 
>>> mirage/irmin               - Distributed database with Git-like properties
>>> samoht/ocaml-git           - OCaml low level git bindings
>>> mirage/ocaml-lazy-trie     - Lazy trie data structure
>>> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
>>> mirage/orm                 - ORM-style relational mapper
>>> samoht/mqueue              - Distributed, persistent queues
>> 
>> There's also
>> https://github.com/mirage/ocaml-bloom-filters - Bloom Filters Library in OCaml
>> 
>> 
>>> 
>>> 
>>> Filesystems and Block Storage
>>> -------------
>>> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
>>> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
>>> mirage/ocaml-fat           - FAT format file system
>>> mirage/xen-disk            - Example userspace blkback in 
>>> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
>>> mirage/mirage-fs-unix      - Unix filesystem passthrough
>>> dsheets/profuse            - FUSE protocol implementation
>>> 
>>> Network Stack
>>> -------------
>>> mirage/mirage-tcpip        - OCaml TCP/IP stack
>>> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
>>> mirage/mirage-net-unix     - Ethernet interface using tuntap
>>> mirage/ocaml-tuntap        - bindings to UNIX tuntap
>>> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
>>> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
>>> mirage/ocaml-dns           - DNS protocol
>>> 
>>> Security
>>> --------
>>> 
>>> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
>>> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
>>> mirleft/ocaml-nocrypto     - libc-free crypto implementations
>>> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
>>> dsheets/ocaml-sodium       - bindings to NaCL crypto
>>> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
>>> 
>>> Foreign Language Interface
>>> --------------------------
>>> 
>>> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
>>> samoht/mstruct             - mutable cstruct interface
>>> ocamllabs/ocaml-ctypes     - 
>>> 
>>> Xen support
>>> -----------
>>> 
>>> mirage/shared-memory-ring  - Xen style shared memory ring
>>> mirage/io-page             - IO memory page library
>>> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
>>> djs55/ocaml-xenstore-clients - 
>>> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
>>> mirage/ocaml-vchan         - Inter-VM shared memory communication
>>> 
>>> HTTP Utilities
>>> -------------
>>> mirage/ocaml-cohttp        - Light weight HTTP server
>>> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
>>> mirage/ocaml-uri           - URI and URL handling
>>> mirage/mirage-http         - Mirage HTTP client and server
>>> mirage/ocaml-cow           - Caml on the Web
>>> ocaml/omd                  - Markdown implementation in OCaml
>>> 
>>> Misc Utilities
>>> --------------
>>> mirage/mirage-console      - Portable application console
>>> mirage/ocaml-pcap          - Capture and analyse pcap files
>>> avsm/ocaml-github          - GitHub API bindings
>>> mirage/dyntype             - Dynamic types for OCaml
>>> 
>>> 
>>> Reference Applications
>>> ----------------------
>>> mirage/mirage-www          - complete openmirage.org site and server
>>> mirage/mirage-decks        - Presentations written using Mirage about Mirage
>>> mirage/mirage-skeleton     - Build skeleton, tests and examples
>>> 
>>> Docker and Vagrant
>>> ------------------
>>> 
>>> mirage/mirage-vagrant-vms  - Build Vagrant images 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> MirageOS-devel mailing list
>>> MirageOS-devel@lists.xenproject.org
>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 14:40:26 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 14:40:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1zEN-0006La-Ib; Tue, 01 Jul 2014 14:40:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1zEM-0006LV-Cp
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 14:40:22 +0000
Received: from [85.158.143.35:43153] by server-2.bemta-4.messagelabs.com id
	FA/2B-06539-558C2B35; Tue, 01 Jul 2014 14:40:21 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1404225619!11665703!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30941 invoked from network); 1 Jul 2014 14:40:19 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-21.messagelabs.com with SMTP;
	1 Jul 2014 14:40:19 -0000
Received: (qmail 32716 invoked by uid 634); 1 Jul 2014 14:40:18 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-4467727.home.otenet.gr (HELO [10.100.22.69])
	(94.71.107.255)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 15:40:17 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <E484EFFE-BB70-4492-8837-3E7EBD92D040@cam.ac.uk>
Date: Tue, 1 Jul 2014 17:39:47 +0300
Message-Id: <501C0E61-C02F-43F7-8406-51A6CADAA492@recoil.org>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
	<1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
	<E484EFFE-BB70-4492-8837-3E7EBD92D040@cam.ac.uk>
To: Amir M Chaudhry <amc79@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Thomas Gazagnaire <thomas@gazagnaire.org>,
	mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I believe it should be possible to do this by ensuring that the 'org:mirage' tag is present in OPAM metadata.  Try "opam search mirage" to see what I mean.

-anil

On 1 Jul 2014, at 17:26, Amir Chaudhry <amc79@cam.ac.uk> wrote:

> It would be really nice to be able to tag a repository somehow and periodically auto-generate this list (by tag).
> Manually curating it is going to be painful.
> 
> <thinking aloud>
> GitHub doesn't offer this feature but maybe the following would be useful?
> - Add a TAGS file to the mirage repos. Just a string per line.
> - Use the github api to go look at all the repos, parse the TAGS file and output a structured text file.
> - Use some of the upcoming platform tools to aid the creation of new repos with such meta files.
> 
> (Though I guess this is what the trove stuff is trying/going to solve)
> 
> AC
> 
> 
> On 1 Jul 2014, at 15:13, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
> 
>>> Persistence
>>> -----------
>>> 
>>> mirage/irmin               - Distributed database with Git-like properties
>>> samoht/ocaml-git           - OCaml low level git bindings
>>> mirage/ocaml-lazy-trie     - Lazy trie data structure
>>> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
>>> mirage/orm                 - ORM-style relational mapper
>>> samoht/mqueue              - Distributed, persistent queues
>> 
>> There's also
>> https://github.com/mirage/ocaml-bloom-filters - Bloom Filters Library in OCaml
>> 
>> 
>>> 
>>> 
>>> Filesystems and Block Storage
>>> -------------
>>> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
>>> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
>>> mirage/ocaml-fat           - FAT format file system
>>> mirage/xen-disk            - Example userspace blkback in 
>>> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
>>> mirage/mirage-fs-unix      - Unix filesystem passthrough
>>> dsheets/profuse            - FUSE protocol implementation
>>> 
>>> Network Stack
>>> -------------
>>> mirage/mirage-tcpip        - OCaml TCP/IP stack
>>> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
>>> mirage/mirage-net-unix     - Ethernet interface using tuntap
>>> mirage/ocaml-tuntap        - bindings to UNIX tuntap
>>> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
>>> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
>>> mirage/ocaml-dns           - DNS protocol
>>> 
>>> Security
>>> --------
>>> 
>>> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
>>> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
>>> mirleft/ocaml-nocrypto     - libc-free crypto implementations
>>> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
>>> dsheets/ocaml-sodium       - bindings to NaCL crypto
>>> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
>>> 
>>> Foreign Language Interface
>>> --------------------------
>>> 
>>> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
>>> samoht/mstruct             - mutable cstruct interface
>>> ocamllabs/ocaml-ctypes     - 
>>> 
>>> Xen support
>>> -----------
>>> 
>>> mirage/shared-memory-ring  - Xen style shared memory ring
>>> mirage/io-page             - IO memory page library
>>> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
>>> djs55/ocaml-xenstore-clients - 
>>> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
>>> mirage/ocaml-vchan         - Inter-VM shared memory communication
>>> 
>>> HTTP Utilities
>>> -------------
>>> mirage/ocaml-cohttp        - Light weight HTTP server
>>> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
>>> mirage/ocaml-uri           - URI and URL handling
>>> mirage/mirage-http         - Mirage HTTP client and server
>>> mirage/ocaml-cow           - Caml on the Web
>>> ocaml/omd                  - Markdown implementation in OCaml
>>> 
>>> Misc Utilities
>>> --------------
>>> mirage/mirage-console      - Portable application console
>>> mirage/ocaml-pcap          - Capture and analyse pcap files
>>> avsm/ocaml-github          - GitHub API bindings
>>> mirage/dyntype             - Dynamic types for OCaml
>>> 
>>> 
>>> Reference Applications
>>> ----------------------
>>> mirage/mirage-www          - complete openmirage.org site and server
>>> mirage/mirage-decks        - Presentations written using Mirage about Mirage
>>> mirage/mirage-skeleton     - Build skeleton, tests and examples
>>> 
>>> Docker and Vagrant
>>> ------------------
>>> 
>>> mirage/mirage-vagrant-vms  - Build Vagrant images 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> MirageOS-devel mailing list
>>> MirageOS-devel@lists.xenproject.org
>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 15:21:06 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 15:21:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1zrk-0002yN-DZ; Tue, 01 Jul 2014 15:21:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1zrg-0002y3-K7
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 15:21:00 +0000
Received: from [85.158.137.68:24134] by server-3.bemta-3.messagelabs.com id
	6E/F8-25808-BD1D2B35; Tue, 01 Jul 2014 15:20:59 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-31.messagelabs.com!1404228058!13385856!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20500 invoked from network); 1 Jul 2014 15:20:59 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-31.messagelabs.com with SMTP;
	1 Jul 2014 15:20:59 -0000
Received: (qmail 1842 invoked by uid 634); 1 Jul 2014 15:20:58 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297430.home.otenet.gr (HELO [10.100.22.69])
	(85.73.209.116)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 16:20:58 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <0CF8E334-9DB6-44A8-B327-3644C14D92EA@cam.ac.uk>
Date: Tue, 1 Jul 2014 18:20:51 +0300
Message-Id: <0521ACDC-1E09-4506-B054-588DD4E17D70@recoil.org>
References: <5396D482.6000706@eu.citrix.com>
	<0CF8E334-9DB6-44A8-B327-3644C14D92EA@cam.ac.uk>
To: Amir M Chaudhry <amc79@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Lars Kurth <lars.kurth@citrix.com>, David Scott <Dave.Scott@citrix.com>,
	Jon Ludlam <jonathan.ludlam@eu.citrix.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, xen-api@lists.xen.org
Subject: Re: [MirageOS-devel] Xapi project repositories
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 Jul 2014, at 14:08, Amir Chaudhry <amc79@cam.ac.uk> wrote:

> Dave, could we please move the three remaining libraries to the Mirage org as soon as possible please?
> It's a fairly trivial process and is transparent to end users.  I've even included links that should take you to the exact page where you can click the transfer button. :)
> If there's some blocker to this, please let me know.

I believe what's blocking the xenstore transfer is a refactoring to separate out the bits intended for xen upstream to the core libraries used by Mirage/xapi/etc.  From the Mirage perspective, I'm happy for this split to be done 'in-tree', but Dave has the final call on this since he's actually doing the hard work :-) 

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 15:21:06 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 15:21:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X1zrk-0002yN-DZ; Tue, 01 Jul 2014 15:21:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X1zrg-0002y3-K7
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 15:21:00 +0000
Received: from [85.158.137.68:24134] by server-3.bemta-3.messagelabs.com id
	6E/F8-25808-BD1D2B35; Tue, 01 Jul 2014 15:20:59 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-31.messagelabs.com!1404228058!13385856!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20500 invoked from network); 1 Jul 2014 15:20:59 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-31.messagelabs.com with SMTP;
	1 Jul 2014 15:20:59 -0000
Received: (qmail 1842 invoked by uid 634); 1 Jul 2014 15:20:58 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297430.home.otenet.gr (HELO [10.100.22.69])
	(85.73.209.116)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 01 Jul 2014 16:20:58 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <0CF8E334-9DB6-44A8-B327-3644C14D92EA@cam.ac.uk>
Date: Tue, 1 Jul 2014 18:20:51 +0300
Message-Id: <0521ACDC-1E09-4506-B054-588DD4E17D70@recoil.org>
References: <5396D482.6000706@eu.citrix.com>
	<0CF8E334-9DB6-44A8-B327-3644C14D92EA@cam.ac.uk>
To: Amir M Chaudhry <amc79@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Lars Kurth <lars.kurth@citrix.com>, David Scott <Dave.Scott@citrix.com>,
	Jon Ludlam <jonathan.ludlam@eu.citrix.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, xen-api@lists.xen.org
Subject: Re: [MirageOS-devel] Xapi project repositories
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 Jul 2014, at 14:08, Amir Chaudhry <amc79@cam.ac.uk> wrote:

> Dave, could we please move the three remaining libraries to the Mirage org as soon as possible please?
> It's a fairly trivial process and is transparent to end users.  I've even included links that should take you to the exact page where you can click the transfer button. :)
> If there's some blocker to this, please let me know.

I believe what's blocking the xenstore transfer is a refactoring to separate out the bits intended for xen upstream to the core libraries used by Mirage/xapi/etc.  From the Mirage perspective, I'm happy for this split to be done 'in-tree', but Dave has the final call on this since he's actually doing the hard work :-) 

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 17:29:04 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 17:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X21rW-0003nh-KT; Tue, 01 Jul 2014 17:28:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Masoud.Koleini@nottingham.ac.uk>) id 1X21rW-0003nb-1k
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 17:28:58 +0000
Received: from [85.158.139.211:64250] by server-1.bemta-5.messagelabs.com id
	C0/10-30932-9DFE2B35; Tue, 01 Jul 2014 17:28:57 +0000
X-Env-Sender: Masoud.Koleini@nottingham.ac.uk
X-Msg-Ref: server-13.tower-206.messagelabs.com!1404235736!13065789!1
X-Originating-IP: [93.95.15.171]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogOTMuOTUuMTUuMTcxID0+IDQyMTM=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26378 invoked from network); 1 Jul 2014 17:28:57 -0000
Received: from engine05-20433-5.icritical.com (HELO
	engine05-20433-5.icritical.com) (93.95.15.171)
	by server-13.tower-206.messagelabs.com with SMTP;
	1 Jul 2014 17:28:57 -0000
Received: (qmail 15057 invoked from network); 1 Jul 2014 17:28:58 -0000
Received: from localhost (127.0.0.1)
	by engine05-20433-5.icritical.com with SMTP; 1 Jul 2014 17:28:58 -0000
Received: from engine05-20433-5.icritical.com ([127.0.0.1])
	by localhost (engine05-20433-5.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 14932-03 for <mirageos-devel@lists.xenproject.org>;
	Tue,  1 Jul 2014 18:28:51 +0100 (BST)
Received: (qmail 14967 invoked by uid 599); 1 Jul 2014 17:28:47 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine05-20433-5.icritical.com (qpsmtpd/0.28) with ESMTP;
	Tue, 01 Jul 2014 18:28:47 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Masoud.Koleini@nottingham.ac.uk>)
	id 1X21rI-0007Vo-OU
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 18:28:44 +0100
From: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Tue, 1 Jul 2014 18:28:43 +0100
Thread-Topic: Lwt is deprecated - Async?
Thread-Index: AQHPlVHojnaWXZ6jXEeo03lBtpng7A==
Message-ID: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
Accept-Language: en-US, en-GB
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine05-20433-5.icritical.com
Subject: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi All,

I am working on porting Frenetic OpenFlow to Mirage. Recently, Frenetic has replaced Lwt library with Async, since Lwt is now deprecated and not actively maintained.

Is there any plan to support Async in future Mirage developments? Do you have any suggestion to make Frenetic, or any Async based code, to interact with Mirage Lwt-based libraries?

Thanks,
MasoudThis message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 17:29:04 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 17:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X21rW-0003nh-KT; Tue, 01 Jul 2014 17:28:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Masoud.Koleini@nottingham.ac.uk>) id 1X21rW-0003nb-1k
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 17:28:58 +0000
Received: from [85.158.139.211:64250] by server-1.bemta-5.messagelabs.com id
	C0/10-30932-9DFE2B35; Tue, 01 Jul 2014 17:28:57 +0000
X-Env-Sender: Masoud.Koleini@nottingham.ac.uk
X-Msg-Ref: server-13.tower-206.messagelabs.com!1404235736!13065789!1
X-Originating-IP: [93.95.15.171]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogOTMuOTUuMTUuMTcxID0+IDQyMTM=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26378 invoked from network); 1 Jul 2014 17:28:57 -0000
Received: from engine05-20433-5.icritical.com (HELO
	engine05-20433-5.icritical.com) (93.95.15.171)
	by server-13.tower-206.messagelabs.com with SMTP;
	1 Jul 2014 17:28:57 -0000
Received: (qmail 15057 invoked from network); 1 Jul 2014 17:28:58 -0000
Received: from localhost (127.0.0.1)
	by engine05-20433-5.icritical.com with SMTP; 1 Jul 2014 17:28:58 -0000
Received: from engine05-20433-5.icritical.com ([127.0.0.1])
	by localhost (engine05-20433-5.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 14932-03 for <mirageos-devel@lists.xenproject.org>;
	Tue,  1 Jul 2014 18:28:51 +0100 (BST)
Received: (qmail 14967 invoked by uid 599); 1 Jul 2014 17:28:47 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine05-20433-5.icritical.com (qpsmtpd/0.28) with ESMTP;
	Tue, 01 Jul 2014 18:28:47 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Masoud.Koleini@nottingham.ac.uk>)
	id 1X21rI-0007Vo-OU
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 18:28:44 +0100
From: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Tue, 1 Jul 2014 18:28:43 +0100
Thread-Topic: Lwt is deprecated - Async?
Thread-Index: AQHPlVHojnaWXZ6jXEeo03lBtpng7A==
Message-ID: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
Accept-Language: en-US, en-GB
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine05-20433-5.icritical.com
Subject: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi All,

I am working on porting Frenetic OpenFlow to Mirage. Recently, Frenetic has replaced Lwt library with Async, since Lwt is now deprecated and not actively maintained.

Is there any plan to support Async in future Mirage developments? Do you have any suggestion to make Frenetic, or any Async based code, to interact with Mirage Lwt-based libraries?

Thanks,
MasoudThis message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 17:36:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 17:36:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X21yO-0004Cy-7g; Tue, 01 Jul 2014 17:36:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rudi.grinberg@gmail.com>) id 1X21yM-0004Cs-9w
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 17:36:03 +0000
Received: from [193.109.254.147:37640] by server-1.bemta-14.messagelabs.com id
	A7/60-14887-181F2B35; Tue, 01 Jul 2014 17:36:01 +0000
X-Env-Sender: rudi.grinberg@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1404236159!14842285!1
X-Originating-IP: [209.85.213.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7880 invoked from network); 1 Jul 2014 17:36:01 -0000
Received: from mail-ig0-f181.google.com (HELO mail-ig0-f181.google.com)
	(209.85.213.181)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 17:36:01 -0000
Received: by mail-ig0-f181.google.com with SMTP id h15so5696309igd.14
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 10:35:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=content-type:to:subject:references:date:mime-version
	:content-transfer-encoding:from:message-id:in-reply-to:user-agent;
	bh=3LRPqr0PefOpO8hbGVLCwwqZUMPRYG9v6hukinYv61k=;
	b=ArV70uLA792oOV7HYbrCKLCPPsZsMe4LbhU0kSnfsEqnnDP6HIg0oVZa73uZerXtD7
	/7j0SVWcSI51i60qKP7p0/qtaihNpZnWORv3WAs/mbc+LL+HuWgDQv8uXmpxHyt9TZ2B
	T4Ma3R1mhQqW19VbJ83guyoqHzeQ6vN32DNWQ+CcIjYsMOXBoYYNxaf0H1eqmfoJnlzA
	CJOPbXmzguRfibNPAFrkqmGxyzT0qLum8O4/ck3+pnMM9m3oBdHe8mEbGSP7iR2SEy9P
	zKqfiwTvCMH0Ey2IcmES3zBIWNgp5f17KZI/WlFKNMWfAGc7o8wfUsZOSAG43ZeH6cY8
	ccCw==
X-Received: by 10.50.25.71 with SMTP id a7mr42142259igg.17.1404236159644;
	Tue, 01 Jul 2014 10:35:59 -0700 (PDT)
Received: from rudis-macbook-pro.local (dsl-69-172-72-116.acanac.net.
	[69.172.72.116])
	by mx.google.com with ESMTPSA id t1sm35841800igh.9.2014.07.01.10.35.58
	for <multiple recipients>
	(version=TLSv1 cipher=RC4-SHA bits=128/128);
	Tue, 01 Jul 2014 10:35:58 -0700 (PDT)
To: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, "Masoud Koleini"
	<Masoud.Koleini@nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
Date: Tue, 01 Jul 2014 13:35:57 -0400
MIME-Version: 1.0
From: "Rudi Grinberg" <rudi.grinberg@gmail.com>
Message-ID: <op.xibxt7dnaxolw7@rudis-macbook-pro.local>
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
User-Agent: Opera Mail/1.0 (MacIntel)
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"; DelSp="yes"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini  
<Masoud.Koleini@nottingham.ac.uk> wrote:

> since Lwt is now deprecated and not actively maintained.

This is news to me. Was there an announcement for this? Last time I looked  
Lwt repo was fairly active.

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 17:36:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 17:36:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X21yO-0004Cy-7g; Tue, 01 Jul 2014 17:36:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rudi.grinberg@gmail.com>) id 1X21yM-0004Cs-9w
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 17:36:03 +0000
Received: from [193.109.254.147:37640] by server-1.bemta-14.messagelabs.com id
	A7/60-14887-181F2B35; Tue, 01 Jul 2014 17:36:01 +0000
X-Env-Sender: rudi.grinberg@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1404236159!14842285!1
X-Originating-IP: [209.85.213.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7880 invoked from network); 1 Jul 2014 17:36:01 -0000
Received: from mail-ig0-f181.google.com (HELO mail-ig0-f181.google.com)
	(209.85.213.181)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 17:36:01 -0000
Received: by mail-ig0-f181.google.com with SMTP id h15so5696309igd.14
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 10:35:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=content-type:to:subject:references:date:mime-version
	:content-transfer-encoding:from:message-id:in-reply-to:user-agent;
	bh=3LRPqr0PefOpO8hbGVLCwwqZUMPRYG9v6hukinYv61k=;
	b=ArV70uLA792oOV7HYbrCKLCPPsZsMe4LbhU0kSnfsEqnnDP6HIg0oVZa73uZerXtD7
	/7j0SVWcSI51i60qKP7p0/qtaihNpZnWORv3WAs/mbc+LL+HuWgDQv8uXmpxHyt9TZ2B
	T4Ma3R1mhQqW19VbJ83guyoqHzeQ6vN32DNWQ+CcIjYsMOXBoYYNxaf0H1eqmfoJnlzA
	CJOPbXmzguRfibNPAFrkqmGxyzT0qLum8O4/ck3+pnMM9m3oBdHe8mEbGSP7iR2SEy9P
	zKqfiwTvCMH0Ey2IcmES3zBIWNgp5f17KZI/WlFKNMWfAGc7o8wfUsZOSAG43ZeH6cY8
	ccCw==
X-Received: by 10.50.25.71 with SMTP id a7mr42142259igg.17.1404236159644;
	Tue, 01 Jul 2014 10:35:59 -0700 (PDT)
Received: from rudis-macbook-pro.local (dsl-69-172-72-116.acanac.net.
	[69.172.72.116])
	by mx.google.com with ESMTPSA id t1sm35841800igh.9.2014.07.01.10.35.58
	for <multiple recipients>
	(version=TLSv1 cipher=RC4-SHA bits=128/128);
	Tue, 01 Jul 2014 10:35:58 -0700 (PDT)
To: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, "Masoud Koleini"
	<Masoud.Koleini@nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
Date: Tue, 01 Jul 2014 13:35:57 -0400
MIME-Version: 1.0
From: "Rudi Grinberg" <rudi.grinberg@gmail.com>
Message-ID: <op.xibxt7dnaxolw7@rudis-macbook-pro.local>
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
User-Agent: Opera Mail/1.0 (MacIntel)
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"; DelSp="yes"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini  
<Masoud.Koleini@nottingham.ac.uk> wrote:

> since Lwt is now deprecated and not actively maintained.

This is news to me. Was there an announcement for this? Last time I looked  
Lwt repo was fairly active.

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 19:42:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 19:42:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X23wl-0003Nc-Ir; Tue, 01 Jul 2014 19:42:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Masoud.Koleini@nottingham.ac.uk>) id 1X23wj-0003NX-MZ
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 19:42:29 +0000
Received: from [193.109.254.147:29904] by server-16.bemta-14.messagelabs.com
	id B6/CC-16986-42F03B35; Tue, 01 Jul 2014 19:42:28 +0000
X-Env-Sender: Masoud.Koleini@nottingham.ac.uk
X-Msg-Ref: server-16.tower-27.messagelabs.com!1404243748!9484722!1
X-Originating-IP: [93.95.15.170]
X-SpamReason: No, hits=0.7 required=7.0 tests=BODY_RANDOM_LONG,
	MIME_QP_LONG_LINE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1725 invoked from network); 1 Jul 2014 19:42:28 -0000
Received: from engine03-20433-3.icritical.com (HELO
	engine03-20433-3.icritical.com) (93.95.15.170)
	by server-16.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 19:42:28 -0000
Received: (qmail 5441 invoked from network); 1 Jul 2014 19:43:10 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-3.icritical.com with SMTP; 1 Jul 2014 19:43:10 -0000
Received: from engine03-20433-3.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-3.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 04724-04 for <mirageos-devel@lists.xenproject.org>;
	Tue,  1 Jul 2014 20:43:03 +0100 (BST)
Received: (qmail 5414 invoked by uid 599); 1 Jul 2014 19:43:03 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine03-20433-3.icritical.com (qpsmtpd/0.28) with ESMTP;
	Tue, 01 Jul 2014 20:43:03 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Masoud.Koleini@nottingham.ac.uk>)
	id 1X23wZ-0002Eu-Fp; Tue, 01 Jul 2014 20:42:19 +0100
From: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
To: Rudi Grinberg <rudi.grinberg@gmail.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, 
	Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Date: Tue, 1 Jul 2014 20:42:18 +0100
Thread-Topic: [MirageOS-devel] Lwt is deprecated - Async?
Thread-Index: Ac+VUvHtqLHMDd/OSWKnyxpSaoD7KgAEKjJX
Message-ID: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>,
	<op.xibxt7dnaxolw7@rudis-macbook-pro.local>
In-Reply-To: <op.xibxt7dnaxolw7@rudis-macbook-pro.local>
Accept-Language: en-US, en-GB
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine03-20433-3.icritical.com
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I didn't see any announcement, but here is the discussion on why Lwt is removed from Frenetic:

https://github.com/frenetic-lang/ocaml-openflow/pull/87

________________________________________
From: Rudi Grinberg [rudi.grinberg@gmail.com]
Sent: 01 July 2014 18:35
To: mirageos-devel@lists.xenproject.org; Masoud Koleini
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?

On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini
<Masoud.Koleini@nottingham.ac.uk> wrote:

> since Lwt is now deprecated and not actively maintained.

This is news to me. Was there an announcement for this? Last time I looked
Lwt repo was fairly active.


This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 19:42:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 19:42:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X23wl-0003Nc-Ir; Tue, 01 Jul 2014 19:42:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Masoud.Koleini@nottingham.ac.uk>) id 1X23wj-0003NX-MZ
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 19:42:29 +0000
Received: from [193.109.254.147:29904] by server-16.bemta-14.messagelabs.com
	id B6/CC-16986-42F03B35; Tue, 01 Jul 2014 19:42:28 +0000
X-Env-Sender: Masoud.Koleini@nottingham.ac.uk
X-Msg-Ref: server-16.tower-27.messagelabs.com!1404243748!9484722!1
X-Originating-IP: [93.95.15.170]
X-SpamReason: No, hits=0.7 required=7.0 tests=BODY_RANDOM_LONG,
	MIME_QP_LONG_LINE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1725 invoked from network); 1 Jul 2014 19:42:28 -0000
Received: from engine03-20433-3.icritical.com (HELO
	engine03-20433-3.icritical.com) (93.95.15.170)
	by server-16.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 19:42:28 -0000
Received: (qmail 5441 invoked from network); 1 Jul 2014 19:43:10 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-3.icritical.com with SMTP; 1 Jul 2014 19:43:10 -0000
Received: from engine03-20433-3.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-3.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 04724-04 for <mirageos-devel@lists.xenproject.org>;
	Tue,  1 Jul 2014 20:43:03 +0100 (BST)
Received: (qmail 5414 invoked by uid 599); 1 Jul 2014 19:43:03 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine03-20433-3.icritical.com (qpsmtpd/0.28) with ESMTP;
	Tue, 01 Jul 2014 20:43:03 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Masoud.Koleini@nottingham.ac.uk>)
	id 1X23wZ-0002Eu-Fp; Tue, 01 Jul 2014 20:42:19 +0100
From: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
To: Rudi Grinberg <rudi.grinberg@gmail.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, 
	Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Date: Tue, 1 Jul 2014 20:42:18 +0100
Thread-Topic: [MirageOS-devel] Lwt is deprecated - Async?
Thread-Index: Ac+VUvHtqLHMDd/OSWKnyxpSaoD7KgAEKjJX
Message-ID: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>,
	<op.xibxt7dnaxolw7@rudis-macbook-pro.local>
In-Reply-To: <op.xibxt7dnaxolw7@rudis-macbook-pro.local>
Accept-Language: en-US, en-GB
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine03-20433-3.icritical.com
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I didn't see any announcement, but here is the discussion on why Lwt is removed from Frenetic:

https://github.com/frenetic-lang/ocaml-openflow/pull/87

________________________________________
From: Rudi Grinberg [rudi.grinberg@gmail.com]
Sent: 01 July 2014 18:35
To: mirageos-devel@lists.xenproject.org; Masoud Koleini
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?

On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini
<Masoud.Koleini@nottingham.ac.uk> wrote:

> since Lwt is now deprecated and not actively maintained.

This is news to me. Was there an announcement for this? Last time I looked
Lwt repo was fairly active.


This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 19:53:53 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 19:53:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X247j-0003mF-OL; Tue, 01 Jul 2014 19:53:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X247h-0003mA-Va
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 19:53:50 +0000
Received: from [85.158.143.35:33114] by server-3.bemta-4.messagelabs.com id
	5C/D3-16194-DC113B35; Tue, 01 Jul 2014 19:53:49 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1404244427!15162747!1
X-Originating-IP: [209.85.219.53]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26174 invoked from network); 1 Jul 2014 19:53:48 -0000
Received: from mail-oa0-f53.google.com (HELO mail-oa0-f53.google.com)
	(209.85.219.53)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 19:53:48 -0000
Received: by mail-oa0-f53.google.com with SMTP id l6so11119648oag.40
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 12:53:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=KblTIVbfEjnKxy/vnc38u4MswJ1Amb3MAVEo7dCEx7I=;
	b=frnzOTGqheaq0GHsp7CyWdIdHIYAs9grteiHc9FkPa9fqTwyywrUHCFQUKdu9essVv
	OFyMQAsArRRUDpEIE+NNU8rMoFGOHLGrVZQt/xG4ieRKk7L2ZMbznl4GrXJE25hRI5zG
	6ePqh/ZTbVZDhCvJe4llMbYYjuoWfO1CIvdbY+UTxVYQ+EAFWbcZHudwn6BplZmQkQ7k
	egMLPQZwt0KvKpBDBIkqe2DECl5Xcznuns9ZOg0au0NN7tbap3ToYiD3pYUhtROY6XFS
	Da3jG0nB0Mt+eF+yplyZmHZKfQF54LaPibRFnLmpEKvJi+mQe9KeidMuqFj1rVHvXPVp
	udVg==
MIME-Version: 1.0
X-Received: by 10.182.98.194 with SMTP id ek2mr51050483obb.5.1404244426896;
	Tue, 01 Jul 2014 12:53:46 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 1 Jul 2014 12:53:46 -0700 (PDT)
Date: Tue, 1 Jul 2014 20:53:46 +0100
Message-ID: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I've got printing of floating point values working now on ARM, but
while testing I discovered it crashes on x86.

This turned out to be unrelated to OCaml or Mirage. It seems that
passing a double argument to any varargs function causes a crash on
x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
light on what might cause that? x86 is a mystery to me.

My test case is:

static void foo(char *fmt, ...) { }

static void float_tester(void *p)
{
    printk("Running tests...\n");
    foo("%d", 3);
    printk("Pass int.\n");
    foo("%f", 3.1);
    printk("Pass float.\n");
}

I run it twice, once in the main thread and once in a Mini-OS thread:

    printk("Test main: start_info=%p\n", si);
    float_tester(NULL);
    printk("Starting float_thread...\n");
    create_thread("float", float_tester, NULL);

The output is:

(d114) Test main: start_info=00000000000416c0
(d114) Running tests...
(d114) Pass int.
(d114) Pass float.
(d114) Starting float_thread...
(d114) Thread "float": pointer: 0x1ef190, stack: 0x230000
(d114) Running tests...
(d114) Pass int.
(d114) GPF rip: 0000000000006b0c, error_code=0
(d114) Thread: float
(d114) RIP: e030:[<0000000000006b0c>]
(d114) RSP: e02b:000000000023ff08  EFLAGS: 00010202
(d114) RAX: 0000000000000001 RBX: 0000000000006b35 RCX: 00000000deadbeef
(d114) RDX: 00000000deadbeef RSI: 00000000deadbeef RDI: 0000000000011d59
(d114) RBP: 000000000023ffc8 R08: 000000000000000b R09: 0000000000000000
(d114) R10: 000000000000000b R11: 0000000000000000 R12: 0000000000000000
(d114) R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
(d114) base is 0x23ffc8 caller is 0x6b95
(d114) base is 0x23ffe8 caller is 0x343b
(d114)
(d114) 23fef0: 08 ff 23 00 00 00 00 00 2b e0 00 00 00 00 00 00
(d114) 23ff00: 08 00 00 00 30 00 00 00 d8 ff 23 00 00 00 00 00
(d114) 23ff10: 18 ff 23 00 00 00 00 00 c2 c2 c2 c2 c2 c2 c2 c2
(d114) 23ff20: ef be ad de 00 00 00 00 ef be ad de 00 00 00 00
(d114)
(d114) 23ffb0: c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2
(d114) 23ffc0: c2 c2 c2 c2 c2 c2 c2 c2 e8 ff 23 00 00 00 00 00
(d114) 23ffd0: 95 6b 00 00 00 00 00 00 cd cc cc cc cc cc 08 40
(d114) 23ffe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
(d114)
(d114) 6af0: ff ff ff 48 89 8d 68 ff ff ff 4c 89 85 70 ff ff
(d114) 6b00: ff 4c 89 8d 78 ff ff ff 84 c0 74 20 0f 29 45 80
(d114) 6b10: 0f 29 4d 90 0f 29 55 a0 0f 29 5d b0 0f 29 65 c0
(d114) 6b20: 0f 29 6d d0 0f 29 75 e0 0f 29 7d f0 48 89 bd 48

Any ideas?

The test case is on the "crash" branch here if you want to try it:

  https://github.com/talex5/xen/commits/crash


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 19:53:53 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 19:53:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X247j-0003mF-OL; Tue, 01 Jul 2014 19:53:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X247h-0003mA-Va
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 19:53:50 +0000
Received: from [85.158.143.35:33114] by server-3.bemta-4.messagelabs.com id
	5C/D3-16194-DC113B35; Tue, 01 Jul 2014 19:53:49 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1404244427!15162747!1
X-Originating-IP: [209.85.219.53]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26174 invoked from network); 1 Jul 2014 19:53:48 -0000
Received: from mail-oa0-f53.google.com (HELO mail-oa0-f53.google.com)
	(209.85.219.53)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 19:53:48 -0000
Received: by mail-oa0-f53.google.com with SMTP id l6so11119648oag.40
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 12:53:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=KblTIVbfEjnKxy/vnc38u4MswJ1Amb3MAVEo7dCEx7I=;
	b=frnzOTGqheaq0GHsp7CyWdIdHIYAs9grteiHc9FkPa9fqTwyywrUHCFQUKdu9essVv
	OFyMQAsArRRUDpEIE+NNU8rMoFGOHLGrVZQt/xG4ieRKk7L2ZMbznl4GrXJE25hRI5zG
	6ePqh/ZTbVZDhCvJe4llMbYYjuoWfO1CIvdbY+UTxVYQ+EAFWbcZHudwn6BplZmQkQ7k
	egMLPQZwt0KvKpBDBIkqe2DECl5Xcznuns9ZOg0au0NN7tbap3ToYiD3pYUhtROY6XFS
	Da3jG0nB0Mt+eF+yplyZmHZKfQF54LaPibRFnLmpEKvJi+mQe9KeidMuqFj1rVHvXPVp
	udVg==
MIME-Version: 1.0
X-Received: by 10.182.98.194 with SMTP id ek2mr51050483obb.5.1404244426896;
	Tue, 01 Jul 2014 12:53:46 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 1 Jul 2014 12:53:46 -0700 (PDT)
Date: Tue, 1 Jul 2014 20:53:46 +0100
Message-ID: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I've got printing of floating point values working now on ARM, but
while testing I discovered it crashes on x86.

This turned out to be unrelated to OCaml or Mirage. It seems that
passing a double argument to any varargs function causes a crash on
x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
light on what might cause that? x86 is a mystery to me.

My test case is:

static void foo(char *fmt, ...) { }

static void float_tester(void *p)
{
    printk("Running tests...\n");
    foo("%d", 3);
    printk("Pass int.\n");
    foo("%f", 3.1);
    printk("Pass float.\n");
}

I run it twice, once in the main thread and once in a Mini-OS thread:

    printk("Test main: start_info=%p\n", si);
    float_tester(NULL);
    printk("Starting float_thread...\n");
    create_thread("float", float_tester, NULL);

The output is:

(d114) Test main: start_info=00000000000416c0
(d114) Running tests...
(d114) Pass int.
(d114) Pass float.
(d114) Starting float_thread...
(d114) Thread "float": pointer: 0x1ef190, stack: 0x230000
(d114) Running tests...
(d114) Pass int.
(d114) GPF rip: 0000000000006b0c, error_code=0
(d114) Thread: float
(d114) RIP: e030:[<0000000000006b0c>]
(d114) RSP: e02b:000000000023ff08  EFLAGS: 00010202
(d114) RAX: 0000000000000001 RBX: 0000000000006b35 RCX: 00000000deadbeef
(d114) RDX: 00000000deadbeef RSI: 00000000deadbeef RDI: 0000000000011d59
(d114) RBP: 000000000023ffc8 R08: 000000000000000b R09: 0000000000000000
(d114) R10: 000000000000000b R11: 0000000000000000 R12: 0000000000000000
(d114) R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
(d114) base is 0x23ffc8 caller is 0x6b95
(d114) base is 0x23ffe8 caller is 0x343b
(d114)
(d114) 23fef0: 08 ff 23 00 00 00 00 00 2b e0 00 00 00 00 00 00
(d114) 23ff00: 08 00 00 00 30 00 00 00 d8 ff 23 00 00 00 00 00
(d114) 23ff10: 18 ff 23 00 00 00 00 00 c2 c2 c2 c2 c2 c2 c2 c2
(d114) 23ff20: ef be ad de 00 00 00 00 ef be ad de 00 00 00 00
(d114)
(d114) 23ffb0: c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2
(d114) 23ffc0: c2 c2 c2 c2 c2 c2 c2 c2 e8 ff 23 00 00 00 00 00
(d114) 23ffd0: 95 6b 00 00 00 00 00 00 cd cc cc cc cc cc 08 40
(d114) 23ffe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
(d114)
(d114) 6af0: ff ff ff 48 89 8d 68 ff ff ff 4c 89 85 70 ff ff
(d114) 6b00: ff 4c 89 8d 78 ff ff ff 84 c0 74 20 0f 29 45 80
(d114) 6b10: 0f 29 4d 90 0f 29 55 a0 0f 29 5d b0 0f 29 65 c0
(d114) 6b20: 0f 29 6d d0 0f 29 75 e0 0f 29 7d f0 48 89 bd 48

Any ideas?

The test case is on the "crash" branch here if you want to try it:

  https://github.com/talex5/xen/commits/crash


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 19:58:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 19:58:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24Bp-0003os-IR; Tue, 01 Jul 2014 19:58:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X24Bo-0003ol-OH
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 19:58:04 +0000
Received: from [193.109.254.147:55338] by server-8.bemta-14.messagelabs.com id
	8D/FF-01877-BC213B35; Tue, 01 Jul 2014 19:58:03 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1404244681!14912163!1
X-Originating-IP: [209.85.214.172]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10384 invoked from network); 1 Jul 2014 19:58:02 -0000
Received: from mail-ob0-f172.google.com (HELO mail-ob0-f172.google.com)
	(209.85.214.172)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 19:58:02 -0000
Received: by mail-ob0-f172.google.com with SMTP id uy5so11111352obc.17
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 12:58:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=drEGUvVRngR4EAhue8Lis2FdZlDNrRfAFrkAC+6f7Cs=;
	b=JpQ7fTATq7BBromODrljWT+9VVOB8MO+ls0ekZRYfqnGO0XtWu+SSBvIplq79tdZYb
	jvse0mXpCX2Xlkp/+eFGSXUOS5rxEzjCoMh2mPzteJRiTFHZsZeEK5ezEzH4edmhRJm2
	imEXFQa1VxqupwYftuavB4w2jcXItm89rn8l7bkx6EoLT062UtfyUINraQ3XXEePUIDe
	jyMcI3VWkLNt6L9x7hFttTH+x+hdEZ3qSUb/5uEodMAGYQx+jiTkBoqSJHyxyeZyGx1m
	s0QtJNRz5AdDqPy6SOHmMwZrbXpgKcZE2kuzJ7BtXhNpEUVW5KbQ1srMsJccUcDt5eu2
	wsmQ==
MIME-Version: 1.0
X-Received: by 10.60.133.203 with SMTP id pe11mr52301089oeb.24.1404244681370; 
	Tue, 01 Jul 2014 12:58:01 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 1 Jul 2014 12:58:01 -0700 (PDT)
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
Date: Tue, 1 Jul 2014 20:58:01 +0100
Message-ID: <CAG4opy-AombVapOeJE3iJ9OmXCb70t7hEiJAFWqeP5-cSkFsfw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 July 2014 20:42, Masoud Koleini <Masoud.Koleini@nottingham.ac.uk> wrote:
> I didn't see any announcement, but here is the discussion on why Lwt is removed from Frenetic:
>
> https://github.com/frenetic-lang/ocaml-openflow/pull/87
>
> ________________________________________
> From: Rudi Grinberg [rudi.grinberg@gmail.com]
> Sent: 01 July 2014 18:35
> To: mirageos-devel@lists.xenproject.org; Masoud Koleini
> Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
>
> On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini
> <Masoud.Koleini@nottingham.ac.uk> wrote:
>
>> since Lwt is now deprecated and not actively maintained.
>
> This is news to me. Was there an announcement for this? Last time I looked
> Lwt repo was fairly active.

>From a quick read of the above link, it appears to be Frenetic's Lwt
support that is not maintained, not Lwt itself.

> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>
>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 19:58:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 19:58:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24Bp-0003os-IR; Tue, 01 Jul 2014 19:58:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X24Bo-0003ol-OH
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 19:58:04 +0000
Received: from [193.109.254.147:55338] by server-8.bemta-14.messagelabs.com id
	8D/FF-01877-BC213B35; Tue, 01 Jul 2014 19:58:03 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1404244681!14912163!1
X-Originating-IP: [209.85.214.172]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10384 invoked from network); 1 Jul 2014 19:58:02 -0000
Received: from mail-ob0-f172.google.com (HELO mail-ob0-f172.google.com)
	(209.85.214.172)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 19:58:02 -0000
Received: by mail-ob0-f172.google.com with SMTP id uy5so11111352obc.17
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 12:58:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=drEGUvVRngR4EAhue8Lis2FdZlDNrRfAFrkAC+6f7Cs=;
	b=JpQ7fTATq7BBromODrljWT+9VVOB8MO+ls0ekZRYfqnGO0XtWu+SSBvIplq79tdZYb
	jvse0mXpCX2Xlkp/+eFGSXUOS5rxEzjCoMh2mPzteJRiTFHZsZeEK5ezEzH4edmhRJm2
	imEXFQa1VxqupwYftuavB4w2jcXItm89rn8l7bkx6EoLT062UtfyUINraQ3XXEePUIDe
	jyMcI3VWkLNt6L9x7hFttTH+x+hdEZ3qSUb/5uEodMAGYQx+jiTkBoqSJHyxyeZyGx1m
	s0QtJNRz5AdDqPy6SOHmMwZrbXpgKcZE2kuzJ7BtXhNpEUVW5KbQ1srMsJccUcDt5eu2
	wsmQ==
MIME-Version: 1.0
X-Received: by 10.60.133.203 with SMTP id pe11mr52301089oeb.24.1404244681370; 
	Tue, 01 Jul 2014 12:58:01 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 1 Jul 2014 12:58:01 -0700 (PDT)
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
Date: Tue, 1 Jul 2014 20:58:01 +0100
Message-ID: <CAG4opy-AombVapOeJE3iJ9OmXCb70t7hEiJAFWqeP5-cSkFsfw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 July 2014 20:42, Masoud Koleini <Masoud.Koleini@nottingham.ac.uk> wrote:
> I didn't see any announcement, but here is the discussion on why Lwt is removed from Frenetic:
>
> https://github.com/frenetic-lang/ocaml-openflow/pull/87
>
> ________________________________________
> From: Rudi Grinberg [rudi.grinberg@gmail.com]
> Sent: 01 July 2014 18:35
> To: mirageos-devel@lists.xenproject.org; Masoud Koleini
> Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
>
> On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini
> <Masoud.Koleini@nottingham.ac.uk> wrote:
>
>> since Lwt is now deprecated and not actively maintained.
>
> This is news to me. Was there an announcement for this? Last time I looked
> Lwt repo was fairly active.

>From a quick read of the above link, it appears to be Frenetic's Lwt
support that is not maintained, not Lwt itself.

> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>
>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 19:58:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 19:58:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24Cc-0003w9-NT; Tue, 01 Jul 2014 19:58:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sebastien.mondet@gmail.com>) id 1X24Cb-0003w0-Fy
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 19:58:53 +0000
Received: from [85.158.139.211:57050] by server-6.bemta-5.messagelabs.com id
	67/88-25531-CF213B35; Tue, 01 Jul 2014 19:58:52 +0000
X-Env-Sender: sebastien.mondet@gmail.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1404244730!13067406!1
X-Originating-IP: [74.125.82.42]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11047 invoked from network); 1 Jul 2014 19:58:50 -0000
Received: from mail-wg0-f42.google.com (HELO mail-wg0-f42.google.com)
	(74.125.82.42)
	by server-6.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 19:58:50 -0000
Received: by mail-wg0-f42.google.com with SMTP id z12so10181383wgg.25
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 12:58:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=JbVEdOQnBK16zuzQG3cIEyrA8zZWmSpeH/PpZZMlw8o=;
	b=dDtEysB6dWopuboe0JMMddcpXHoPG3Iib0NTQcupW3NntrQ19Io5KJ4aGLaoZERa3Y
	AW+/wxDwLWJ6iIDx6yGD79jlyU7YfyLN+UBA7PpBU2VpiPMrC5GjvsUW5kDXQzVpFOFi
	FQnkKJJxa8QlmojiWGbfPmGcV55LJkUtbjbjsJNd0hKKHwkMzGfyh1xIcBd3aea60Lhi
	+67lF+/uEjmehL8krkJgTELKaPlokooBiZS8UhCT5mcE7VwtHOOhis82zZ4qRcfoe0yV
	NAKKhQhhEhknHMCcPJO00GcoyQyoGx0MQ8jv+Eh0haJK2MUVvj26JHv6Uh6QxjsijH5Y
	xVwg==
X-Received: by 10.194.243.10 with SMTP id wu10mr54922179wjc.44.1404244729848; 
	Tue, 01 Jul 2014 12:58:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.12.195 with HTTP; Tue, 1 Jul 2014 12:58:29 -0700 (PDT)
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
From: Sebastien Mondet <sebastien.mondet@gmail.com>
Date: Tue, 1 Jul 2014 15:58:29 -0400
Message-ID: <CALScVYnazE9LTqLfKb9pG_w6L-Xqp375FzQqErMRxT93u1bpHw@mail.gmail.com>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1218064234079647710=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1218064234079647710==
Content-Type: multipart/alternative; boundary=089e0141a2024ce8f004fd27340e

--089e0141a2024ce8f004fd27340e
Content-Type: text/plain; charset=UTF-8

That discussion does not say at all "why", it just says "we're doing it, we
don't want to maintain the old code, so fork the project if you're not
happy" :)


On Tue, Jul 1, 2014 at 3:42 PM, Masoud Koleini <
Masoud.Koleini@nottingham.ac.uk> wrote:

> I didn't see any announcement, but here is the discussion on why Lwt is
> removed from Frenetic:
>
> https://github.com/frenetic-lang/ocaml-openflow/pull/87
>
> ________________________________________
> From: Rudi Grinberg [rudi.grinberg@gmail.com]
> Sent: 01 July 2014 18:35
> To: mirageos-devel@lists.xenproject.org; Masoud Koleini
> Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
>
> On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini
> <Masoud.Koleini@nottingham.ac.uk> wrote:
>
> > since Lwt is now deprecated and not actively maintained.
>
> This is news to me. Was there an announcement for this? Last time I looked
> Lwt repo was fairly active.
>
>
> This message and any attachment are intended solely for the addressee and
> may contain confidential information. If you have received this message in
> error, please send it back to me, and immediately delete it.   Please do
> not use, copy or disclose the information contained in this message or in
> any attachment.  Any views or opinions expressed by the author of this
> email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer
> system, you are advised to perform your own checks. Email communications
> with the University of Nottingham may be monitored as permitted by UK
> legislation.
>
>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>

--089e0141a2024ce8f004fd27340e
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><br><br></div>That discussion does not say at all &qu=
ot;why&quot;, it just says &quot;we&#39;re doing it, we don&#39;t want to m=
aintain the old code, so fork the project if you&#39;re not happy&quot; :)<=
br>

<br><br><div class=3D"gmail_extra"><div class=3D"gmail_quote">On Tue, Jul 1=
, 2014 at 3:42 PM, Masoud Koleini <span dir=3D"ltr">&lt;<a href=3D"mailto:M=
asoud.Koleini@nottingham.ac.uk" target=3D"_blank">Masoud.Koleini@nottingham=
.ac.uk</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">I didn&#39;t see any announcement, but here =
is the discussion on why Lwt is removed from Frenetic:<br>
<br>
<a href=3D"https://github.com/frenetic-lang/ocaml-openflow/pull/87" target=
=3D"_blank">https://github.com/frenetic-lang/ocaml-openflow/pull/87</a><br>
<br>
________________________________________<br>
From: Rudi Grinberg [<a href=3D"mailto:rudi.grinberg@gmail.com">rudi.grinbe=
rg@gmail.com</a>]<br>
Sent: 01 July 2014 18:35<br>
To: <a href=3D"mailto:mirageos-devel@lists.xenproject.org">mirageos-devel@l=
ists.xenproject.org</a>; Masoud Koleini<br>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?<br>
<div class=3D"im HOEnZb"><br>
On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini<br>
&lt;<a href=3D"mailto:Masoud.Koleini@nottingham.ac.uk">Masoud.Koleini@notti=
ngham.ac.uk</a>&gt; wrote:<br>
<br>
&gt; since Lwt is now deprecated and not actively maintained.<br>
<br>
This is news to me. Was there an announcement for this? Last time I looked<=
br>
Lwt repo was fairly active.<br>
<br>
<br>
</div><div class=3D"im HOEnZb">This message and any attachment are intended=
 solely for the addressee and may contain confidential information. If you =
have received this message in error, please send it back to me, and immedia=
tely delete it. =C2=A0 Please do not use, copy or disclose the information =
contained in this message or in any attachment. =C2=A0Any views or opinions=
 expressed by the author of this email do not necessarily reflect the views=
 of the University of Nottingham.<br>


<br>
This message has been checked for viruses but the contents of an attachment=
<br>
may still contain software viruses which could damage your computer system,=
 you are advised to perform your own checks. Email communications with the =
University of Nottingham may be monitored as permitted by UK legislation.<b=
r>


<br>
<br>
<br>
<br>
<br>
</div><div class=3D"HOEnZb"><div class=3D"h5">_____________________________=
__________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br></div></div>

--089e0141a2024ce8f004fd27340e--


--===============1218064234079647710==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1218064234079647710==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 19:58:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 19:58:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24Cc-0003w9-NT; Tue, 01 Jul 2014 19:58:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sebastien.mondet@gmail.com>) id 1X24Cb-0003w0-Fy
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 19:58:53 +0000
Received: from [85.158.139.211:57050] by server-6.bemta-5.messagelabs.com id
	67/88-25531-CF213B35; Tue, 01 Jul 2014 19:58:52 +0000
X-Env-Sender: sebastien.mondet@gmail.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1404244730!13067406!1
X-Originating-IP: [74.125.82.42]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11047 invoked from network); 1 Jul 2014 19:58:50 -0000
Received: from mail-wg0-f42.google.com (HELO mail-wg0-f42.google.com)
	(74.125.82.42)
	by server-6.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 19:58:50 -0000
Received: by mail-wg0-f42.google.com with SMTP id z12so10181383wgg.25
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 12:58:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=JbVEdOQnBK16zuzQG3cIEyrA8zZWmSpeH/PpZZMlw8o=;
	b=dDtEysB6dWopuboe0JMMddcpXHoPG3Iib0NTQcupW3NntrQ19Io5KJ4aGLaoZERa3Y
	AW+/wxDwLWJ6iIDx6yGD79jlyU7YfyLN+UBA7PpBU2VpiPMrC5GjvsUW5kDXQzVpFOFi
	FQnkKJJxa8QlmojiWGbfPmGcV55LJkUtbjbjsJNd0hKKHwkMzGfyh1xIcBd3aea60Lhi
	+67lF+/uEjmehL8krkJgTELKaPlokooBiZS8UhCT5mcE7VwtHOOhis82zZ4qRcfoe0yV
	NAKKhQhhEhknHMCcPJO00GcoyQyoGx0MQ8jv+Eh0haJK2MUVvj26JHv6Uh6QxjsijH5Y
	xVwg==
X-Received: by 10.194.243.10 with SMTP id wu10mr54922179wjc.44.1404244729848; 
	Tue, 01 Jul 2014 12:58:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.12.195 with HTTP; Tue, 1 Jul 2014 12:58:29 -0700 (PDT)
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
From: Sebastien Mondet <sebastien.mondet@gmail.com>
Date: Tue, 1 Jul 2014 15:58:29 -0400
Message-ID: <CALScVYnazE9LTqLfKb9pG_w6L-Xqp375FzQqErMRxT93u1bpHw@mail.gmail.com>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1218064234079647710=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1218064234079647710==
Content-Type: multipart/alternative; boundary=089e0141a2024ce8f004fd27340e

--089e0141a2024ce8f004fd27340e
Content-Type: text/plain; charset=UTF-8

That discussion does not say at all "why", it just says "we're doing it, we
don't want to maintain the old code, so fork the project if you're not
happy" :)


On Tue, Jul 1, 2014 at 3:42 PM, Masoud Koleini <
Masoud.Koleini@nottingham.ac.uk> wrote:

> I didn't see any announcement, but here is the discussion on why Lwt is
> removed from Frenetic:
>
> https://github.com/frenetic-lang/ocaml-openflow/pull/87
>
> ________________________________________
> From: Rudi Grinberg [rudi.grinberg@gmail.com]
> Sent: 01 July 2014 18:35
> To: mirageos-devel@lists.xenproject.org; Masoud Koleini
> Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
>
> On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini
> <Masoud.Koleini@nottingham.ac.uk> wrote:
>
> > since Lwt is now deprecated and not actively maintained.
>
> This is news to me. Was there an announcement for this? Last time I looked
> Lwt repo was fairly active.
>
>
> This message and any attachment are intended solely for the addressee and
> may contain confidential information. If you have received this message in
> error, please send it back to me, and immediately delete it.   Please do
> not use, copy or disclose the information contained in this message or in
> any attachment.  Any views or opinions expressed by the author of this
> email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer
> system, you are advised to perform your own checks. Email communications
> with the University of Nottingham may be monitored as permitted by UK
> legislation.
>
>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>

--089e0141a2024ce8f004fd27340e
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><br><br></div>That discussion does not say at all &qu=
ot;why&quot;, it just says &quot;we&#39;re doing it, we don&#39;t want to m=
aintain the old code, so fork the project if you&#39;re not happy&quot; :)<=
br>

<br><br><div class=3D"gmail_extra"><div class=3D"gmail_quote">On Tue, Jul 1=
, 2014 at 3:42 PM, Masoud Koleini <span dir=3D"ltr">&lt;<a href=3D"mailto:M=
asoud.Koleini@nottingham.ac.uk" target=3D"_blank">Masoud.Koleini@nottingham=
.ac.uk</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">I didn&#39;t see any announcement, but here =
is the discussion on why Lwt is removed from Frenetic:<br>
<br>
<a href=3D"https://github.com/frenetic-lang/ocaml-openflow/pull/87" target=
=3D"_blank">https://github.com/frenetic-lang/ocaml-openflow/pull/87</a><br>
<br>
________________________________________<br>
From: Rudi Grinberg [<a href=3D"mailto:rudi.grinberg@gmail.com">rudi.grinbe=
rg@gmail.com</a>]<br>
Sent: 01 July 2014 18:35<br>
To: <a href=3D"mailto:mirageos-devel@lists.xenproject.org">mirageos-devel@l=
ists.xenproject.org</a>; Masoud Koleini<br>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?<br>
<div class=3D"im HOEnZb"><br>
On Tue, 01 Jul 2014 13:28:43 -0400, Masoud Koleini<br>
&lt;<a href=3D"mailto:Masoud.Koleini@nottingham.ac.uk">Masoud.Koleini@notti=
ngham.ac.uk</a>&gt; wrote:<br>
<br>
&gt; since Lwt is now deprecated and not actively maintained.<br>
<br>
This is news to me. Was there an announcement for this? Last time I looked<=
br>
Lwt repo was fairly active.<br>
<br>
<br>
</div><div class=3D"im HOEnZb">This message and any attachment are intended=
 solely for the addressee and may contain confidential information. If you =
have received this message in error, please send it back to me, and immedia=
tely delete it. =C2=A0 Please do not use, copy or disclose the information =
contained in this message or in any attachment. =C2=A0Any views or opinions=
 expressed by the author of this email do not necessarily reflect the views=
 of the University of Nottingham.<br>


<br>
This message has been checked for viruses but the contents of an attachment=
<br>
may still contain software viruses which could damage your computer system,=
 you are advised to perform your own checks. Email communications with the =
University of Nottingham may be monitored as permitted by UK legislation.<b=
r>


<br>
<br>
<br>
<br>
<br>
</div><div class=3D"HOEnZb"><div class=3D"h5">_____________________________=
__________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br></div></div>

--089e0141a2024ce8f004fd27340e--


--===============1218064234079647710==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1218064234079647710==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 20:04:25 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 20:04:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24Hv-0004RG-J6; Tue, 01 Jul 2014 20:04:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <daniel.buenzli@erratique.ch>) id 1X24Hu-0004RB-Mb
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 20:04:22 +0000
Received: from [193.109.254.147:2301] by server-10.bemta-14.messagelabs.com id
	B2/DC-01431-54413B35; Tue, 01 Jul 2014 20:04:21 +0000
X-Env-Sender: daniel.buenzli@erratique.ch
X-Msg-Ref: server-15.tower-27.messagelabs.com!1404245061!14902256!1
X-Originating-IP: [74.55.86.74]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNzQuNTUuODYuNzQgPT4gMzA4NTYz\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14978 invoked from network); 1 Jul 2014 20:04:21 -0000
Received: from mail6.webfaction.com (HELO smtp.webfaction.com) (74.55.86.74)
	by server-15.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 20:04:21 -0000
Received: from [172.20.10.2] (188.29.165.31.threembb.co.uk [188.29.165.31])
	by smtp.webfaction.com (Postfix) with ESMTP id 2C5A42223E4C;
	Tue,  1 Jul 2014 20:04:18 +0000 (UTC)
Date: Tue, 1 Jul 2014 21:04:15 +0100
From: =?utf-8?Q?Daniel_B=C3=BCnzli?= <daniel.buenzli@erratique.ch>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Message-ID: <ABA7AFAF0CAC4349BDAAF303D87EF296@erratique.ch>
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<,> <op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Disposition: inline
Cc: "=?utf-8?Q?mirageos-devel=40lists.xenproject.org?="
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

TGUgbWFyZGksIDEganVpbGxldCAyMDE0IMOgIDIwOjQyLCBNYXNvdWQgS29sZWluaSBhIMOpY3Jp
dCA6Cj4gSSBkaWRuJ3Qgc2VlIGFueSBhbm5vdW5jZW1lbnQsIGJ1dCBoZXJlIGlzIHRoZSBkaXNj
dXNzaW9uIG9uIHdoeSBMd3QgaXMgcmVtb3ZlZCBmcm9tIEZyZW5ldGljOgo+ICAKPiBodHRwczov
L2dpdGh1Yi5jb20vZnJlbmV0aWMtbGFuZy9vY2FtbC1vcGVuZmxvdy9wdWxsLzg3CgpTbyBiYXNp
Y2FsbHkgYSBwcm9qZWN0IGRyb3BzIEx3dCBzbyBpdCBtZWFucyB0aGF0IMKrIEx3dCBpcyBub3cg
ZGVwcmVjYXRlZCBhbmQgbm90IGFjdGl2ZWx5IG1haW50YWluZWQuIMK7ICAKCllvdSBtYXkgd2Fu
dCB0byByZXZpZXcgeW91ciBpbmZlcmVuY2UgZW5naW5lLiAgCgpCZXN0LAoKRGFuaWVsCiAgCgoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdl
b3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 20:04:25 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 20:04:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24Hv-0004RG-J6; Tue, 01 Jul 2014 20:04:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <daniel.buenzli@erratique.ch>) id 1X24Hu-0004RB-Mb
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 20:04:22 +0000
Received: from [193.109.254.147:2301] by server-10.bemta-14.messagelabs.com id
	B2/DC-01431-54413B35; Tue, 01 Jul 2014 20:04:21 +0000
X-Env-Sender: daniel.buenzli@erratique.ch
X-Msg-Ref: server-15.tower-27.messagelabs.com!1404245061!14902256!1
X-Originating-IP: [74.55.86.74]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNzQuNTUuODYuNzQgPT4gMzA4NTYz\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14978 invoked from network); 1 Jul 2014 20:04:21 -0000
Received: from mail6.webfaction.com (HELO smtp.webfaction.com) (74.55.86.74)
	by server-15.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 20:04:21 -0000
Received: from [172.20.10.2] (188.29.165.31.threembb.co.uk [188.29.165.31])
	by smtp.webfaction.com (Postfix) with ESMTP id 2C5A42223E4C;
	Tue,  1 Jul 2014 20:04:18 +0000 (UTC)
Date: Tue, 1 Jul 2014 21:04:15 +0100
From: =?utf-8?Q?Daniel_B=C3=BCnzli?= <daniel.buenzli@erratique.ch>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Message-ID: <ABA7AFAF0CAC4349BDAAF303D87EF296@erratique.ch>
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<,> <op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Disposition: inline
Cc: "=?utf-8?Q?mirageos-devel=40lists.xenproject.org?="
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

TGUgbWFyZGksIDEganVpbGxldCAyMDE0IMOgIDIwOjQyLCBNYXNvdWQgS29sZWluaSBhIMOpY3Jp
dCA6Cj4gSSBkaWRuJ3Qgc2VlIGFueSBhbm5vdW5jZW1lbnQsIGJ1dCBoZXJlIGlzIHRoZSBkaXNj
dXNzaW9uIG9uIHdoeSBMd3QgaXMgcmVtb3ZlZCBmcm9tIEZyZW5ldGljOgo+ICAKPiBodHRwczov
L2dpdGh1Yi5jb20vZnJlbmV0aWMtbGFuZy9vY2FtbC1vcGVuZmxvdy9wdWxsLzg3CgpTbyBiYXNp
Y2FsbHkgYSBwcm9qZWN0IGRyb3BzIEx3dCBzbyBpdCBtZWFucyB0aGF0IMKrIEx3dCBpcyBub3cg
ZGVwcmVjYXRlZCBhbmQgbm90IGFjdGl2ZWx5IG1haW50YWluZWQuIMK7ICAKCllvdSBtYXkgd2Fu
dCB0byByZXZpZXcgeW91ciBpbmZlcmVuY2UgZW5naW5lLiAgCgpCZXN0LAoKRGFuaWVsCiAgCgoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdl
b3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 20:15:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 20:15:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24T0-0005g9-2L; Tue, 01 Jul 2014 20:15:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Masoud.Koleini@nottingham.ac.uk>) id 1X24Sz-0005g3-57
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 20:15:49 +0000
Received: from [193.109.254.147:39590] by server-7.bemta-14.messagelabs.com id
	2D/0E-17726-4F613B35; Tue, 01 Jul 2014 20:15:48 +0000
X-Env-Sender: Masoud.Koleini@nottingham.ac.uk
X-Msg-Ref: server-10.tower-27.messagelabs.com!1404245747!14912379!1
X-Originating-IP: [93.159.202.117]
X-SpamReason: No, hits=0.7 required=7.0 tests=BODY_RANDOM_LONG,
	MIME_QP_LONG_LINE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6568 invoked from network); 1 Jul 2014 20:15:47 -0000
Received: from engine03-20433-11.icritical.com (HELO
	engine03-20433-11.icritical.com) (93.159.202.117)
	by server-10.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 20:15:47 -0000
Received: (qmail 20942 invoked from network); 1 Jul 2014 20:15:43 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-11.icritical.com with SMTP; 1 Jul 2014 20:15:43 -0000
Received: from engine03-20433-11.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-11.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 20220-06 for <mirageos-devel@lists.xenproject.org>;
	Tue,  1 Jul 2014 21:15:35 +0100 (BST)
Received: (qmail 20886 invoked by uid 599); 1 Jul 2014 20:15:35 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-11.icritical.com (qpsmtpd/0.28) with ESMTP;
	Tue, 01 Jul 2014 21:15:35 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Masoud.Koleini@nottingham.ac.uk>)
	id 1X24Sn-0002e3-1h; Tue, 01 Jul 2014 21:15:37 +0100
From: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
To: =?iso-8859-1?Q?Daniel_B=FCnzli?= <daniel.buenzli@erratique.ch>, Masoud
	Koleini <Masoud.Koleini@nottingham.ac.uk>
Date: Tue, 1 Jul 2014 21:13:02 +0100
Thread-Topic: [MirageOS-devel] Lwt is deprecated - Async?
Thread-Index: Ac+VZ6nqQsAmmz9AQ/q7IV3r9Sxm9gAATIt7
Message-ID: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE93@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<,> <op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>,
	<ABA7AFAF0CAC4349BDAAF303D87EF296@erratique.ch>
In-Reply-To: <ABA7AFAF0CAC4349BDAAF303D87EF296@erratique.ch>
Accept-Language: en-US, en-GB
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine03-20433-11.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Yes, that looks right.

Any suggestion for making Frenetic, or any Async based code, to interact wi=
th Mirage Lwt-based libraries?
________________________________________
From: Daniel B=FCnzli [daniel.buenzli@erratique.ch]
Sent: 01 July 2014 21:04
To: Masoud Koleini
Cc: Rudi Grinberg; mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?

Le mardi, 1 juillet 2014 =E0 20:42, Masoud Koleini a =E9crit :
> I didn't see any announcement, but here is the discussion on why Lwt is r=
emoved from Frenetic:
>
> https://github.com/frenetic-lang/ocaml-openflow/pull/87

So basically a project drops Lwt so it means that =AB Lwt is now deprecated=
 and not actively maintained. =BB

You may want to review your inference engine.

Best,

Daniel


This message and any attachment are intended solely for the addressee and m=
ay contain confidential information. If you have received this message in e=
rror, please send it back to me, and immediately delete it.   Please do not=
 use, copy or disclose the information contained in this message or in any =
attachment.  Any views or opinions expressed by the author of this email do=
 not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system,=
 you are advised to perform your own checks. Email communications with the =
University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 20:15:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 20:15:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24T0-0005g9-2L; Tue, 01 Jul 2014 20:15:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Masoud.Koleini@nottingham.ac.uk>) id 1X24Sz-0005g3-57
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 20:15:49 +0000
Received: from [193.109.254.147:39590] by server-7.bemta-14.messagelabs.com id
	2D/0E-17726-4F613B35; Tue, 01 Jul 2014 20:15:48 +0000
X-Env-Sender: Masoud.Koleini@nottingham.ac.uk
X-Msg-Ref: server-10.tower-27.messagelabs.com!1404245747!14912379!1
X-Originating-IP: [93.159.202.117]
X-SpamReason: No, hits=0.7 required=7.0 tests=BODY_RANDOM_LONG,
	MIME_QP_LONG_LINE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6568 invoked from network); 1 Jul 2014 20:15:47 -0000
Received: from engine03-20433-11.icritical.com (HELO
	engine03-20433-11.icritical.com) (93.159.202.117)
	by server-10.tower-27.messagelabs.com with SMTP;
	1 Jul 2014 20:15:47 -0000
Received: (qmail 20942 invoked from network); 1 Jul 2014 20:15:43 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-11.icritical.com with SMTP; 1 Jul 2014 20:15:43 -0000
Received: from engine03-20433-11.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-11.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 20220-06 for <mirageos-devel@lists.xenproject.org>;
	Tue,  1 Jul 2014 21:15:35 +0100 (BST)
Received: (qmail 20886 invoked by uid 599); 1 Jul 2014 20:15:35 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-11.icritical.com (qpsmtpd/0.28) with ESMTP;
	Tue, 01 Jul 2014 21:15:35 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Masoud.Koleini@nottingham.ac.uk>)
	id 1X24Sn-0002e3-1h; Tue, 01 Jul 2014 21:15:37 +0100
From: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
To: =?iso-8859-1?Q?Daniel_B=FCnzli?= <daniel.buenzli@erratique.ch>, Masoud
	Koleini <Masoud.Koleini@nottingham.ac.uk>
Date: Tue, 1 Jul 2014 21:13:02 +0100
Thread-Topic: [MirageOS-devel] Lwt is deprecated - Async?
Thread-Index: Ac+VZ6nqQsAmmz9AQ/q7IV3r9Sxm9gAATIt7
Message-ID: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE93@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<,> <op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>,
	<ABA7AFAF0CAC4349BDAAF303D87EF296@erratique.ch>
In-Reply-To: <ABA7AFAF0CAC4349BDAAF303D87EF296@erratique.ch>
Accept-Language: en-US, en-GB
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine03-20433-11.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Yes, that looks right.

Any suggestion for making Frenetic, or any Async based code, to interact wi=
th Mirage Lwt-based libraries?
________________________________________
From: Daniel B=FCnzli [daniel.buenzli@erratique.ch]
Sent: 01 July 2014 21:04
To: Masoud Koleini
Cc: Rudi Grinberg; mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?

Le mardi, 1 juillet 2014 =E0 20:42, Masoud Koleini a =E9crit :
> I didn't see any announcement, but here is the discussion on why Lwt is r=
emoved from Frenetic:
>
> https://github.com/frenetic-lang/ocaml-openflow/pull/87

So basically a project drops Lwt so it means that =AB Lwt is now deprecated=
 and not actively maintained. =BB

You may want to review your inference engine.

Best,

Daniel


This message and any attachment are intended solely for the addressee and m=
ay contain confidential information. If you have received this message in e=
rror, please send it back to me, and immediately delete it.   Please do not=
 use, copy or disclose the information contained in this message or in any =
attachment.  Any views or opinions expressed by the author of this email do=
 not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system,=
 you are advised to perform your own checks. Email communications with the =
University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 20:38:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 20:38:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24p9-0006bT-Jh; Tue, 01 Jul 2014 20:38:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <agarwal1975@gmail.com>) id 1X24p8-0006bO-JE
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 20:38:42 +0000
Received: from [85.158.143.35:10126] by server-3.bemta-4.messagelabs.com id
	78/4A-16194-15C13B35; Tue, 01 Jul 2014 20:38:41 +0000
X-Env-Sender: agarwal1975@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1404247119!14850241!1
X-Originating-IP: [209.85.192.41]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17269 invoked from network); 1 Jul 2014 20:38:40 -0000
Received: from mail-qg0-f41.google.com (HELO mail-qg0-f41.google.com)
	(209.85.192.41)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 20:38:40 -0000
Received: by mail-qg0-f41.google.com with SMTP id i50so3948722qgf.0
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 13:38:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=Ch1lLL5w9wWcxvWTjj0By1Km0pmxLzp6v79HBbX4Nb8=;
	b=FSbDeC9fJ/L9txFkFaDnfQLTCVt+MKzQDBzMgF8FwH6t2MUJephR2Oim53BQpHUYap
	7ZAa9jBKsqyTNP+qU0V6CKrA6VQXHB7Dsww2+KV3pecK6atsCoERw1gGmJOKz9Qi8pU0
	oTgfCVr7cGeNMsfP72H66Yg7LUinO0o0lAVOPgyGxM0EBFneYbMy7/gNIE1+RwCtti0q
	qVaR6IzOsmJa0geyyMTkvLRvM5yjXYqia7EoKWW3w3zLtuEb+ebTxzmFFSANIu5UAYfN
	BOI9S34K8TLDmj4+VwSFD7O/NypqaxGjAaD58i3gi2/lqNLuEXHu22S1FblMPYhNreFT
	7rMw==
X-Received: by 10.224.72.13 with SMTP id k13mr77126848qaj.54.1404247119556;
	Tue, 01 Jul 2014 13:38:39 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.133.78 with HTTP; Tue, 1 Jul 2014 13:38:19 -0700 (PDT)
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE93@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
	<ABA7AFAF0CAC4349BDAAF303D87EF296@erratique.ch>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE93@EXCHANGE1.ad.nottingham.ac.uk>
From: Ashish Agarwal <agarwal1975@gmail.com>
Date: Tue, 1 Jul 2014 16:38:19 -0400
Message-ID: <CAMu2m2+MXPYsO2PgJNgj1Tt66eaqx3+K9U=XYQacGb_1NTih3w@mail.gmail.com>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0592494039593904584=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0592494039593904584==
Content-Type: multipart/alternative; boundary=047d7bf160e4bcf8d404fd27c244

--047d7bf160e4bcf8d404fd27c244
Content-Type: text/plain; charset=UTF-8

On Tue, Jul 1, 2014 at 4:13 PM, Masoud Koleini <
Masoud.Koleini@nottingham.ac.uk> wrote:

Any suggestion for making Frenetic, or any Async based code, to interact
> with Mirage Lwt-based libraries?
>

There is the lwt-async library [1], but I don't know how it is supposed to
be used nor whether it is actively being worked on (the last commit was in
January).
[1] https://github.com/janestreet/lwt-async

There is also my Future library [2], but this probably not helpful to you.
It doesn't let you use lwt and async together, only lets you abstract over
the two. Eventually, you still have to pick one. Also, it has only a tiny
bit of features.
[2] https://github.com/agarwal/future

--047d7bf160e4bcf8d404fd27c244
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On T=
ue, Jul 1, 2014 at 4:13 PM, Masoud Koleini <span dir=3D"ltr">&lt;<a href=3D=
"mailto:Masoud.Koleini@nottingham.ac.uk" target=3D"_blank">Masoud.Koleini@n=
ottingham.ac.uk</a>&gt;</span> wrote:<br>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p=
x 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-lef=
t-style:solid;padding-left:1ex">
Any suggestion for making Frenetic, or any Async based code, to interact wi=
th Mirage Lwt-based libraries?<br></blockquote><div><br></div><div>There is=
 the lwt-async library [1], but I don&#39;t know how it is supposed to be u=
sed nor whether it is actively being worked on (the last commit was in Janu=
ary).</div>

<div>[1] <a href=3D"https://github.com/janestreet/lwt-async">https://github=
.com/janestreet/lwt-async</a><br></div><div><br></div><div>There is also my=
 Future library [2], but this probably not helpful to you. It doesn&#39;t l=
et you use lwt and async together, only lets you abstract over the two. Eve=
ntually, you still have to pick one. Also, it has only a tiny bit of featur=
es.</div>

<div>[2] <a href=3D"https://github.com/agarwal/future">https://github.com/a=
garwal/future</a><br></div><div><br></div></div></div></div>

--047d7bf160e4bcf8d404fd27c244--


--===============0592494039593904584==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0592494039593904584==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 01 20:38:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jul 2014 20:38:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X24p9-0006bT-Jh; Tue, 01 Jul 2014 20:38:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <agarwal1975@gmail.com>) id 1X24p8-0006bO-JE
	for mirageos-devel@lists.xenproject.org; Tue, 01 Jul 2014 20:38:42 +0000
Received: from [85.158.143.35:10126] by server-3.bemta-4.messagelabs.com id
	78/4A-16194-15C13B35; Tue, 01 Jul 2014 20:38:41 +0000
X-Env-Sender: agarwal1975@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1404247119!14850241!1
X-Originating-IP: [209.85.192.41]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17269 invoked from network); 1 Jul 2014 20:38:40 -0000
Received: from mail-qg0-f41.google.com (HELO mail-qg0-f41.google.com)
	(209.85.192.41)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Jul 2014 20:38:40 -0000
Received: by mail-qg0-f41.google.com with SMTP id i50so3948722qgf.0
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 01 Jul 2014 13:38:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=Ch1lLL5w9wWcxvWTjj0By1Km0pmxLzp6v79HBbX4Nb8=;
	b=FSbDeC9fJ/L9txFkFaDnfQLTCVt+MKzQDBzMgF8FwH6t2MUJephR2Oim53BQpHUYap
	7ZAa9jBKsqyTNP+qU0V6CKrA6VQXHB7Dsww2+KV3pecK6atsCoERw1gGmJOKz9Qi8pU0
	oTgfCVr7cGeNMsfP72H66Yg7LUinO0o0lAVOPgyGxM0EBFneYbMy7/gNIE1+RwCtti0q
	qVaR6IzOsmJa0geyyMTkvLRvM5yjXYqia7EoKWW3w3zLtuEb+ebTxzmFFSANIu5UAYfN
	BOI9S34K8TLDmj4+VwSFD7O/NypqaxGjAaD58i3gi2/lqNLuEXHu22S1FblMPYhNreFT
	7rMw==
X-Received: by 10.224.72.13 with SMTP id k13mr77126848qaj.54.1404247119556;
	Tue, 01 Jul 2014 13:38:39 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.133.78 with HTTP; Tue, 1 Jul 2014 13:38:19 -0700 (PDT)
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE93@EXCHANGE1.ad.nottingham.ac.uk>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
	<op.xibxt7dnaxolw7@rudis-macbook-pro.local>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE92@EXCHANGE1.ad.nottingham.ac.uk>
	<ABA7AFAF0CAC4349BDAAF303D87EF296@erratique.ch>
	<12C67A1EEC419342AF5E59DA31562C3F0D9039AE93@EXCHANGE1.ad.nottingham.ac.uk>
From: Ashish Agarwal <agarwal1975@gmail.com>
Date: Tue, 1 Jul 2014 16:38:19 -0400
Message-ID: <CAMu2m2+MXPYsO2PgJNgj1Tt66eaqx3+K9U=XYQacGb_1NTih3w@mail.gmail.com>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0592494039593904584=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0592494039593904584==
Content-Type: multipart/alternative; boundary=047d7bf160e4bcf8d404fd27c244

--047d7bf160e4bcf8d404fd27c244
Content-Type: text/plain; charset=UTF-8

On Tue, Jul 1, 2014 at 4:13 PM, Masoud Koleini <
Masoud.Koleini@nottingham.ac.uk> wrote:

Any suggestion for making Frenetic, or any Async based code, to interact
> with Mirage Lwt-based libraries?
>

There is the lwt-async library [1], but I don't know how it is supposed to
be used nor whether it is actively being worked on (the last commit was in
January).
[1] https://github.com/janestreet/lwt-async

There is also my Future library [2], but this probably not helpful to you.
It doesn't let you use lwt and async together, only lets you abstract over
the two. Eventually, you still have to pick one. Also, it has only a tiny
bit of features.
[2] https://github.com/agarwal/future

--047d7bf160e4bcf8d404fd27c244
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On T=
ue, Jul 1, 2014 at 4:13 PM, Masoud Koleini <span dir=3D"ltr">&lt;<a href=3D=
"mailto:Masoud.Koleini@nottingham.ac.uk" target=3D"_blank">Masoud.Koleini@n=
ottingham.ac.uk</a>&gt;</span> wrote:<br>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p=
x 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-lef=
t-style:solid;padding-left:1ex">
Any suggestion for making Frenetic, or any Async based code, to interact wi=
th Mirage Lwt-based libraries?<br></blockquote><div><br></div><div>There is=
 the lwt-async library [1], but I don&#39;t know how it is supposed to be u=
sed nor whether it is actively being worked on (the last commit was in Janu=
ary).</div>

<div>[1] <a href=3D"https://github.com/janestreet/lwt-async">https://github=
.com/janestreet/lwt-async</a><br></div><div><br></div><div>There is also my=
 Future library [2], but this probably not helpful to you. It doesn&#39;t l=
et you use lwt and async together, only lets you abstract over the two. Eve=
ntually, you still have to pick one. Also, it has only a tiny bit of featur=
es.</div>

<div>[2] <a href=3D"https://github.com/agarwal/future">https://github.com/a=
garwal/future</a><br></div><div><br></div></div></div></div>

--047d7bf160e4bcf8d404fd27c244--


--===============0592494039593904584==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0592494039593904584==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 08:04:09 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 08:04:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2FWM-00066E-NY; Wed, 02 Jul 2014 08:04:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X2FWL-000668-RP
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 08:04:02 +0000
Received: from [85.158.143.35:62992] by server-2.bemta-4.messagelabs.com id
	C0/6F-06539-1FCB3B35; Wed, 02 Jul 2014 08:04:01 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1404288240!15281341!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29960 invoked from network); 2 Jul 2014 08:04:00 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-8.tower-21.messagelabs.com with SMTP;
	2 Jul 2014 08:04:00 -0000
Received: (qmail 11517 invoked by uid 634); 2 Jul 2014 08:03:59 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297639.home.otenet.gr (HELO [10.100.22.69])
	(85.73.210.69)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 02 Jul 2014 09:03:59 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
Date: Wed, 2 Jul 2014 10:46:43 +0300
Message-Id: <AB041874-81A4-4782-8041-2E952D1C2A11@recoil.org>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 Jul 2014, at 20:28, Masoud Koleini <Masoud.Koleini@nottingham.ac.uk> wrote:

> Hi All,
> 
> I am working on porting Frenetic OpenFlow to Mirage. Recently, Frenetic has replaced Lwt library with Async, since Lwt is now deprecated and not actively maintained.
> 
> Is there any plan to support Async in future Mirage developments? Do you have any suggestion to make Frenetic, or any Async based code, to interact with Mirage Lwt-based libraries?

Hi Masoud,

Great to hear that you're porting Frenetic to Mirage!  We've been making steady progress on porting Async to the Xen backend, but it's still going to take some time to complete.  Here's the steps:

- Lwt splits out the logical threading core (the Lwt module) and the Unix-specific execution portions (Lwt_unix).  Async needs to be restructured along similar lines, which has already begun: there is a Core_kernel that is Unix-independent and is used by our Irmin db.  There is also an Async_kernel.

- An Async_xen needs to be written which implements the subset of Async_unix functionality necessary to drive traffic.  Async_unix is much bigger than Lwt_unix, so finding a viable subset is important (for instance, Async_unix.Reader and Async_xen.Reader need to have a similar module type, but cannot be exactly the same).

- Frenetic needs to use Async_kernel in the OS-independent portions, instead of using Async (which packs in both Async_kernel and Async_unix).

In the short term, it's worth porting the low-level protocol portions first, for instance the Openflow switch logic.  Haris did some of this last year, so it's worth figuring out the differences between that Openflow switch and the Frenetic interfaces, and ensuring that they are compatible.

A Mirage OpenFlow switch, with a controller running in a Unix VM (perhaps connected via vchan) is something that wouldn't take too long to build, and doesn't require the full Async port to be completed since the controller could run under Unix for now.

Let me know if this e-mail made any sense, Masoud :-)   Happy to clarify further.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 08:04:09 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 08:04:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2FWM-00066E-NY; Wed, 02 Jul 2014 08:04:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X2FWL-000668-RP
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 08:04:02 +0000
Received: from [85.158.143.35:62992] by server-2.bemta-4.messagelabs.com id
	C0/6F-06539-1FCB3B35; Wed, 02 Jul 2014 08:04:01 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1404288240!15281341!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29960 invoked from network); 2 Jul 2014 08:04:00 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-8.tower-21.messagelabs.com with SMTP;
	2 Jul 2014 08:04:00 -0000
Received: (qmail 11517 invoked by uid 634); 2 Jul 2014 08:03:59 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297639.home.otenet.gr (HELO [10.100.22.69])
	(85.73.210.69)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 02 Jul 2014 09:03:59 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
Date: Wed, 2 Jul 2014 10:46:43 +0300
Message-Id: <AB041874-81A4-4782-8041-2E952D1C2A11@recoil.org>
References: <12C67A1EEC419342AF5E59DA31562C3F0D9039AE90@EXCHANGE1.ad.nottingham.ac.uk>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt is deprecated - Async?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 Jul 2014, at 20:28, Masoud Koleini <Masoud.Koleini@nottingham.ac.uk> wrote:

> Hi All,
> 
> I am working on porting Frenetic OpenFlow to Mirage. Recently, Frenetic has replaced Lwt library with Async, since Lwt is now deprecated and not actively maintained.
> 
> Is there any plan to support Async in future Mirage developments? Do you have any suggestion to make Frenetic, or any Async based code, to interact with Mirage Lwt-based libraries?

Hi Masoud,

Great to hear that you're porting Frenetic to Mirage!  We've been making steady progress on porting Async to the Xen backend, but it's still going to take some time to complete.  Here's the steps:

- Lwt splits out the logical threading core (the Lwt module) and the Unix-specific execution portions (Lwt_unix).  Async needs to be restructured along similar lines, which has already begun: there is a Core_kernel that is Unix-independent and is used by our Irmin db.  There is also an Async_kernel.

- An Async_xen needs to be written which implements the subset of Async_unix functionality necessary to drive traffic.  Async_unix is much bigger than Lwt_unix, so finding a viable subset is important (for instance, Async_unix.Reader and Async_xen.Reader need to have a similar module type, but cannot be exactly the same).

- Frenetic needs to use Async_kernel in the OS-independent portions, instead of using Async (which packs in both Async_kernel and Async_unix).

In the short term, it's worth porting the low-level protocol portions first, for instance the Openflow switch logic.  Haris did some of this last year, so it's worth figuring out the differences between that Openflow switch and the Frenetic interfaces, and ensuring that they are compatible.

A Mirage OpenFlow switch, with a controller running in a Unix VM (perhaps connected via vchan) is something that wouldn't take too long to build, and doesn't require the full Async port to be completed since the controller could run under Unix for now.

Let me know if this e-mail made any sense, Masoud :-)   Happy to clarify further.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 08:05:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 08:05:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2FXQ-00067q-Ur; Wed, 02 Jul 2014 08:05:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X2FXP-00067l-Rc
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 08:05:08 +0000
Received: from [85.158.143.35:60365] by server-2.bemta-4.messagelabs.com id
	4C/42-06539-33DB3B35; Wed, 02 Jul 2014 08:05:07 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-12.tower-21.messagelabs.com!1404288306!15270169!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29748 invoked from network); 2 Jul 2014 08:05:06 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-12.tower-21.messagelabs.com with SMTP;
	2 Jul 2014 08:05:06 -0000
Received: (qmail 2239 invoked by uid 634); 2 Jul 2014 08:05:06 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297639.home.otenet.gr (HELO [10.100.22.69])
	(85.73.210.69)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 02 Jul 2014 09:05:06 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
Date: Wed, 2 Jul 2014 11:02:43 +0300
Message-Id: <D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
References: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 Jul 2014, at 22:53, Thomas Leonard <talex5@gmail.com> wrote:

> I've got printing of floating point values working now on ARM, but
> while testing I discovered it crashes on x86.
> 
> This turned out to be unrelated to OCaml or Mirage. It seems that
> passing a double argument to any varargs function causes a crash on
> x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
> light on what might cause that? x86 is a mystery to me.

First thing to check is that %rsp stack alignment is valid when you
enter the function, as it's required to be 16-byte aligned by the
x86_64 ABI if you're using the XMM registers.

An ancient diff in our local MiniOS that fixed one instance of this
is below. (I can't reproduce this instantly to give you a more precise
diagnosis as I'm travelling at the moment, apologies!)

-anil


commit c185b18d3e1809257d6b5dcba1bd258ec77565e1
Author: Anil Madhavapeddy <anil@recoil.org>
Date:   Wed Jul 21 16:59:24 2010 +0100

    fix a nasty stack misalignment problem when executing code inside an event handler.
    The irq stack xen injects is only 8 byte aligned instead of 16, and so eventually any varargs call 
    Just adjust %esp directly in the callback to deal with this case.

diff --git a/runtime/kernel/hypervisor.c b/runtime/kernel/hypervisor.c
index 9f628c4..19c2134 100644
--- a/runtime/kernel/hypervisor.c
+++ b/runtime/kernel/hypervisor.c
@@ -46,6 +46,11 @@ void do_hypervisor_callback(struct pt_regs *regs)
 
     in_callback = 1;
 
+    /* Adjust the stack to be 16-byte aligned, so that functions
+       called from an event callback will respect the x86_64 ABI.
+       The Xen IRQ injection is only 8-bytes */
+    asm("andl $0xfffffff0, %esp");
+
     vcpu_info->evtchn_upcall_pending = 0;
     /* NB x86. No need for a barrier here -- XCHG is a barrier on x86. */
     l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
@@ -60,7 +65,7 @@ void do_hypervisor_callback(struct pt_regs *regs)
             l2 &= ~(1UL << l2i);
 
             port = (l1i * (sizeof(unsigned long) * 8)) + l2i;
-                       do_event(port, regs);
+            do_event(port, regs);
         }
     }
 



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 08:05:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 08:05:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2FXQ-00067q-Ur; Wed, 02 Jul 2014 08:05:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X2FXP-00067l-Rc
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 08:05:08 +0000
Received: from [85.158.143.35:60365] by server-2.bemta-4.messagelabs.com id
	4C/42-06539-33DB3B35; Wed, 02 Jul 2014 08:05:07 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-12.tower-21.messagelabs.com!1404288306!15270169!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29748 invoked from network); 2 Jul 2014 08:05:06 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-12.tower-21.messagelabs.com with SMTP;
	2 Jul 2014 08:05:06 -0000
Received: (qmail 2239 invoked by uid 634); 2 Jul 2014 08:05:06 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297639.home.otenet.gr (HELO [10.100.22.69])
	(85.73.210.69)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 02 Jul 2014 09:05:06 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
Date: Wed, 2 Jul 2014 11:02:43 +0300
Message-Id: <D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
References: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 1 Jul 2014, at 22:53, Thomas Leonard <talex5@gmail.com> wrote:

> I've got printing of floating point values working now on ARM, but
> while testing I discovered it crashes on x86.
> 
> This turned out to be unrelated to OCaml or Mirage. It seems that
> passing a double argument to any varargs function causes a crash on
> x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
> light on what might cause that? x86 is a mystery to me.

First thing to check is that %rsp stack alignment is valid when you
enter the function, as it's required to be 16-byte aligned by the
x86_64 ABI if you're using the XMM registers.

An ancient diff in our local MiniOS that fixed one instance of this
is below. (I can't reproduce this instantly to give you a more precise
diagnosis as I'm travelling at the moment, apologies!)

-anil


commit c185b18d3e1809257d6b5dcba1bd258ec77565e1
Author: Anil Madhavapeddy <anil@recoil.org>
Date:   Wed Jul 21 16:59:24 2010 +0100

    fix a nasty stack misalignment problem when executing code inside an event handler.
    The irq stack xen injects is only 8 byte aligned instead of 16, and so eventually any varargs call 
    Just adjust %esp directly in the callback to deal with this case.

diff --git a/runtime/kernel/hypervisor.c b/runtime/kernel/hypervisor.c
index 9f628c4..19c2134 100644
--- a/runtime/kernel/hypervisor.c
+++ b/runtime/kernel/hypervisor.c
@@ -46,6 +46,11 @@ void do_hypervisor_callback(struct pt_regs *regs)
 
     in_callback = 1;
 
+    /* Adjust the stack to be 16-byte aligned, so that functions
+       called from an event callback will respect the x86_64 ABI.
+       The Xen IRQ injection is only 8-bytes */
+    asm("andl $0xfffffff0, %esp");
+
     vcpu_info->evtchn_upcall_pending = 0;
     /* NB x86. No need for a barrier here -- XCHG is a barrier on x86. */
     l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
@@ -60,7 +65,7 @@ void do_hypervisor_callback(struct pt_regs *regs)
             l2 &= ~(1UL << l2i);
 
             port = (l1i * (sizeof(unsigned long) * 8)) + l2i;
-                       do_event(port, regs);
+            do_event(port, regs);
         }
     }
 



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 10:04:38 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 10:04:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2HP2-00055N-7p; Wed, 02 Jul 2014 10:04:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X2HP1-00054z-3a
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 10:04:35 +0000
Received: from [193.109.254.147:26089] by server-15.bemta-14.messagelabs.com
	id A0/C3-15813-239D3B35; Wed, 02 Jul 2014 10:04:34 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1404295472!15015890!1
X-Originating-IP: [209.85.219.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10268 invoked from network); 2 Jul 2014 10:04:33 -0000
Received: from mail-oa0-f45.google.com (HELO mail-oa0-f45.google.com)
	(209.85.219.45)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	2 Jul 2014 10:04:33 -0000
Received: by mail-oa0-f45.google.com with SMTP id o6so11921448oag.4
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 02 Jul 2014 03:04:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=CysavAuYqv7yTgxoRaX0VNlYpxUiL98yhWd8/0DJ7Ew=;
	b=L5BXkmsMTc+VSr30V/S9pHoZG+f+M20Owys4tph48/WIUpjmVON0IPjpbII6t1Cek6
	Dd0zQsDT3TZTqxfNfDMtD+KyeWTVY+RW1gt2X3UWaTNaByDouELNjX7FCahGXtn+pk1p
	eL39MDvxULWfKmjI+QVjyx2giSMF8za8VX9BTU1zfqyQMjwKEC0kfzH8RFO8XgH30ZvO
	scRuMKI3hm+uZhOmdgAiDCB0Lr7GzxeNcb060cir7yulnl4r4G8vC31MpgPygWx/8f6z
	IwMpRe34RAbyxZvnBJJFT8LeQvooqJusBThevDqpKUAxUqsW9nsCXdn13I8S+GFw0FPe
	JtUw==
MIME-Version: 1.0
X-Received: by 10.182.138.65 with SMTP id qo1mr56753190obb.9.1404295471713;
	Wed, 02 Jul 2014 03:04:31 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 2 Jul 2014 03:04:31 -0700 (PDT)
In-Reply-To: <D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
References: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
	<D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
Date: Wed, 2 Jul 2014 11:04:31 +0100
Message-ID: <CAG4opy80z0sMM8WntyD8rEcZAfxX0r3MMzgOfLxwebkcaMiKBQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 July 2014 09:02, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 1 Jul 2014, at 22:53, Thomas Leonard <talex5@gmail.com> wrote:
>
>> I've got printing of floating point values working now on ARM, but
>> while testing I discovered it crashes on x86.
>>
>> This turned out to be unrelated to OCaml or Mirage. It seems that
>> passing a double argument to any varargs function causes a crash on
>> x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
>> light on what might cause that? x86 is a mystery to me.
>
> First thing to check is that %rsp stack alignment is valid when you
> enter the function, as it's required to be 16-byte aligned by the
> x86_64 ABI if you're using the XMM registers.
>
> An ancient diff in our local MiniOS that fixed one instance of this
> is below. (I can't reproduce this instantly to give you a more precise
> diagnosis as I'm travelling at the moment, apologies!)

Ah, that was indeed the problem. I changed the x86 arch_create_thread
to skip 8 bytes and now it works!

Though, it seemed that it *was* 16-byte aligned before, and is now off
by 8 bytes, which I don't understand. I'll send the patch to xen-devel
and they can decide if it's the right fix.

Thanks!


> -anil
>
>
> commit c185b18d3e1809257d6b5dcba1bd258ec77565e1
> Author: Anil Madhavapeddy <anil@recoil.org>
> Date:   Wed Jul 21 16:59:24 2010 +0100
>
>     fix a nasty stack misalignment problem when executing code inside an event handler.
>     The irq stack xen injects is only 8 byte aligned instead of 16, and so eventually any varargs call
>     Just adjust %esp directly in the callback to deal with this case.
>
> diff --git a/runtime/kernel/hypervisor.c b/runtime/kernel/hypervisor.c
> index 9f628c4..19c2134 100644
> --- a/runtime/kernel/hypervisor.c
> +++ b/runtime/kernel/hypervisor.c
> @@ -46,6 +46,11 @@ void do_hypervisor_callback(struct pt_regs *regs)
>
>      in_callback = 1;
>
> +    /* Adjust the stack to be 16-byte aligned, so that functions
> +       called from an event callback will respect the x86_64 ABI.
> +       The Xen IRQ injection is only 8-bytes */
> +    asm("andl $0xfffffff0, %esp");
> +
>      vcpu_info->evtchn_upcall_pending = 0;
>      /* NB x86. No need for a barrier here -- XCHG is a barrier on x86. */
>      l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
> @@ -60,7 +65,7 @@ void do_hypervisor_callback(struct pt_regs *regs)
>              l2 &= ~(1UL << l2i);
>
>              port = (l1i * (sizeof(unsigned long) * 8)) + l2i;
> -                       do_event(port, regs);
> +            do_event(port, regs);
>          }
>      }
>
>
>



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 10:04:38 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 10:04:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2HP2-00055N-7p; Wed, 02 Jul 2014 10:04:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X2HP1-00054z-3a
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 10:04:35 +0000
Received: from [193.109.254.147:26089] by server-15.bemta-14.messagelabs.com
	id A0/C3-15813-239D3B35; Wed, 02 Jul 2014 10:04:34 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1404295472!15015890!1
X-Originating-IP: [209.85.219.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10268 invoked from network); 2 Jul 2014 10:04:33 -0000
Received: from mail-oa0-f45.google.com (HELO mail-oa0-f45.google.com)
	(209.85.219.45)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	2 Jul 2014 10:04:33 -0000
Received: by mail-oa0-f45.google.com with SMTP id o6so11921448oag.4
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 02 Jul 2014 03:04:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=CysavAuYqv7yTgxoRaX0VNlYpxUiL98yhWd8/0DJ7Ew=;
	b=L5BXkmsMTc+VSr30V/S9pHoZG+f+M20Owys4tph48/WIUpjmVON0IPjpbII6t1Cek6
	Dd0zQsDT3TZTqxfNfDMtD+KyeWTVY+RW1gt2X3UWaTNaByDouELNjX7FCahGXtn+pk1p
	eL39MDvxULWfKmjI+QVjyx2giSMF8za8VX9BTU1zfqyQMjwKEC0kfzH8RFO8XgH30ZvO
	scRuMKI3hm+uZhOmdgAiDCB0Lr7GzxeNcb060cir7yulnl4r4G8vC31MpgPygWx/8f6z
	IwMpRe34RAbyxZvnBJJFT8LeQvooqJusBThevDqpKUAxUqsW9nsCXdn13I8S+GFw0FPe
	JtUw==
MIME-Version: 1.0
X-Received: by 10.182.138.65 with SMTP id qo1mr56753190obb.9.1404295471713;
	Wed, 02 Jul 2014 03:04:31 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 2 Jul 2014 03:04:31 -0700 (PDT)
In-Reply-To: <D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
References: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
	<D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
Date: Wed, 2 Jul 2014 11:04:31 +0100
Message-ID: <CAG4opy80z0sMM8WntyD8rEcZAfxX0r3MMzgOfLxwebkcaMiKBQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 July 2014 09:02, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 1 Jul 2014, at 22:53, Thomas Leonard <talex5@gmail.com> wrote:
>
>> I've got printing of floating point values working now on ARM, but
>> while testing I discovered it crashes on x86.
>>
>> This turned out to be unrelated to OCaml or Mirage. It seems that
>> passing a double argument to any varargs function causes a crash on
>> x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
>> light on what might cause that? x86 is a mystery to me.
>
> First thing to check is that %rsp stack alignment is valid when you
> enter the function, as it's required to be 16-byte aligned by the
> x86_64 ABI if you're using the XMM registers.
>
> An ancient diff in our local MiniOS that fixed one instance of this
> is below. (I can't reproduce this instantly to give you a more precise
> diagnosis as I'm travelling at the moment, apologies!)

Ah, that was indeed the problem. I changed the x86 arch_create_thread
to skip 8 bytes and now it works!

Though, it seemed that it *was* 16-byte aligned before, and is now off
by 8 bytes, which I don't understand. I'll send the patch to xen-devel
and they can decide if it's the right fix.

Thanks!


> -anil
>
>
> commit c185b18d3e1809257d6b5dcba1bd258ec77565e1
> Author: Anil Madhavapeddy <anil@recoil.org>
> Date:   Wed Jul 21 16:59:24 2010 +0100
>
>     fix a nasty stack misalignment problem when executing code inside an event handler.
>     The irq stack xen injects is only 8 byte aligned instead of 16, and so eventually any varargs call
>     Just adjust %esp directly in the callback to deal with this case.
>
> diff --git a/runtime/kernel/hypervisor.c b/runtime/kernel/hypervisor.c
> index 9f628c4..19c2134 100644
> --- a/runtime/kernel/hypervisor.c
> +++ b/runtime/kernel/hypervisor.c
> @@ -46,6 +46,11 @@ void do_hypervisor_callback(struct pt_regs *regs)
>
>      in_callback = 1;
>
> +    /* Adjust the stack to be 16-byte aligned, so that functions
> +       called from an event callback will respect the x86_64 ABI.
> +       The Xen IRQ injection is only 8-bytes */
> +    asm("andl $0xfffffff0, %esp");
> +
>      vcpu_info->evtchn_upcall_pending = 0;
>      /* NB x86. No need for a barrier here -- XCHG is a barrier on x86. */
>      l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
> @@ -60,7 +65,7 @@ void do_hypervisor_callback(struct pt_regs *regs)
>              l2 &= ~(1UL << l2i);
>
>              port = (l1i * (sizeof(unsigned long) * 8)) + l2i;
> -                       do_event(port, regs);
> +            do_event(port, regs);
>          }
>      }
>
>
>



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 11:45:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 11:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2Iyv-0001ow-GU; Wed, 02 Jul 2014 11:45:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X2Iyt-0001on-Cg
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 11:45:43 +0000
Received: from [85.158.139.211:35927] by server-17.bemta-5.messagelabs.com id
	66/60-08711-6E0F3B35; Wed, 02 Jul 2014 11:45:42 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-3.tower-206.messagelabs.com!1404301541!5644702!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21569 invoked from network); 2 Jul 2014 11:45:41 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-3.tower-206.messagelabs.com with SMTP;
	2 Jul 2014 11:45:41 -0000
Received: (qmail 27937 invoked by uid 634); 2 Jul 2014 11:45:41 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297293.home.otenet.gr (HELO [10.100.22.69])
	(85.73.208.235)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 02 Jul 2014 12:45:40 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy80z0sMM8WntyD8rEcZAfxX0r3MMzgOfLxwebkcaMiKBQ@mail.gmail.com>
Date: Wed, 2 Jul 2014 14:45:23 +0300
Message-Id: <CF5F1EE9-DBDA-4D07-87F3-7E54FACC1B78@recoil.org>
References: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
	<D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
	<CAG4opy80z0sMM8WntyD8rEcZAfxX0r3MMzgOfLxwebkcaMiKBQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 Jul 2014, at 13:04, Thomas Leonard <talex5@gmail.com> wrote:

> On 2 July 2014 09:02, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 1 Jul 2014, at 22:53, Thomas Leonard <talex5@gmail.com> wrote:
>> 
>>> I've got printing of floating point values working now on ARM, but
>>> while testing I discovered it crashes on x86.
>>> 
>>> This turned out to be unrelated to OCaml or Mirage. It seems that
>>> passing a double argument to any varargs function causes a crash on
>>> x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
>>> light on what might cause that? x86 is a mystery to me.
>> 
>> First thing to check is that %rsp stack alignment is valid when you
>> enter the function, as it's required to be 16-byte aligned by the
>> x86_64 ABI if you're using the XMM registers.
>> 
>> An ancient diff in our local MiniOS that fixed one instance of this
>> is below. (I can't reproduce this instantly to give you a more precise
>> diagnosis as I'm travelling at the moment, apologies!)
> 
> Ah, that was indeed the problem. I changed the x86 arch_create_thread
> to skip 8 bytes and now it works!
> 
> Though, it seemed that it *was* 16-byte aligned before, and is now off
> by 8 bytes, which I don't understand. I'll send the patch to xen-devel
> and they can decide if it's the right fix.

Stack misalignment is the bug that keeps on giving.  It's really easy
for an unrelated change to misalign the stack under some conditions, and
to not notice until a future 16-byte alignment operation happens.

Found several of these in OCaml as well...
http://caml.inria.fr/mantis/view.php?id=5700
http://caml.inria.fr/mantis/view.php?id=6038

Incidentally, I notice that the thread machinery in MiniOS is now active
again.  I removed it from our MiniOS on the basis that it wasn't used
(but there's no harm in leaving it there now).  But that might explain
why the issue cropped up again, as I never tested that code path in
upstream MiniOS.

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 11:45:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 11:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2Iyv-0001ow-GU; Wed, 02 Jul 2014 11:45:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X2Iyt-0001on-Cg
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 11:45:43 +0000
Received: from [85.158.139.211:35927] by server-17.bemta-5.messagelabs.com id
	66/60-08711-6E0F3B35; Wed, 02 Jul 2014 11:45:42 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-3.tower-206.messagelabs.com!1404301541!5644702!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21569 invoked from network); 2 Jul 2014 11:45:41 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-3.tower-206.messagelabs.com with SMTP;
	2 Jul 2014 11:45:41 -0000
Received: (qmail 27937 invoked by uid 634); 2 Jul 2014 11:45:41 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from athedsl-297293.home.otenet.gr (HELO [10.100.22.69])
	(85.73.208.235)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 02 Jul 2014 12:45:40 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy80z0sMM8WntyD8rEcZAfxX0r3MMzgOfLxwebkcaMiKBQ@mail.gmail.com>
Date: Wed, 2 Jul 2014 14:45:23 +0300
Message-Id: <CF5F1EE9-DBDA-4D07-87F3-7E54FACC1B78@recoil.org>
References: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
	<D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
	<CAG4opy80z0sMM8WntyD8rEcZAfxX0r3MMzgOfLxwebkcaMiKBQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 Jul 2014, at 13:04, Thomas Leonard <talex5@gmail.com> wrote:

> On 2 July 2014 09:02, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 1 Jul 2014, at 22:53, Thomas Leonard <talex5@gmail.com> wrote:
>> 
>>> I've got printing of floating point values working now on ARM, but
>>> while testing I discovered it crashes on x86.
>>> 
>>> This turned out to be unrelated to OCaml or Mirage. It seems that
>>> passing a double argument to any varargs function causes a crash on
>>> x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
>>> light on what might cause that? x86 is a mystery to me.
>> 
>> First thing to check is that %rsp stack alignment is valid when you
>> enter the function, as it's required to be 16-byte aligned by the
>> x86_64 ABI if you're using the XMM registers.
>> 
>> An ancient diff in our local MiniOS that fixed one instance of this
>> is below. (I can't reproduce this instantly to give you a more precise
>> diagnosis as I'm travelling at the moment, apologies!)
> 
> Ah, that was indeed the problem. I changed the x86 arch_create_thread
> to skip 8 bytes and now it works!
> 
> Though, it seemed that it *was* 16-byte aligned before, and is now off
> by 8 bytes, which I don't understand. I'll send the patch to xen-devel
> and they can decide if it's the right fix.

Stack misalignment is the bug that keeps on giving.  It's really easy
for an unrelated change to misalign the stack under some conditions, and
to not notice until a future 16-byte alignment operation happens.

Found several of these in OCaml as well...
http://caml.inria.fr/mantis/view.php?id=5700
http://caml.inria.fr/mantis/view.php?id=6038

Incidentally, I notice that the thread machinery in MiniOS is now active
again.  I removed it from our MiniOS on the basis that it wasn't used
(but there's no harm in leaving it there now).  But that might explain
why the issue cropped up again, as I never tested that code path in
upstream MiniOS.

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 12:53:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 12:53:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2K2r-0006BG-45; Wed, 02 Jul 2014 12:53:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pierre.chambart@ocamlpro.com>) id 1X2K1T-0006Al-C3
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 12:52:27 +0000
Received: from [85.158.137.68:60760] by server-13.bemta-3.messagelabs.com id
	4C/58-20015-A8004B35; Wed, 02 Jul 2014 12:52:26 +0000
X-Env-Sender: pierre.chambart@ocamlpro.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1404305545!13530733!1
X-Originating-IP: [138.231.136.39]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26712 invoked from network); 2 Jul 2014 12:52:26 -0000
Received: from redisdead.crans.org (HELO redisdead.crans.org) (138.231.136.39)
	by server-2.tower-31.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 Jul 2014 12:52:26 -0000
Received: from [192.168.1.132] (perens.inria.fr [128.93.60.79])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by redisdead.crans.org (Postfix) with ESMTPSA id D1EBD94F;
	Wed,  2 Jul 2014 14:52:24 +0200 (CEST)
Message-ID: <53B40088.40303@ocamlpro.com>
Date: Wed, 02 Jul 2014 14:52:24 +0200
From: Pierre Chambart <pierre.chambart@ocamlpro.com>
Organization: OcamlPro
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Icedove/31.0
MIME-Version: 1.0
To: Anil Madhavapeddy <anil@recoil.org>, Malcolm Matalka <mmatalka@gmail.com>
References: <87fvimpzpf.fsf@gmail.com>
	<D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
In-Reply-To: <D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
X-Mailman-Approved-At: Wed, 02 Jul 2014 12:53:51 +0000
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Whole Program Optimization in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 01/07/2014 10:14, Anil Madhavapeddy wrote:
> (no pressure, Pierre :-)
None taken ;)

By the way, I can't help to remind that I enjoy a lot receiving
segfaults reports. If any of you have some spare time to prove that my
branch fail miserably:

opam repository add -k git chambart
https://github.com/chambart/opam-compilers-repository.git
opam switch install 4.01.0+flambda
opam install ...

./your_project
... segfault ...

In fact this is not that unstable (as long as you don't 'export
EXPERIMENTS=true') anymore.

Thank you for your time !
-- 
Pierre

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 12:53:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 12:53:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2K2r-0006BG-45; Wed, 02 Jul 2014 12:53:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pierre.chambart@ocamlpro.com>) id 1X2K1T-0006Al-C3
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 12:52:27 +0000
Received: from [85.158.137.68:60760] by server-13.bemta-3.messagelabs.com id
	4C/58-20015-A8004B35; Wed, 02 Jul 2014 12:52:26 +0000
X-Env-Sender: pierre.chambart@ocamlpro.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1404305545!13530733!1
X-Originating-IP: [138.231.136.39]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26712 invoked from network); 2 Jul 2014 12:52:26 -0000
Received: from redisdead.crans.org (HELO redisdead.crans.org) (138.231.136.39)
	by server-2.tower-31.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 Jul 2014 12:52:26 -0000
Received: from [192.168.1.132] (perens.inria.fr [128.93.60.79])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by redisdead.crans.org (Postfix) with ESMTPSA id D1EBD94F;
	Wed,  2 Jul 2014 14:52:24 +0200 (CEST)
Message-ID: <53B40088.40303@ocamlpro.com>
Date: Wed, 02 Jul 2014 14:52:24 +0200
From: Pierre Chambart <pierre.chambart@ocamlpro.com>
Organization: OcamlPro
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Icedove/31.0
MIME-Version: 1.0
To: Anil Madhavapeddy <anil@recoil.org>, Malcolm Matalka <mmatalka@gmail.com>
References: <87fvimpzpf.fsf@gmail.com>
	<D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
In-Reply-To: <D42791D0-819E-44E7-8586-CB76182B5A09@recoil.org>
X-Mailman-Approved-At: Wed, 02 Jul 2014 12:53:51 +0000
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Whole Program Optimization in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 01/07/2014 10:14, Anil Madhavapeddy wrote:
> (no pressure, Pierre :-)
None taken ;)

By the way, I can't help to remind that I enjoy a lot receiving
segfaults reports. If any of you have some spare time to prove that my
branch fail miserably:

opam repository add -k git chambart
https://github.com/chambart/opam-compilers-repository.git
opam switch install 4.01.0+flambda
opam install ...

./your_project
... segfault ...

In fact this is not that unstable (as long as you don't 'export
EXPERIMENTS=true') anymore.

Thank you for your time !
-- 
Pierre

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 14:22:29 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 14:22:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2LQW-00076O-61; Wed, 02 Jul 2014 14:22:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X2LQU-000766-8m
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 14:22:22 +0000
Received: from [85.158.143.35:7902] by server-3.bemta-4.messagelabs.com id
	EC/07-16194-D9514B35; Wed, 02 Jul 2014 14:22:21 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1404310939!15390372!1
X-Originating-IP: [209.85.214.177]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28223 invoked from network); 2 Jul 2014 14:22:20 -0000
Received: from mail-ob0-f177.google.com (HELO mail-ob0-f177.google.com)
	(209.85.214.177)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 Jul 2014 14:22:20 -0000
Received: by mail-ob0-f177.google.com with SMTP id uy5so11917281obc.36
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 02 Jul 2014 07:22:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=ar50ublzBE7SH17OJQi48MQG8rwEtJhcqtVDtCPI4H0=;
	b=OFrCGhvWXWt3BaLejaYBVuMfrpmEvXRkf6gERV40pUqDfjtjWET0vaEWYstxnm8gtd
	liX53zGzgaBbnw7SVKszvzHNwxglFOUvjsxcnnvxHSFDH8pDZXmfGv6SpoT9HZMjk6J+
	DCQ3vbYTHZGcAJvk63PJvL6cQQvYevX83SQNYei1zJx8AE60gUEV/VIjt5s5FKxFO7DK
	peQBiczFN+S1PXU1FAy7JbrNKg3RgpC1lrx0lyHoqY14ZZRUZoL3WZDtedPJtyoMAbTl
	RC8aMutq6coKtzRizrygD1Og79uQ+YFyN6SuHYH/zGpVElN6NshmwKQP3MN5HD0oOMg6
	DqAg==
MIME-Version: 1.0
X-Received: by 10.182.81.99 with SMTP id z3mr18521103obx.79.1404310939262;
	Wed, 02 Jul 2014 07:22:19 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 2 Jul 2014 07:22:19 -0700 (PDT)
In-Reply-To: <CF5F1EE9-DBDA-4D07-87F3-7E54FACC1B78@recoil.org>
References: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
	<D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
	<CAG4opy80z0sMM8WntyD8rEcZAfxX0r3MMzgOfLxwebkcaMiKBQ@mail.gmail.com>
	<CF5F1EE9-DBDA-4D07-87F3-7E54FACC1B78@recoil.org>
Date: Wed, 2 Jul 2014 15:22:19 +0100
Message-ID: <CAG4opy-h5SQihP8zsBzRW7RpDyhLyBqm0ESNVRk966uGUfasMg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 July 2014 12:45, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 2 Jul 2014, at 13:04, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 2 July 2014 09:02, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> On 1 Jul 2014, at 22:53, Thomas Leonard <talex5@gmail.com> wrote:
>>>
>>>> I've got printing of floating point values working now on ARM, but
>>>> while testing I discovered it crashes on x86.
>>>>
>>>> This turned out to be unrelated to OCaml or Mirage. It seems that
>>>> passing a double argument to any varargs function causes a crash on
>>>> x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
>>>> light on what might cause that? x86 is a mystery to me.
>>>
>>> First thing to check is that %rsp stack alignment is valid when you
>>> enter the function, as it's required to be 16-byte aligned by the
>>> x86_64 ABI if you're using the XMM registers.
>>>
>>> An ancient diff in our local MiniOS that fixed one instance of this
>>> is below. (I can't reproduce this instantly to give you a more precise
>>> diagnosis as I'm travelling at the moment, apologies!)
>>
>> Ah, that was indeed the problem. I changed the x86 arch_create_thread
>> to skip 8 bytes and now it works!
>>
>> Though, it seemed that it *was* 16-byte aligned before, and is now off
>> by 8 bytes, which I don't understand. I'll send the patch to xen-devel
>> and they can decide if it's the right fix.
>
> Stack misalignment is the bug that keeps on giving.  It's really easy
> for an unrelated change to misalign the stack under some conditions, and
> to not notice until a future 16-byte alignment operation happens.
>
> Found several of these in OCaml as well...
> http://caml.inria.fr/mantis/view.php?id=5700
> http://caml.inria.fr/mantis/view.php?id=6038
>
> Incidentally, I notice that the thread machinery in MiniOS is now active
> again.  I removed it from our MiniOS on the basis that it wasn't used
> (but there's no harm in leaving it there now).  But that might explain
> why the issue cropped up again, as I never tested that code path in
> upstream MiniOS.

I've removed it again now (mirage-platform now overrides Mini-OS's
start_kernel).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 14:22:29 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 14:22:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2LQW-00076O-61; Wed, 02 Jul 2014 14:22:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X2LQU-000766-8m
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 14:22:22 +0000
Received: from [85.158.143.35:7902] by server-3.bemta-4.messagelabs.com id
	EC/07-16194-D9514B35; Wed, 02 Jul 2014 14:22:21 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1404310939!15390372!1
X-Originating-IP: [209.85.214.177]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28223 invoked from network); 2 Jul 2014 14:22:20 -0000
Received: from mail-ob0-f177.google.com (HELO mail-ob0-f177.google.com)
	(209.85.214.177)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 Jul 2014 14:22:20 -0000
Received: by mail-ob0-f177.google.com with SMTP id uy5so11917281obc.36
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 02 Jul 2014 07:22:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=ar50ublzBE7SH17OJQi48MQG8rwEtJhcqtVDtCPI4H0=;
	b=OFrCGhvWXWt3BaLejaYBVuMfrpmEvXRkf6gERV40pUqDfjtjWET0vaEWYstxnm8gtd
	liX53zGzgaBbnw7SVKszvzHNwxglFOUvjsxcnnvxHSFDH8pDZXmfGv6SpoT9HZMjk6J+
	DCQ3vbYTHZGcAJvk63PJvL6cQQvYevX83SQNYei1zJx8AE60gUEV/VIjt5s5FKxFO7DK
	peQBiczFN+S1PXU1FAy7JbrNKg3RgpC1lrx0lyHoqY14ZZRUZoL3WZDtedPJtyoMAbTl
	RC8aMutq6coKtzRizrygD1Og79uQ+YFyN6SuHYH/zGpVElN6NshmwKQP3MN5HD0oOMg6
	DqAg==
MIME-Version: 1.0
X-Received: by 10.182.81.99 with SMTP id z3mr18521103obx.79.1404310939262;
	Wed, 02 Jul 2014 07:22:19 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 2 Jul 2014 07:22:19 -0700 (PDT)
In-Reply-To: <CF5F1EE9-DBDA-4D07-87F3-7E54FACC1B78@recoil.org>
References: <CAG4opy-tTS_k-p3we7YoeC3yZD10LyFQuwHe6sPB89P46pzZBA@mail.gmail.com>
	<D178B14A-43A9-4CB9-BFFC-F8826CA5955A@recoil.org>
	<CAG4opy80z0sMM8WntyD8rEcZAfxX0r3MMzgOfLxwebkcaMiKBQ@mail.gmail.com>
	<CF5F1EE9-DBDA-4D07-87F3-7E54FACC1B78@recoil.org>
Date: Wed, 2 Jul 2014 15:22:19 +0100
Message-ID: <CAG4opy-h5SQihP8zsBzRW7RpDyhLyBqm0ESNVRk966uGUfasMg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Crash on x86 with doubles
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 July 2014 12:45, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 2 Jul 2014, at 13:04, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 2 July 2014 09:02, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> On 1 Jul 2014, at 22:53, Thomas Leonard <talex5@gmail.com> wrote:
>>>
>>>> I've got printing of floating point values working now on ARM, but
>>>> while testing I discovered it crashes on x86.
>>>>
>>>> This turned out to be unrelated to OCaml or Mirage. It seems that
>>>> passing a double argument to any varargs function causes a crash on
>>>> x86_64 if done from a Mini-OS thread. Can any x86 gurus here shed some
>>>> light on what might cause that? x86 is a mystery to me.
>>>
>>> First thing to check is that %rsp stack alignment is valid when you
>>> enter the function, as it's required to be 16-byte aligned by the
>>> x86_64 ABI if you're using the XMM registers.
>>>
>>> An ancient diff in our local MiniOS that fixed one instance of this
>>> is below. (I can't reproduce this instantly to give you a more precise
>>> diagnosis as I'm travelling at the moment, apologies!)
>>
>> Ah, that was indeed the problem. I changed the x86 arch_create_thread
>> to skip 8 bytes and now it works!
>>
>> Though, it seemed that it *was* 16-byte aligned before, and is now off
>> by 8 bytes, which I don't understand. I'll send the patch to xen-devel
>> and they can decide if it's the right fix.
>
> Stack misalignment is the bug that keeps on giving.  It's really easy
> for an unrelated change to misalign the stack under some conditions, and
> to not notice until a future 16-byte alignment operation happens.
>
> Found several of these in OCaml as well...
> http://caml.inria.fr/mantis/view.php?id=5700
> http://caml.inria.fr/mantis/view.php?id=6038
>
> Incidentally, I notice that the thread machinery in MiniOS is now active
> again.  I removed it from our MiniOS on the basis that it wasn't used
> (but there's no harm in leaving it there now).  But that might explain
> why the issue cropped up again, as I never tested that code path in
> upstream MiniOS.

I've removed it again now (mirage-platform now overrides Mini-OS's
start_kernel).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 14:28:24 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 14:28:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2LWK-0007XB-77; Wed, 02 Jul 2014 14:28:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vincent.balat@univ-paris-diderot.fr>)
	id 1X2LQA-00074v-4U
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 14:22:02 +0000
Received: from [193.109.254.147:60964] by server-15.bemta-14.messagelabs.com
	id FA/43-15813-98514B35; Wed, 02 Jul 2014 14:22:01 +0000
X-Env-Sender: vincent.balat@univ-paris-diderot.fr
X-Msg-Ref: server-15.tower-27.messagelabs.com!1404310920!15080986!1
X-Originating-IP: [194.254.61.138]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2507 invoked from network); 2 Jul 2014 14:22:01 -0000
Received: from korolev.univ-paris7.fr (HELO korolev.univ-paris7.fr)
	(194.254.61.138)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 Jul 2014 14:22:01 -0000
Received: from mailhub.math.univ-paris-diderot.fr
	(mailhub.math.univ-paris-diderot.fr [81.194.30.253])
	by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/46573) with ESMTP id
	s62EM02D030020 for <mirageos-devel@lists.xenproject.org>;
	Wed, 2 Jul 2014 16:22:00 +0200
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1])
	by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id
	7FCA32C0940 for <mirageos-devel@lists.xenproject.org>;
	Wed,  2 Jul 2014 16:22:00 +0200 (CEST)
X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr
Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1])
	by mailhub.math.univ-paris-diderot.fr
	(mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new,
	port 10023)
	with ESMTP id 2vkSIoJC8xIp for <mirageos-devel@lists.xenproject.org>;
	Wed,  2 Jul 2014 16:21:59 +0200 (CEST)
Received: from cox.localnet (cox.inria.fr [128.93.60.62])
	(Authenticated sender: balat)
	by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id
	7FC1D2C093C for <mirageos-devel@lists.xenproject.org>;
	Wed,  2 Jul 2014 16:21:58 +0200 (CEST)
From: Vincent Balat <vincent.balat@univ-paris-diderot.fr>
To: mirageos-devel@lists.xenproject.org
Date: Wed, 02 Jul 2014 16:21:56 +0200
Message-ID: <13150844.H8T2jEmesc@cox>
Organization: PPS =?UTF-8?B?VW5pdmVyc2l0w6k=?= Paris Diderot
User-Agent: KMail/4.12.4 (Linux/3.14-1-amd64; KDE/4.13.1; x86_64; ; )
MIME-Version: 1.0
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7
	(korolev.univ-paris7.fr [194.254.61.138]);
	Wed, 02 Jul 2014 16:22:00 +0200 (CEST)
X-Miltered: at korolev with ID 53B41588.002 by Joe's j-chkmail (http : //
	j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 53B41588.002 from
	mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/<vincent.balat@univ-paris-diderot.fr>
X-j-chkmail-Score: MSGID : 53B41588.002 on korolev.univ-paris7.fr : j-chkmail
	score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
X-Mailman-Approved-At: Wed, 02 Jul 2014 14:28:22 +0000
Subject: [MirageOS-devel] Lwt NOT deprecated
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi,

I'm sending this quick e-mail to deny the rumours that have been heard on this 
list:

Lwt is NOT deprecated and will still be maintained.
In particular, the Ocsigen project and all the Web apps written with 
Eliom/Js_of_ocaml are using Lwt and there is no plan to stop nor switch to 
Async.

Best,
Vincent Balat [for the Ocsigen team]



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 14:28:24 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 14:28:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2LWK-0007XB-77; Wed, 02 Jul 2014 14:28:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vincent.balat@univ-paris-diderot.fr>)
	id 1X2LQA-00074v-4U
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 14:22:02 +0000
Received: from [193.109.254.147:60964] by server-15.bemta-14.messagelabs.com
	id FA/43-15813-98514B35; Wed, 02 Jul 2014 14:22:01 +0000
X-Env-Sender: vincent.balat@univ-paris-diderot.fr
X-Msg-Ref: server-15.tower-27.messagelabs.com!1404310920!15080986!1
X-Originating-IP: [194.254.61.138]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2507 invoked from network); 2 Jul 2014 14:22:01 -0000
Received: from korolev.univ-paris7.fr (HELO korolev.univ-paris7.fr)
	(194.254.61.138)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 Jul 2014 14:22:01 -0000
Received: from mailhub.math.univ-paris-diderot.fr
	(mailhub.math.univ-paris-diderot.fr [81.194.30.253])
	by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/46573) with ESMTP id
	s62EM02D030020 for <mirageos-devel@lists.xenproject.org>;
	Wed, 2 Jul 2014 16:22:00 +0200
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1])
	by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id
	7FCA32C0940 for <mirageos-devel@lists.xenproject.org>;
	Wed,  2 Jul 2014 16:22:00 +0200 (CEST)
X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr
Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1])
	by mailhub.math.univ-paris-diderot.fr
	(mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new,
	port 10023)
	with ESMTP id 2vkSIoJC8xIp for <mirageos-devel@lists.xenproject.org>;
	Wed,  2 Jul 2014 16:21:59 +0200 (CEST)
Received: from cox.localnet (cox.inria.fr [128.93.60.62])
	(Authenticated sender: balat)
	by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id
	7FC1D2C093C for <mirageos-devel@lists.xenproject.org>;
	Wed,  2 Jul 2014 16:21:58 +0200 (CEST)
From: Vincent Balat <vincent.balat@univ-paris-diderot.fr>
To: mirageos-devel@lists.xenproject.org
Date: Wed, 02 Jul 2014 16:21:56 +0200
Message-ID: <13150844.H8T2jEmesc@cox>
Organization: PPS =?UTF-8?B?VW5pdmVyc2l0w6k=?= Paris Diderot
User-Agent: KMail/4.12.4 (Linux/3.14-1-amd64; KDE/4.13.1; x86_64; ; )
MIME-Version: 1.0
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7
	(korolev.univ-paris7.fr [194.254.61.138]);
	Wed, 02 Jul 2014 16:22:00 +0200 (CEST)
X-Miltered: at korolev with ID 53B41588.002 by Joe's j-chkmail (http : //
	j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 53B41588.002 from
	mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/<vincent.balat@univ-paris-diderot.fr>
X-j-chkmail-Score: MSGID : 53B41588.002 on korolev.univ-paris7.fr : j-chkmail
	score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
X-Mailman-Approved-At: Wed, 02 Jul 2014 14:28:22 +0000
Subject: [MirageOS-devel] Lwt NOT deprecated
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi,

I'm sending this quick e-mail to deny the rumours that have been heard on this 
list:

Lwt is NOT deprecated and will still be maintained.
In particular, the Ocsigen project and all the Web apps written with 
Eliom/Js_of_ocaml are using Lwt and there is no plan to stop nor switch to 
Async.

Best,
Vincent Balat [for the Ocsigen team]



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 15:25:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 15:25:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2MPq-0006eF-9z; Wed, 02 Jul 2014 15:25:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X2MPo-0006e9-Lr
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 15:25:44 +0000
Received: from [85.158.139.211:42481] by server-4.bemta-5.messagelabs.com id
	FC/68-07250-87424B35; Wed, 02 Jul 2014 15:25:44 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-2.tower-206.messagelabs.com!1404314743!13272430!1
X-Originating-IP: [195.62.217.151]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTk1LjYyLjIxNy4xNTEgPT4gMTE1MjA=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4929 invoked from network); 2 Jul 2014 15:25:43 -0000
Received: from engine02-20433-2.icritical.com (HELO
	engine02-20433-2.icritical.com) (195.62.217.151)
	by server-2.tower-206.messagelabs.com with SMTP;
	2 Jul 2014 15:25:43 -0000
Received: (qmail 19132 invoked from network); 2 Jul 2014 15:25:39 -0000
Received: from localhost (127.0.0.1)
	by engine02-20433-2.icritical.com with SMTP; 2 Jul 2014 15:25:39 -0000
Received: from engine02-20433-2.icritical.com ([127.0.0.1])
	by localhost (engine02-20433-2.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 18758-08 for <mirageos-devel@lists.xenproject.org>;
	Wed,  2 Jul 2014 16:25:32 +0100 (BST)
Received: (qmail 19091 invoked by uid 599); 2 Jul 2014 15:25:32 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine02-20433-2.icritical.com (qpsmtpd/0.28) with ESMTP;
	Wed, 02 Jul 2014 16:25:32 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X2MPe-0006H8-MR; Wed, 02 Jul 2014 16:25:34 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Vincent Balat <vincent.balat@univ-paris-diderot.fr>
Date: Wed, 2 Jul 2014 16:21:18 +0100
Thread-Topic: [MirageOS-devel] Lwt NOT deprecated
Thread-Index: Ac+WCd4+Bl6aR5/MTZedT7flBNKn7g==
Message-ID: <B3DE7EBA-5DDA-4B71-B32F-65EDE0AFA1A9@nottingham.ac.uk>
References: <13150844.H8T2jEmesc@cox>
In-Reply-To: <13150844.H8T2jEmesc@cox>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine02-20433-2.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt NOT deprecated
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7955421933580672165=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============7955421933580672165==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_29A30CD8-065D-4C78-A246-BC342F894693";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_29A30CD8-065D-4C78-A246-BC342F894693
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On 2 Jul 2014, at 15:21, Vincent Balat =
<vincent.balat@univ-paris-diderot.fr> wrote:

> I'm sending this quick e-mail to deny the rumours that have been heard =
on this=20
> list:

given how pervasively Lwt is currently used in mirage, i think there'd =
have been far more general panic^H^H^H^H^Hinterest if we'd thought Lwt =
was suddenly going away :)

i think the "rumour" (one email, pretty quickly quashed by several =
responses :) was triggered by simple misinterpretation of a discussion =
connected with a decision taken by the Frenetic team to discontinue =
their support for Lwt in favour of Async. (i am unaware of their =
reasons-- if anyone from Frenetic is on the list, it would be great if =
they could comment!)

having said all that, given the current situation (Mirage mostly using =
Lwt and Frenetic using Async), any further suggestions for/experiences =
of trying to integrate between libraries using a mixture of Lwt and =
Async would be welcome.=20

eg., better to port to one or the other? is it relatively easy to =
abstract across them both? thoughts on how big is the minimal subset of =
Mirage that would need to be ported/abstracted to use Async?  pointers =
to any documentation discussing the tradeoffs between Async and Lwt =
would also be useful. i've come across the wg-parallel list which =
appeared to be briefly active last year, as well as =
<https://github.com/janestreet/lwt-async> which appears likely to be =
related to the discussion.

thanks!

--=20
Cheers,

R.





--Apple-Mail=_29A30CD8-065D-4C78-A246-BC342F894693
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTtCNvAAoJEOLF27JWwSg3wBwP/3djmMyx67MXxWn4JZRfNYMp
FX4Q/cv2DmfA7BedWLLvQYwBQy9G997Da0T02ijxZzgUXEI8kdwhPfFKyR+kd9wl
0ZdZyCFx76WJZ+idOKNJh/EMVFDRmvjUifm4f0qhlfdqT8WXUhV3Bb5zdRL8u2Iu
BNhkDqNWUhBgXbvIsTw8qWZo7/+TPgmxOwFPgLXslln8LdMsKtlQFPMyLza1pRMh
A1/hr9tP0rz3G0G5b2AzzLVSjYIYBa86cNLtl9dBjw9jCfw01jbf6LAhQ1IxpBm1
P6PJqDZW3sFX3uja8l90O0k5KDEKf6lJQ/rUTbiomb3hLbGU8etOehICAI9Do5U9
X5ArNU9ya4EtH8BuBtyWnZUm3C9zuL3WHBAB3MgwoH+wd3Ofnv+kvhZnGwfUJb9i
wPEpv9Krj/G6dGnX+kkq2aoy+WAlR/b9RPzZUCBrU/cBxqiGZ2ZHdeKvgseOVKaj
qnPAxQz/Uil2DcClXXiIjYo1mQDEWJdmVYCBGpuTtu8PUl9ZppTUJX13fiwuyHAz
wOEnPtHDkW+EkzPn30KEnlRO+rEs/bQwephkk+rR/cbejUEBO5v7xEyf3vlZjE6P
htsG38eyKM9n3LNnN9toZ70sjrsasuqwHeGy9nGN76ljHm2/6kmM3oEEqizd4Y6p
5EF/uURVr5EybrCAYrtO
=TgxX
-----END PGP SIGNATURE-----

--Apple-Mail=_29A30CD8-065D-4C78-A246-BC342F894693--


--===============7955421933580672165==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============7955421933580672165==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 15:25:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 15:25:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2MPq-0006eF-9z; Wed, 02 Jul 2014 15:25:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X2MPo-0006e9-Lr
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 15:25:44 +0000
Received: from [85.158.139.211:42481] by server-4.bemta-5.messagelabs.com id
	FC/68-07250-87424B35; Wed, 02 Jul 2014 15:25:44 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-2.tower-206.messagelabs.com!1404314743!13272430!1
X-Originating-IP: [195.62.217.151]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTk1LjYyLjIxNy4xNTEgPT4gMTE1MjA=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4929 invoked from network); 2 Jul 2014 15:25:43 -0000
Received: from engine02-20433-2.icritical.com (HELO
	engine02-20433-2.icritical.com) (195.62.217.151)
	by server-2.tower-206.messagelabs.com with SMTP;
	2 Jul 2014 15:25:43 -0000
Received: (qmail 19132 invoked from network); 2 Jul 2014 15:25:39 -0000
Received: from localhost (127.0.0.1)
	by engine02-20433-2.icritical.com with SMTP; 2 Jul 2014 15:25:39 -0000
Received: from engine02-20433-2.icritical.com ([127.0.0.1])
	by localhost (engine02-20433-2.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 18758-08 for <mirageos-devel@lists.xenproject.org>;
	Wed,  2 Jul 2014 16:25:32 +0100 (BST)
Received: (qmail 19091 invoked by uid 599); 2 Jul 2014 15:25:32 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine02-20433-2.icritical.com (qpsmtpd/0.28) with ESMTP;
	Wed, 02 Jul 2014 16:25:32 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X2MPe-0006H8-MR; Wed, 02 Jul 2014 16:25:34 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Vincent Balat <vincent.balat@univ-paris-diderot.fr>
Date: Wed, 2 Jul 2014 16:21:18 +0100
Thread-Topic: [MirageOS-devel] Lwt NOT deprecated
Thread-Index: Ac+WCd4+Bl6aR5/MTZedT7flBNKn7g==
Message-ID: <B3DE7EBA-5DDA-4B71-B32F-65EDE0AFA1A9@nottingham.ac.uk>
References: <13150844.H8T2jEmesc@cox>
In-Reply-To: <13150844.H8T2jEmesc@cox>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine02-20433-2.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Lwt NOT deprecated
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7955421933580672165=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============7955421933580672165==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_29A30CD8-065D-4C78-A246-BC342F894693";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_29A30CD8-065D-4C78-A246-BC342F894693
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On 2 Jul 2014, at 15:21, Vincent Balat =
<vincent.balat@univ-paris-diderot.fr> wrote:

> I'm sending this quick e-mail to deny the rumours that have been heard =
on this=20
> list:

given how pervasively Lwt is currently used in mirage, i think there'd =
have been far more general panic^H^H^H^H^Hinterest if we'd thought Lwt =
was suddenly going away :)

i think the "rumour" (one email, pretty quickly quashed by several =
responses :) was triggered by simple misinterpretation of a discussion =
connected with a decision taken by the Frenetic team to discontinue =
their support for Lwt in favour of Async. (i am unaware of their =
reasons-- if anyone from Frenetic is on the list, it would be great if =
they could comment!)

having said all that, given the current situation (Mirage mostly using =
Lwt and Frenetic using Async), any further suggestions for/experiences =
of trying to integrate between libraries using a mixture of Lwt and =
Async would be welcome.=20

eg., better to port to one or the other? is it relatively easy to =
abstract across them both? thoughts on how big is the minimal subset of =
Mirage that would need to be ported/abstracted to use Async?  pointers =
to any documentation discussing the tradeoffs between Async and Lwt =
would also be useful. i've come across the wg-parallel list which =
appeared to be briefly active last year, as well as =
<https://github.com/janestreet/lwt-async> which appears likely to be =
related to the discussion.

thanks!

--=20
Cheers,

R.





--Apple-Mail=_29A30CD8-065D-4C78-A246-BC342F894693
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTtCNvAAoJEOLF27JWwSg3wBwP/3djmMyx67MXxWn4JZRfNYMp
FX4Q/cv2DmfA7BedWLLvQYwBQy9G997Da0T02ijxZzgUXEI8kdwhPfFKyR+kd9wl
0ZdZyCFx76WJZ+idOKNJh/EMVFDRmvjUifm4f0qhlfdqT8WXUhV3Bb5zdRL8u2Iu
BNhkDqNWUhBgXbvIsTw8qWZo7/+TPgmxOwFPgLXslln8LdMsKtlQFPMyLza1pRMh
A1/hr9tP0rz3G0G5b2AzzLVSjYIYBa86cNLtl9dBjw9jCfw01jbf6LAhQ1IxpBm1
P6PJqDZW3sFX3uja8l90O0k5KDEKf6lJQ/rUTbiomb3hLbGU8etOehICAI9Do5U9
X5ArNU9ya4EtH8BuBtyWnZUm3C9zuL3WHBAB3MgwoH+wd3Ofnv+kvhZnGwfUJb9i
wPEpv9Krj/G6dGnX+kkq2aoy+WAlR/b9RPzZUCBrU/cBxqiGZ2ZHdeKvgseOVKaj
qnPAxQz/Uil2DcClXXiIjYo1mQDEWJdmVYCBGpuTtu8PUl9ZppTUJX13fiwuyHAz
wOEnPtHDkW+EkzPn30KEnlRO+rEs/bQwephkk+rR/cbejUEBO5v7xEyf3vlZjE6P
htsG38eyKM9n3LNnN9toZ70sjrsasuqwHeGy9nGN76ljHm2/6kmM3oEEqizd4Y6p
5EF/uURVr5EybrCAYrtO
=TgxX
-----END PGP SIGNATURE-----

--Apple-Mail=_29A30CD8-065D-4C78-A246-BC342F894693--


--===============7955421933580672165==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============7955421933580672165==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 16:03:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 16:03:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2N0O-0004Ew-B0; Wed, 02 Jul 2014 16:03:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X2N0N-0004Ej-2q
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 16:03:31 +0000
Received: from [85.158.139.211:35752] by server-14.bemta-5.messagelabs.com id
	79/64-27057-25D24B35; Wed, 02 Jul 2014 16:03:30 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1404317008!13265432!1
X-Originating-IP: [209.85.214.181]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2224 invoked from network); 2 Jul 2014 16:03:29 -0000
Received: from mail-ob0-f181.google.com (HELO mail-ob0-f181.google.com)
	(209.85.214.181)
	by server-5.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	2 Jul 2014 16:03:29 -0000
Received: by mail-ob0-f181.google.com with SMTP id wp4so12642779obc.12
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 02 Jul 2014 09:03:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=9FKUaVOtdcWMdONl521Wk/s/LSaP6j7BnSvwhtdW1n4=;
	b=vnbbY7tdVCelhFA3Gw4c36JXfW7Y9qmKayl2zUlpPaDw1d2Omo1sxsENhCbeiiLF6e
	ErHl7FE6lXB4V256C9el9HVsj3CsmwubgKLKtCQ19jXQzujFFI48PtV9rQkQT2ReNuL5
	le0BSEp+LWaJ7aFII/PLqj4gdes+KEjVZ4bh3H+9k09vzH5y5jbC0rThgAnabxAXMkR8
	DaI95ENc0GmYoHklFWCANTjz1ilWsDXq7XeYLRYNOa7Zusfmo02Oo/OrPx0CwdTnknO6
	HqjBoT5D6ce4olPwWsrIKpNGpRm/GSO6ulNF5GJA0OdhmUCPmLtwLX449asr6V+Usv7Z
	/Ipw==
MIME-Version: 1.0
X-Received: by 10.182.104.66 with SMTP id gc2mr56136910obb.17.1404317008050;
	Wed, 02 Jul 2014 09:03:28 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 2 Jul 2014 09:03:28 -0700 (PDT)
Date: Wed, 2 Jul 2014 17:03:28 +0100
Message-ID: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

https://github.com/mirage/mirage-platform/pull/93

This pull request removes dietlibc, libm and most of the header files
from mirage-platform, replacing them with external dependencies on
Mini-OS and openlibm.

These changes do not themselves add support for ARM, but they do make
it very easy to add, since the new Mini-OS and openlibm both support
ARM, unlike the old code.

There is no replacement libc. It turned out that the only thing we
needed was support for formatting floating point values. I took the
code for that from musl (the FreeBSD code was large and difficult to
separate out).

To test:

1. Download and install libminios from
https://github.com/talex5/xen/releases/tag/minios-v0.1
2. Download and install openlibm from
https://github.com/talex5/openlibm/releases/tag/v0.3.1-tal1
3. Use with mirage from https://github.com/talex5/mirage/commits/master

The openlibm release is from upstream master (while we're waiting for
an official release). The ARM support on the minios branch is
currently under review on xen-devel, while the changes to make it a
library have not been submitted for review at all.

If someone could test this on x86_64 and let me know if it works, that
would be great!


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 02 16:03:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2014 16:03:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2N0O-0004Ew-B0; Wed, 02 Jul 2014 16:03:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X2N0N-0004Ej-2q
	for mirageos-devel@lists.xenproject.org; Wed, 02 Jul 2014 16:03:31 +0000
Received: from [85.158.139.211:35752] by server-14.bemta-5.messagelabs.com id
	79/64-27057-25D24B35; Wed, 02 Jul 2014 16:03:30 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1404317008!13265432!1
X-Originating-IP: [209.85.214.181]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2224 invoked from network); 2 Jul 2014 16:03:29 -0000
Received: from mail-ob0-f181.google.com (HELO mail-ob0-f181.google.com)
	(209.85.214.181)
	by server-5.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	2 Jul 2014 16:03:29 -0000
Received: by mail-ob0-f181.google.com with SMTP id wp4so12642779obc.12
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 02 Jul 2014 09:03:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=9FKUaVOtdcWMdONl521Wk/s/LSaP6j7BnSvwhtdW1n4=;
	b=vnbbY7tdVCelhFA3Gw4c36JXfW7Y9qmKayl2zUlpPaDw1d2Omo1sxsENhCbeiiLF6e
	ErHl7FE6lXB4V256C9el9HVsj3CsmwubgKLKtCQ19jXQzujFFI48PtV9rQkQT2ReNuL5
	le0BSEp+LWaJ7aFII/PLqj4gdes+KEjVZ4bh3H+9k09vzH5y5jbC0rThgAnabxAXMkR8
	DaI95ENc0GmYoHklFWCANTjz1ilWsDXq7XeYLRYNOa7Zusfmo02Oo/OrPx0CwdTnknO6
	HqjBoT5D6ce4olPwWsrIKpNGpRm/GSO6ulNF5GJA0OdhmUCPmLtwLX449asr6V+Usv7Z
	/Ipw==
MIME-Version: 1.0
X-Received: by 10.182.104.66 with SMTP id gc2mr56136910obb.17.1404317008050;
	Wed, 02 Jul 2014 09:03:28 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 2 Jul 2014 09:03:28 -0700 (PDT)
Date: Wed, 2 Jul 2014 17:03:28 +0100
Message-ID: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

https://github.com/mirage/mirage-platform/pull/93

This pull request removes dietlibc, libm and most of the header files
from mirage-platform, replacing them with external dependencies on
Mini-OS and openlibm.

These changes do not themselves add support for ARM, but they do make
it very easy to add, since the new Mini-OS and openlibm both support
ARM, unlike the old code.

There is no replacement libc. It turned out that the only thing we
needed was support for formatting floating point values. I took the
code for that from musl (the FreeBSD code was large and difficult to
separate out).

To test:

1. Download and install libminios from
https://github.com/talex5/xen/releases/tag/minios-v0.1
2. Download and install openlibm from
https://github.com/talex5/openlibm/releases/tag/v0.3.1-tal1
3. Use with mirage from https://github.com/talex5/mirage/commits/master

The openlibm release is from upstream master (while we're waiting for
an official release). The ARM support on the minios branch is
currently under review on xen-devel, while the changes to make it a
library have not been submitted for review at all.

If someone could test this on x86_64 and let me know if it works, that
would be great!


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 03 16:04:19 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 03 Jul 2014 16:04:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2jUa-0003Wg-Cl; Thu, 03 Jul 2014 16:04:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hannes@mehnert.org>) id 1X2jUY-0003WY-Ms
	for mirageos-devel@lists.xenproject.org; Thu, 03 Jul 2014 16:04:10 +0000
Received: from [193.109.254.147:11033] by server-9.bemta-14.messagelabs.com id
	49/5F-14237-AFE75B35; Thu, 03 Jul 2014 16:04:10 +0000
X-Env-Sender: hannes@mehnert.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1404403446!15342231!1
X-Originating-IP: [213.73.89.200]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13853 invoked from network); 3 Jul 2014 16:04:06 -0000
Received: from mail.mehnert.org (HELO mail.mehnert.org) (213.73.89.200)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 Jul 2014 16:04:06 -0000
Received: from [128.232.110.146] (c146.al.cl.cam.ac.uk [128.232.110.146])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (verified OK))
	by mail.mehnert.org (Postfix) with ESMTPS id 9DBE81761
	for <mirageos-devel@lists.xenproject.org>;
	Thu,  3 Jul 2014 18:04:04 +0200 (CEST)
Message-ID: <53B57EAA.3030805@mehnert.org>
Date: Thu, 03 Jul 2014 17:02:50 +0100
From: Hannes Mehnert <hannes@mehnert.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384

Hi,

for our upcoming release of ocaml-tls, we need to seed our random
number generator (which is fortuna, implemented here
https://github.com/mirleft/ocaml-nocrypto/blob/master/src/rng.ml ).

To achieve that, I implemented an ENTROPY device in mirage and
mirage-types (https://github.com/mirage/mirage/pull/256) - which API
is only a single function:
  val entropy : t -> int -> [ `Ok of buffer | `Error of error ] io
  (** [entropy t count] returns a [buffer] of [count] bytes from the
entropy pool [t]. *)

The buffer is a Cstruct.t in the V1_LWT interface.

The purpose is to get (in a non-blocking manner) some entropy bytes.
If no entropy device is available, an error is thrown (type error = [
| `No_entropy_device of string ]).

Furthermore, I implemented a unix version
(https://github.com/mirage/mirage-entropy) which reads the bytes from
/dev/random (any ideas whether there is a POSIX way to get entropy,
not random?). On XEN the stub implementation currently errors out -
the idea is that the host system provides an entropy device for the
virtual machine guests (this code needs to be written, any volunteers?).


Hannes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBCQAGBQJTtX6pAAoJELyJZYjffCju3C8P/13aSxNgNxdBjBt6GaDmfxcM
e7oOQHJHAqVNbOPq2bPDNdQMCPbhraNLjpmxsYomap6hJtiOqd6xX8iuXs4Jq/uY
zL+epR5L9kOjKa9XJxPp5dZT201I59gnAfwP8padbpKLhvZDaF+sn6/LrhYgOhtu
refuWGtn1yqySlR9R2lMspJ2a9Nov2a+F84nQkPCDXt87kyBJPW5mPpZpSu4RCqK
ApW8bCq3PZPLGOzjiK4G5zD5Yqdaxxr0FswFF+O/jb3hxWrgnFL1fcPqv/aGsbZs
iyXYntwyWVAQ/X9gDuHGamdWpBJGxj0Hjs70yEOk/qULan4AcDmg9pnbvM6S0Wwy
Tu5Ri41Bxl9Bfh33zZOM2sbJxbczk4B02wm4MUIZd0qewQWB4Cez/S2b3xLZKPQX
KewZomYuW3H33X3VcmebLQ/BplRtr5yjtoq1kShDRMXznYoAYOaF2bx7bh+U/CvK
xxiP2wB+OwAU/GtT/C3gEtvZBqrU6cJS12HB0v0TrU95zLVBP7Et3J44LZhgx+2r
iA07FAam/yJ+orRi7bjTGyl1EzuSZtLS7nTeQ0eME1O8fy88JPmAXOLebhaoSBm+
fe19kVlZ05iiY7ffKcXgX8Uw1fRdgJxFEdAZj2uiAxBglmKuMsVLfgctGyXgeYFE
C5QQZlnD3b5by/p/Tl9X
=DR0P
-----END PGP SIGNATURE-----

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 03 16:04:19 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 03 Jul 2014 16:04:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2jUa-0003Wg-Cl; Thu, 03 Jul 2014 16:04:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hannes@mehnert.org>) id 1X2jUY-0003WY-Ms
	for mirageos-devel@lists.xenproject.org; Thu, 03 Jul 2014 16:04:10 +0000
Received: from [193.109.254.147:11033] by server-9.bemta-14.messagelabs.com id
	49/5F-14237-AFE75B35; Thu, 03 Jul 2014 16:04:10 +0000
X-Env-Sender: hannes@mehnert.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1404403446!15342231!1
X-Originating-IP: [213.73.89.200]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13853 invoked from network); 3 Jul 2014 16:04:06 -0000
Received: from mail.mehnert.org (HELO mail.mehnert.org) (213.73.89.200)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 Jul 2014 16:04:06 -0000
Received: from [128.232.110.146] (c146.al.cl.cam.ac.uk [128.232.110.146])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (verified OK))
	by mail.mehnert.org (Postfix) with ESMTPS id 9DBE81761
	for <mirageos-devel@lists.xenproject.org>;
	Thu,  3 Jul 2014 18:04:04 +0200 (CEST)
Message-ID: <53B57EAA.3030805@mehnert.org>
Date: Thu, 03 Jul 2014 17:02:50 +0100
From: Hannes Mehnert <hannes@mehnert.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384

Hi,

for our upcoming release of ocaml-tls, we need to seed our random
number generator (which is fortuna, implemented here
https://github.com/mirleft/ocaml-nocrypto/blob/master/src/rng.ml ).

To achieve that, I implemented an ENTROPY device in mirage and
mirage-types (https://github.com/mirage/mirage/pull/256) - which API
is only a single function:
  val entropy : t -> int -> [ `Ok of buffer | `Error of error ] io
  (** [entropy t count] returns a [buffer] of [count] bytes from the
entropy pool [t]. *)

The buffer is a Cstruct.t in the V1_LWT interface.

The purpose is to get (in a non-blocking manner) some entropy bytes.
If no entropy device is available, an error is thrown (type error = [
| `No_entropy_device of string ]).

Furthermore, I implemented a unix version
(https://github.com/mirage/mirage-entropy) which reads the bytes from
/dev/random (any ideas whether there is a POSIX way to get entropy,
not random?). On XEN the stub implementation currently errors out -
the idea is that the host system provides an entropy device for the
virtual machine guests (this code needs to be written, any volunteers?).


Hannes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBCQAGBQJTtX6pAAoJELyJZYjffCju3C8P/13aSxNgNxdBjBt6GaDmfxcM
e7oOQHJHAqVNbOPq2bPDNdQMCPbhraNLjpmxsYomap6hJtiOqd6xX8iuXs4Jq/uY
zL+epR5L9kOjKa9XJxPp5dZT201I59gnAfwP8padbpKLhvZDaF+sn6/LrhYgOhtu
refuWGtn1yqySlR9R2lMspJ2a9Nov2a+F84nQkPCDXt87kyBJPW5mPpZpSu4RCqK
ApW8bCq3PZPLGOzjiK4G5zD5Yqdaxxr0FswFF+O/jb3hxWrgnFL1fcPqv/aGsbZs
iyXYntwyWVAQ/X9gDuHGamdWpBJGxj0Hjs70yEOk/qULan4AcDmg9pnbvM6S0Wwy
Tu5Ri41Bxl9Bfh33zZOM2sbJxbczk4B02wm4MUIZd0qewQWB4Cez/S2b3xLZKPQX
KewZomYuW3H33X3VcmebLQ/BplRtr5yjtoq1kShDRMXznYoAYOaF2bx7bh+U/CvK
xxiP2wB+OwAU/GtT/C3gEtvZBqrU6cJS12HB0v0TrU95zLVBP7Et3J44LZhgx+2r
iA07FAam/yJ+orRi7bjTGyl1EzuSZtLS7nTeQ0eME1O8fy88JPmAXOLebhaoSBm+
fe19kVlZ05iiY7ffKcXgX8Uw1fRdgJxFEdAZj2uiAxBglmKuMsVLfgctGyXgeYFE
C5QQZlnD3b5by/p/Tl9X
=DR0P
-----END PGP SIGNATURE-----

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 03 22:08:46 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 03 Jul 2014 22:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2pBG-0004nK-OO; Thu, 03 Jul 2014 22:08:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X2pBE-0004nF-Sr
	for mirageos-devel@lists.xenproject.org; Thu, 03 Jul 2014 22:08:37 +0000
Received: from [85.158.143.35:24640] by server-3.bemta-4.messagelabs.com id
	C8/57-16194-464D5B35; Thu, 03 Jul 2014 22:08:36 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-21.messagelabs.com!1404425315!8430512!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24282 invoked from network); 3 Jul 2014 22:08:35 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-21.messagelabs.com with SMTP;
	3 Jul 2014 22:08:35 -0000
Received: (qmail 23306 invoked by uid 634); 3 Jul 2014 22:08:34 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.62]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 03 Jul 2014 23:08:31 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <B3DE7EBA-5DDA-4B71-B32F-65EDE0AFA1A9@nottingham.ac.uk>
Date: Thu, 3 Jul 2014 23:08:30 +0100
Message-Id: <38ED71BD-667D-40A1-BEAC-760A7CC2107C@recoil.org>
References: <13150844.H8T2jEmesc@cox>
	<B3DE7EBA-5DDA-4B71-B32F-65EDE0AFA1A9@nottingham.ac.uk>
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	Vincent Balat <vincent.balat@univ-paris-diderot.fr>
Subject: Re: [MirageOS-devel] Lwt NOT deprecated
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 Jul 2014, at 16:21, Richard Mortier <Richard.Mortier@nottingham.ac.uk> wrote:

> 
> On 2 Jul 2014, at 15:21, Vincent Balat <vincent.balat@univ-paris-diderot.fr> wrote:
> 
>> I'm sending this quick e-mail to deny the rumours that have been heard on this 
>> list:
> 
> given how pervasively Lwt is currently used in mirage, i think there'd have been far more general panic^H^H^H^H^Hinterest if we'd thought Lwt was suddenly going away :)

Yes indeed.  We're going to be using Lwt more in the future with the incoming JavaScript/IOCaml port as well.

> 
> i think the "rumour" (one email, pretty quickly quashed by several responses :) was triggered by simple misinterpretation of a discussion connected with a decision taken by the Frenetic team to discontinue their support for Lwt in favour of Async. (i am unaware of their reasons-- if anyone from Frenetic is on the list, it would be great if they could comment!)

I'm not speaking on their behalf, but they do use Real World OCaml in Cornell in the CS course, so I imagine it's just easier in terms of a documentation base.  Async is a 'more complete' library if you don't mind being tied to Unix, and it does make stronger guarantees in terms of not context switching between binds (although I believe Lwt has also improved in this regard).  Lwt is a clear win on portability and especially JavaScript compilation.

> having said all that, given the current situation (Mirage mostly using Lwt and Frenetic using Async), any further suggestions for/experiences of trying to integrate between libraries using a mixture of Lwt and Async would be welcome. 
> 
> eg., better to port to one or the other? is it relatively easy to abstract across them both? thoughts on how big is the minimal subset of Mirage that would need to be ported/abstracted to use Async?  pointers to any documentation discussing the tradeoffs between Async and Lwt would also be useful. i've come across the wg-parallel list which appeared to be briefly active last year, as well as <https://github.com/janestreet/lwt-async> which appears likely to be related to the discussion.
> 

The only embedding that works is Lwt in Async, whereas the Async on Lwt doesn't exist (which is what Mirage Xen needs).

It's possible to abstract between Lwt/Async for simple uses (where you're just doing a few binds), but is trickier when you want to use the full capabilities of one of the libraries (particularly Async).  There are also fundamental differences in some of the design choices (Async favours Pipe, Lwt favours Lwt_stream).

Overall, I'd start with the openflow protocol parsing and switch, as I mentioned in the other thread.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 03 22:08:46 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 03 Jul 2014 22:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2pBG-0004nK-OO; Thu, 03 Jul 2014 22:08:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X2pBE-0004nF-Sr
	for mirageos-devel@lists.xenproject.org; Thu, 03 Jul 2014 22:08:37 +0000
Received: from [85.158.143.35:24640] by server-3.bemta-4.messagelabs.com id
	C8/57-16194-464D5B35; Thu, 03 Jul 2014 22:08:36 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-21.messagelabs.com!1404425315!8430512!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24282 invoked from network); 3 Jul 2014 22:08:35 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-21.messagelabs.com with SMTP;
	3 Jul 2014 22:08:35 -0000
Received: (qmail 23306 invoked by uid 634); 3 Jul 2014 22:08:34 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.62]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 03 Jul 2014 23:08:31 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <B3DE7EBA-5DDA-4B71-B32F-65EDE0AFA1A9@nottingham.ac.uk>
Date: Thu, 3 Jul 2014 23:08:30 +0100
Message-Id: <38ED71BD-667D-40A1-BEAC-760A7CC2107C@recoil.org>
References: <13150844.H8T2jEmesc@cox>
	<B3DE7EBA-5DDA-4B71-B32F-65EDE0AFA1A9@nottingham.ac.uk>
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	Vincent Balat <vincent.balat@univ-paris-diderot.fr>
Subject: Re: [MirageOS-devel] Lwt NOT deprecated
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 Jul 2014, at 16:21, Richard Mortier <Richard.Mortier@nottingham.ac.uk> wrote:

> 
> On 2 Jul 2014, at 15:21, Vincent Balat <vincent.balat@univ-paris-diderot.fr> wrote:
> 
>> I'm sending this quick e-mail to deny the rumours that have been heard on this 
>> list:
> 
> given how pervasively Lwt is currently used in mirage, i think there'd have been far more general panic^H^H^H^H^Hinterest if we'd thought Lwt was suddenly going away :)

Yes indeed.  We're going to be using Lwt more in the future with the incoming JavaScript/IOCaml port as well.

> 
> i think the "rumour" (one email, pretty quickly quashed by several responses :) was triggered by simple misinterpretation of a discussion connected with a decision taken by the Frenetic team to discontinue their support for Lwt in favour of Async. (i am unaware of their reasons-- if anyone from Frenetic is on the list, it would be great if they could comment!)

I'm not speaking on their behalf, but they do use Real World OCaml in Cornell in the CS course, so I imagine it's just easier in terms of a documentation base.  Async is a 'more complete' library if you don't mind being tied to Unix, and it does make stronger guarantees in terms of not context switching between binds (although I believe Lwt has also improved in this regard).  Lwt is a clear win on portability and especially JavaScript compilation.

> having said all that, given the current situation (Mirage mostly using Lwt and Frenetic using Async), any further suggestions for/experiences of trying to integrate between libraries using a mixture of Lwt and Async would be welcome. 
> 
> eg., better to port to one or the other? is it relatively easy to abstract across them both? thoughts on how big is the minimal subset of Mirage that would need to be ported/abstracted to use Async?  pointers to any documentation discussing the tradeoffs between Async and Lwt would also be useful. i've come across the wg-parallel list which appeared to be briefly active last year, as well as <https://github.com/janestreet/lwt-async> which appears likely to be related to the discussion.
> 

The only embedding that works is Lwt in Async, whereas the Async on Lwt doesn't exist (which is what Mirage Xen needs).

It's possible to abstract between Lwt/Async for simple uses (where you're just doing a few binds), but is trickier when you want to use the full capabilities of one of the libraries (particularly Async).  There are also fundamental differences in some of the design choices (Async favours Pipe, Lwt favours Lwt_stream).

Overall, I'd start with the openflow protocol parsing and switch, as I mentioned in the other thread.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 03 23:43:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 03 Jul 2014 23:43:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2qfK-0005KU-Bi; Thu, 03 Jul 2014 23:43:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X2qfJ-0005JZ-1V
	for mirageos-devel@lists.xenproject.org; Thu, 03 Jul 2014 23:43:45 +0000
Received: from [85.158.143.35:63239] by server-3.bemta-4.messagelabs.com id
	47/65-16194-FAAE5B35; Thu, 03 Jul 2014 23:43:43 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1404431022!15722300!1
X-Originating-IP: [209.85.212.177]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5781 invoked from network); 3 Jul 2014 23:43:42 -0000
Received: from mail-wi0-f177.google.com (HELO mail-wi0-f177.google.com)
	(209.85.212.177)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 Jul 2014 23:43:42 -0000
Received: by mail-wi0-f177.google.com with SMTP id r20so3096948wiv.16
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 03 Jul 2014 16:43:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=lcLihrl4KKBy+eeNf5QGKAGAkw7B+kG1+PZMKI099ys=;
	b=Pq1EhVhel9awg3Cy3bGCGJnu+C9Fp9JfA+jepnpsFjXkLa7MrcL4woMrZP7euMJYto
	jCO9WHpjmClEcX5QAdkGWik8w+Ak5cA2nNk43gRromKReJfkEWkNljTGXGzVGsPL4OJB
	tN30Cs57A9D3zI+B/vfpUsmf9WIetcrpFiwOFM1j/Kx+rJZg6W6wqQrw+u2eTzaDiufJ
	r4DebmHw5TpY/TWFA9Xc+mZ3k9C92jkMvVZduNTqFL+okXBAFro5F/JmCzJ/4RITkKof
	awm6yWgOu37pN6p0TUPAJQdqEW6uafkR2AxUUeQud7taKCHVycmNxpFqosLWRVUQiXzr
	Cl/w==
X-Received: by 10.180.212.73 with SMTP id ni9mr52293565wic.59.1404431022050;
	Thu, 03 Jul 2014 16:43:42 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122])
	by mx.google.com with ESMTPSA id gc5sm72409824wic.6.2014.07.03.16.43.40
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Thu, 03 Jul 2014 16:43:41 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <53B57EAA.3030805@mehnert.org>
Date: Fri, 4 Jul 2014 00:43:39 +0100
Message-Id: <C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
References: <53B57EAA.3030805@mehnert.org>
To: Hannes Mehnert <hannes@mehnert.org>
X-Mailer: Apple Mail (2.1878.2)
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

> for our upcoming release of ocaml-tls, we need to seed our random
> number generator (which is fortuna, implemented here
> https://github.com/mirleft/ocaml-nocrypto/blob/master/src/rng.ml ).
> 
> To achieve that, I implemented an ENTROPY device in mirage and
> mirage-types (https://github.com/mirage/mirage/pull/256) - which API
> is only a single function:
>   val entropy : t -> int -> [ `Ok of buffer | `Error of error ] io
>   (** [entropy t count] returns a [buffer] of [count] bytes from the
> entropy pool [t]. *)
> 
> The buffer is a Cstruct.t in the V1_LWT interface.
> 
> The purpose is to get (in a non-blocking manner) some entropy bytes.
> If no entropy device is available, an error is thrown (type error = [
> | `No_entropy_device of string ]).
> 
> Furthermore, I implemented a unix version
> (https://github.com/mirage/mirage-entropy) which reads the bytes from
> /dev/random (any ideas whether there is a POSIX way to get entropy,
> not random?). On XEN the stub implementation currently errors out -
> the idea is that the host system provides an entropy device for the
> virtual machine guests (this code needs to be written, any volunteers?).

As I've seen a discussion on the bug tracker about having to release two separate packages (one for xen, one for unix) or only one, and as I had a similar discussion with Daniel on this about the design of his useri[1] library, I'll try to explain a bit more the rational we try to follow in general for mirage libraries in such cases.

Long time ago, when we started the development of mirage, we had no functors. The xen and unix backends where both implementing modules with the same name -- the libraries using these modules were just including/opening the given module signature and the magic of which implementation were actually picked was configured at link time (this is not totally correct, but that's the general idea). We called that the "linking trick": if you give to the compiler the right include paths when needed, you don't need functors, but you need a pretty clever build system (so that you can choose against which backend you want to link) -- and we wrote a pretty sophisticated myocamlbuild.ml to handle this[2].

All was fine and we were pretty happy: the added complexity of the build system let users develop simple code without the need to use functors at all. However, as we started working on the network stack, it appeared quickly that we wanted to have, in the same program, two different implementations of the same signature (killer example: having two full TCP/IP stacks, one fully in OCaml the other using the usual kernel stack for unit testing purposes). As OCaml does not allow to link two modules with the same name together, it means that all the network stack implementations needed to have different names. So the linking trick couldn't work anymore. Same issue with the storage backends. So we ended up simplifying the build system (no needs for complex build rules anymore) but putting back the complexity in the functor language. And functors slowly started to contaminate our code base 'cause now, every library using a functor should also expose a functor.

To tackle the difficulty of using functors, we had two strategies. The first one was to develop, during last december, an EDSL to describe the composition of functors[3], which was what we finally released in mirage 1.0. The second one was to be a bit more structured about how we design new libraries. We continue to use the linking trick for modules where there is clearly no way to have two concurrent implementation running at the same time in the same module. In the same time, we try to provide to the user, when possible, default functor instantiation in separate ocamlfind package to make easier to use the libraries. So most of the mirage libraries[4,5,...] are structured as follows:
- a core ocamlfind package, which consumes and provides a functor, which is independent of the backend
- a .lwt (should be called .unix really) ocamlfind subpackage, which applies the functors to work with Lwt_unix functions
- a .xen ocamlfind subpackage, which applies the functors to work with mirage/xen
And we use OPAM %{xxx:enable}% variables to enable or disable the compilation of sub-packages.

Hope it helps clarifying things a little bit,
Thomas

[1] https://github.com/dbuenzli/useri/blob/master/src/useri.ml#L7
[2] https://github.com/mirage/mirage/blob/old-master/lib/myocamlbuild.ml
[3] https://github.com/mirage/mirage/blob/master/lib/mirage.mli
[4] https://github.com/mirage/shared-memory-ring/blob/master/lib/META
[5] https://github.com/mirage/ocaml-git/blob/master/lib/META

> 
> 
> Hannes
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 03 23:43:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 03 Jul 2014 23:43:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2qfK-0005KU-Bi; Thu, 03 Jul 2014 23:43:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X2qfJ-0005JZ-1V
	for mirageos-devel@lists.xenproject.org; Thu, 03 Jul 2014 23:43:45 +0000
Received: from [85.158.143.35:63239] by server-3.bemta-4.messagelabs.com id
	47/65-16194-FAAE5B35; Thu, 03 Jul 2014 23:43:43 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1404431022!15722300!1
X-Originating-IP: [209.85.212.177]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5781 invoked from network); 3 Jul 2014 23:43:42 -0000
Received: from mail-wi0-f177.google.com (HELO mail-wi0-f177.google.com)
	(209.85.212.177)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 Jul 2014 23:43:42 -0000
Received: by mail-wi0-f177.google.com with SMTP id r20so3096948wiv.16
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 03 Jul 2014 16:43:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=lcLihrl4KKBy+eeNf5QGKAGAkw7B+kG1+PZMKI099ys=;
	b=Pq1EhVhel9awg3Cy3bGCGJnu+C9Fp9JfA+jepnpsFjXkLa7MrcL4woMrZP7euMJYto
	jCO9WHpjmClEcX5QAdkGWik8w+Ak5cA2nNk43gRromKReJfkEWkNljTGXGzVGsPL4OJB
	tN30Cs57A9D3zI+B/vfpUsmf9WIetcrpFiwOFM1j/Kx+rJZg6W6wqQrw+u2eTzaDiufJ
	r4DebmHw5TpY/TWFA9Xc+mZ3k9C92jkMvVZduNTqFL+okXBAFro5F/JmCzJ/4RITkKof
	awm6yWgOu37pN6p0TUPAJQdqEW6uafkR2AxUUeQud7taKCHVycmNxpFqosLWRVUQiXzr
	Cl/w==
X-Received: by 10.180.212.73 with SMTP id ni9mr52293565wic.59.1404431022050;
	Thu, 03 Jul 2014 16:43:42 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122])
	by mx.google.com with ESMTPSA id gc5sm72409824wic.6.2014.07.03.16.43.40
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Thu, 03 Jul 2014 16:43:41 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <53B57EAA.3030805@mehnert.org>
Date: Fri, 4 Jul 2014 00:43:39 +0100
Message-Id: <C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
References: <53B57EAA.3030805@mehnert.org>
To: Hannes Mehnert <hannes@mehnert.org>
X-Mailer: Apple Mail (2.1878.2)
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

> for our upcoming release of ocaml-tls, we need to seed our random
> number generator (which is fortuna, implemented here
> https://github.com/mirleft/ocaml-nocrypto/blob/master/src/rng.ml ).
> 
> To achieve that, I implemented an ENTROPY device in mirage and
> mirage-types (https://github.com/mirage/mirage/pull/256) - which API
> is only a single function:
>   val entropy : t -> int -> [ `Ok of buffer | `Error of error ] io
>   (** [entropy t count] returns a [buffer] of [count] bytes from the
> entropy pool [t]. *)
> 
> The buffer is a Cstruct.t in the V1_LWT interface.
> 
> The purpose is to get (in a non-blocking manner) some entropy bytes.
> If no entropy device is available, an error is thrown (type error = [
> | `No_entropy_device of string ]).
> 
> Furthermore, I implemented a unix version
> (https://github.com/mirage/mirage-entropy) which reads the bytes from
> /dev/random (any ideas whether there is a POSIX way to get entropy,
> not random?). On XEN the stub implementation currently errors out -
> the idea is that the host system provides an entropy device for the
> virtual machine guests (this code needs to be written, any volunteers?).

As I've seen a discussion on the bug tracker about having to release two separate packages (one for xen, one for unix) or only one, and as I had a similar discussion with Daniel on this about the design of his useri[1] library, I'll try to explain a bit more the rational we try to follow in general for mirage libraries in such cases.

Long time ago, when we started the development of mirage, we had no functors. The xen and unix backends where both implementing modules with the same name -- the libraries using these modules were just including/opening the given module signature and the magic of which implementation were actually picked was configured at link time (this is not totally correct, but that's the general idea). We called that the "linking trick": if you give to the compiler the right include paths when needed, you don't need functors, but you need a pretty clever build system (so that you can choose against which backend you want to link) -- and we wrote a pretty sophisticated myocamlbuild.ml to handle this[2].

All was fine and we were pretty happy: the added complexity of the build system let users develop simple code without the need to use functors at all. However, as we started working on the network stack, it appeared quickly that we wanted to have, in the same program, two different implementations of the same signature (killer example: having two full TCP/IP stacks, one fully in OCaml the other using the usual kernel stack for unit testing purposes). As OCaml does not allow to link two modules with the same name together, it means that all the network stack implementations needed to have different names. So the linking trick couldn't work anymore. Same issue with the storage backends. So we ended up simplifying the build system (no needs for complex build rules anymore) but putting back the complexity in the functor language. And functors slowly started to contaminate our code base 'cause now, every library using a functor should also expose a functor.

To tackle the difficulty of using functors, we had two strategies. The first one was to develop, during last december, an EDSL to describe the composition of functors[3], which was what we finally released in mirage 1.0. The second one was to be a bit more structured about how we design new libraries. We continue to use the linking trick for modules where there is clearly no way to have two concurrent implementation running at the same time in the same module. In the same time, we try to provide to the user, when possible, default functor instantiation in separate ocamlfind package to make easier to use the libraries. So most of the mirage libraries[4,5,...] are structured as follows:
- a core ocamlfind package, which consumes and provides a functor, which is independent of the backend
- a .lwt (should be called .unix really) ocamlfind subpackage, which applies the functors to work with Lwt_unix functions
- a .xen ocamlfind subpackage, which applies the functors to work with mirage/xen
And we use OPAM %{xxx:enable}% variables to enable or disable the compilation of sub-packages.

Hope it helps clarifying things a little bit,
Thomas

[1] https://github.com/dbuenzli/useri/blob/master/src/useri.ml#L7
[2] https://github.com/mirage/mirage/blob/old-master/lib/myocamlbuild.ml
[3] https://github.com/mirage/mirage/blob/master/lib/mirage.mli
[4] https://github.com/mirage/shared-memory-ring/blob/master/lib/META
[5] https://github.com/mirage/ocaml-git/blob/master/lib/META

> 
> 
> Hannes
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 00:22:10 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 00:22:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2rGS-00066Y-10; Fri, 04 Jul 2014 00:22:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <daniel.buenzli@erratique.ch>) id 1X2rGQ-00066Q-0b
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 00:22:06 +0000
Received: from [85.158.137.68:39623] by server-7.bemta-3.messagelabs.com id
	55/69-19423-DA3F5B35; Fri, 04 Jul 2014 00:22:05 +0000
X-Env-Sender: daniel.buenzli@erratique.ch
X-Msg-Ref: server-15.tower-31.messagelabs.com!1404433324!13834311!1
X-Originating-IP: [74.55.86.74]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNzQuNTUuODYuNzQgPT4gMzA4NTYz\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2898 invoked from network); 4 Jul 2014 00:22:04 -0000
Received: from mail6.webfaction.com (HELO smtp.webfaction.com) (74.55.86.74)
	by server-15.tower-31.messagelabs.com with SMTP;
	4 Jul 2014 00:22:04 -0000
Received: from [172.20.10.2] (188.29.165.137.threembb.co.uk [188.29.165.137])
	by smtp.webfaction.com (Postfix) with ESMTP id 0694C212A8E1;
	Fri,  4 Jul 2014 00:22:02 +0000 (UTC)
Date: Fri, 4 Jul 2014 01:21:58 +0100
From: =?utf-8?Q?Daniel_B=C3=BCnzli?= <daniel.buenzli@erratique.ch>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
Message-ID: <B7E7EFC469C34544A417CF98AA1A6C46@erratique.ch>
In-Reply-To: <C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
References: <53B57EAA.3030805@mehnert.org>
	<C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Disposition: inline
Cc: "=?utf-8?Q?mirageos-devel=40lists.xenproject.org?="
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

TGUgdmVuZHJlZGksIDQganVpbGxldCAyMDE0IMOgIDAwOjQzLCBUaG9tYXMgR2F6YWduYWlyZSBh
IMOpY3JpdCA6Cj4gSG9wZSBpdCBoZWxwcyBjbGFyaWZ5aW5nIHRoaW5ncyBhIGxpdHRsZSBiaXQs
CgpKdXN0IHdhbnQgdG8gYWRkIHRoYXQgdGhpcyBJQ0ZQIDIwMDAgcHJlc2VudGF0aW9uIGJ5IEJl
bmphbWluIFBpZXJjZSBbMV0gcHJldHR5IG11Y2ggc3VtcyB1cCB0aGUgcG9pbnQgeW91IHJhaXNl
IGluIHlvdXIgcG9zdCBhbmQgaGFzIGEgZmV3IGZ1cnRoZXIgaW50ZXJlc3Rpbmcgb2JzZXJ2YXRp
b25zIG9uIHNjYWxhYmlsaXR5LgoKQmVzdCwKCkRhbmllbAoKWzFdIGh0dHA6Ly93d3cuY2lzLnVw
ZW5uLmVkdS9+YmNwaWVyY2UvcGFwZXJzL21vZHVsZXMtaWNmcC5wcwoKCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cDovL2xpc3RzLnhl
bnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 00:22:10 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 00:22:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2rGS-00066Y-10; Fri, 04 Jul 2014 00:22:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <daniel.buenzli@erratique.ch>) id 1X2rGQ-00066Q-0b
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 00:22:06 +0000
Received: from [85.158.137.68:39623] by server-7.bemta-3.messagelabs.com id
	55/69-19423-DA3F5B35; Fri, 04 Jul 2014 00:22:05 +0000
X-Env-Sender: daniel.buenzli@erratique.ch
X-Msg-Ref: server-15.tower-31.messagelabs.com!1404433324!13834311!1
X-Originating-IP: [74.55.86.74]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNzQuNTUuODYuNzQgPT4gMzA4NTYz\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2898 invoked from network); 4 Jul 2014 00:22:04 -0000
Received: from mail6.webfaction.com (HELO smtp.webfaction.com) (74.55.86.74)
	by server-15.tower-31.messagelabs.com with SMTP;
	4 Jul 2014 00:22:04 -0000
Received: from [172.20.10.2] (188.29.165.137.threembb.co.uk [188.29.165.137])
	by smtp.webfaction.com (Postfix) with ESMTP id 0694C212A8E1;
	Fri,  4 Jul 2014 00:22:02 +0000 (UTC)
Date: Fri, 4 Jul 2014 01:21:58 +0100
From: =?utf-8?Q?Daniel_B=C3=BCnzli?= <daniel.buenzli@erratique.ch>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
Message-ID: <B7E7EFC469C34544A417CF98AA1A6C46@erratique.ch>
In-Reply-To: <C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
References: <53B57EAA.3030805@mehnert.org>
	<C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Disposition: inline
Cc: "=?utf-8?Q?mirageos-devel=40lists.xenproject.org?="
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

TGUgdmVuZHJlZGksIDQganVpbGxldCAyMDE0IMOgIDAwOjQzLCBUaG9tYXMgR2F6YWduYWlyZSBh
IMOpY3JpdCA6Cj4gSG9wZSBpdCBoZWxwcyBjbGFyaWZ5aW5nIHRoaW5ncyBhIGxpdHRsZSBiaXQs
CgpKdXN0IHdhbnQgdG8gYWRkIHRoYXQgdGhpcyBJQ0ZQIDIwMDAgcHJlc2VudGF0aW9uIGJ5IEJl
bmphbWluIFBpZXJjZSBbMV0gcHJldHR5IG11Y2ggc3VtcyB1cCB0aGUgcG9pbnQgeW91IHJhaXNl
IGluIHlvdXIgcG9zdCBhbmQgaGFzIGEgZmV3IGZ1cnRoZXIgaW50ZXJlc3Rpbmcgb2JzZXJ2YXRp
b25zIG9uIHNjYWxhYmlsaXR5LgoKQmVzdCwKCkRhbmllbAoKWzFdIGh0dHA6Ly93d3cuY2lzLnVw
ZW5uLmVkdS9+YmNwaWVyY2UvcGFwZXJzL21vZHVsZXMtaWNmcC5wcwoKCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cDovL2xpc3RzLnhl
bnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 08:55:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 08:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2zGy-0000cm-7I; Fri, 04 Jul 2014 08:55:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X2zGw-0000cf-HE
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 08:55:10 +0000
Received: from [85.158.137.68:3689] by server-4.bemta-3.messagelabs.com id
	9C/66-23732-DEB66B35; Fri, 04 Jul 2014 08:55:09 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-10.tower-31.messagelabs.com!1404464108!13992560!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14145 invoked from network); 4 Jul 2014 08:55:09 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-10.tower-31.messagelabs.com with SMTP;
	4 Jul 2014 08:55:09 -0000
Received: (qmail 15390 invoked from network); 4 Jul 2014 08:55:26 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 4 Jul 2014 08:55:26 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 14939-09 for <mirageos-devel@lists.xenproject.org>;
	Fri,  4 Jul 2014 09:55:19 +0100 (BST)
Received: (qmail 15310 invoked by uid 599); 4 Jul 2014 08:55:18 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Fri, 04 Jul 2014 09:55:18 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X2zGk-0002x3-67; Fri, 04 Jul 2014 09:54:58 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
Date: Fri, 4 Jul 2014 09:54:55 +0100
Thread-Topic: [MirageOS-devel] mirage-entropy
Thread-Index: Ac+XZaGml6AJOgCsTnOhDM6k7kHvKw==
Message-ID: <259434AD-480E-4EB4-A47D-FFE76DA5C8B0@nottingham.ac.uk>
References: <53B57EAA.3030805@mehnert.org>
	<C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
In-Reply-To: <C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8875178508243952408=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============8875178508243952408==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_B856C3B9-7735-44DA-A24A-CE22E44154DC";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_B856C3B9-7735-44DA-A24A-CE22E44154DC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On 4 Jul 2014, at 00:43, Thomas Gazagnaire <thomas@gazagnaire.org> =
wrote:

> ...So we ended up simplifying the build system (no needs for complex =
build rules anymore) but putting back the complexity in the functor =
language. And functors slowly started to contaminate our code base =
'cause now, every library using a functor should also expose a functor.

to check: the "contamination" you refer to is simply the (moderate) =
extra syntactic complexity of making the developer have to deal with =
functors, or are there other implications?

> To tackle the difficulty of using functors, we had two strategies. The =
first one was to develop, during last december, an EDSL to describe the =
composition of functors[3], which was what we finally released in mirage =
1.0. The second one was to be a bit more structured about how we design =
new libraries. We continue to use the linking trick for modules where =
there is clearly no way to have two concurrent implementation running at =
the same time in the same module. In the same time, we try to provide to =
the user, when possible, default functor instantiation in separate =
ocamlfind package to make easier to use the libraries. So most of the =
mirage libraries[4,5,...] are structured as follows:
> - a core ocamlfind package, which consumes and provides a functor, =
which is independent of the backend
> - a .lwt (should be called .unix really) ocamlfind subpackage, which =
applies the functors to work with Lwt_unix functions
> - a .xen ocamlfind subpackage, which applies the functors to work with =
mirage/xen

how does this fly with functorising across Lwt vs Async as done with =
cohttp iirc?  would that just mean that the .unix subpackage would have =
an extra module parameter supplying one or the other?

> ...
> Hope it helps clarifying things a little bit,

yes actually :)  this would make a useful blog post i think... (and =
perhaps content for a full-monty journal paper about mirage.)


--=20
Cheers,

R.





--Apple-Mail=_B856C3B9-7735-44DA-A24A-CE22E44154DC
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTtmvfAAoJEOLF27JWwSg3b4oQAMa3Jg0hdNxduFqibB5rhPrq
h+D9SDO2d3SixUAg9FP0geW/J0pdfQioweT6tb+SD413sxaBxg2CuTCuN3CImtl5
UZAOi366YK2nUqsSqJn2Eaj3+/MRP+FyuyCX8LQvVKNDTQIzMFiGpfVaorPs/gcr
9qenfz9xHLAz3Ogsgu/2+3zcuXwO07Np1eMatmh71brK9bMx6eULWf7xf1r2PAlZ
v9RJuNFvAKY+wsNuen2wEB/aSGEw/cnWLPQ7rYiIwJSnNnTjXbuYJ4nY1i7sWFUs
EbB+/PMFyXRTlemr3WZK9EpKzaNRhH3YyK5v90GuF1hftP4E8qmWqJFQR/wodoFg
5Do42qS+bKRhx8+wIMCzmAEX5HmqYPXHZjSXCFEAnTSJFK/h5lY7KmDgfOooBkD/
/w9IBfXOdzJgRj7NSGTqqVkxs+mMuvEnHI9LdQ980TvyJL2iZyG0C5RxjMbsV67t
sZIrlVFcDrX8VOXU0a3Fk8FQ6JGwVAaCV5iI2gG1zg3y0lqKdOuIQEpdeARUh5qb
gtk6rw0SqaGisp8KVUcP0QyzR3TeWQkUc8eXFi+5LEcKJKyQbvI+k3ewkVAd9EUf
nhTUoC5hNTZSDUGYxrLaVZaMI8USII2wiHiYph16ddBll98nfMfkoWmj/mYi5x5u
EyFaYuVTNP+AOEKZX+eU
=PAny
-----END PGP SIGNATURE-----

--Apple-Mail=_B856C3B9-7735-44DA-A24A-CE22E44154DC--


--===============8875178508243952408==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============8875178508243952408==--


From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 08:55:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 08:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2zGy-0000cm-7I; Fri, 04 Jul 2014 08:55:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X2zGw-0000cf-HE
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 08:55:10 +0000
Received: from [85.158.137.68:3689] by server-4.bemta-3.messagelabs.com id
	9C/66-23732-DEB66B35; Fri, 04 Jul 2014 08:55:09 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-10.tower-31.messagelabs.com!1404464108!13992560!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14145 invoked from network); 4 Jul 2014 08:55:09 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-10.tower-31.messagelabs.com with SMTP;
	4 Jul 2014 08:55:09 -0000
Received: (qmail 15390 invoked from network); 4 Jul 2014 08:55:26 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 4 Jul 2014 08:55:26 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 14939-09 for <mirageos-devel@lists.xenproject.org>;
	Fri,  4 Jul 2014 09:55:19 +0100 (BST)
Received: (qmail 15310 invoked by uid 599); 4 Jul 2014 08:55:18 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Fri, 04 Jul 2014 09:55:18 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X2zGk-0002x3-67; Fri, 04 Jul 2014 09:54:58 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
Date: Fri, 4 Jul 2014 09:54:55 +0100
Thread-Topic: [MirageOS-devel] mirage-entropy
Thread-Index: Ac+XZaGml6AJOgCsTnOhDM6k7kHvKw==
Message-ID: <259434AD-480E-4EB4-A47D-FFE76DA5C8B0@nottingham.ac.uk>
References: <53B57EAA.3030805@mehnert.org>
	<C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
In-Reply-To: <C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8875178508243952408=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============8875178508243952408==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_B856C3B9-7735-44DA-A24A-CE22E44154DC";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_B856C3B9-7735-44DA-A24A-CE22E44154DC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On 4 Jul 2014, at 00:43, Thomas Gazagnaire <thomas@gazagnaire.org> =
wrote:

> ...So we ended up simplifying the build system (no needs for complex =
build rules anymore) but putting back the complexity in the functor =
language. And functors slowly started to contaminate our code base =
'cause now, every library using a functor should also expose a functor.

to check: the "contamination" you refer to is simply the (moderate) =
extra syntactic complexity of making the developer have to deal with =
functors, or are there other implications?

> To tackle the difficulty of using functors, we had two strategies. The =
first one was to develop, during last december, an EDSL to describe the =
composition of functors[3], which was what we finally released in mirage =
1.0. The second one was to be a bit more structured about how we design =
new libraries. We continue to use the linking trick for modules where =
there is clearly no way to have two concurrent implementation running at =
the same time in the same module. In the same time, we try to provide to =
the user, when possible, default functor instantiation in separate =
ocamlfind package to make easier to use the libraries. So most of the =
mirage libraries[4,5,...] are structured as follows:
> - a core ocamlfind package, which consumes and provides a functor, =
which is independent of the backend
> - a .lwt (should be called .unix really) ocamlfind subpackage, which =
applies the functors to work with Lwt_unix functions
> - a .xen ocamlfind subpackage, which applies the functors to work with =
mirage/xen

how does this fly with functorising across Lwt vs Async as done with =
cohttp iirc?  would that just mean that the .unix subpackage would have =
an extra module parameter supplying one or the other?

> ...
> Hope it helps clarifying things a little bit,

yes actually :)  this would make a useful blog post i think... (and =
perhaps content for a full-monty journal paper about mirage.)


--=20
Cheers,

R.





--Apple-Mail=_B856C3B9-7735-44DA-A24A-CE22E44154DC
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTtmvfAAoJEOLF27JWwSg3b4oQAMa3Jg0hdNxduFqibB5rhPrq
h+D9SDO2d3SixUAg9FP0geW/J0pdfQioweT6tb+SD413sxaBxg2CuTCuN3CImtl5
UZAOi366YK2nUqsSqJn2Eaj3+/MRP+FyuyCX8LQvVKNDTQIzMFiGpfVaorPs/gcr
9qenfz9xHLAz3Ogsgu/2+3zcuXwO07Np1eMatmh71brK9bMx6eULWf7xf1r2PAlZ
v9RJuNFvAKY+wsNuen2wEB/aSGEw/cnWLPQ7rYiIwJSnNnTjXbuYJ4nY1i7sWFUs
EbB+/PMFyXRTlemr3WZK9EpKzaNRhH3YyK5v90GuF1hftP4E8qmWqJFQR/wodoFg
5Do42qS+bKRhx8+wIMCzmAEX5HmqYPXHZjSXCFEAnTSJFK/h5lY7KmDgfOooBkD/
/w9IBfXOdzJgRj7NSGTqqVkxs+mMuvEnHI9LdQ980TvyJL2iZyG0C5RxjMbsV67t
sZIrlVFcDrX8VOXU0a3Fk8FQ6JGwVAaCV5iI2gG1zg3y0lqKdOuIQEpdeARUh5qb
gtk6rw0SqaGisp8KVUcP0QyzR3TeWQkUc8eXFi+5LEcKJKyQbvI+k3ewkVAd9EUf
nhTUoC5hNTZSDUGYxrLaVZaMI8USII2wiHiYph16ddBll98nfMfkoWmj/mYi5x5u
EyFaYuVTNP+AOEKZX+eU
=PAny
-----END PGP SIGNATURE-----

--Apple-Mail=_B856C3B9-7735-44DA-A24A-CE22E44154DC--


--===============8875178508243952408==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============8875178508243952408==--


From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 09:31:59 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 09:31:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2zqX-0002GJ-7T; Fri, 04 Jul 2014 09:31:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X2zqV-0002GE-OM
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 09:31:55 +0000
Received: from [85.158.139.211:39862] by server-6.bemta-5.messagelabs.com id
	B0/58-25531-B8476B35; Fri, 04 Jul 2014 09:31:55 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1404466314!13640491!1
X-Originating-IP: [74.125.82.180]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26952 invoked from network); 4 Jul 2014 09:31:54 -0000
Received: from mail-we0-f180.google.com (HELO mail-we0-f180.google.com)
	(74.125.82.180)
	by server-9.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	4 Jul 2014 09:31:54 -0000
Received: by mail-we0-f180.google.com with SMTP id x48so1398738wes.25
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 04 Jul 2014 02:31:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=KUtXV3QilYkEYEUnKWdrHVm2yna1DDmNlOpBLRLbilQ=;
	b=BZpHsCGVBdSdxBSb622rVfWHbRqjR1TCnN3q9ecrQRTgOkMNrIWCkSTElJVZhkJojo
	J6Rw7WG14TInLtJI45L+raGL4phKQtBKs8OaKtuVuBP3hkjLeCyqZFtpLc7t0PD7eNMr
	43XupqW6FbZtAtpVDIlsbbrEkMU6yECawTeOa2NpzHTKoUPUtbn5pQnNfUb1ara8teaR
	1VOBp6ogcbi5kNYyOcqtXiPsTFgXtUqPdxl8lG5lR2cxPmku6/KJaKC27c/jAYOxV+X+
	heRwFlZXnhAey4bCTDv6niDn0e/NPsyk23/R5E7ymAuX/KcaKnBZKqK4xQuh8dcvJFm0
	wT7w==
X-Received: by 10.180.39.33 with SMTP id m1mr16828316wik.82.1404466312955;
	Fri, 04 Jul 2014 02:31:52 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122])
	by mx.google.com with ESMTPSA id i6sm77157720wiy.17.2014.07.04.02.31.51
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Fri, 04 Jul 2014 02:31:51 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <259434AD-480E-4EB4-A47D-FFE76DA5C8B0@nottingham.ac.uk>
Date: Fri, 4 Jul 2014 10:31:49 +0100
Message-Id: <01E92DFF-DFA4-400C-99F2-12BC89001D6E@gazagnaire.org>
References: <53B57EAA.3030805@mehnert.org>
	<C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
	<259434AD-480E-4EB4-A47D-FFE76DA5C8B0@nottingham.ac.uk>
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

>> ...So we ended up simplifying the build system (no needs for complex build rules anymore) but putting back the complexity in the functor language. And functors slowly started to contaminate our code base 'cause now, every library using a functor should also expose a functor.
> 
> to check: the "contamination" you refer to is simply the (moderate) extra syntactic complexity of making the developer have to deal with functors, or are there other implications?

This also means that when you are developing a new library which use an already functorised library, that new library also needs to be functorized over (at least) the same signatures. So if you are very far in the functor chain, the number of parametrised signature you should depend on might grow quite large. See [1] for instance ... but at least you fully track the dependencies and it is easier to switch, inside the langage instead of passing flags to the linker (as B. Pierce explained nicely in the slides that Daniel sent).

[1] https://github.com/mirage/mirage-tcpip/blob/master/lib/tcpip_stack_direct.mli#L24

>> To tackle the difficulty of using functors, we had two strategies. The first one was to develop, during last december, an EDSL to describe the composition of functors[3], which was what we finally released in mirage 1.0. The second one was to be a bit more structured about how we design new libraries. We continue to use the linking trick for modules where there is clearly no way to have two concurrent implementation running at the same time in the same module. In the same time, we try to provide to the user, when possible, default functor instantiation in separate ocamlfind package to make easier to use the libraries. So most of the mirage libraries[4,5,...] are structured as follows:
>> - a core ocamlfind package, which consumes and provides a functor, which is independent of the backend
>> - a .lwt (should be called .unix really) ocamlfind subpackage, which applies the functors to work with Lwt_unix functions
>> - a .xen ocamlfind subpackage, which applies the functors to work with mirage/xen
> 
> how does this fly with functorising across Lwt vs Async as done with cohttp iirc?  would that just mean that the .unix subpackage would have an extra module parameter supplying one or the other?

I should have written .lwt_unix (instead of .unix). Yup, in cohttp we have a an other .async sub-package which instantiate the core functor with Async. The downside of that approach is the number of sub-packages might grow exponentially if we really want to have all of them -- so having partially instantiated functors for lwt-unix/async/xen makes usually is enough.

>> Hope it helps clarifying things a little bit,
> 
> yes actually :)  this would make a useful blog post i think... (and perhaps content for a full-monty journal paper about mirage.)

I really need to write the Irmin blog post first but yea, why not ...

Thomas

> 
> 
> -- 
> Cheers,
> 
> R.
> 
> 
> 
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 09:31:59 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 09:31:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X2zqX-0002GJ-7T; Fri, 04 Jul 2014 09:31:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X2zqV-0002GE-OM
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 09:31:55 +0000
Received: from [85.158.139.211:39862] by server-6.bemta-5.messagelabs.com id
	B0/58-25531-B8476B35; Fri, 04 Jul 2014 09:31:55 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1404466314!13640491!1
X-Originating-IP: [74.125.82.180]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26952 invoked from network); 4 Jul 2014 09:31:54 -0000
Received: from mail-we0-f180.google.com (HELO mail-we0-f180.google.com)
	(74.125.82.180)
	by server-9.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	4 Jul 2014 09:31:54 -0000
Received: by mail-we0-f180.google.com with SMTP id x48so1398738wes.25
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 04 Jul 2014 02:31:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=KUtXV3QilYkEYEUnKWdrHVm2yna1DDmNlOpBLRLbilQ=;
	b=BZpHsCGVBdSdxBSb622rVfWHbRqjR1TCnN3q9ecrQRTgOkMNrIWCkSTElJVZhkJojo
	J6Rw7WG14TInLtJI45L+raGL4phKQtBKs8OaKtuVuBP3hkjLeCyqZFtpLc7t0PD7eNMr
	43XupqW6FbZtAtpVDIlsbbrEkMU6yECawTeOa2NpzHTKoUPUtbn5pQnNfUb1ara8teaR
	1VOBp6ogcbi5kNYyOcqtXiPsTFgXtUqPdxl8lG5lR2cxPmku6/KJaKC27c/jAYOxV+X+
	heRwFlZXnhAey4bCTDv6niDn0e/NPsyk23/R5E7ymAuX/KcaKnBZKqK4xQuh8dcvJFm0
	wT7w==
X-Received: by 10.180.39.33 with SMTP id m1mr16828316wik.82.1404466312955;
	Fri, 04 Jul 2014 02:31:52 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122])
	by mx.google.com with ESMTPSA id i6sm77157720wiy.17.2014.07.04.02.31.51
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Fri, 04 Jul 2014 02:31:51 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <259434AD-480E-4EB4-A47D-FFE76DA5C8B0@nottingham.ac.uk>
Date: Fri, 4 Jul 2014 10:31:49 +0100
Message-Id: <01E92DFF-DFA4-400C-99F2-12BC89001D6E@gazagnaire.org>
References: <53B57EAA.3030805@mehnert.org>
	<C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
	<259434AD-480E-4EB4-A47D-FFE76DA5C8B0@nottingham.ac.uk>
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

>> ...So we ended up simplifying the build system (no needs for complex build rules anymore) but putting back the complexity in the functor language. And functors slowly started to contaminate our code base 'cause now, every library using a functor should also expose a functor.
> 
> to check: the "contamination" you refer to is simply the (moderate) extra syntactic complexity of making the developer have to deal with functors, or are there other implications?

This also means that when you are developing a new library which use an already functorised library, that new library also needs to be functorized over (at least) the same signatures. So if you are very far in the functor chain, the number of parametrised signature you should depend on might grow quite large. See [1] for instance ... but at least you fully track the dependencies and it is easier to switch, inside the langage instead of passing flags to the linker (as B. Pierce explained nicely in the slides that Daniel sent).

[1] https://github.com/mirage/mirage-tcpip/blob/master/lib/tcpip_stack_direct.mli#L24

>> To tackle the difficulty of using functors, we had two strategies. The first one was to develop, during last december, an EDSL to describe the composition of functors[3], which was what we finally released in mirage 1.0. The second one was to be a bit more structured about how we design new libraries. We continue to use the linking trick for modules where there is clearly no way to have two concurrent implementation running at the same time in the same module. In the same time, we try to provide to the user, when possible, default functor instantiation in separate ocamlfind package to make easier to use the libraries. So most of the mirage libraries[4,5,...] are structured as follows:
>> - a core ocamlfind package, which consumes and provides a functor, which is independent of the backend
>> - a .lwt (should be called .unix really) ocamlfind subpackage, which applies the functors to work with Lwt_unix functions
>> - a .xen ocamlfind subpackage, which applies the functors to work with mirage/xen
> 
> how does this fly with functorising across Lwt vs Async as done with cohttp iirc?  would that just mean that the .unix subpackage would have an extra module parameter supplying one or the other?

I should have written .lwt_unix (instead of .unix). Yup, in cohttp we have a an other .async sub-package which instantiate the core functor with Async. The downside of that approach is the number of sub-packages might grow exponentially if we really want to have all of them -- so having partially instantiated functors for lwt-unix/async/xen makes usually is enough.

>> Hope it helps clarifying things a little bit,
> 
> yes actually :)  this would make a useful blog post i think... (and perhaps content for a full-monty journal paper about mirage.)

I really need to write the Irmin blog post first but yea, why not ...

Thomas

> 
> 
> -- 
> Cheers,
> 
> R.
> 
> 
> 
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 09:52:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 09:52:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X309z-0002pR-HO; Fri, 04 Jul 2014 09:52:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X309x-0002pM-0H
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 09:52:01 +0000
Received: from [85.158.137.68:45564] by server-7.bemta-3.messagelabs.com id
	D8/07-05389-04976B35; Fri, 04 Jul 2014 09:52:00 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-16.tower-31.messagelabs.com!1404467519!14033390!1
X-Originating-IP: [195.62.217.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTk1LjYyLjIxNy4xNTAgPT4gNzU3Mg==\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9579 invoked from network); 4 Jul 2014 09:51:59 -0000
Received: from engine06-20433-6.icritical.com (HELO
	engine06-20433-6.icritical.com) (195.62.217.150)
	by server-16.tower-31.messagelabs.com with SMTP;
	4 Jul 2014 09:51:59 -0000
Received: (qmail 21692 invoked from network); 4 Jul 2014 09:51:15 -0000
Received: from localhost (127.0.0.1)
	by engine06-20433-6.icritical.com with SMTP; 4 Jul 2014 09:51:15 -0000
Received: from engine06-20433-6.icritical.com ([127.0.0.1])
	by localhost (engine06-20433-6.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 19912-09 for <mirageos-devel@lists.xenproject.org>;
	Fri,  4 Jul 2014 10:51:04 +0100 (BST)
Received: (qmail 17311 invoked by uid 599); 4 Jul 2014 09:43:14 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine06-20433-6.icritical.com (qpsmtpd/0.28) with ESMTP;
	Fri, 04 Jul 2014 10:43:14 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X301Y-0000WA-BA; Fri, 04 Jul 2014 10:43:20 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
Date: Fri, 4 Jul 2014 10:43:18 +0100
Thread-Topic: [MirageOS-devel] mirage-entropy
Thread-Index: Ac+XbGOf2b0XwgSiSZaYxjlEMRSVbA==
Message-ID: <1DE67EE7-D452-46E8-94F2-B15DEA908053@nottingham.ac.uk>
References: <53B57EAA.3030805@mehnert.org>
	<C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
	<259434AD-480E-4EB4-A47D-FFE76DA5C8B0@nottingham.ac.uk>
	<01E92DFF-DFA4-400C-99F2-12BC89001D6E@gazagnaire.org>
In-Reply-To: <01E92DFF-DFA4-400C-99F2-12BC89001D6E@gazagnaire.org>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine06-20433-6.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0899578907019310693=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0899578907019310693==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_3FFE27D9-1C9C-4FE1-8254-FAF9EEF078A5";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_3FFE27D9-1C9C-4FE1-8254-FAF9EEF078A5
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On 4 Jul 2014, at 10:31, Thomas Gazagnaire <thomas@gazagnaire.org> =
wrote:

> ...This also means that when you are developing a new library which =
use an already functorised library, that new library also needs to be =
functorized over (at least) the same signatures. So if you are very far =
in the functor chain, the number of parametrised signature you should =
depend on might grow quite large. See [1] for instance ... but at least =
you fully track the dependencies and it is easier to switch, inside the =
langage instead of passing flags to the linker (as B. Pierce explained =
nicely in the slides that Daniel sent).
>=20
> [1] =
https://github.com/mirage/mirage-tcpip/blob/master/lib/tcpip_stack_direct.=
mli#L24

ok, understood. yes, those slides were interesting/useful.

> ...I should have written .lwt_unix (instead of .unix). Yup, in cohttp =
we have a an other .async sub-package which instantiate the core functor =
with Async. The downside of that approach is the number of sub-packages =
might grow exponentially if we really want to have all of them -- so =
having partially instantiated functors for lwt-unix/async/xen makes =
usually is enough.

ok cool. i wonder in practice how big the N feeding into that =
exponential will ever really be. also, just to be clear, the .xen =
package is always really .lwt_xen and will always be so (or is there =
prospect of xen using async?)

>>> Hope it helps clarifying things a little bit,
>>=20
>> yes actually :)  this would make a useful blog post i think... (and =
perhaps content for a full-monty journal paper about mirage.)
>=20
> I really need to write the Irmin blog post first but yea, why not ...

ofc-- irmin first :)  this is more for background interest i guess...

--=20
Cheers,

R.





--Apple-Mail=_3FFE27D9-1C9C-4FE1-8254-FAF9EEF078A5
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTtnc3AAoJEOLF27JWwSg3Wv0QAL0mcByglh3mG8nifwcoHpY0
9JiukNDp/dAHaAsgZuyotwrwnu9gcBbd/lUXDvIs/crV6wyHe3nI+Kv+4gnM7zqr
wKFmASVr+0rsAc/M66QQHzyllS2oS1CZrdxMl4kRC2ZmbRvIosI8EtbHRIqKPxJn
UC7lZN+Wdu3Jo6pLEutKxEXMusLf0cF7mhgaQ5gqY+KemRV7o8XwnvAFoe4XTS0R
7+rdQdMhVenpGC5NDEnsifoVQ5uKYH4VfLpo+ZRQD1wdBLsHKIuvXdULYva5o70R
KbGY/yNrpqTU+jnqqwT6WkWJ+zT3zr5DTesLs9i2UEspWuGkzlxBZMA3MvtSg2mj
ufJiJnqq3Pz3rluC6Ki9pmIBtMRo6jTXrZ2On7LT2HiaX8N14+eoC9hNceB4Jgkx
JVXrh/w2qEqUscLULjYFjNjF9rhgP2U+uLdDXMU+Y4kEOfn2aSs4Ur227Oi6bOxY
e9U8GxO1vWoWh2wOwG/RLDqTIoO8eYuh0gF3G5PMgOqovF/lPEIbaj4fyeVt999Y
RKw1dzewGe+2LfZtydqIuV7MmmQI168LR9J7+a7MCB4vqAeHMaYBEenmCL4MraFu
SZRODjhZ3RqBdaQcSiU+atUKWsDIYLdOgo2slr7HlVFaXkLd8491mb0qjKTS4Vyn
lCrWjsKdf3slDFO1m4uH
=QAxW
-----END PGP SIGNATURE-----

--Apple-Mail=_3FFE27D9-1C9C-4FE1-8254-FAF9EEF078A5--


--===============0899578907019310693==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0899578907019310693==--


From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 09:52:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 09:52:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X309z-0002pR-HO; Fri, 04 Jul 2014 09:52:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X309x-0002pM-0H
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 09:52:01 +0000
Received: from [85.158.137.68:45564] by server-7.bemta-3.messagelabs.com id
	D8/07-05389-04976B35; Fri, 04 Jul 2014 09:52:00 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-16.tower-31.messagelabs.com!1404467519!14033390!1
X-Originating-IP: [195.62.217.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTk1LjYyLjIxNy4xNTAgPT4gNzU3Mg==\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9579 invoked from network); 4 Jul 2014 09:51:59 -0000
Received: from engine06-20433-6.icritical.com (HELO
	engine06-20433-6.icritical.com) (195.62.217.150)
	by server-16.tower-31.messagelabs.com with SMTP;
	4 Jul 2014 09:51:59 -0000
Received: (qmail 21692 invoked from network); 4 Jul 2014 09:51:15 -0000
Received: from localhost (127.0.0.1)
	by engine06-20433-6.icritical.com with SMTP; 4 Jul 2014 09:51:15 -0000
Received: from engine06-20433-6.icritical.com ([127.0.0.1])
	by localhost (engine06-20433-6.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 19912-09 for <mirageos-devel@lists.xenproject.org>;
	Fri,  4 Jul 2014 10:51:04 +0100 (BST)
Received: (qmail 17311 invoked by uid 599); 4 Jul 2014 09:43:14 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine06-20433-6.icritical.com (qpsmtpd/0.28) with ESMTP;
	Fri, 04 Jul 2014 10:43:14 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X301Y-0000WA-BA; Fri, 04 Jul 2014 10:43:20 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
Date: Fri, 4 Jul 2014 10:43:18 +0100
Thread-Topic: [MirageOS-devel] mirage-entropy
Thread-Index: Ac+XbGOf2b0XwgSiSZaYxjlEMRSVbA==
Message-ID: <1DE67EE7-D452-46E8-94F2-B15DEA908053@nottingham.ac.uk>
References: <53B57EAA.3030805@mehnert.org>
	<C038D381-7CD6-48BD-ABFF-D153F41B342D@gazagnaire.org>
	<259434AD-480E-4EB4-A47D-FFE76DA5C8B0@nottingham.ac.uk>
	<01E92DFF-DFA4-400C-99F2-12BC89001D6E@gazagnaire.org>
In-Reply-To: <01E92DFF-DFA4-400C-99F2-12BC89001D6E@gazagnaire.org>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine06-20433-6.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] mirage-entropy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0899578907019310693=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0899578907019310693==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_3FFE27D9-1C9C-4FE1-8254-FAF9EEF078A5";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_3FFE27D9-1C9C-4FE1-8254-FAF9EEF078A5
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On 4 Jul 2014, at 10:31, Thomas Gazagnaire <thomas@gazagnaire.org> =
wrote:

> ...This also means that when you are developing a new library which =
use an already functorised library, that new library also needs to be =
functorized over (at least) the same signatures. So if you are very far =
in the functor chain, the number of parametrised signature you should =
depend on might grow quite large. See [1] for instance ... but at least =
you fully track the dependencies and it is easier to switch, inside the =
langage instead of passing flags to the linker (as B. Pierce explained =
nicely in the slides that Daniel sent).
>=20
> [1] =
https://github.com/mirage/mirage-tcpip/blob/master/lib/tcpip_stack_direct.=
mli#L24

ok, understood. yes, those slides were interesting/useful.

> ...I should have written .lwt_unix (instead of .unix). Yup, in cohttp =
we have a an other .async sub-package which instantiate the core functor =
with Async. The downside of that approach is the number of sub-packages =
might grow exponentially if we really want to have all of them -- so =
having partially instantiated functors for lwt-unix/async/xen makes =
usually is enough.

ok cool. i wonder in practice how big the N feeding into that =
exponential will ever really be. also, just to be clear, the .xen =
package is always really .lwt_xen and will always be so (or is there =
prospect of xen using async?)

>>> Hope it helps clarifying things a little bit,
>>=20
>> yes actually :)  this would make a useful blog post i think... (and =
perhaps content for a full-monty journal paper about mirage.)
>=20
> I really need to write the Irmin blog post first but yea, why not ...

ofc-- irmin first :)  this is more for background interest i guess...

--=20
Cheers,

R.





--Apple-Mail=_3FFE27D9-1C9C-4FE1-8254-FAF9EEF078A5
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTtnc3AAoJEOLF27JWwSg3Wv0QAL0mcByglh3mG8nifwcoHpY0
9JiukNDp/dAHaAsgZuyotwrwnu9gcBbd/lUXDvIs/crV6wyHe3nI+Kv+4gnM7zqr
wKFmASVr+0rsAc/M66QQHzyllS2oS1CZrdxMl4kRC2ZmbRvIosI8EtbHRIqKPxJn
UC7lZN+Wdu3Jo6pLEutKxEXMusLf0cF7mhgaQ5gqY+KemRV7o8XwnvAFoe4XTS0R
7+rdQdMhVenpGC5NDEnsifoVQ5uKYH4VfLpo+ZRQD1wdBLsHKIuvXdULYva5o70R
KbGY/yNrpqTU+jnqqwT6WkWJ+zT3zr5DTesLs9i2UEspWuGkzlxBZMA3MvtSg2mj
ufJiJnqq3Pz3rluC6Ki9pmIBtMRo6jTXrZ2On7LT2HiaX8N14+eoC9hNceB4Jgkx
JVXrh/w2qEqUscLULjYFjNjF9rhgP2U+uLdDXMU+Y4kEOfn2aSs4Ur227Oi6bOxY
e9U8GxO1vWoWh2wOwG/RLDqTIoO8eYuh0gF3G5PMgOqovF/lPEIbaj4fyeVt999Y
RKw1dzewGe+2LfZtydqIuV7MmmQI168LR9J7+a7MCB4vqAeHMaYBEenmCL4MraFu
SZRODjhZ3RqBdaQcSiU+atUKWsDIYLdOgo2slr7HlVFaXkLd8491mb0qjKTS4Vyn
lCrWjsKdf3slDFO1m4uH
=QAxW
-----END PGP SIGNATURE-----

--Apple-Mail=_3FFE27D9-1C9C-4FE1-8254-FAF9EEF078A5--


--===============0899578907019310693==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0899578907019310693==--


From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 11:58:11 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 11:58:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X327z-00009y-JJ; Fri, 04 Jul 2014 11:58:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X327y-00009k-09
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 11:58:06 +0000
Received: from [85.158.137.68:13800] by server-7.bemta-3.messagelabs.com id
	AA/BA-05389-DC696B35; Fri, 04 Jul 2014 11:58:05 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-15.tower-31.messagelabs.com!1404475084!13947957!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16620 invoked from network); 4 Jul 2014 11:58:04 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-15.tower-31.messagelabs.com with SMTP;
	4 Jul 2014 11:58:04 -0000
Received: (qmail 25526 invoked by uid 634); 4 Jul 2014 11:58:04 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Fri, 04 Jul 2014 12:58:03 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
Date: Fri, 4 Jul 2014 12:58:02 +0100
Message-Id: <B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 Jul 2014, at 17:03, Thomas Leonard <talex5@gmail.com> wrote:

> https://github.com/mirage/mirage-platform/pull/93
> 
> This pull request removes dietlibc, libm and most of the header files
> from mirage-platform, replacing them with external dependencies on
> Mini-OS and openlibm.
> 
> These changes do not themselves add support for ARM, but they do make
> it very easy to add, since the new Mini-OS and openlibm both support
> ARM, unlike the old code.
> 
> There is no replacement libc. It turned out that the only thing we
> needed was support for formatting floating point values. I took the
> code for that from musl (the FreeBSD code was large and difficult to
> separate out).
> 
> To test:
> 
> 1. Download and install libminios from
> https://github.com/talex5/xen/releases/tag/minios-v0.1
> 2. Download and install openlibm from
> https://github.com/talex5/openlibm/releases/tag/v0.3.1-tal1

A minor inconsistency I notice here:

libminios installs into /usr/lib by default (following the Xen convention), and openlibm installs into /usr/local/lib by default.  It would actually be really convenient to install these into the ~/.opam space via an OPAM package, rather than an external installation.

Any thoughts on that?  I imagine one difficulty is ensuring that pkg-config can still pick up the installed packages in the ~/.opam namespace.

I'm still testing the rest of the patch on x86_64 (hopefully this afternoon).

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 11:58:11 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 11:58:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X327z-00009y-JJ; Fri, 04 Jul 2014 11:58:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X327y-00009k-09
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 11:58:06 +0000
Received: from [85.158.137.68:13800] by server-7.bemta-3.messagelabs.com id
	AA/BA-05389-DC696B35; Fri, 04 Jul 2014 11:58:05 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-15.tower-31.messagelabs.com!1404475084!13947957!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16620 invoked from network); 4 Jul 2014 11:58:04 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-15.tower-31.messagelabs.com with SMTP;
	4 Jul 2014 11:58:04 -0000
Received: (qmail 25526 invoked by uid 634); 4 Jul 2014 11:58:04 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Fri, 04 Jul 2014 12:58:03 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
Date: Fri, 4 Jul 2014 12:58:02 +0100
Message-Id: <B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 2 Jul 2014, at 17:03, Thomas Leonard <talex5@gmail.com> wrote:

> https://github.com/mirage/mirage-platform/pull/93
> 
> This pull request removes dietlibc, libm and most of the header files
> from mirage-platform, replacing them with external dependencies on
> Mini-OS and openlibm.
> 
> These changes do not themselves add support for ARM, but they do make
> it very easy to add, since the new Mini-OS and openlibm both support
> ARM, unlike the old code.
> 
> There is no replacement libc. It turned out that the only thing we
> needed was support for formatting floating point values. I took the
> code for that from musl (the FreeBSD code was large and difficult to
> separate out).
> 
> To test:
> 
> 1. Download and install libminios from
> https://github.com/talex5/xen/releases/tag/minios-v0.1
> 2. Download and install openlibm from
> https://github.com/talex5/openlibm/releases/tag/v0.3.1-tal1

A minor inconsistency I notice here:

libminios installs into /usr/lib by default (following the Xen convention), and openlibm installs into /usr/local/lib by default.  It would actually be really convenient to install these into the ~/.opam space via an OPAM package, rather than an external installation.

Any thoughts on that?  I imagine one difficulty is ensuring that pkg-config can still pick up the installed packages in the ~/.opam namespace.

I'm still testing the rest of the patch on x86_64 (hopefully this afternoon).

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 12:03:27 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 12:03:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X32D8-0000e7-Jc; Fri, 04 Jul 2014 12:03:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X32D7-0000dy-4O
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 12:03:25 +0000
Received: from [85.158.139.211:47470] by server-1.bemta-5.messagelabs.com id
	F8/5B-30932-C0896B35; Fri, 04 Jul 2014 12:03:24 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-206.messagelabs.com!1404475403!13660272!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29166 invoked from network); 4 Jul 2014 12:03:23 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-206.messagelabs.com with SMTP;
	4 Jul 2014 12:03:23 -0000
Received: (qmail 25781 invoked by uid 634); 4 Jul 2014 12:03:23 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Fri, 04 Jul 2014 13:03:22 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
Date: Fri, 4 Jul 2014 13:03:21 +0100
Message-Id: <AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 4 Jul 2014, at 12:58, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 2 Jul 2014, at 17:03, Thomas Leonard <talex5@gmail.com> wrote:
> 
>> https://github.com/mirage/mirage-platform/pull/93
>> 
>> This pull request removes dietlibc, libm and most of the header files
>> from mirage-platform, replacing them with external dependencies on
>> Mini-OS and openlibm.
>> 
>> These changes do not themselves add support for ARM, but they do make
>> it very easy to add, since the new Mini-OS and openlibm both support
>> ARM, unlike the old code.
>> 
>> There is no replacement libc. It turned out that the only thing we
>> needed was support for formatting floating point values. I took the
>> code for that from musl (the FreeBSD code was large and difficult to
>> separate out).
>> 
>> To test:
>> 
>> 1. Download and install libminios from
>> https://github.com/talex5/xen/releases/tag/minios-v0.1
>> 2. Download and install openlibm from
>> https://github.com/talex5/openlibm/releases/tag/v0.3.1-tal1
> 
> A minor inconsistency I notice here:
> 
> libminios installs into /usr/lib by default (following the Xen convention), and openlibm installs into /usr/local/lib by default.  It would actually be really convenient to install these into the ~/.opam space via an OPAM package, rather than an external installation.

Also, shouldn't libminios be something more descriptive like 'libxenminios'?  This will help upstream packaging later on.

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 12:03:27 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 12:03:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X32D8-0000e7-Jc; Fri, 04 Jul 2014 12:03:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X32D7-0000dy-4O
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 12:03:25 +0000
Received: from [85.158.139.211:47470] by server-1.bemta-5.messagelabs.com id
	F8/5B-30932-C0896B35; Fri, 04 Jul 2014 12:03:24 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-206.messagelabs.com!1404475403!13660272!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29166 invoked from network); 4 Jul 2014 12:03:23 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-206.messagelabs.com with SMTP;
	4 Jul 2014 12:03:23 -0000
Received: (qmail 25781 invoked by uid 634); 4 Jul 2014 12:03:23 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Fri, 04 Jul 2014 13:03:22 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
Date: Fri, 4 Jul 2014 13:03:21 +0100
Message-Id: <AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 4 Jul 2014, at 12:58, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 2 Jul 2014, at 17:03, Thomas Leonard <talex5@gmail.com> wrote:
> 
>> https://github.com/mirage/mirage-platform/pull/93
>> 
>> This pull request removes dietlibc, libm and most of the header files
>> from mirage-platform, replacing them with external dependencies on
>> Mini-OS and openlibm.
>> 
>> These changes do not themselves add support for ARM, but they do make
>> it very easy to add, since the new Mini-OS and openlibm both support
>> ARM, unlike the old code.
>> 
>> There is no replacement libc. It turned out that the only thing we
>> needed was support for formatting floating point values. I took the
>> code for that from musl (the FreeBSD code was large and difficult to
>> separate out).
>> 
>> To test:
>> 
>> 1. Download and install libminios from
>> https://github.com/talex5/xen/releases/tag/minios-v0.1
>> 2. Download and install openlibm from
>> https://github.com/talex5/openlibm/releases/tag/v0.3.1-tal1
> 
> A minor inconsistency I notice here:
> 
> libminios installs into /usr/lib by default (following the Xen convention), and openlibm installs into /usr/local/lib by default.  It would actually be really convenient to install these into the ~/.opam space via an OPAM package, rather than an external installation.

Also, shouldn't libminios be something more descriptive like 'libxenminios'?  This will help upstream packaging later on.

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 12:50:58 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 12:50:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X32x5-0002dB-Sv; Fri, 04 Jul 2014 12:50:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X32x4-0002d6-Hb
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 12:50:54 +0000
Received: from [193.109.254.147:33622] by server-10.bemta-14.messagelabs.com
	id 8A/2F-01431-D23A6B35; Fri, 04 Jul 2014 12:50:53 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1404478251!10876652!1
X-Originating-IP: [209.85.214.180]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22667 invoked from network); 4 Jul 2014 12:50:52 -0000
Received: from mail-ob0-f180.google.com (HELO mail-ob0-f180.google.com)
	(209.85.214.180)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 Jul 2014 12:50:52 -0000
Received: by mail-ob0-f180.google.com with SMTP id vb8so1774971obc.25
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 04 Jul 2014 05:50:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=pkAFgPEShH71b21zDjciIn6zoXMXxt31h7/aDCicjfo=;
	b=kOYkZlk4pYwRvDs+R8aXBvskL6j08GLWxK6JKjt3N81NOA4KgeEn8dnVskHkfgqtDZ
	+uACe5+3I8EhIBKNUCO2CyQOVu6N89K9tRbt2XY1q0sDgkDNhcQfh/fhKvjieTAZPdP6
	6T5zSh9XkurCZ2AXeRuHFaz+ZEa61+fYjpvTRB76vqRk+YyLJBm1IwgvTrz8u5AjNWnj
	jKwJ37gAAEZ6aGDzvvq7ohu/H1SGkG5tMDOyIbttJHddg1F74Vn7QKuUmeG/tWNSeL6f
	9sZ2BCtPAGJd+BdMlXoTcXSpEd+iVv4juCo/lPL7g2pCfAnrTmhXkyIz3zUOC8gtEuJN
	gtmw==
MIME-Version: 1.0
X-Received: by 10.182.104.66 with SMTP id gc2mr11945181obb.17.1404478251464;
	Fri, 04 Jul 2014 05:50:51 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Fri, 4 Jul 2014 05:50:51 -0700 (PDT)
In-Reply-To: <AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
Date: Fri, 4 Jul 2014 13:50:51 +0100
Message-ID: <CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 4 July 2014 13:03, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 4 Jul 2014, at 12:58, Anil Madhavapeddy <anil@recoil.org> wrote:
>
>> On 2 Jul 2014, at 17:03, Thomas Leonard <talex5@gmail.com> wrote:
>>
>>> https://github.com/mirage/mirage-platform/pull/93
>>>
>>> This pull request removes dietlibc, libm and most of the header files
>>> from mirage-platform, replacing them with external dependencies on
>>> Mini-OS and openlibm.
>>>
>>> These changes do not themselves add support for ARM, but they do make
>>> it very easy to add, since the new Mini-OS and openlibm both support
>>> ARM, unlike the old code.
>>>
>>> There is no replacement libc. It turned out that the only thing we
>>> needed was support for formatting floating point values. I took the
>>> code for that from musl (the FreeBSD code was large and difficult to
>>> separate out).
>>>
>>> To test:
>>>
>>> 1. Download and install libminios from
>>> https://github.com/talex5/xen/releases/tag/minios-v0.1
>>> 2. Download and install openlibm from
>>> https://github.com/talex5/openlibm/releases/tag/v0.3.1-tal1
>>
>> A minor inconsistency I notice here:
>>
>> libminios installs into /usr/lib by default (following the Xen convention), and openlibm installs into /usr/local/lib by default.  It would actually be really convenient to install these into the ~/.opam space via an OPAM package, rather than an external installation.

You can install libminios elsewhere with e.g.

  $ make install LIBDIR=/tmp/foo/lib INCLUDEDIR=/tmp/foo/include

Just remember to set PKG_CONFIG_PATH to find it again:

  $ PKG_CONFIG_PATH=/tmp/foo/lib/pkgconfig pkg-config --libs libminios
  -L/tmp/foo/usr/lib/pkgconfig/../../lib/mini-os -lminios -T
/tmp/foo/usr/lib/pkgconfig/../../lib/mini-os/libminios.lds -m
elf_x86_64 -lx86_64

(note: it does assume that LIBDIR and INCLUDEDIR have a common parent)

For openlibm, use:

  $ make install prefix=/tmp/foo

I guess someone with OPAM skills could do this pretty easily...

> Also, shouldn't libminios be something more descriptive like 'libxenminios'?  This will help upstream packaging later on.

Yes, probably.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 04 12:50:58 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 04 Jul 2014 12:50:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X32x5-0002dB-Sv; Fri, 04 Jul 2014 12:50:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X32x4-0002d6-Hb
	for mirageos-devel@lists.xenproject.org; Fri, 04 Jul 2014 12:50:54 +0000
Received: from [193.109.254.147:33622] by server-10.bemta-14.messagelabs.com
	id 8A/2F-01431-D23A6B35; Fri, 04 Jul 2014 12:50:53 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1404478251!10876652!1
X-Originating-IP: [209.85.214.180]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22667 invoked from network); 4 Jul 2014 12:50:52 -0000
Received: from mail-ob0-f180.google.com (HELO mail-ob0-f180.google.com)
	(209.85.214.180)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 Jul 2014 12:50:52 -0000
Received: by mail-ob0-f180.google.com with SMTP id vb8so1774971obc.25
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 04 Jul 2014 05:50:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=pkAFgPEShH71b21zDjciIn6zoXMXxt31h7/aDCicjfo=;
	b=kOYkZlk4pYwRvDs+R8aXBvskL6j08GLWxK6JKjt3N81NOA4KgeEn8dnVskHkfgqtDZ
	+uACe5+3I8EhIBKNUCO2CyQOVu6N89K9tRbt2XY1q0sDgkDNhcQfh/fhKvjieTAZPdP6
	6T5zSh9XkurCZ2AXeRuHFaz+ZEa61+fYjpvTRB76vqRk+YyLJBm1IwgvTrz8u5AjNWnj
	jKwJ37gAAEZ6aGDzvvq7ohu/H1SGkG5tMDOyIbttJHddg1F74Vn7QKuUmeG/tWNSeL6f
	9sZ2BCtPAGJd+BdMlXoTcXSpEd+iVv4juCo/lPL7g2pCfAnrTmhXkyIz3zUOC8gtEuJN
	gtmw==
MIME-Version: 1.0
X-Received: by 10.182.104.66 with SMTP id gc2mr11945181obb.17.1404478251464;
	Fri, 04 Jul 2014 05:50:51 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Fri, 4 Jul 2014 05:50:51 -0700 (PDT)
In-Reply-To: <AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
Date: Fri, 4 Jul 2014 13:50:51 +0100
Message-ID: <CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 4 July 2014 13:03, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 4 Jul 2014, at 12:58, Anil Madhavapeddy <anil@recoil.org> wrote:
>
>> On 2 Jul 2014, at 17:03, Thomas Leonard <talex5@gmail.com> wrote:
>>
>>> https://github.com/mirage/mirage-platform/pull/93
>>>
>>> This pull request removes dietlibc, libm and most of the header files
>>> from mirage-platform, replacing them with external dependencies on
>>> Mini-OS and openlibm.
>>>
>>> These changes do not themselves add support for ARM, but they do make
>>> it very easy to add, since the new Mini-OS and openlibm both support
>>> ARM, unlike the old code.
>>>
>>> There is no replacement libc. It turned out that the only thing we
>>> needed was support for formatting floating point values. I took the
>>> code for that from musl (the FreeBSD code was large and difficult to
>>> separate out).
>>>
>>> To test:
>>>
>>> 1. Download and install libminios from
>>> https://github.com/talex5/xen/releases/tag/minios-v0.1
>>> 2. Download and install openlibm from
>>> https://github.com/talex5/openlibm/releases/tag/v0.3.1-tal1
>>
>> A minor inconsistency I notice here:
>>
>> libminios installs into /usr/lib by default (following the Xen convention), and openlibm installs into /usr/local/lib by default.  It would actually be really convenient to install these into the ~/.opam space via an OPAM package, rather than an external installation.

You can install libminios elsewhere with e.g.

  $ make install LIBDIR=/tmp/foo/lib INCLUDEDIR=/tmp/foo/include

Just remember to set PKG_CONFIG_PATH to find it again:

  $ PKG_CONFIG_PATH=/tmp/foo/lib/pkgconfig pkg-config --libs libminios
  -L/tmp/foo/usr/lib/pkgconfig/../../lib/mini-os -lminios -T
/tmp/foo/usr/lib/pkgconfig/../../lib/mini-os/libminios.lds -m
elf_x86_64 -lx86_64

(note: it does assume that LIBDIR and INCLUDEDIR have a common parent)

For openlibm, use:

  $ make install prefix=/tmp/foo

I guess someone with OPAM skills could do this pretty easily...

> Also, shouldn't libminios be something more descriptive like 'libxenminios'?  This will help upstream packaging later on.

Yes, probably.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 17:51:57 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 17:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3qbO-0005ve-UO; Sun, 06 Jul 2014 17:51:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X3qbN-0005vZ-Q9
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 17:51:49 +0000
Received: from [193.109.254.147:18097] by server-1.bemta-14.messagelabs.com id
	B3/83-14887-5BC89B35; Sun, 06 Jul 2014 17:51:49 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-3.tower-27.messagelabs.com!1404669108!15693896!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21415 invoked from network); 6 Jul 2014 17:51:48 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-3.tower-27.messagelabs.com with SMTP;
	6 Jul 2014 17:51:48 -0000
Received: (qmail 17048 invoked by uid 634); 6 Jul 2014 17:51:47 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 06 Jul 2014 18:51:46 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
Date: Sun, 6 Jul 2014 18:51:45 +0100
Message-Id: <3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 4 Jul 2014, at 13:50, Thomas Leonard <talex5@gmail.com> wrote:
> 
> You can install libminios elsewhere with e.g.
> 
>  $ make install LIBDIR=/tmp/foo/lib INCLUDEDIR=/tmp/foo/include
> 
> Just remember to set PKG_CONFIG_PATH to find it again:
> 
>  $ PKG_CONFIG_PATH=/tmp/foo/lib/pkgconfig pkg-config --libs libminios
>  -L/tmp/foo/usr/lib/pkgconfig/../../lib/mini-os -lminios -T
> /tmp/foo/usr/lib/pkgconfig/../../lib/mini-os/libminios.lds -m
> elf_x86_64 -lx86_64
> 
> (note: it does assume that LIBDIR and INCLUDEDIR have a common parent)
> 
> For openlibm, use:
> 
>  $ make install prefix=/tmp/foo
> 
> I guess someone with OPAM skills could do this pretty easily...

Done.  I put a small package called 'xen-minios' into:

https://github.com/mirage/opam-repository in the external-minios branch.

It just runs the `install.sh` in this repository:

https://github.com/mirage/mirage-xen-libs

which downloads and installs our openlibm/minios forks into the
~/.opam dirspace (or optionally into some other PREFIX if specified).

I think it might be a good idea to maintain this library (perhaps with
a better name, like mirage-xen-minios) in the future, since it's a 
convenient place to apply distribution-specific patches to MiniOS
(like cleaning up the startup text to be prettier), and also to
control which versions of libm go in.   How about I rename the
repository to mirage-xen-minios, and cut a release tarball that bundles
the upstream .tar.gz files (so `make install` can run without any
external downloads)?

Once that's done, I just needed a few minor patches to your
mirage-platform pull request:

- The symlink handling in OPAM is annoying right now, since it
  destroys them from the source repository.  On the other hand,
  the only reason we have symlinks in mirage-platform is to support
  two concurrent revisions of OCaml (4.00.1 and 4.01.0).  I think
  it's time to retire 4.00.1 (especially with the ARM code gen
  fixes in 4.01.0), so I've removed it entirely and made the only
  supported runtime 4.01.0.

- I exported PKG_CONFIG_PATH from the xen/Makefile. ThomasG and I
  had a quick chat about how best to support this from OPAM, but the
  easiest way right now is to run `opam config var prefix` to 
  determine the active compiler switch, and set the variable based
  off that.

I've put these patches into:
https://github.com/mirage/mirage-platform/pull/94

And it boots on x86_64! A little more verbose as expected:

Mapping memory range 0x400000 - 0x10000000
setting 0000000000000000-00000000000de000 readonly
skipped 0000000000001000
MM: Initialise page allocator for 28e000(28e000)-10000000(10000000)
MM: done
Demand map pfns at 10001000-2010001000.
Initialising timer interface
Initialising console ... done.
gnttab_table mapped at 0000000010001000.
xencaml: app_main_thread
getenv(OCAMLRUNPARAM) -> null
getenv(CAMLRUNPARAM) -> null
Unsupported function lseek called in Mini-OS kernel
Unsupported function lseek called in Mini-OS kernel
Unsupported function lseek called in Mini-OS kernel
getenv(OCAMLRUNPARAM) -> null
getenv(CAMLRUNPARAM) -> null
getenv(TMPDIR) -> null
getenv(TEMP) -> null
hello
world
hello
world
hello
world
hello
world
hello
world
main returned 0

And static_website worked too, so networking is fine too:

$ curl -v 10.11.12.76
* Rebuilt URL to: 10.11.12.76/
* Hostname was NOT found in DNS cache
*   Trying 10.11.12.76...
* Connected to 10.11.12.76 (10.11.12.76) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.37.0
> Host: 10.11.12.76
> Accept: */*
> 
< HTTP/1.1 200 OK
< content-length: 59
< 
<html>
<body>
<h1>Hello Mirage World!</h1>
</body>
</html>
* Connection #0 to host 10.11.12.76 left intact

Now resurrecting a Cubieboard2 to try it on ARM :-)

-anil




_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 17:51:57 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 17:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3qbO-0005ve-UO; Sun, 06 Jul 2014 17:51:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X3qbN-0005vZ-Q9
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 17:51:49 +0000
Received: from [193.109.254.147:18097] by server-1.bemta-14.messagelabs.com id
	B3/83-14887-5BC89B35; Sun, 06 Jul 2014 17:51:49 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-3.tower-27.messagelabs.com!1404669108!15693896!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21415 invoked from network); 6 Jul 2014 17:51:48 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-3.tower-27.messagelabs.com with SMTP;
	6 Jul 2014 17:51:48 -0000
Received: (qmail 17048 invoked by uid 634); 6 Jul 2014 17:51:47 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 06 Jul 2014 18:51:46 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
Date: Sun, 6 Jul 2014 18:51:45 +0100
Message-Id: <3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 4 Jul 2014, at 13:50, Thomas Leonard <talex5@gmail.com> wrote:
> 
> You can install libminios elsewhere with e.g.
> 
>  $ make install LIBDIR=/tmp/foo/lib INCLUDEDIR=/tmp/foo/include
> 
> Just remember to set PKG_CONFIG_PATH to find it again:
> 
>  $ PKG_CONFIG_PATH=/tmp/foo/lib/pkgconfig pkg-config --libs libminios
>  -L/tmp/foo/usr/lib/pkgconfig/../../lib/mini-os -lminios -T
> /tmp/foo/usr/lib/pkgconfig/../../lib/mini-os/libminios.lds -m
> elf_x86_64 -lx86_64
> 
> (note: it does assume that LIBDIR and INCLUDEDIR have a common parent)
> 
> For openlibm, use:
> 
>  $ make install prefix=/tmp/foo
> 
> I guess someone with OPAM skills could do this pretty easily...

Done.  I put a small package called 'xen-minios' into:

https://github.com/mirage/opam-repository in the external-minios branch.

It just runs the `install.sh` in this repository:

https://github.com/mirage/mirage-xen-libs

which downloads and installs our openlibm/minios forks into the
~/.opam dirspace (or optionally into some other PREFIX if specified).

I think it might be a good idea to maintain this library (perhaps with
a better name, like mirage-xen-minios) in the future, since it's a 
convenient place to apply distribution-specific patches to MiniOS
(like cleaning up the startup text to be prettier), and also to
control which versions of libm go in.   How about I rename the
repository to mirage-xen-minios, and cut a release tarball that bundles
the upstream .tar.gz files (so `make install` can run without any
external downloads)?

Once that's done, I just needed a few minor patches to your
mirage-platform pull request:

- The symlink handling in OPAM is annoying right now, since it
  destroys them from the source repository.  On the other hand,
  the only reason we have symlinks in mirage-platform is to support
  two concurrent revisions of OCaml (4.00.1 and 4.01.0).  I think
  it's time to retire 4.00.1 (especially with the ARM code gen
  fixes in 4.01.0), so I've removed it entirely and made the only
  supported runtime 4.01.0.

- I exported PKG_CONFIG_PATH from the xen/Makefile. ThomasG and I
  had a quick chat about how best to support this from OPAM, but the
  easiest way right now is to run `opam config var prefix` to 
  determine the active compiler switch, and set the variable based
  off that.

I've put these patches into:
https://github.com/mirage/mirage-platform/pull/94

And it boots on x86_64! A little more verbose as expected:

Mapping memory range 0x400000 - 0x10000000
setting 0000000000000000-00000000000de000 readonly
skipped 0000000000001000
MM: Initialise page allocator for 28e000(28e000)-10000000(10000000)
MM: done
Demand map pfns at 10001000-2010001000.
Initialising timer interface
Initialising console ... done.
gnttab_table mapped at 0000000010001000.
xencaml: app_main_thread
getenv(OCAMLRUNPARAM) -> null
getenv(CAMLRUNPARAM) -> null
Unsupported function lseek called in Mini-OS kernel
Unsupported function lseek called in Mini-OS kernel
Unsupported function lseek called in Mini-OS kernel
getenv(OCAMLRUNPARAM) -> null
getenv(CAMLRUNPARAM) -> null
getenv(TMPDIR) -> null
getenv(TEMP) -> null
hello
world
hello
world
hello
world
hello
world
hello
world
main returned 0

And static_website worked too, so networking is fine too:

$ curl -v 10.11.12.76
* Rebuilt URL to: 10.11.12.76/
* Hostname was NOT found in DNS cache
*   Trying 10.11.12.76...
* Connected to 10.11.12.76 (10.11.12.76) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.37.0
> Host: 10.11.12.76
> Accept: */*
> 
< HTTP/1.1 200 OK
< content-length: 59
< 
<html>
<body>
<h1>Hello Mirage World!</h1>
</body>
</html>
* Connection #0 to host 10.11.12.76 left intact

Now resurrecting a Cubieboard2 to try it on ARM :-)

-anil




_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 17:55:38 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 17:55:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3qf4-0005z6-Ay; Sun, 06 Jul 2014 17:55:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X3qf2-0005yz-W0
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 17:55:37 +0000
Received: from [193.109.254.147:61471] by server-3.bemta-14.messagelabs.com id
	3C/A3-13460-89D89B35; Sun, 06 Jul 2014 17:55:36 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-4.tower-27.messagelabs.com!1404669335!15786298!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30683 invoked from network); 6 Jul 2014 17:55:35 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-4.tower-27.messagelabs.com with SMTP;
	6 Jul 2014 17:55:35 -0000
Received: (qmail 32438 invoked by uid 634); 6 Jul 2014 17:55:35 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 06 Jul 2014 18:55:31 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
Date: Sun, 6 Jul 2014 18:55:30 +0100
Message-Id: <5F729334-96DE-4050-A172-E84AF8B1866E@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 6 Jul 2014, at 18:51, Anil Madhavapeddy <anil@recoil.org> wrote:

> I think it might be a good idea to maintain this library (perhaps with
> a better name, like mirage-xen-minios) in the future, since it's a 
> convenient place to apply distribution-specific patches to MiniOS
> (like cleaning up the startup text to be prettier), and also to
> control which versions of libm go in.   How about I rename the
> repository to mirage-xen-minios, and cut a release tarball that bundles
> the upstream .tar.gz files (so `make install` can run without any
> external downloads)?

We could alternatively use git submodules too, but that interacts
badly with OPAM 1.1.x; https://github.com/ocaml/opam/issues/1422

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 17:55:38 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 17:55:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3qf4-0005z6-Ay; Sun, 06 Jul 2014 17:55:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X3qf2-0005yz-W0
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 17:55:37 +0000
Received: from [193.109.254.147:61471] by server-3.bemta-14.messagelabs.com id
	3C/A3-13460-89D89B35; Sun, 06 Jul 2014 17:55:36 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-4.tower-27.messagelabs.com!1404669335!15786298!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30683 invoked from network); 6 Jul 2014 17:55:35 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-4.tower-27.messagelabs.com with SMTP;
	6 Jul 2014 17:55:35 -0000
Received: (qmail 32438 invoked by uid 634); 6 Jul 2014 17:55:35 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 06 Jul 2014 18:55:31 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
Date: Sun, 6 Jul 2014 18:55:30 +0100
Message-Id: <5F729334-96DE-4050-A172-E84AF8B1866E@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 6 Jul 2014, at 18:51, Anil Madhavapeddy <anil@recoil.org> wrote:

> I think it might be a good idea to maintain this library (perhaps with
> a better name, like mirage-xen-minios) in the future, since it's a 
> convenient place to apply distribution-specific patches to MiniOS
> (like cleaning up the startup text to be prettier), and also to
> control which versions of libm go in.   How about I rename the
> repository to mirage-xen-minios, and cut a release tarball that bundles
> the upstream .tar.gz files (so `make install` can run without any
> external downloads)?

We could alternatively use git submodules too, but that interacts
badly with OPAM 1.1.x; https://github.com/ocaml/opam/issues/1422

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 18:03:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 18:03:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3qmm-0006Cn-1I; Sun, 06 Jul 2014 18:03:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X3qmk-0006Ci-Fc
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 18:03:34 +0000
Received: from [193.109.254.147:32971] by server-3.bemta-14.messagelabs.com id
	FC/C5-13460-27F89B35; Sun, 06 Jul 2014 18:03:30 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-4.tower-27.messagelabs.com!1404669809!15786797!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23005 invoked from network); 6 Jul 2014 18:03:29 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-4.tower-27.messagelabs.com with SMTP;
	6 Jul 2014 18:03:29 -0000
Received: (qmail 30677 invoked by uid 634); 6 Jul 2014 18:03:29 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 06 Jul 2014 19:03:29 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Message-Id: <97EAC64E-CCB9-4A93-A828-05E2B14D664D@recoil.org>
Date: Sun, 6 Jul 2014 19:03:27 +0100
To: mirageos-devel@lists.xenproject.org
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Subject: [MirageOS-devel] ANN: Cstruct 1.3.0
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

By popular request, Cstruct 1.3.0 is now in OPAM [1], and supports Sexplib by default!  It also includes extra bounds checks within Cstruct sub-views, thanks to Mindy discovering this while attacking our TCP stack with dodgy packets (interesting discussion in [2]).

# #require "cstruct";;
# #require "sexplib.top";;
# Cstruct.sexp_of_t (Cstruct.create 5);;
- : Sexplib.Type.t = ((buffer \y886%m.) (off 0) (len 5)) 

The sexplib addition makes it much easier to decorate upstream libraries (like TCP/IP) with a `sexp` serializer to obtain a stable serialisation.

* Add bounds checks for Cstruct.BE/LE functions that violate a view. Previously, only bounds errors on the underlying buffers would raise. Bug #25, reported by Mindy Preston inmirage/mirage-tcpip#56.

* Add 'Lwt_cstruct.complete' to ensure that read/write operations run to completion.

* Add Sexplib conversion functions to Cstruct.t values (#27 #22).

[1] https://github.com/mirage/ocaml-cstruct/releases/tag/v1.3.0
[2] https://github.com/mirage/mirage-tcpip/issues/56

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 18:03:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 18:03:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3qmm-0006Cn-1I; Sun, 06 Jul 2014 18:03:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X3qmk-0006Ci-Fc
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 18:03:34 +0000
Received: from [193.109.254.147:32971] by server-3.bemta-14.messagelabs.com id
	FC/C5-13460-27F89B35; Sun, 06 Jul 2014 18:03:30 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-4.tower-27.messagelabs.com!1404669809!15786797!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23005 invoked from network); 6 Jul 2014 18:03:29 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-4.tower-27.messagelabs.com with SMTP;
	6 Jul 2014 18:03:29 -0000
Received: (qmail 30677 invoked by uid 634); 6 Jul 2014 18:03:29 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 06 Jul 2014 19:03:29 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Message-Id: <97EAC64E-CCB9-4A93-A828-05E2B14D664D@recoil.org>
Date: Sun, 6 Jul 2014 19:03:27 +0100
To: mirageos-devel@lists.xenproject.org
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Subject: [MirageOS-devel] ANN: Cstruct 1.3.0
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

By popular request, Cstruct 1.3.0 is now in OPAM [1], and supports Sexplib by default!  It also includes extra bounds checks within Cstruct sub-views, thanks to Mindy discovering this while attacking our TCP stack with dodgy packets (interesting discussion in [2]).

# #require "cstruct";;
# #require "sexplib.top";;
# Cstruct.sexp_of_t (Cstruct.create 5);;
- : Sexplib.Type.t = ((buffer \y886%m.) (off 0) (len 5)) 

The sexplib addition makes it much easier to decorate upstream libraries (like TCP/IP) with a `sexp` serializer to obtain a stable serialisation.

* Add bounds checks for Cstruct.BE/LE functions that violate a view. Previously, only bounds errors on the underlying buffers would raise. Bug #25, reported by Mindy Preston inmirage/mirage-tcpip#56.

* Add 'Lwt_cstruct.complete' to ensure that read/write operations run to completion.

* Add Sexplib conversion functions to Cstruct.t values (#27 #22).

[1] https://github.com/mirage/ocaml-cstruct/releases/tag/v1.3.0
[2] https://github.com/mirage/mirage-tcpip/issues/56

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 19:30:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 19:30:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3s8W-0007Od-O1; Sun, 06 Jul 2014 19:30:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X3s8U-0007OV-Ks
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 19:30:06 +0000
Received: from [85.158.139.211:20428] by server-12.bemta-5.messagelabs.com id
	41/B6-27841-DB3A9B35; Sun, 06 Jul 2014 19:30:05 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1404675005!13966597!1
X-Originating-IP: [74.125.82.47]
X-SpamReason: No, hits=0.7 required=7.0 tests=BODY_RANDOM_LONG, RCVD_ILLEGAL_IP
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31870 invoked from network); 6 Jul 2014 19:30:05 -0000
Received: from mail-wg0-f47.google.com (HELO mail-wg0-f47.google.com)
	(74.125.82.47)
	by server-4.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	6 Jul 2014 19:30:05 -0000
Received: by mail-wg0-f47.google.com with SMTP id l18so802444wgh.30
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 06 Jul 2014 12:30:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=I6bJ/uWed6+4z0UJS8hd6WAD0zZlyjIrwjT3kFezaVY=;
	b=qGBrYlbMKRHxVG8aUm0o5oHfoSOzVUktA4p+O/ry1tmq/2M/F7Td2s9MiMXZxNfbVL
	JQMmC9XN2m5osDPdk8LOl9qipyXmhO7fdYlQbHR+utzCvTGRCvl0UIGC/JqvKmR5p8Rd
	JcXzfRYndsg/mckSiFCdlSKNcK7Nnq0cdgUkhq7Mpe+0Jj7ZN63kREUO6J1TjfuYEfls
	ncIKBnXw9/qSi/+ItbG03Eq0gIsRmgNi2YQaFM0inQBenDzX/1FDzhqJi7JidJh2lqxO
	//qi8FmM8rSZX24+FXqQeNTfz1qNtWsh6Qs9kc3h6f3Qudyx1eS7V+wFIRGdxzw4qh/J
	WIBA==
X-Received: by 10.194.158.164 with SMTP id wv4mr1241397wjb.124.1404675005067; 
	Sun, 06 Jul 2014 12:30:05 -0700 (PDT)
Received: from piana.home (ARennes-654-1-89-101.w2-10.abo.wanadoo.fr.
	[2.10.184.101]) by mx.google.com with ESMTPSA id
	fb15sm106198285wid.23.2014.07.06.12.30.03 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Sun, 06 Jul 2014 12:30:04 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
Date: Sun, 6 Jul 2014 20:30:02 +0100
Message-Id: <971F59E0-7FB9-474C-A4BE-5F41AC4EC3B9@gazagnaire.org>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
	<1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
To: Anil Madhavapeddy <anil@recoil.org>
X-Mailer: Apple Mail (2.1878.2)
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

>> Persistence
>> -----------
>> 
>> mirage/irmin               - Distributed database with Git-like properties
>> samoht/ocaml-git           - OCaml low level git bindings
>> mirage/ocaml-lazy-trie     - Lazy trie data structure
>> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
>> mirage/orm                 - ORM-style relational mapper
>> samoht/mqueue              - Distributed, persistent queues
> 
> There's also
> https://github.com/mirage/ocaml-bloom-filters - Bloom Filters Library in OCaml

I've also just moved mstruct: https://github.com/mirage/ocaml-mstruct to have mutable cstruct (where every operations move the window bounds).

Thomas

> 
> 
>> 
>> 
>> Filesystems and Block Storage
>> -------------
>> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
>> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
>> mirage/ocaml-fat           - FAT format file system
>> mirage/xen-disk            - Example userspace blkback in 
>> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
>> mirage/mirage-fs-unix      - Unix filesystem passthrough
>> dsheets/profuse            - FUSE protocol implementation
>> 
>> Network Stack
>> -------------
>> mirage/mirage-tcpip        - OCaml TCP/IP stack
>> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
>> mirage/mirage-net-unix     - Ethernet interface using tuntap
>> mirage/ocaml-tuntap        - bindings to UNIX tuntap
>> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
>> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
>> mirage/ocaml-dns           - DNS protocol
>> 
>> Security
>> --------
>> 
>> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
>> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
>> mirleft/ocaml-nocrypto     - libc-free crypto implementations
>> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
>> dsheets/ocaml-sodium       - bindings to NaCL crypto
>> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
>> 
>> Foreign Language Interface
>> --------------------------
>> 
>> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
>> samoht/mstruct             - mutable cstruct interface
>> ocamllabs/ocaml-ctypes     - 
>> 
>> Xen support
>> -----------
>> 
>> mirage/shared-memory-ring  - Xen style shared memory ring
>> mirage/io-page             - IO memory page library
>> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
>> djs55/ocaml-xenstore-clients - 
>> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
>> mirage/ocaml-vchan         - Inter-VM shared memory communication
>> 
>> HTTP Utilities
>> -------------
>> mirage/ocaml-cohttp        - Light weight HTTP server
>> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
>> mirage/ocaml-uri           - URI and URL handling
>> mirage/mirage-http         - Mirage HTTP client and server
>> mirage/ocaml-cow           - Caml on the Web
>> ocaml/omd                  - Markdown implementation in OCaml
>> 
>> Misc Utilities
>> --------------
>> mirage/mirage-console      - Portable application console
>> mirage/ocaml-pcap          - Capture and analyse pcap files
>> avsm/ocaml-github          - GitHub API bindings
>> mirage/dyntype             - Dynamic types for OCaml
>> 
>> 
>> Reference Applications
>> ----------------------
>> mirage/mirage-www          - complete openmirage.org site and server
>> mirage/mirage-decks        - Presentations written using Mirage about Mirage
>> mirage/mirage-skeleton     - Build skeleton, tests and examples
>> 
>> Docker and Vagrant
>> ------------------
>> 
>> mirage/mirage-vagrant-vms  - Build Vagrant images 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 19:30:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 19:30:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3s8W-0007Od-O1; Sun, 06 Jul 2014 19:30:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X3s8U-0007OV-Ks
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 19:30:06 +0000
Received: from [85.158.139.211:20428] by server-12.bemta-5.messagelabs.com id
	41/B6-27841-DB3A9B35; Sun, 06 Jul 2014 19:30:05 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1404675005!13966597!1
X-Originating-IP: [74.125.82.47]
X-SpamReason: No, hits=0.7 required=7.0 tests=BODY_RANDOM_LONG, RCVD_ILLEGAL_IP
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31870 invoked from network); 6 Jul 2014 19:30:05 -0000
Received: from mail-wg0-f47.google.com (HELO mail-wg0-f47.google.com)
	(74.125.82.47)
	by server-4.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	6 Jul 2014 19:30:05 -0000
Received: by mail-wg0-f47.google.com with SMTP id l18so802444wgh.30
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 06 Jul 2014 12:30:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=I6bJ/uWed6+4z0UJS8hd6WAD0zZlyjIrwjT3kFezaVY=;
	b=qGBrYlbMKRHxVG8aUm0o5oHfoSOzVUktA4p+O/ry1tmq/2M/F7Td2s9MiMXZxNfbVL
	JQMmC9XN2m5osDPdk8LOl9qipyXmhO7fdYlQbHR+utzCvTGRCvl0UIGC/JqvKmR5p8Rd
	JcXzfRYndsg/mckSiFCdlSKNcK7Nnq0cdgUkhq7Mpe+0Jj7ZN63kREUO6J1TjfuYEfls
	ncIKBnXw9/qSi/+ItbG03Eq0gIsRmgNi2YQaFM0inQBenDzX/1FDzhqJi7JidJh2lqxO
	//qi8FmM8rSZX24+FXqQeNTfz1qNtWsh6Qs9kc3h6f3Qudyx1eS7V+wFIRGdxzw4qh/J
	WIBA==
X-Received: by 10.194.158.164 with SMTP id wv4mr1241397wjb.124.1404675005067; 
	Sun, 06 Jul 2014 12:30:05 -0700 (PDT)
Received: from piana.home (ARennes-654-1-89-101.w2-10.abo.wanadoo.fr.
	[2.10.184.101]) by mx.google.com with ESMTPSA id
	fb15sm106198285wid.23.2014.07.06.12.30.03 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Sun, 06 Jul 2014 12:30:04 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
Date: Sun, 6 Jul 2014 20:30:02 +0100
Message-Id: <971F59E0-7FB9-474C-A4BE-5F41AC4EC3B9@gazagnaire.org>
References: <310551E9-D116-4544-A705-2C9844F101A5@recoil.org>
	<1A663DA9-5717-4BBD-94D0-A8AE09B8C2F8@gazagnaire.org>
To: Anil Madhavapeddy <anil@recoil.org>
X-Mailer: Apple Mail (2.1878.2)
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Snapshot of all mirageos repos
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

>> Persistence
>> -----------
>> 
>> mirage/irmin               - Distributed database with Git-like properties
>> samoht/ocaml-git           - OCaml low level git bindings
>> mirage/ocaml-lazy-trie     - Lazy trie data structure
>> samoht/ocaml-bloom-filter  - Bloom filters in OCaml
>> mirage/orm                 - ORM-style relational mapper
>> samoht/mqueue              - Distributed, persistent queues
> 
> There's also
> https://github.com/mirage/ocaml-bloom-filters - Bloom Filters Library in OCaml

I've also just moved mstruct: https://github.com/mirage/ocaml-mstruct to have mutable cstruct (where every operations move the window bounds).

Thomas

> 
> 
>> 
>> 
>> Filesystems and Block Storage
>> -------------
>> mirage/mirage-block-volume - Implementation of Linux LVM in OCaml
>> mirage/mirage-block-unix   - Unix mmap-based block driver for Mirage
>> mirage/ocaml-fat           - FAT format file system
>> mirage/xen-disk            - Example userspace blkback in 
>> mirage/ocaml-crunch        - Convert a filesystem into a static Oaml module
>> mirage/mirage-fs-unix      - Unix filesystem passthrough
>> dsheets/profuse            - FUSE protocol implementation
>> 
>> Network Stack
>> -------------
>> mirage/mirage-tcpip        - OCaml TCP/IP stack
>> mirage/mirage-net-xen      - Xen Netfront ethernet device driver
>> mirage/mirage-net-unix     - Ethernet interface using tuntap
>> mirage/ocaml-tuntap        - bindings to UNIX tuntap
>> mirage/ocaml-ipaddr        - IPv4 and IPv6 parsing and manipulation
>> mirage/ocaml-conduit       - Establish connections via multiple mechanisms
>> mirage/ocaml-dns           - DNS protocol
>> 
>> Security
>> --------
>> 
>> mirleft/ocaml-asn1-combinators - parse ASN.1 formats
>> mirleft/ocaml-x509         - X509 (RFC5280) certificate handling
>> mirleft/ocaml-nocrypto     - libc-free crypto implementations
>> mirleft/ocaml-tls          - TLS 1.x implementation in pure OCaml
>> dsheets/ocaml-sodium       - bindings to NaCL crypto
>> dsheets/ocaml-dnscurve     - implementation of DNSCurve protocol
>> 
>> Foreign Language Interface
>> --------------------------
>> 
>> mirage/ocaml-cstruct       - Map OCaml arrays to C-like structs
>> samoht/mstruct             - mutable cstruct interface
>> ocamllabs/ocaml-ctypes     - 
>> 
>> Xen support
>> -----------
>> 
>> mirage/shared-memory-ring  - Xen style shared memory ring
>> mirage/io-page             - IO memory page library
>> mirage/ocaml-xenstore      - Client, server and Xenstore protocol
>> djs55/ocaml-xenstore-clients - 
>> mirage/mirage-block-xen    - Xen blkfront driver for Mirage
>> mirage/ocaml-vchan         - Inter-VM shared memory communication
>> 
>> HTTP Utilities
>> -------------
>> mirage/ocaml-cohttp        - Light weight HTTP server
>> mirage/cowabloga           - Zurb Foundation templates for blog/wiki
>> mirage/ocaml-uri           - URI and URL handling
>> mirage/mirage-http         - Mirage HTTP client and server
>> mirage/ocaml-cow           - Caml on the Web
>> ocaml/omd                  - Markdown implementation in OCaml
>> 
>> Misc Utilities
>> --------------
>> mirage/mirage-console      - Portable application console
>> mirage/ocaml-pcap          - Capture and analyse pcap files
>> avsm/ocaml-github          - GitHub API bindings
>> mirage/dyntype             - Dynamic types for OCaml
>> 
>> 
>> Reference Applications
>> ----------------------
>> mirage/mirage-www          - complete openmirage.org site and server
>> mirage/mirage-decks        - Presentations written using Mirage about Mirage
>> mirage/mirage-skeleton     - Build skeleton, tests and examples
>> 
>> Docker and Vagrant
>> ------------------
>> 
>> mirage/mirage-vagrant-vms  - Build Vagrant images 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 20:02:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 20:02:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3se5-0007pY-6s; Sun, 06 Jul 2014 20:02:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X3se4-0007pR-6x
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 20:02:44 +0000
Received: from [85.158.137.68:32586] by server-4.bemta-3.messagelabs.com id
	8F/D2-23732-36BA9B35; Sun, 06 Jul 2014 20:02:43 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1404676960!14336132!1
X-Originating-IP: [209.85.214.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21993 invoked from network); 6 Jul 2014 20:02:42 -0000
Received: from mail-ob0-f179.google.com (HELO mail-ob0-f179.google.com)
	(209.85.214.179)
	by server-11.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	6 Jul 2014 20:02:42 -0000
Received: by mail-ob0-f179.google.com with SMTP id uz6so3716866obc.10
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 06 Jul 2014 13:02:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=KNO+aBx2mAATahR74PxqfFB6mqD3LTSYJQmsntQWlVo=;
	b=wZxqC90z5yvSzDiHzmc7DlkmpXCId/lDa5qKWbAyswbHsbXlYJLh78ZnzXWu8WYlIP
	uO3Pp4XBtTSOZx3p09MuFCRlDu0zd1PRlVQEh2n4V95wRQ0MUxGI7u9A3lEu0D5tq+u+
	mbqYCRN97wQJE+MyE4QdjqH4mk5T5CKA2p7eYQRJ5LmQvETkBF3uEQ+blVHGRM4vLHDt
	/kJYIVj8+wxkmp5m2j+AmKlXT7B2wVPcavwhK1oMj42bvPiDLZlyAEMthvyD38kEUtSX
	4V0D0lcVV4r6HGDcN23T+Iq7gynx5jUO174aLDm+igH+e1Vbxgpym5QwzERJNoujB/GE
	LVWg==
MIME-Version: 1.0
X-Received: by 10.182.81.99 with SMTP id z3mr3932627obx.79.1404676960361; Sun,
	06 Jul 2014 13:02:40 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Sun, 6 Jul 2014 13:02:40 -0700 (PDT)
In-Reply-To: <3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
Date: Sun, 6 Jul 2014 21:02:40 +0100
Message-ID: <CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 6 July 2014 18:51, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 4 Jul 2014, at 13:50, Thomas Leonard <talex5@gmail.com> wrote:
>>
>> You can install libminios elsewhere with e.g.
>>
>>  $ make install LIBDIR=/tmp/foo/lib INCLUDEDIR=/tmp/foo/include
>>
>> Just remember to set PKG_CONFIG_PATH to find it again:
>>
>>  $ PKG_CONFIG_PATH=/tmp/foo/lib/pkgconfig pkg-config --libs libminios
>>  -L/tmp/foo/usr/lib/pkgconfig/../../lib/mini-os -lminios -T
>> /tmp/foo/usr/lib/pkgconfig/../../lib/mini-os/libminios.lds -m
>> elf_x86_64 -lx86_64
>>
>> (note: it does assume that LIBDIR and INCLUDEDIR have a common parent)
>>
>> For openlibm, use:
>>
>>  $ make install prefix=/tmp/foo
>>
>> I guess someone with OPAM skills could do this pretty easily...
>
> Done.  I put a small package called 'xen-minios' into:
>
> https://github.com/mirage/opam-repository in the external-minios branch.
>
> It just runs the `install.sh` in this repository:
>
> https://github.com/mirage/mirage-xen-libs
>
> which downloads and installs our openlibm/minios forks into the
> ~/.opam dirspace (or optionally into some other PREFIX if specified).
>
> I think it might be a good idea to maintain this library (perhaps with
> a better name, like mirage-xen-minios) in the future, since it's a
> convenient place to apply distribution-specific patches to MiniOS
> (like cleaning up the startup text to be prettier), and also to
> control which versions of libm go in.   How about I rename the
> repository to mirage-xen-minios, and cut a release tarball that bundles
> the upstream .tar.gz files (so `make install` can run without any
> external downloads)?

That would be great!

> Once that's done, I just needed a few minor patches to your
> mirage-platform pull request:
>
> - The symlink handling in OPAM is annoying right now, since it
>   destroys them from the source repository.  On the other hand,
>   the only reason we have symlinks in mirage-platform is to support
>   two concurrent revisions of OCaml (4.00.1 and 4.01.0).  I think
>   it's time to retire 4.00.1 (especially with the ARM code gen
>   fixes in 4.01.0), so I've removed it entirely and made the only
>   supported runtime 4.01.0.
>
> - I exported PKG_CONFIG_PATH from the xen/Makefile. ThomasG and I
>   had a quick chat about how best to support this from OPAM, but the
>   easiest way right now is to run `opam config var prefix` to
>   determine the active compiler switch, and set the variable based
>   off that.

Seems fine. I guess it's OK to override the user's $PKG_CONFIG_PATH
here (rather than prepending to it), since all dependencies should be
in OPAM anyway.

> I've put these patches into:
> https://github.com/mirage/mirage-platform/pull/94
>
> And it boots on x86_64! A little more verbose as expected:
>
> Mapping memory range 0x400000 - 0x10000000
> setting 0000000000000000-00000000000de000 readonly
> skipped 0000000000001000
> MM: Initialise page allocator for 28e000(28e000)-10000000(10000000)
> MM: done
> Demand map pfns at 10001000-2010001000.
> Initialising timer interface
> Initialising console ... done.
> gnttab_table mapped at 0000000010001000.
> xencaml: app_main_thread
> getenv(OCAMLRUNPARAM) -> null
> getenv(CAMLRUNPARAM) -> null
> Unsupported function lseek called in Mini-OS kernel
> Unsupported function lseek called in Mini-OS kernel
> Unsupported function lseek called in Mini-OS kernel
> getenv(OCAMLRUNPARAM) -> null
> getenv(CAMLRUNPARAM) -> null
> getenv(TMPDIR) -> null
> getenv(TEMP) -> null
> hello
> world
> hello
> world
> hello
> world
> hello
> world
> hello
> world
> main returned 0
>
> And static_website worked too, so networking is fine too:
>
> $ curl -v 10.11.12.76
> * Rebuilt URL to: 10.11.12.76/
> * Hostname was NOT found in DNS cache
> *   Trying 10.11.12.76...
> * Connected to 10.11.12.76 (10.11.12.76) port 80 (#0)
>> GET / HTTP/1.1
>> User-Agent: curl/7.37.0
>> Host: 10.11.12.76
>> Accept: */*
>>
> < HTTP/1.1 200 OK
> < content-length: 59
> <
> <html>
> <body>
> <h1>Hello Mirage World!</h1>
> </body>
> </html>
> * Connection #0 to host 10.11.12.76 left intact
>
> Now resurrecting a Cubieboard2 to try it on ARM :-)

Cool :-) Don't forget you'll need the arm-preview branch of
mirage-platform for that (it works, but isn't ready for merging).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 20:02:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 20:02:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3se5-0007pY-6s; Sun, 06 Jul 2014 20:02:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X3se4-0007pR-6x
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 20:02:44 +0000
Received: from [85.158.137.68:32586] by server-4.bemta-3.messagelabs.com id
	8F/D2-23732-36BA9B35; Sun, 06 Jul 2014 20:02:43 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1404676960!14336132!1
X-Originating-IP: [209.85.214.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21993 invoked from network); 6 Jul 2014 20:02:42 -0000
Received: from mail-ob0-f179.google.com (HELO mail-ob0-f179.google.com)
	(209.85.214.179)
	by server-11.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	6 Jul 2014 20:02:42 -0000
Received: by mail-ob0-f179.google.com with SMTP id uz6so3716866obc.10
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 06 Jul 2014 13:02:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=KNO+aBx2mAATahR74PxqfFB6mqD3LTSYJQmsntQWlVo=;
	b=wZxqC90z5yvSzDiHzmc7DlkmpXCId/lDa5qKWbAyswbHsbXlYJLh78ZnzXWu8WYlIP
	uO3Pp4XBtTSOZx3p09MuFCRlDu0zd1PRlVQEh2n4V95wRQ0MUxGI7u9A3lEu0D5tq+u+
	mbqYCRN97wQJE+MyE4QdjqH4mk5T5CKA2p7eYQRJ5LmQvETkBF3uEQ+blVHGRM4vLHDt
	/kJYIVj8+wxkmp5m2j+AmKlXT7B2wVPcavwhK1oMj42bvPiDLZlyAEMthvyD38kEUtSX
	4V0D0lcVV4r6HGDcN23T+Iq7gynx5jUO174aLDm+igH+e1Vbxgpym5QwzERJNoujB/GE
	LVWg==
MIME-Version: 1.0
X-Received: by 10.182.81.99 with SMTP id z3mr3932627obx.79.1404676960361; Sun,
	06 Jul 2014 13:02:40 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Sun, 6 Jul 2014 13:02:40 -0700 (PDT)
In-Reply-To: <3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
Date: Sun, 6 Jul 2014 21:02:40 +0100
Message-ID: <CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 6 July 2014 18:51, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 4 Jul 2014, at 13:50, Thomas Leonard <talex5@gmail.com> wrote:
>>
>> You can install libminios elsewhere with e.g.
>>
>>  $ make install LIBDIR=/tmp/foo/lib INCLUDEDIR=/tmp/foo/include
>>
>> Just remember to set PKG_CONFIG_PATH to find it again:
>>
>>  $ PKG_CONFIG_PATH=/tmp/foo/lib/pkgconfig pkg-config --libs libminios
>>  -L/tmp/foo/usr/lib/pkgconfig/../../lib/mini-os -lminios -T
>> /tmp/foo/usr/lib/pkgconfig/../../lib/mini-os/libminios.lds -m
>> elf_x86_64 -lx86_64
>>
>> (note: it does assume that LIBDIR and INCLUDEDIR have a common parent)
>>
>> For openlibm, use:
>>
>>  $ make install prefix=/tmp/foo
>>
>> I guess someone with OPAM skills could do this pretty easily...
>
> Done.  I put a small package called 'xen-minios' into:
>
> https://github.com/mirage/opam-repository in the external-minios branch.
>
> It just runs the `install.sh` in this repository:
>
> https://github.com/mirage/mirage-xen-libs
>
> which downloads and installs our openlibm/minios forks into the
> ~/.opam dirspace (or optionally into some other PREFIX if specified).
>
> I think it might be a good idea to maintain this library (perhaps with
> a better name, like mirage-xen-minios) in the future, since it's a
> convenient place to apply distribution-specific patches to MiniOS
> (like cleaning up the startup text to be prettier), and also to
> control which versions of libm go in.   How about I rename the
> repository to mirage-xen-minios, and cut a release tarball that bundles
> the upstream .tar.gz files (so `make install` can run without any
> external downloads)?

That would be great!

> Once that's done, I just needed a few minor patches to your
> mirage-platform pull request:
>
> - The symlink handling in OPAM is annoying right now, since it
>   destroys them from the source repository.  On the other hand,
>   the only reason we have symlinks in mirage-platform is to support
>   two concurrent revisions of OCaml (4.00.1 and 4.01.0).  I think
>   it's time to retire 4.00.1 (especially with the ARM code gen
>   fixes in 4.01.0), so I've removed it entirely and made the only
>   supported runtime 4.01.0.
>
> - I exported PKG_CONFIG_PATH from the xen/Makefile. ThomasG and I
>   had a quick chat about how best to support this from OPAM, but the
>   easiest way right now is to run `opam config var prefix` to
>   determine the active compiler switch, and set the variable based
>   off that.

Seems fine. I guess it's OK to override the user's $PKG_CONFIG_PATH
here (rather than prepending to it), since all dependencies should be
in OPAM anyway.

> I've put these patches into:
> https://github.com/mirage/mirage-platform/pull/94
>
> And it boots on x86_64! A little more verbose as expected:
>
> Mapping memory range 0x400000 - 0x10000000
> setting 0000000000000000-00000000000de000 readonly
> skipped 0000000000001000
> MM: Initialise page allocator for 28e000(28e000)-10000000(10000000)
> MM: done
> Demand map pfns at 10001000-2010001000.
> Initialising timer interface
> Initialising console ... done.
> gnttab_table mapped at 0000000010001000.
> xencaml: app_main_thread
> getenv(OCAMLRUNPARAM) -> null
> getenv(CAMLRUNPARAM) -> null
> Unsupported function lseek called in Mini-OS kernel
> Unsupported function lseek called in Mini-OS kernel
> Unsupported function lseek called in Mini-OS kernel
> getenv(OCAMLRUNPARAM) -> null
> getenv(CAMLRUNPARAM) -> null
> getenv(TMPDIR) -> null
> getenv(TEMP) -> null
> hello
> world
> hello
> world
> hello
> world
> hello
> world
> hello
> world
> main returned 0
>
> And static_website worked too, so networking is fine too:
>
> $ curl -v 10.11.12.76
> * Rebuilt URL to: 10.11.12.76/
> * Hostname was NOT found in DNS cache
> *   Trying 10.11.12.76...
> * Connected to 10.11.12.76 (10.11.12.76) port 80 (#0)
>> GET / HTTP/1.1
>> User-Agent: curl/7.37.0
>> Host: 10.11.12.76
>> Accept: */*
>>
> < HTTP/1.1 200 OK
> < content-length: 59
> <
> <html>
> <body>
> <h1>Hello Mirage World!</h1>
> </body>
> </html>
> * Connection #0 to host 10.11.12.76 left intact
>
> Now resurrecting a Cubieboard2 to try it on ARM :-)

Cool :-) Don't forget you'll need the arm-preview branch of
mirage-platform for that (it works, but isn't ready for merging).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 20:28:34 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 20:28:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3t32-00084u-5a; Sun, 06 Jul 2014 20:28:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X3t30-00084p-TS
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 20:28:31 +0000
Received: from [85.158.139.211:27481] by server-16.bemta-5.messagelabs.com id
	B1/92-18862-E61B9B35; Sun, 06 Jul 2014 20:28:30 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-14.tower-206.messagelabs.com!1404678509!8552561!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15032 invoked from network); 6 Jul 2014 20:28:29 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-14.tower-206.messagelabs.com with SMTP;
	6 Jul 2014 20:28:29 -0000
Received: (qmail 32599 invoked by uid 634); 6 Jul 2014 20:28:28 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 06 Jul 2014 21:28:25 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
Date: Sun, 6 Jul 2014 21:28:23 +0100
Message-Id: <FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
	<CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 6 Jul 2014, at 21:02, Thomas Leonard <talex5@gmail.com> wrote:

> On 6 July 2014 18:51, Anil Madhavapeddy <anil@recoil.org> wrote:
>> 
>> I think it might be a good idea to maintain this library (perhaps with
>> a better name, like mirage-xen-minios) in the future, since it's a
>> convenient place to apply distribution-specific patches to MiniOS
>> (like cleaning up the startup text to be prettier), and also to
>> control which versions of libm go in.   How about I rename the
>> repository to mirage-xen-minios, and cut a release tarball that bundles
>> the upstream .tar.gz files (so `make install` can run without any
>> external downloads)?
> 
> That would be great!

Alright, I'll do that tomorrow.  Can switch to submodules later if
necessary.

> 
>> Once that's done, I just needed a few minor patches to your
>> mirage-platform pull request:
>> 
>> - The symlink handling in OPAM is annoying right now, since it
>>  destroys them from the source repository.  On the other hand,
>>  the only reason we have symlinks in mirage-platform is to support
>>  two concurrent revisions of OCaml (4.00.1 and 4.01.0).  I think
>>  it's time to retire 4.00.1 (especially with the ARM code gen
>>  fixes in 4.01.0), so I've removed it entirely and made the only
>>  supported runtime 4.01.0.
>> 
>> - I exported PKG_CONFIG_PATH from the xen/Makefile. ThomasG and I
>>  had a quick chat about how best to support this from OPAM, but the
>>  easiest way right now is to run `opam config var prefix` to
>>  determine the active compiler switch, and set the variable based
>>  off that.
> 
> Seems fine. I guess it's OK to override the user's $PKG_CONFIG_PATH
> here (rather than prepending to it), since all dependencies should be
> in OPAM anyway.

Yeah, my thinking too.  Any lurking package configs from outside that
get pulled in would be a bug.

>> 
>> Now resurrecting a Cubieboard2 to try it on ARM :-)
> 
> Cool :-) Don't forget you'll need the arm-preview branch of
> mirage-platform for that (it works, but isn't ready for merging).

Darn, that conflicts with
https://github.com/mirage/mirage-platform/pull/94

I think that #94 is actually ready to merge (at the same time as
xen-minios) into OPAM.  If I do that tomorrow and release it along
with Mirage 1.2.0, we can play hunt-the-regression in the runup to
the 2.0 release.  Anything outstanding on your plate before I do that?

Only other thing that would be nice to have is having the checksum
stubs compiled as an external library so that they can be moved to
tcpip where they belong.  

cheers,
Anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 06 20:28:34 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 06 Jul 2014 20:28:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X3t32-00084u-5a; Sun, 06 Jul 2014 20:28:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X3t30-00084p-TS
	for mirageos-devel@lists.xenproject.org; Sun, 06 Jul 2014 20:28:31 +0000
Received: from [85.158.139.211:27481] by server-16.bemta-5.messagelabs.com id
	B1/92-18862-E61B9B35; Sun, 06 Jul 2014 20:28:30 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-14.tower-206.messagelabs.com!1404678509!8552561!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15032 invoked from network); 6 Jul 2014 20:28:29 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-14.tower-206.messagelabs.com with SMTP;
	6 Jul 2014 20:28:29 -0000
Received: (qmail 32599 invoked by uid 634); 6 Jul 2014 20:28:28 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 06 Jul 2014 21:28:25 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
Date: Sun, 6 Jul 2014 21:28:23 +0100
Message-Id: <FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
	<CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 6 Jul 2014, at 21:02, Thomas Leonard <talex5@gmail.com> wrote:

> On 6 July 2014 18:51, Anil Madhavapeddy <anil@recoil.org> wrote:
>> 
>> I think it might be a good idea to maintain this library (perhaps with
>> a better name, like mirage-xen-minios) in the future, since it's a
>> convenient place to apply distribution-specific patches to MiniOS
>> (like cleaning up the startup text to be prettier), and also to
>> control which versions of libm go in.   How about I rename the
>> repository to mirage-xen-minios, and cut a release tarball that bundles
>> the upstream .tar.gz files (so `make install` can run without any
>> external downloads)?
> 
> That would be great!

Alright, I'll do that tomorrow.  Can switch to submodules later if
necessary.

> 
>> Once that's done, I just needed a few minor patches to your
>> mirage-platform pull request:
>> 
>> - The symlink handling in OPAM is annoying right now, since it
>>  destroys them from the source repository.  On the other hand,
>>  the only reason we have symlinks in mirage-platform is to support
>>  two concurrent revisions of OCaml (4.00.1 and 4.01.0).  I think
>>  it's time to retire 4.00.1 (especially with the ARM code gen
>>  fixes in 4.01.0), so I've removed it entirely and made the only
>>  supported runtime 4.01.0.
>> 
>> - I exported PKG_CONFIG_PATH from the xen/Makefile. ThomasG and I
>>  had a quick chat about how best to support this from OPAM, but the
>>  easiest way right now is to run `opam config var prefix` to
>>  determine the active compiler switch, and set the variable based
>>  off that.
> 
> Seems fine. I guess it's OK to override the user's $PKG_CONFIG_PATH
> here (rather than prepending to it), since all dependencies should be
> in OPAM anyway.

Yeah, my thinking too.  Any lurking package configs from outside that
get pulled in would be a bug.

>> 
>> Now resurrecting a Cubieboard2 to try it on ARM :-)
> 
> Cool :-) Don't forget you'll need the arm-preview branch of
> mirage-platform for that (it works, but isn't ready for merging).

Darn, that conflicts with
https://github.com/mirage/mirage-platform/pull/94

I think that #94 is actually ready to merge (at the same time as
xen-minios) into OPAM.  If I do that tomorrow and release it along
with Mirage 1.2.0, we can play hunt-the-regression in the runup to
the 2.0 release.  Anything outstanding on your plate before I do that?

Only other thing that would be nice to have is having the checksum
stubs compiled as an external library so that they can be moved to
tcpip where they belong.  

cheers,
Anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 07 09:08:21 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 07 Jul 2014 09:08:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X44uE-0003L4-Mf; Mon, 07 Jul 2014 09:08:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X44uD-0003Kz-BL
	for mirageos-devel@lists.xenproject.org; Mon, 07 Jul 2014 09:08:13 +0000
Received: from [193.109.254.147:8418] by server-15.bemta-14.messagelabs.com id
	BA/03-11012-C736AB35; Mon, 07 Jul 2014 09:08:12 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1404724090!15863782!1
X-Originating-IP: [209.85.219.54]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11192 invoked from network); 7 Jul 2014 09:08:11 -0000
Received: from mail-oa0-f54.google.com (HELO mail-oa0-f54.google.com)
	(209.85.219.54)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	7 Jul 2014 09:08:11 -0000
Received: by mail-oa0-f54.google.com with SMTP id eb12so4306743oac.27
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 07 Jul 2014 02:08:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=banpWR5OwPb31mUfzHEGSliHrmg2d/BFdjOim19Fqmk=;
	b=FEJ/oEnkoClOy7x2GonsL1pO7KS8mtAJO7RV8roCjEY6m+uAp5iw5zACtBjCqHtqZY
	n5BIxFk80YNoLFfstb3Nuup/BRRTaCjowM7TAjWy28mw5XYyrYMFEsXmGwOF6bvCe4IX
	P2tv66nAbX/pnDtnA6686/bDKaZDQP1N1JTF2ZnsJ/eF/1rFjm4nPxqONVSrq8KPn8+4
	FyxublBeLc9TLBIcp2Yn2RcD/mQIuxiBtuB9bqlp+LE5Yg9HPH2JIBga8Dxw/62OzWfc
	dtq8Ta40wO8OWZcgofk5bMq3Z9w8H5iRnZUFV6D+OyS56keHsbFofZNKpVRb4Pj74ItB
	zCbg==
MIME-Version: 1.0
X-Received: by 10.182.104.66 with SMTP id gc2mr28858053obb.17.1404724089968;
	Mon, 07 Jul 2014 02:08:09 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 7 Jul 2014 02:08:09 -0700 (PDT)
Date: Mon, 7 Jul 2014 10:08:09 +0100
Message-ID: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I'm writing a test Mirage service for queuing files. It's not using
ThomasG's merge-queues - I'm just trying the low-level FS stuff first.

Some problems I found:

1. Running as a --unix process, I initially got a download speed of
230 KB/s. Increasing the size of the chunks I was reading from the Fat
filesystem (a disk.img file) from 512 bytes to 1MB, I was able to
increase this to 3 MB/s. Both seem rather low. Apache on the same
machine gets 615 MB/s!

I tried reproducing it with mirage-skeleton/static_website, but it
didn't want to know:

$ git clone https://github.com/mirage/mirage-skeleton.git
$ cd mirage-skeleton/static_website
$ FS=fat NET=socket mirage configure --unix

[ note: my actual test file is not all zeros, but for this email... ]

$ dd if=/dev/zero of=htdocs/data bs=1024 count=2
$ ./make-fat1-image.sh
$ make
$ ./mir-www
Manager: connect
Manager: configuring
Manager: socket config currently ignored (TODO)
Fatal error: exception Failure("fat2")


2. To be able to use the FS inferface, I had to specialise it like this:

module type FS = V1_LWT.FS with
  type page_aligned_buffer = Cstruct.t and
  type block_device_error = Fat.Fs.block_error

This means my unikernel only works with Fat. If I don't do this, I
can't report or log error messages. I guess this is also why the test
above gave such a useless error. Are there any plans to make error
handling easier?


3. In my tags file, I use:

  not <main.*>: warn(A)

Would be nice if the generated main.ml compiled without warnings (this
might be related to the previous point, as it's the error details that
it is ignoring).


4. Can I get mirage to generate a Makefile that builds and runs my
unit-tests? I guess I can't run the unit-tests when in --xen mode,
because some modules have conflicting names, but it would be nice in
--unix mode at least.


Thanks,


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 07 09:08:21 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 07 Jul 2014 09:08:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X44uE-0003L4-Mf; Mon, 07 Jul 2014 09:08:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X44uD-0003Kz-BL
	for mirageos-devel@lists.xenproject.org; Mon, 07 Jul 2014 09:08:13 +0000
Received: from [193.109.254.147:8418] by server-15.bemta-14.messagelabs.com id
	BA/03-11012-C736AB35; Mon, 07 Jul 2014 09:08:12 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1404724090!15863782!1
X-Originating-IP: [209.85.219.54]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11192 invoked from network); 7 Jul 2014 09:08:11 -0000
Received: from mail-oa0-f54.google.com (HELO mail-oa0-f54.google.com)
	(209.85.219.54)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	7 Jul 2014 09:08:11 -0000
Received: by mail-oa0-f54.google.com with SMTP id eb12so4306743oac.27
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 07 Jul 2014 02:08:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=banpWR5OwPb31mUfzHEGSliHrmg2d/BFdjOim19Fqmk=;
	b=FEJ/oEnkoClOy7x2GonsL1pO7KS8mtAJO7RV8roCjEY6m+uAp5iw5zACtBjCqHtqZY
	n5BIxFk80YNoLFfstb3Nuup/BRRTaCjowM7TAjWy28mw5XYyrYMFEsXmGwOF6bvCe4IX
	P2tv66nAbX/pnDtnA6686/bDKaZDQP1N1JTF2ZnsJ/eF/1rFjm4nPxqONVSrq8KPn8+4
	FyxublBeLc9TLBIcp2Yn2RcD/mQIuxiBtuB9bqlp+LE5Yg9HPH2JIBga8Dxw/62OzWfc
	dtq8Ta40wO8OWZcgofk5bMq3Z9w8H5iRnZUFV6D+OyS56keHsbFofZNKpVRb4Pj74ItB
	zCbg==
MIME-Version: 1.0
X-Received: by 10.182.104.66 with SMTP id gc2mr28858053obb.17.1404724089968;
	Mon, 07 Jul 2014 02:08:09 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 7 Jul 2014 02:08:09 -0700 (PDT)
Date: Mon, 7 Jul 2014 10:08:09 +0100
Message-ID: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I'm writing a test Mirage service for queuing files. It's not using
ThomasG's merge-queues - I'm just trying the low-level FS stuff first.

Some problems I found:

1. Running as a --unix process, I initially got a download speed of
230 KB/s. Increasing the size of the chunks I was reading from the Fat
filesystem (a disk.img file) from 512 bytes to 1MB, I was able to
increase this to 3 MB/s. Both seem rather low. Apache on the same
machine gets 615 MB/s!

I tried reproducing it with mirage-skeleton/static_website, but it
didn't want to know:

$ git clone https://github.com/mirage/mirage-skeleton.git
$ cd mirage-skeleton/static_website
$ FS=fat NET=socket mirage configure --unix

[ note: my actual test file is not all zeros, but for this email... ]

$ dd if=/dev/zero of=htdocs/data bs=1024 count=2
$ ./make-fat1-image.sh
$ make
$ ./mir-www
Manager: connect
Manager: configuring
Manager: socket config currently ignored (TODO)
Fatal error: exception Failure("fat2")


2. To be able to use the FS inferface, I had to specialise it like this:

module type FS = V1_LWT.FS with
  type page_aligned_buffer = Cstruct.t and
  type block_device_error = Fat.Fs.block_error

This means my unikernel only works with Fat. If I don't do this, I
can't report or log error messages. I guess this is also why the test
above gave such a useless error. Are there any plans to make error
handling easier?


3. In my tags file, I use:

  not <main.*>: warn(A)

Would be nice if the generated main.ml compiled without warnings (this
might be related to the previous point, as it's the error details that
it is ignoring).


4. Can I get mirage to generate a Makefile that builds and runs my
unit-tests? I guess I can't run the unit-tests when in --xen mode,
because some modules have conflicting names, but it would be nice in
--unix mode at least.


Thanks,


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 07 18:09:12 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 07 Jul 2014 18:09:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4DLe-00087a-3n; Mon, 07 Jul 2014 18:09:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amirmc@gmail.com>) id 1X4DLa-00087D-JP
	for mirageos-devel@lists.xenproject.org; Mon, 07 Jul 2014 18:09:04 +0000
Received: from [85.158.137.68:30924] by server-5.bemta-3.messagelabs.com id
	5D/3C-11574-D32EAB35; Mon, 07 Jul 2014 18:09:01 +0000
X-Env-Sender: amirmc@gmail.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1404756541!14467810!1
X-Originating-IP: [74.125.82.174]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 442 invoked from network); 7 Jul 2014 18:09:01 -0000
Received: from mail-we0-f174.google.com (HELO mail-we0-f174.google.com)
	(74.125.82.174)
	by server-12.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	7 Jul 2014 18:09:01 -0000
Received: by mail-we0-f174.google.com with SMTP id u57so4795588wes.5
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 07 Jul 2014 11:09:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=from:content-type:content-transfer-encoding:subject:message-id:date
	:to:mime-version;
	bh=qtqqnguOKz8Xxwru8HtiSmh13/GP7TPbYnSJzqH5zqE=;
	b=plwlHCth6TRTUc1OW+Pn23OJtQVKqqhwqzN+i2ytMTW5ZzWUX79lSlpuLxeojATIYm
	PGGB0JBR1nxwaZ/C6WzzQdqXNNyLW0cBFwQJP6OyHmONwST6Q82Q/XCUzvmiujBu3bw8
	ZyPxMCjdYTqscQHhW+Uvn+OGDwlhWfZxwSNUBVwsCQIJD2A31bZEGMQ98TsBkgCLWyF0
	wxCfXwNi8XO8i0zOkAe209DOcM5oD6q00OhIJ0MS9pPzyRpVkrWQWlveDWm0lUlSl55/
	FWllbX1HrEfNE24NjzUk9q1WHeQBYWFPR+bxtIYrv/mJCcCjrPCOl3oI9lADYOxDCfsk
	7Nuw==
X-Received: by 10.194.76.99 with SMTP id j3mr34937853wjw.85.1404756540666;
	Mon, 07 Jul 2014 11:09:00 -0700 (PDT)
Received: from [192.168.99.27] (gw-eduroam.dar.cam.ac.uk. [131.111.194.10])
	by mx.google.com with ESMTPSA id
	ft17sm90888257wjc.14.2014.07.07.11.08.59
	for <mirageos-devel@lists.xenproject.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 07 Jul 2014 11:09:00 -0700 (PDT)
From: Amir Chaudhry <amirmc@gmail.com>
Message-Id: <278A7E08-1666-4C71-8275-9AC9D1D30F8F@gmail.com>
Date: Mon, 7 Jul 2014 19:08:59 +0100
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
X-Mailer: Apple Mail (2.1510)
Subject: [MirageOS-devel] Mirage fortnightly call,
	Tuesday 8th at 4pm BST (== GMT + 1)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Dear all,

The Mirage call will take place tomorrow at 4pm BST (== GMT + 1).  If you have points you'd like to discuss, please add them to the agenda at https://github.com/mirage/mirage-www/wiki/Call-Agenda - I'll structure them shortly before the call.

1.  Please join my meeting.
https://www1.gotomeeting.com/join/591890401

Note the dial-in numbers seem to have changed. The new ones are visible if you join the meeting online but I believe the US one is:

+1 (213) 493-0008

Thanks,
Amir

PS If any non-British people are confused about what 'fortnightly' means, you can read it as 'biweekly'.
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 07 18:09:12 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 07 Jul 2014 18:09:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4DLe-00087a-3n; Mon, 07 Jul 2014 18:09:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amirmc@gmail.com>) id 1X4DLa-00087D-JP
	for mirageos-devel@lists.xenproject.org; Mon, 07 Jul 2014 18:09:04 +0000
Received: from [85.158.137.68:30924] by server-5.bemta-3.messagelabs.com id
	5D/3C-11574-D32EAB35; Mon, 07 Jul 2014 18:09:01 +0000
X-Env-Sender: amirmc@gmail.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1404756541!14467810!1
X-Originating-IP: [74.125.82.174]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 442 invoked from network); 7 Jul 2014 18:09:01 -0000
Received: from mail-we0-f174.google.com (HELO mail-we0-f174.google.com)
	(74.125.82.174)
	by server-12.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	7 Jul 2014 18:09:01 -0000
Received: by mail-we0-f174.google.com with SMTP id u57so4795588wes.5
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 07 Jul 2014 11:09:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=from:content-type:content-transfer-encoding:subject:message-id:date
	:to:mime-version;
	bh=qtqqnguOKz8Xxwru8HtiSmh13/GP7TPbYnSJzqH5zqE=;
	b=plwlHCth6TRTUc1OW+Pn23OJtQVKqqhwqzN+i2ytMTW5ZzWUX79lSlpuLxeojATIYm
	PGGB0JBR1nxwaZ/C6WzzQdqXNNyLW0cBFwQJP6OyHmONwST6Q82Q/XCUzvmiujBu3bw8
	ZyPxMCjdYTqscQHhW+Uvn+OGDwlhWfZxwSNUBVwsCQIJD2A31bZEGMQ98TsBkgCLWyF0
	wxCfXwNi8XO8i0zOkAe209DOcM5oD6q00OhIJ0MS9pPzyRpVkrWQWlveDWm0lUlSl55/
	FWllbX1HrEfNE24NjzUk9q1WHeQBYWFPR+bxtIYrv/mJCcCjrPCOl3oI9lADYOxDCfsk
	7Nuw==
X-Received: by 10.194.76.99 with SMTP id j3mr34937853wjw.85.1404756540666;
	Mon, 07 Jul 2014 11:09:00 -0700 (PDT)
Received: from [192.168.99.27] (gw-eduroam.dar.cam.ac.uk. [131.111.194.10])
	by mx.google.com with ESMTPSA id
	ft17sm90888257wjc.14.2014.07.07.11.08.59
	for <mirageos-devel@lists.xenproject.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 07 Jul 2014 11:09:00 -0700 (PDT)
From: Amir Chaudhry <amirmc@gmail.com>
Message-Id: <278A7E08-1666-4C71-8275-9AC9D1D30F8F@gmail.com>
Date: Mon, 7 Jul 2014 19:08:59 +0100
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
X-Mailer: Apple Mail (2.1510)
Subject: [MirageOS-devel] Mirage fortnightly call,
	Tuesday 8th at 4pm BST (== GMT + 1)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Dear all,

The Mirage call will take place tomorrow at 4pm BST (== GMT + 1).  If you have points you'd like to discuss, please add them to the agenda at https://github.com/mirage/mirage-www/wiki/Call-Agenda - I'll structure them shortly before the call.

1.  Please join my meeting.
https://www1.gotomeeting.com/join/591890401

Note the dial-in numbers seem to have changed. The new ones are visible if you join the meeting online but I believe the US one is:

+1 (213) 493-0008

Thanks,
Amir

PS If any non-British people are confused about what 'fortnightly' means, you can read it as 'biweekly'.
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 09:28:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 09:28:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4Rgt-0001Y7-N5; Tue, 08 Jul 2014 09:27:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X4Rgs-0001Xw-C6
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 09:27:58 +0000
Received: from [85.158.143.35:29788] by server-2.bemta-4.messagelabs.com id
	6F/EB-18579-D99BBB35; Tue, 08 Jul 2014 09:27:57 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1404811675!16503375!1
X-Originating-IP: [209.85.219.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14008 invoked from network); 8 Jul 2014 09:27:56 -0000
Received: from mail-oa0-f50.google.com (HELO mail-oa0-f50.google.com)
	(209.85.219.50)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 Jul 2014 09:27:56 -0000
Received: by mail-oa0-f50.google.com with SMTP id n16so6107717oag.9
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 08 Jul 2014 02:27:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=Ph4+1ij2VuAPlefBFZE/xA7JixkmV3t/V5unrGJDC48=;
	b=rZlOFyjivC9jTojVzIWn2Fdg/gHeDixGwWXYqjHpcoVdb0MHFtKpdbv9zp0GCS141A
	qhQK929GgIANSrMhGlVS+CLmeHAqZd0SfCib5eb4CFJFCWlqIT+AILMtNVbq4rq+HuJm
	Ima5ejD/IYkzEd9a3ucndSzJ+j6rYiyopOAbNdodBl8sZGPTGnOw61v0pvmLvxZBDo+j
	xIw7xKXcK9pysSRXrtP7wtZhDKi/8WHVZ9aQpWgrafzYbKxhpp9dSbD8ok1Sr7Gz6I/5
	3dfZuC/qEGXF33geMt2BpmL2dzNUgJ2S65A+bfseQv8247vY0vd9tuljvW6A4kT/Kf63
	UaUg==
MIME-Version: 1.0
X-Received: by 10.182.97.234 with SMTP id ed10mr36542793obb.31.1404811675401; 
	Tue, 08 Jul 2014 02:27:55 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 8 Jul 2014 02:27:55 -0700 (PDT)
In-Reply-To: <FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
	<CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
	<FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
Date: Tue, 8 Jul 2014 10:27:55 +0100
Message-ID: <CAG4opy-yYo65EKqEiqjfkSn5MgquBthS-pNd0OnqO1YwKCCe3Q@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 6 July 2014 21:28, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 6 Jul 2014, at 21:02, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 6 July 2014 18:51, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>
>>> I think it might be a good idea to maintain this library (perhaps with
>>> a better name, like mirage-xen-minios) in the future, since it's a
>>> convenient place to apply distribution-specific patches to MiniOS
>>> (like cleaning up the startup text to be prettier), and also to
>>> control which versions of libm go in.   How about I rename the
>>> repository to mirage-xen-minios, and cut a release tarball that bundles
>>> the upstream .tar.gz files (so `make install` can run without any
>>> external downloads)?
>>
>> That would be great!
>
> Alright, I'll do that tomorrow.  Can switch to submodules later if
> necessary.
>
>>
>>> Once that's done, I just needed a few minor patches to your
>>> mirage-platform pull request:
>>>
>>> - The symlink handling in OPAM is annoying right now, since it
>>>  destroys them from the source repository.  On the other hand,
>>>  the only reason we have symlinks in mirage-platform is to support
>>>  two concurrent revisions of OCaml (4.00.1 and 4.01.0).  I think
>>>  it's time to retire 4.00.1 (especially with the ARM code gen
>>>  fixes in 4.01.0), so I've removed it entirely and made the only
>>>  supported runtime 4.01.0.
>>>
>>> - I exported PKG_CONFIG_PATH from the xen/Makefile. ThomasG and I
>>>  had a quick chat about how best to support this from OPAM, but the
>>>  easiest way right now is to run `opam config var prefix` to
>>>  determine the active compiler switch, and set the variable based
>>>  off that.
>>
>> Seems fine. I guess it's OK to override the user's $PKG_CONFIG_PATH
>> here (rather than prepending to it), since all dependencies should be
>> in OPAM anyway.
>
> Yeah, my thinking too.  Any lurking package configs from outside that
> get pulled in would be a bug.
>
>>>
>>> Now resurrecting a Cubieboard2 to try it on ARM :-)
>>
>> Cool :-) Don't forget you'll need the arm-preview branch of
>> mirage-platform for that (it works, but isn't ready for merging).
>
> Darn, that conflicts with
> https://github.com/mirage/mirage-platform/pull/94
>
> I think that #94 is actually ready to merge (at the same time as
> xen-minios) into OPAM.  If I do that tomorrow and release it along
> with Mirage 1.2.0, we can play hunt-the-regression in the runup to
> the 2.0 release.  Anything outstanding on your plate before I do that?
>
> Only other thing that would be nice to have is having the checksum
> stubs compiled as an external library so that they can be moved to
> tcpip where they belong.

Moving the checksums code to tcpip is easy enough:

https://github.com/talex5/mirage-tcpip/commits/checksum

But how do I get the list of C libraries to add to the linker command
when building on Xen? Looks like just using -output-obj doesn't do
this.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 09:28:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 09:28:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4Rgt-0001Y7-N5; Tue, 08 Jul 2014 09:27:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X4Rgs-0001Xw-C6
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 09:27:58 +0000
Received: from [85.158.143.35:29788] by server-2.bemta-4.messagelabs.com id
	6F/EB-18579-D99BBB35; Tue, 08 Jul 2014 09:27:57 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1404811675!16503375!1
X-Originating-IP: [209.85.219.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14008 invoked from network); 8 Jul 2014 09:27:56 -0000
Received: from mail-oa0-f50.google.com (HELO mail-oa0-f50.google.com)
	(209.85.219.50)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 Jul 2014 09:27:56 -0000
Received: by mail-oa0-f50.google.com with SMTP id n16so6107717oag.9
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 08 Jul 2014 02:27:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=Ph4+1ij2VuAPlefBFZE/xA7JixkmV3t/V5unrGJDC48=;
	b=rZlOFyjivC9jTojVzIWn2Fdg/gHeDixGwWXYqjHpcoVdb0MHFtKpdbv9zp0GCS141A
	qhQK929GgIANSrMhGlVS+CLmeHAqZd0SfCib5eb4CFJFCWlqIT+AILMtNVbq4rq+HuJm
	Ima5ejD/IYkzEd9a3ucndSzJ+j6rYiyopOAbNdodBl8sZGPTGnOw61v0pvmLvxZBDo+j
	xIw7xKXcK9pysSRXrtP7wtZhDKi/8WHVZ9aQpWgrafzYbKxhpp9dSbD8ok1Sr7Gz6I/5
	3dfZuC/qEGXF33geMt2BpmL2dzNUgJ2S65A+bfseQv8247vY0vd9tuljvW6A4kT/Kf63
	UaUg==
MIME-Version: 1.0
X-Received: by 10.182.97.234 with SMTP id ed10mr36542793obb.31.1404811675401; 
	Tue, 08 Jul 2014 02:27:55 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 8 Jul 2014 02:27:55 -0700 (PDT)
In-Reply-To: <FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
	<CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
	<FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
Date: Tue, 8 Jul 2014 10:27:55 +0100
Message-ID: <CAG4opy-yYo65EKqEiqjfkSn5MgquBthS-pNd0OnqO1YwKCCe3Q@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 6 July 2014 21:28, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 6 Jul 2014, at 21:02, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 6 July 2014 18:51, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>
>>> I think it might be a good idea to maintain this library (perhaps with
>>> a better name, like mirage-xen-minios) in the future, since it's a
>>> convenient place to apply distribution-specific patches to MiniOS
>>> (like cleaning up the startup text to be prettier), and also to
>>> control which versions of libm go in.   How about I rename the
>>> repository to mirage-xen-minios, and cut a release tarball that bundles
>>> the upstream .tar.gz files (so `make install` can run without any
>>> external downloads)?
>>
>> That would be great!
>
> Alright, I'll do that tomorrow.  Can switch to submodules later if
> necessary.
>
>>
>>> Once that's done, I just needed a few minor patches to your
>>> mirage-platform pull request:
>>>
>>> - The symlink handling in OPAM is annoying right now, since it
>>>  destroys them from the source repository.  On the other hand,
>>>  the only reason we have symlinks in mirage-platform is to support
>>>  two concurrent revisions of OCaml (4.00.1 and 4.01.0).  I think
>>>  it's time to retire 4.00.1 (especially with the ARM code gen
>>>  fixes in 4.01.0), so I've removed it entirely and made the only
>>>  supported runtime 4.01.0.
>>>
>>> - I exported PKG_CONFIG_PATH from the xen/Makefile. ThomasG and I
>>>  had a quick chat about how best to support this from OPAM, but the
>>>  easiest way right now is to run `opam config var prefix` to
>>>  determine the active compiler switch, and set the variable based
>>>  off that.
>>
>> Seems fine. I guess it's OK to override the user's $PKG_CONFIG_PATH
>> here (rather than prepending to it), since all dependencies should be
>> in OPAM anyway.
>
> Yeah, my thinking too.  Any lurking package configs from outside that
> get pulled in would be a bug.
>
>>>
>>> Now resurrecting a Cubieboard2 to try it on ARM :-)
>>
>> Cool :-) Don't forget you'll need the arm-preview branch of
>> mirage-platform for that (it works, but isn't ready for merging).
>
> Darn, that conflicts with
> https://github.com/mirage/mirage-platform/pull/94
>
> I think that #94 is actually ready to merge (at the same time as
> xen-minios) into OPAM.  If I do that tomorrow and release it along
> with Mirage 1.2.0, we can play hunt-the-regression in the runup to
> the 2.0 release.  Anything outstanding on your plate before I do that?
>
> Only other thing that would be nice to have is having the checksum
> stubs compiled as an external library so that they can be moved to
> tcpip where they belong.

Moving the checksums code to tcpip is easy enough:

https://github.com/talex5/mirage-tcpip/commits/checksum

But how do I get the list of C libraries to add to the linker command
when building on Xen? Looks like just using -output-obj doesn't do
this.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 09:34:27 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 09:34:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4Rn9-0001yR-20; Tue, 08 Jul 2014 09:34:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4Rn7-0001yI-Kq
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 09:34:25 +0000
Received: from [193.109.254.147:35561] by server-14.bemta-14.messagelabs.com
	id 72/8A-11800-12BBBB35; Tue, 08 Jul 2014 09:34:25 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1404812064!10692127!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4143 invoked from network); 8 Jul 2014 09:34:24 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-27.messagelabs.com with SMTP;
	8 Jul 2014 09:34:24 -0000
Received: (qmail 31376 invoked by uid 634); 8 Jul 2014 09:34:23 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-102-120.in-addr.btopenworld.com (HELO [10.0.0.108])
	(81.149.102.120)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 08 Jul 2014 10:34:23 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy-yYo65EKqEiqjfkSn5MgquBthS-pNd0OnqO1YwKCCe3Q@mail.gmail.com>
Date: Tue, 8 Jul 2014 10:34:06 +0100
Message-Id: <C7B464FE-19C4-4CA6-B224-9D6C2AB2BDEF@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
	<CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
	<FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
	<CAG4opy-yYo65EKqEiqjfkSn5MgquBthS-pNd0OnqO1YwKCCe3Q@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

> On 6 Jul 2014, at 21:02, Thomas Leonard <talex5@gmail.com> wrote:
>> On 6 July 2014 21:28, Anil Madhavapeddy <anil@recoil.org> wrote:
>> Darn, that conflicts with
>> https://github.com/mirage/mirage-platform/pull/94
>> 
>> I think that #94 is actually ready to merge (at the same time as
>> xen-minios) into OPAM.  If I do that tomorrow and release it along
>> with Mirage 1.2.0, we can play hunt-the-regression in the runup to
>> the 2.0 release.  Anything outstanding on your plate before I do that?
>> 
>> Only other thing that would be nice to have is having the checksum
>> stubs compiled as an external library so that they can be moved to
>> tcpip where they belong.
> 
> Moving the checksums code to tcpip is easy enough:
> 
> https://github.com/talex5/mirage-tcpip/commits/checksum
> 
> But how do I get the list of C libraries to add to the linker command
> when building on Xen? Looks like just using -output-obj doesn't do
> this.

Good question.  `ocamlobjinfo` may help:

$ ocamlobjinfo ~/src/git/avsm/ocaml-nocrypto/_build/src/nocrypto.cma
File /Users/avsm/src/git/avsm/ocaml-nocrypto/_build/src/nocrypto.cma
Force custom: no
Extra C object files: -lnocrypto_stubs
Extra C options:
Extra dynamically-loaded libraries: -lnocrypto_stubs
Unit name: Algo_types
...

Could write a custom compiler-libs command to extract just the C object
files, but a sed extraction of the relevant lines should work for now.

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 09:34:27 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 09:34:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4Rn9-0001yR-20; Tue, 08 Jul 2014 09:34:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4Rn7-0001yI-Kq
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 09:34:25 +0000
Received: from [193.109.254.147:35561] by server-14.bemta-14.messagelabs.com
	id 72/8A-11800-12BBBB35; Tue, 08 Jul 2014 09:34:25 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1404812064!10692127!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4143 invoked from network); 8 Jul 2014 09:34:24 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-27.messagelabs.com with SMTP;
	8 Jul 2014 09:34:24 -0000
Received: (qmail 31376 invoked by uid 634); 8 Jul 2014 09:34:23 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-102-120.in-addr.btopenworld.com (HELO [10.0.0.108])
	(81.149.102.120)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 08 Jul 2014 10:34:23 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy-yYo65EKqEiqjfkSn5MgquBthS-pNd0OnqO1YwKCCe3Q@mail.gmail.com>
Date: Tue, 8 Jul 2014 10:34:06 +0100
Message-Id: <C7B464FE-19C4-4CA6-B224-9D6C2AB2BDEF@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
	<CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
	<FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
	<CAG4opy-yYo65EKqEiqjfkSn5MgquBthS-pNd0OnqO1YwKCCe3Q@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

> On 6 Jul 2014, at 21:02, Thomas Leonard <talex5@gmail.com> wrote:
>> On 6 July 2014 21:28, Anil Madhavapeddy <anil@recoil.org> wrote:
>> Darn, that conflicts with
>> https://github.com/mirage/mirage-platform/pull/94
>> 
>> I think that #94 is actually ready to merge (at the same time as
>> xen-minios) into OPAM.  If I do that tomorrow and release it along
>> with Mirage 1.2.0, we can play hunt-the-regression in the runup to
>> the 2.0 release.  Anything outstanding on your plate before I do that?
>> 
>> Only other thing that would be nice to have is having the checksum
>> stubs compiled as an external library so that they can be moved to
>> tcpip where they belong.
> 
> Moving the checksums code to tcpip is easy enough:
> 
> https://github.com/talex5/mirage-tcpip/commits/checksum
> 
> But how do I get the list of C libraries to add to the linker command
> when building on Xen? Looks like just using -output-obj doesn't do
> this.

Good question.  `ocamlobjinfo` may help:

$ ocamlobjinfo ~/src/git/avsm/ocaml-nocrypto/_build/src/nocrypto.cma
File /Users/avsm/src/git/avsm/ocaml-nocrypto/_build/src/nocrypto.cma
Force custom: no
Extra C object files: -lnocrypto_stubs
Extra C options:
Extra dynamically-loaded libraries: -lnocrypto_stubs
Unit name: Algo_types
...

Could write a custom compiler-libs command to extract just the C object
files, but a sed extraction of the relevant lines should work for now.

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 09:39:40 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 09:39:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4RsB-0002Iz-D6; Tue, 08 Jul 2014 09:39:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4RsA-0002Ir-9P
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 09:39:38 +0000
Received: from [193.109.254.147:8267] by server-10.bemta-14.messagelabs.com id
	5F/3A-01431-95CBBB35; Tue, 08 Jul 2014 09:39:37 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-27.messagelabs.com!1404812376!16100175!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16966 invoked from network); 8 Jul 2014 09:39:36 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-27.messagelabs.com with SMTP;
	8 Jul 2014 09:39:36 -0000
Received: (qmail 7095 invoked by uid 634); 8 Jul 2014 09:39:36 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-102-120.in-addr.btopenworld.com (HELO [10.0.0.108])
	(81.149.102.120)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 08 Jul 2014 10:39:32 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Date: Tue, 8 Jul 2014 10:39:30 +0100
Message-Id: <C87B0C44-5EF5-4148-8A83-D93A522067AF@recoil.org>
To: mirageos-devel@lists.xenproject.org
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Felipe Huici <Felipe.Huici@neclab.eu>,
	Joao Martins <joao.martins@neclab.eu>
Subject: [MirageOS-devel] suspend/resume in MiniOS
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

We're just about ready to merge in Thomas Leonard's external MiniOS patches into Mirage:
https://github.com/mirage/mirage-platform/pull/93

The only known regression from our local MiniOS to the external one is x86 suspend/resume support, so I wanted to find out what the latest state of upstream support is.

CCing Joao/Felipe: you mentioned at the hackathon that you had patches; are these available against xen-unstable for us to merge?

Jon Ludlam did the original MirageOS support; any comments on the arch_rebuild_p2m query from Thomas?

cheers,
Anil



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 09:39:40 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 09:39:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4RsB-0002Iz-D6; Tue, 08 Jul 2014 09:39:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4RsA-0002Ir-9P
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 09:39:38 +0000
Received: from [193.109.254.147:8267] by server-10.bemta-14.messagelabs.com id
	5F/3A-01431-95CBBB35; Tue, 08 Jul 2014 09:39:37 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-27.messagelabs.com!1404812376!16100175!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16966 invoked from network); 8 Jul 2014 09:39:36 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-27.messagelabs.com with SMTP;
	8 Jul 2014 09:39:36 -0000
Received: (qmail 7095 invoked by uid 634); 8 Jul 2014 09:39:36 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-102-120.in-addr.btopenworld.com (HELO [10.0.0.108])
	(81.149.102.120)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 08 Jul 2014 10:39:32 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Date: Tue, 8 Jul 2014 10:39:30 +0100
Message-Id: <C87B0C44-5EF5-4148-8A83-D93A522067AF@recoil.org>
To: mirageos-devel@lists.xenproject.org
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Felipe Huici <Felipe.Huici@neclab.eu>,
	Joao Martins <joao.martins@neclab.eu>
Subject: [MirageOS-devel] suspend/resume in MiniOS
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

We're just about ready to merge in Thomas Leonard's external MiniOS patches into Mirage:
https://github.com/mirage/mirage-platform/pull/93

The only known regression from our local MiniOS to the external one is x86 suspend/resume support, so I wanted to find out what the latest state of upstream support is.

CCing Joao/Felipe: you mentioned at the hackathon that you had patches; are these available against xen-unstable for us to merge?

Jon Ludlam did the original MirageOS support; any comments on the arch_rebuild_p2m query from Thomas?

cheers,
Anil



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 20:30:39 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 20:30:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4c23-0006mW-I9; Tue, 08 Jul 2014 20:30:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hannes@mehnert.org>) id 1X4c21-0006mR-RS
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 20:30:30 +0000
Received: from [85.158.137.68:56751] by server-7.bemta-3.messagelabs.com id
	C4/5A-22775-5E45CB35; Tue, 08 Jul 2014 20:30:29 +0000
X-Env-Sender: hannes@mehnert.org
X-Msg-Ref: server-5.tower-31.messagelabs.com!1404851425!14813406!1
X-Originating-IP: [213.73.89.200]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_10,ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1630 invoked from network); 8 Jul 2014 20:30:26 -0000
Received: from mail.mehnert.org (HELO mail.mehnert.org) (213.73.89.200)
	by server-5.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 Jul 2014 20:30:26 -0000
Received: from [192.168.1.44] (unknown [86.14.232.58])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (verified OK))
	by mail.mehnert.org (Postfix) with ESMTPS id A8060213A
	for <mirageos-devel@lists.xenproject.org>;
	Tue,  8 Jul 2014 22:30:24 +0200 (CEST)
Message-ID: <53BC5495.9080204@mehnert.org>
Date: Tue, 08 Jul 2014 21:29:09 +0100
From: Hannes Mehnert <hannes@mehnert.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] ocaml-tls released - https://tls.openmirage.org
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384

Hey,

just wanted to keep this mailing list in the loop.. we released, and
got some feedback on hacker news and twitter:
https://news.ycombinator.com/item?id=8005130

demo server: https://tls.openmirage.org

Here's the actual announcement:

We announce a **beta** release of `ocaml-tls`, a clean-slate
implementation of
[Transport Layer
Security](https://en.wikipedia.org/wiki/Transport_Layer_Security) (TLS) in
OCaml.

### What is TLS?

Transport Layer Security (TLS) is probably the most widely deployed
security protocol on the Internet. It provides communication privacy
to prevent eavesdropping, tampering, and message forgery. Furthermore,
it optionally provides authentication of the involved endpoints. TLS
is commonly deployed for securing web services
([HTTPS](http://tools.ietf.org/html/rfc2818)), emails,
virtual private networks, and wireless networks.

TLS uses asymmetric cryptography to exchange a symmetric key, and
optionally authenticate (using X.509) either or both endpoints. It
provides algorithmic agility, which means that the key exchange
method, symmetric encryption algorithm, and hash algorithm are
negotiated.

### TLS in OCaml

Our implementation [ocaml-tls](https://github.com/mirleft/ocaml-tls)
is already able to interoperate with
existing TLS implementations, and supports several important TLS
extensions
such as server name indication ([RFC4366][], enabling virtual hosting)
and secure renegotiation ([RFC5746][]).

Our [demonstration server][^7] runs `ocaml-tls` and renders exchanged
TLS messages in nearly real time by receiving a trace of the TLS
session setup. If you encounter any problems, please give us
[feedback][^14].

`ocaml-tls` and all dependent libraries are available via [OPAM][^18]
(`opam install tls`). The [source is available][^1]
under a BSD license. We are primarily working towards completeness of
protocol features, such as client authentication, session resumption,
elliptic curve and GCM
cipher suites, and have not yet optimised for performance.

`ocaml-tls` depends on the following independent libraries:
[ocaml-nocrypto][^6] implements the
cryptographic primitives, [ocaml-asn1-combinators][^5] provides ASN.1
parsers/unparsers, and
[ocaml-x509][^8] implements the X509 grammar and certificate
validation ([RFC5280][]). [ocaml-tls][^1] implements TLS (1.0, 1.1 and
1.2; [RFC2246][],
[RFC4346][], [RFC5246][]).

We invite the community to audit and run our code, and we are
particularly interested in discussion of our APIs.
Please use the [mirage-devel mailing list][^9] for discussions.

**Please be aware that this release is a *beta* and is missing
external code audits.
It is not yet intended for use in any security critical applications.**

In our [issue tracker][^14] we transparently document known attacks
against TLS and our mitigations
([checked][^4] and [unchecked][^11]).
We have not yet implemented mitigations against either the
[Lucky13][^12] timing attack or traffic analysis (e.g. [length-hiding
padding][^13]).

### Trusted code base

Designed to run on Mirage, the trusted code base of `ocaml-tls` is
small. It includes the libraries already mentioned,
[`ocaml-tls`][^1], [`ocaml-asn-combinators`][^5], [`ocaml-x509`][^8],
and [`ocaml-nocrypto`][^6] (which uses C implementations of block
ciphers and hash algorithms). For arbitrary precision integers needed in
asymmetric cryptography, we rely on [`zarith`][^15], which wraps
[`libgmp`][^16]. As underlying byte array structure we use
[`cstruct`][^17] (which uses OCaml `Bigarray` as storage).

We should also mention the OCaml runtime, the OCaml compiler, the
operating system on which the source is compiled and the binary is
executed, as
well as the underlying hardware. Two effectful frontends for
the pure TLS core are implemented, dealing
with side-effects such as reading and writing from the network:
[Lwt_unix](http://ocsigen.org/lwt/api/Lwt_unix) and
Mirage, so applications can run directly as a Xen unikernel.

### Why a new TLS implementation?

**Update:**
Thanks to [Frama-C][frama-c] guys for [pointing][twitter-1]
[out][twitter-2]
that [CVE-2014-1266][] and [CVE-2014-0224][] are *not* memory safety
issues, but
logic errors. This article previously stated otherwise.

[frama-c]: http://frama-c.com/
[twitter-1]: https://twitter.com/spun_off/status/486535304426188800
[twitter-2]: https://twitter.com/spun_off/status/486536572792090626

There are only a few TLS implementations publicly available and most
programming languages bind to OpenSSL, an open source implementation
written
in C. There are valid reasons to interface with an existing TLS library,
rather than developing one from scratch, including protocol complexity and
compatibility with different TLS versions and implementations. But
from our
perspective the disadvantage of most existing libraries is that they
are written in C, leading to:

  * Memory safety issues, as recently observed by [Heartbleed][] and
GnuTLS
    session identifier memory corruption ([CVE-2014-3466][]) bugs;
  * Control flow complexity (Apple's goto fail, [CVE-2014-1266][]);
  * And difficulty in encoding state machines (OpenSSL change cipher suite
    attack, [CVE-2014-0224][]).

Our main reasons for `ocaml-tls` are that OCaml is a modern functional
language, which allows concise and declarative descriptions of the
complex protocol logic and provides type safety and memory safety to help
guard against programming errors. Its functional nature is extensively
employed in our code: the core of the protocol is written in purely
functional style, without any side effects.

Subsequent blog posts [over the coming
days](https://github.com/mirage/mirage/issues/257) will examine in
more detail
the design and implementation of the four libraries, as well as the
security
trade-offs and some TLS attacks and our mitigations against them.  For now
though, we invite you to try out our **[demonstration server][^7]**
running our stack over HTTPS.  We're particularly interested in
feedback on our [issue tracker](https://github.com/mirleft/ocaml-tls)
about
clients that fail to connect, and any queries from anyone reviewing
the [source code](https://github.com/mirleft/)
of the constituent libraries.

[^1]: https://github.com/mirleft/ocaml-tls
[^3]: http://www.openbsd.org/papers/bsdcan14-libressl/mgp00026.html)
[^4]:
https://github.com/mirleft/ocaml-tls/issues?labels=security+concern&page=1&state=open
[^5]: https://github.com/mirleft/ocaml-asn1-combinators
[^6]: https://github.com/mirleft/ocaml-nocrypto
[^7]: https://tls.openmirage.org/
[^8]: https://github.com/mirleft/ocaml-x509
[^9]: http://lists.xenproject.org/archives/html/mirageos-devel/
[^10]: https://github.com/mirage/mirage-entropy
[^11]:
https://github.com/mirleft/ocaml-tls/issues?labels=security+concern&page=1&state=closed
[^12]: http://www.isg.rhul.ac.uk/tls/Lucky13.html
[^13]: http://tools.ietf.org/html/draft-pironti-tls-length-hiding-02
[^14]: https://github.com/mirleft/ocaml-tls/issues
[^15]: https://forge.ocamlcore.org/projects/zarith
[^16]: https://gmplib.org/
[^17]: https://github.com/mirage/ocaml-cstruct
[^18]: https://opam.ocaml.org/packages/tls/tls.0.1.0/

[attacks]: http://eprint.iacr.org/2013/049
[Heartbleed]: https://en.wikipedia.org/wiki/Heartbleed
[mostdangerous]:
https://crypto.stanford.edu/~dabo/pubs/abstracts/ssl-client-bugs.html
[frankencert]: https://www.cs.utexas.edu/~shmat/shmat_oak14.pdf
[mitls]: http://www.mitls.org
[Fortuna]: https://www.schneier.com/fortuna.html
[HOL]:
http://www.infsec.ethz.ch/people/andreloc/publications/lochbihler14iw.pdf
[cheap]: http://people.cs.missouri.edu/~harrisonwl/drafts/CheapThreads.pdf
[RFC4366]: https://tools.ietf.org/html/rfc4366
[RFC5746]: https://tools.ietf.org/html/rfc5746
[RFC5280]: https://tools.ietf.org/html/rfc5280
[RFC2246]: https://tools.ietf.org/html/rfc2246
[RFC4346]: https://tools.ietf.org/html/rfc4346
[RFC5246]: https://tools.ietf.org/html/rfc5246
[CVE-2014-1266]:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1266
[CVE-2014-3466]:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3466
[CVE-2014-0224]:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBCQAGBQJTvFSVAAoJELyJZYjffCjuaDsP/03f4Eo1LklD3KZIEp5UWQva
h+7wlYo8rN/lE0Pc9Qakoi8bKd9oEvQs2X4Pajpgf9Wq85nYSo5MbKQ6qklLNFlv
mGz3ghuUvtNfVIPALVPBms9hPhrSwfSdIZJqLUuPnE2kNn2zlzI6DnpXraFa6e4x
LsCFmTH2DwR/WjWjnz1+jpmZDdE1XH2jCxsEcKLWWDidxBjNff/UWdhDNLs2tdSe
3rDxsGjgfNDlFFrGjupwI+DdSYt9x1XjHTKHccmBsoBZK4WsPHn3hbyc7S5zn9GI
eLEgK3dv5U1+LXBY/e8CfoMFENPiJL5FdEXMkFKc94WGJpwQ874MySxGfUbWJNyc
JAConWOWCMOSjhNt4wDwvKr+oJvXWx22ItxfNb2xMIRv33PRLyEPMcy6et6Hac5F
5w/DWnpJkpBNTA7OVEiGicGoyx692dl1pmOxetlAahSVx1XUxmucZXwQuux6vBB2
9oe+nxk32gk4WH02JN80kI0aeI3nM7ymUG2uBq8CfhFEwUigsLc5LM+IFQgqi9Kv
9vxbaej0+XHokNw4dl9RU0/DLdhf/i9+aRkwDOdt/mDguXvYBVTCaGTxeLD7tvsK
KOoRtx97G7ffiR0GXijDFNC9M6wrNovQzZaW/Hi/oninxcL6QHWkstZnDlJhxX5s
9G4/VE11WDn0+TZus5wt
=ucrO
-----END PGP SIGNATURE-----

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 20:30:39 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 20:30:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4c23-0006mW-I9; Tue, 08 Jul 2014 20:30:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hannes@mehnert.org>) id 1X4c21-0006mR-RS
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 20:30:30 +0000
Received: from [85.158.137.68:56751] by server-7.bemta-3.messagelabs.com id
	C4/5A-22775-5E45CB35; Tue, 08 Jul 2014 20:30:29 +0000
X-Env-Sender: hannes@mehnert.org
X-Msg-Ref: server-5.tower-31.messagelabs.com!1404851425!14813406!1
X-Originating-IP: [213.73.89.200]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_10,ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1630 invoked from network); 8 Jul 2014 20:30:26 -0000
Received: from mail.mehnert.org (HELO mail.mehnert.org) (213.73.89.200)
	by server-5.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 Jul 2014 20:30:26 -0000
Received: from [192.168.1.44] (unknown [86.14.232.58])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (verified OK))
	by mail.mehnert.org (Postfix) with ESMTPS id A8060213A
	for <mirageos-devel@lists.xenproject.org>;
	Tue,  8 Jul 2014 22:30:24 +0200 (CEST)
Message-ID: <53BC5495.9080204@mehnert.org>
Date: Tue, 08 Jul 2014 21:29:09 +0100
From: Hannes Mehnert <hannes@mehnert.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] ocaml-tls released - https://tls.openmirage.org
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384

Hey,

just wanted to keep this mailing list in the loop.. we released, and
got some feedback on hacker news and twitter:
https://news.ycombinator.com/item?id=8005130

demo server: https://tls.openmirage.org

Here's the actual announcement:

We announce a **beta** release of `ocaml-tls`, a clean-slate
implementation of
[Transport Layer
Security](https://en.wikipedia.org/wiki/Transport_Layer_Security) (TLS) in
OCaml.

### What is TLS?

Transport Layer Security (TLS) is probably the most widely deployed
security protocol on the Internet. It provides communication privacy
to prevent eavesdropping, tampering, and message forgery. Furthermore,
it optionally provides authentication of the involved endpoints. TLS
is commonly deployed for securing web services
([HTTPS](http://tools.ietf.org/html/rfc2818)), emails,
virtual private networks, and wireless networks.

TLS uses asymmetric cryptography to exchange a symmetric key, and
optionally authenticate (using X.509) either or both endpoints. It
provides algorithmic agility, which means that the key exchange
method, symmetric encryption algorithm, and hash algorithm are
negotiated.

### TLS in OCaml

Our implementation [ocaml-tls](https://github.com/mirleft/ocaml-tls)
is already able to interoperate with
existing TLS implementations, and supports several important TLS
extensions
such as server name indication ([RFC4366][], enabling virtual hosting)
and secure renegotiation ([RFC5746][]).

Our [demonstration server][^7] runs `ocaml-tls` and renders exchanged
TLS messages in nearly real time by receiving a trace of the TLS
session setup. If you encounter any problems, please give us
[feedback][^14].

`ocaml-tls` and all dependent libraries are available via [OPAM][^18]
(`opam install tls`). The [source is available][^1]
under a BSD license. We are primarily working towards completeness of
protocol features, such as client authentication, session resumption,
elliptic curve and GCM
cipher suites, and have not yet optimised for performance.

`ocaml-tls` depends on the following independent libraries:
[ocaml-nocrypto][^6] implements the
cryptographic primitives, [ocaml-asn1-combinators][^5] provides ASN.1
parsers/unparsers, and
[ocaml-x509][^8] implements the X509 grammar and certificate
validation ([RFC5280][]). [ocaml-tls][^1] implements TLS (1.0, 1.1 and
1.2; [RFC2246][],
[RFC4346][], [RFC5246][]).

We invite the community to audit and run our code, and we are
particularly interested in discussion of our APIs.
Please use the [mirage-devel mailing list][^9] for discussions.

**Please be aware that this release is a *beta* and is missing
external code audits.
It is not yet intended for use in any security critical applications.**

In our [issue tracker][^14] we transparently document known attacks
against TLS and our mitigations
([checked][^4] and [unchecked][^11]).
We have not yet implemented mitigations against either the
[Lucky13][^12] timing attack or traffic analysis (e.g. [length-hiding
padding][^13]).

### Trusted code base

Designed to run on Mirage, the trusted code base of `ocaml-tls` is
small. It includes the libraries already mentioned,
[`ocaml-tls`][^1], [`ocaml-asn-combinators`][^5], [`ocaml-x509`][^8],
and [`ocaml-nocrypto`][^6] (which uses C implementations of block
ciphers and hash algorithms). For arbitrary precision integers needed in
asymmetric cryptography, we rely on [`zarith`][^15], which wraps
[`libgmp`][^16]. As underlying byte array structure we use
[`cstruct`][^17] (which uses OCaml `Bigarray` as storage).

We should also mention the OCaml runtime, the OCaml compiler, the
operating system on which the source is compiled and the binary is
executed, as
well as the underlying hardware. Two effectful frontends for
the pure TLS core are implemented, dealing
with side-effects such as reading and writing from the network:
[Lwt_unix](http://ocsigen.org/lwt/api/Lwt_unix) and
Mirage, so applications can run directly as a Xen unikernel.

### Why a new TLS implementation?

**Update:**
Thanks to [Frama-C][frama-c] guys for [pointing][twitter-1]
[out][twitter-2]
that [CVE-2014-1266][] and [CVE-2014-0224][] are *not* memory safety
issues, but
logic errors. This article previously stated otherwise.

[frama-c]: http://frama-c.com/
[twitter-1]: https://twitter.com/spun_off/status/486535304426188800
[twitter-2]: https://twitter.com/spun_off/status/486536572792090626

There are only a few TLS implementations publicly available and most
programming languages bind to OpenSSL, an open source implementation
written
in C. There are valid reasons to interface with an existing TLS library,
rather than developing one from scratch, including protocol complexity and
compatibility with different TLS versions and implementations. But
from our
perspective the disadvantage of most existing libraries is that they
are written in C, leading to:

  * Memory safety issues, as recently observed by [Heartbleed][] and
GnuTLS
    session identifier memory corruption ([CVE-2014-3466][]) bugs;
  * Control flow complexity (Apple's goto fail, [CVE-2014-1266][]);
  * And difficulty in encoding state machines (OpenSSL change cipher suite
    attack, [CVE-2014-0224][]).

Our main reasons for `ocaml-tls` are that OCaml is a modern functional
language, which allows concise and declarative descriptions of the
complex protocol logic and provides type safety and memory safety to help
guard against programming errors. Its functional nature is extensively
employed in our code: the core of the protocol is written in purely
functional style, without any side effects.

Subsequent blog posts [over the coming
days](https://github.com/mirage/mirage/issues/257) will examine in
more detail
the design and implementation of the four libraries, as well as the
security
trade-offs and some TLS attacks and our mitigations against them.  For now
though, we invite you to try out our **[demonstration server][^7]**
running our stack over HTTPS.  We're particularly interested in
feedback on our [issue tracker](https://github.com/mirleft/ocaml-tls)
about
clients that fail to connect, and any queries from anyone reviewing
the [source code](https://github.com/mirleft/)
of the constituent libraries.

[^1]: https://github.com/mirleft/ocaml-tls
[^3]: http://www.openbsd.org/papers/bsdcan14-libressl/mgp00026.html)
[^4]:
https://github.com/mirleft/ocaml-tls/issues?labels=security+concern&page=1&state=open
[^5]: https://github.com/mirleft/ocaml-asn1-combinators
[^6]: https://github.com/mirleft/ocaml-nocrypto
[^7]: https://tls.openmirage.org/
[^8]: https://github.com/mirleft/ocaml-x509
[^9]: http://lists.xenproject.org/archives/html/mirageos-devel/
[^10]: https://github.com/mirage/mirage-entropy
[^11]:
https://github.com/mirleft/ocaml-tls/issues?labels=security+concern&page=1&state=closed
[^12]: http://www.isg.rhul.ac.uk/tls/Lucky13.html
[^13]: http://tools.ietf.org/html/draft-pironti-tls-length-hiding-02
[^14]: https://github.com/mirleft/ocaml-tls/issues
[^15]: https://forge.ocamlcore.org/projects/zarith
[^16]: https://gmplib.org/
[^17]: https://github.com/mirage/ocaml-cstruct
[^18]: https://opam.ocaml.org/packages/tls/tls.0.1.0/

[attacks]: http://eprint.iacr.org/2013/049
[Heartbleed]: https://en.wikipedia.org/wiki/Heartbleed
[mostdangerous]:
https://crypto.stanford.edu/~dabo/pubs/abstracts/ssl-client-bugs.html
[frankencert]: https://www.cs.utexas.edu/~shmat/shmat_oak14.pdf
[mitls]: http://www.mitls.org
[Fortuna]: https://www.schneier.com/fortuna.html
[HOL]:
http://www.infsec.ethz.ch/people/andreloc/publications/lochbihler14iw.pdf
[cheap]: http://people.cs.missouri.edu/~harrisonwl/drafts/CheapThreads.pdf
[RFC4366]: https://tools.ietf.org/html/rfc4366
[RFC5746]: https://tools.ietf.org/html/rfc5746
[RFC5280]: https://tools.ietf.org/html/rfc5280
[RFC2246]: https://tools.ietf.org/html/rfc2246
[RFC4346]: https://tools.ietf.org/html/rfc4346
[RFC5246]: https://tools.ietf.org/html/rfc5246
[CVE-2014-1266]:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1266
[CVE-2014-3466]:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3466
[CVE-2014-0224]:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBCQAGBQJTvFSVAAoJELyJZYjffCjuaDsP/03f4Eo1LklD3KZIEp5UWQva
h+7wlYo8rN/lE0Pc9Qakoi8bKd9oEvQs2X4Pajpgf9Wq85nYSo5MbKQ6qklLNFlv
mGz3ghuUvtNfVIPALVPBms9hPhrSwfSdIZJqLUuPnE2kNn2zlzI6DnpXraFa6e4x
LsCFmTH2DwR/WjWjnz1+jpmZDdE1XH2jCxsEcKLWWDidxBjNff/UWdhDNLs2tdSe
3rDxsGjgfNDlFFrGjupwI+DdSYt9x1XjHTKHccmBsoBZK4WsPHn3hbyc7S5zn9GI
eLEgK3dv5U1+LXBY/e8CfoMFENPiJL5FdEXMkFKc94WGJpwQ874MySxGfUbWJNyc
JAConWOWCMOSjhNt4wDwvKr+oJvXWx22ItxfNb2xMIRv33PRLyEPMcy6et6Hac5F
5w/DWnpJkpBNTA7OVEiGicGoyx692dl1pmOxetlAahSVx1XUxmucZXwQuux6vBB2
9oe+nxk32gk4WH02JN80kI0aeI3nM7ymUG2uBq8CfhFEwUigsLc5LM+IFQgqi9Kv
9vxbaej0+XHokNw4dl9RU0/DLdhf/i9+aRkwDOdt/mDguXvYBVTCaGTxeLD7tvsK
KOoRtx97G7ffiR0GXijDFNC9M6wrNovQzZaW/Hi/oninxcL6QHWkstZnDlJhxX5s
9G4/VE11WDn0+TZus5wt
=ucrO
-----END PGP SIGNATURE-----

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 22:46:31 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 22:46:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4e9b-0008Di-12; Tue, 08 Jul 2014 22:46:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4e9a-0008Dd-A8
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 22:46:26 +0000
Received: from [193.109.254.147:53271] by server-14.bemta-14.messagelabs.com
	id 06/56-11800-1C47CB35; Tue, 08 Jul 2014 22:46:25 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1404859582!16250617!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25299 invoked from network); 8 Jul 2014 22:46:22 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-27.messagelabs.com with SMTP;
	8 Jul 2014 22:46:22 -0000
Received: (qmail 27824 invoked by uid 634); 8 Jul 2014 22:46:20 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.62]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 08 Jul 2014 23:46:19 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
Date: Tue, 8 Jul 2014 23:46:18 +0100
Message-Id: <F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:

> I'm writing a test Mirage service for queuing files. It's not using
> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
> 
> Some problems I found:
> 
> 1. Running as a --unix process, I initially got a download speed of
> 230 KB/s. Increasing the size of the chunks I was reading from the Fat
> filesystem (a disk.img file) from 512 bytes to 1MB, I was able to
> increase this to 3 MB/s. Both seem rather low. Apache on the same
> machine gets 615 MB/s!

Yep, this is expected, since we explicitly don't have a buffer cache
in the way and so everything you're doing is hitting the disk (and
going through a not-very-optimized FAT implementation into the bargain).

The plan here is to define a buffer cache that's a functor over FS,
and then apply it in config.ml (perhaps through a helper library function).

> I tried reproducing it with mirage-skeleton/static_website, but it
> didn't want to know:
> 
> $ git clone https://github.com/mirage/mirage-skeleton.git
> $ cd mirage-skeleton/static_website
> $ FS=fat NET=socket mirage configure --unix
> 
> [ note: my actual test file is not all zeros, but for this email... ]
> 
> $ dd if=/dev/zero of=htdocs/data bs=1024 count=2
> $ ./make-fat1-image.sh
> $ make
> $ ./mir-www
> Manager: connect
> Manager: configuring
> Manager: socket config currently ignored (TODO)
> Fatal error: exception Failure("fat2")

That's not a helpful error... any ideas ThomasG/Dave?

> 2. To be able to use the FS inferface, I had to specialise it like this:
> 
> module type FS = V1_LWT.FS with
>  type page_aligned_buffer = Cstruct.t and
>  type block_device_error = Fat.Fs.block_error

Ugh, the page_aligned_buffer remaining abstract in V1_LWT is definitely
a bug:

(** FS *)
module type FS = FS
  with type 'a io = 'a Lwt.t

(all the other definitions override it).  Could you file a bug about
this?  Best fixed in the 2.x branch.

> This means my unikernel only works with Fat. If I don't do this, I
> can't report or log error messages. I guess this is also why the test
> above gave such a useless error. Are there any plans to make error
> handling easier?

Dave, what are your thoughts on this?  That is indeed a distinctly
abstract-looking block device error :-)

> 3. In my tags file, I use:
> 
>  not <main.*>: warn(A)
> 
> Would be nice if the generated main.ml compiled without warnings (this
> might be related to the previous point, as it's the error details that
> it is ignoring).

Worth filing a bug for this too.

> 4. Can I get mirage to generate a Makefile that builds and runs my
> unit-tests? I guess I can't run the unit-tests when in --xen mode,
> because some modules have conflicting names, but it would be nice in
> --unix mode at least.

Need some more details on the nature of these unit tests, as I don't
understand what you mean by 'conflicting names'.  Can each unit test
be compiled as a separate unikernel (so it'll work on Xen) via some
config.ml code?

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 08 22:46:31 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2014 22:46:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4e9b-0008Di-12; Tue, 08 Jul 2014 22:46:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4e9a-0008Dd-A8
	for mirageos-devel@lists.xenproject.org; Tue, 08 Jul 2014 22:46:26 +0000
Received: from [193.109.254.147:53271] by server-14.bemta-14.messagelabs.com
	id 06/56-11800-1C47CB35; Tue, 08 Jul 2014 22:46:25 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1404859582!16250617!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25299 invoked from network); 8 Jul 2014 22:46:22 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-27.messagelabs.com with SMTP;
	8 Jul 2014 22:46:22 -0000
Received: (qmail 27824 invoked by uid 634); 8 Jul 2014 22:46:20 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.62]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 08 Jul 2014 23:46:19 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
Date: Tue, 8 Jul 2014 23:46:18 +0100
Message-Id: <F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:

> I'm writing a test Mirage service for queuing files. It's not using
> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
> 
> Some problems I found:
> 
> 1. Running as a --unix process, I initially got a download speed of
> 230 KB/s. Increasing the size of the chunks I was reading from the Fat
> filesystem (a disk.img file) from 512 bytes to 1MB, I was able to
> increase this to 3 MB/s. Both seem rather low. Apache on the same
> machine gets 615 MB/s!

Yep, this is expected, since we explicitly don't have a buffer cache
in the way and so everything you're doing is hitting the disk (and
going through a not-very-optimized FAT implementation into the bargain).

The plan here is to define a buffer cache that's a functor over FS,
and then apply it in config.ml (perhaps through a helper library function).

> I tried reproducing it with mirage-skeleton/static_website, but it
> didn't want to know:
> 
> $ git clone https://github.com/mirage/mirage-skeleton.git
> $ cd mirage-skeleton/static_website
> $ FS=fat NET=socket mirage configure --unix
> 
> [ note: my actual test file is not all zeros, but for this email... ]
> 
> $ dd if=/dev/zero of=htdocs/data bs=1024 count=2
> $ ./make-fat1-image.sh
> $ make
> $ ./mir-www
> Manager: connect
> Manager: configuring
> Manager: socket config currently ignored (TODO)
> Fatal error: exception Failure("fat2")

That's not a helpful error... any ideas ThomasG/Dave?

> 2. To be able to use the FS inferface, I had to specialise it like this:
> 
> module type FS = V1_LWT.FS with
>  type page_aligned_buffer = Cstruct.t and
>  type block_device_error = Fat.Fs.block_error

Ugh, the page_aligned_buffer remaining abstract in V1_LWT is definitely
a bug:

(** FS *)
module type FS = FS
  with type 'a io = 'a Lwt.t

(all the other definitions override it).  Could you file a bug about
this?  Best fixed in the 2.x branch.

> This means my unikernel only works with Fat. If I don't do this, I
> can't report or log error messages. I guess this is also why the test
> above gave such a useless error. Are there any plans to make error
> handling easier?

Dave, what are your thoughts on this?  That is indeed a distinctly
abstract-looking block device error :-)

> 3. In my tags file, I use:
> 
>  not <main.*>: warn(A)
> 
> Would be nice if the generated main.ml compiled without warnings (this
> might be related to the previous point, as it's the error details that
> it is ignoring).

Worth filing a bug for this too.

> 4. Can I get mirage to generate a Makefile that builds and runs my
> unit-tests? I guess I can't run the unit-tests when in --xen mode,
> because some modules have conflicting names, but it would be nice in
> --unix mode at least.

Need some more details on the nature of these unit tests, as I don't
understand what you mean by 'conflicting names'.  Can each unit test
be compiled as a separate unikernel (so it'll work on Xen) via some
config.ml code?

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 08:32:42 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 08:32:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4nIq-0005hV-M0; Wed, 09 Jul 2014 08:32:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X4nIp-0005hQ-61
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 08:32:35 +0000
Received: from [193.109.254.147:34941] by server-4.bemta-14.messagelabs.com id
	8E/0C-20586-22EFCB35; Wed, 09 Jul 2014 08:32:34 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1404894753!16349733!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27724 invoked from network); 9 Jul 2014 08:32:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-10.tower-27.messagelabs.com with SMTP;
	9 Jul 2014 08:32:33 -0000
X-IronPort-AV: E=Sophos;i="5.01,630,1400025600"; d="scan'208";a="22943123"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 09 Jul 2014 08:32:34 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL02.citrite.net ([169.254.7.117]) with mapi id 14.03.0181.006;
	Wed, 9 Jul 2014 10:32:33 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Anil Madhavapeddy <anil@recoil.org>
Thread-Topic: [MirageOS-devel] Mirage questions from writing a REST service
Thread-Index: AQHPmcMHIQ9vb5PIQEiHGLooKzh/KJuWp88AgACjyYA=
Date: Wed, 9 Jul 2014 08:32:32 +0000
Message-ID: <25D27A07-7C84-499A-9FEA-5959888693B2@citrix.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
In-Reply-To: <F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <7A161CE516B3D843AB95B25F23B1B733@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 8 Jul 2014, at 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
> =

>> I'm writing a test Mirage service for queuing files. It's not using
>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>> =

>> Some problems I found:
>> =

>> 1. Running as a --unix process, I initially got a download speed of
>> 230 KB/s. Increasing the size of the chunks I was reading from the Fat
>> filesystem (a disk.img file) from 512 bytes to 1MB, I was able to
>> increase this to 3 MB/s. Both seem rather low. Apache on the same
>> machine gets 615 MB/s!
> =

> Yep, this is expected, since we explicitly don't have a buffer cache
> in the way and so everything you're doing is hitting the disk (and
> going through a not-very-optimized FAT implementation into the bargain).
> =

> The plan here is to define a buffer cache that's a functor over FS,
> and then apply it in config.ml (perhaps through a helper library function=
).

A functor over FS or over BLOCK should work.


>> I tried reproducing it with mirage-skeleton/static_website, but it
>> didn't want to know:
>> =

>> $ git clone https://github.com/mirage/mirage-skeleton.git
>> $ cd mirage-skeleton/static_website
>> $ FS=3Dfat NET=3Dsocket mirage configure --unix
>> =

>> [ note: my actual test file is not all zeros, but for this email... ]
>> =

>> $ dd if=3D/dev/zero of=3Dhtdocs/data bs=3D1024 count=3D2
>> $ ./make-fat1-image.sh
>> $ make
>> $ ./mir-www
>> Manager: connect
>> Manager: configuring
>> Manager: socket config currently ignored (TODO)
>> Fatal error: exception Failure("fat2")
> =

> That's not a helpful error... any ideas ThomasG/Dave?

Unfortunately we don=92t have pretty-printing of our mirage-types errors. T=
his failure comes from the mirage autogen code:

```
(* Generated by Mirage (Wed, 9 Jul 2014 08:27:05 GMT). *)
=85

module Fat2 =3D Fat.Fs.Make(Block)(Io_page)

let fat2 () =3D
  block1 () >>=3D function
  | `Error _ -> fail (Failure "fat2")
  | `Ok dev  -> Fat2.connect dev
```

Perhaps we should add =93with sexp=94 to all our mirage-types errors, and t=
hen mirage could autogen calls to the right printer?

The failure might be that the disk is too small (2048 bytes?) I never imple=
mented FAT12 so it=92s good to go for larger disk sizes (16MiB+)

> =

>> 2. To be able to use the FS inferface, I had to specialise it like this:
>> =

>> module type FS =3D V1_LWT.FS with
>> type page_aligned_buffer =3D Cstruct.t and
>> type block_device_error =3D Fat.Fs.block_error
> =

> Ugh, the page_aligned_buffer remaining abstract in V1_LWT is definitely
> a bug:
> =

> (** FS *)
> module type FS =3D FS
>  with type 'a io =3D 'a Lwt.t
> =

> (all the other definitions override it).  Could you file a bug about
> this?  Best fixed in the 2.x branch.
> =

>> This means my unikernel only works with Fat. If I don't do this, I
>> can't report or log error messages. I guess this is also why the test
>> above gave such a useless error. Are there any plans to make error
>> handling easier?
> =

> Dave, what are your thoughts on this?  That is indeed a distinctly
> abstract-looking block device error :-)

I still find the error handling a bit awkward, particularly when you have l=
ayered devices and have wrapped errors. I think pretty-printing will defini=
tely help though!

Cheers,
Dave

> =

>> 3. In my tags file, I use:
>> =

>> not <main.*>: warn(A)
>> =

>> Would be nice if the generated main.ml compiled without warnings (this
>> might be related to the previous point, as it's the error details that
>> it is ignoring).
> =

> Worth filing a bug for this too.
> =

>> 4. Can I get mirage to generate a Makefile that builds and runs my
>> unit-tests? I guess I can't run the unit-tests when in --xen mode,
>> because some modules have conflicting names, but it would be nice in
>> --unix mode at least.
> =

> Need some more details on the nature of these unit tests, as I don't
> understand what you mean by 'conflicting names'.  Can each unit test
> be compiled as a separate unikernel (so it'll work on Xen) via some
> config.ml code?
> =

> -anil
> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 08:32:42 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 08:32:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4nIq-0005hV-M0; Wed, 09 Jul 2014 08:32:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X4nIp-0005hQ-61
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 08:32:35 +0000
Received: from [193.109.254.147:34941] by server-4.bemta-14.messagelabs.com id
	8E/0C-20586-22EFCB35; Wed, 09 Jul 2014 08:32:34 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1404894753!16349733!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27724 invoked from network); 9 Jul 2014 08:32:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-10.tower-27.messagelabs.com with SMTP;
	9 Jul 2014 08:32:33 -0000
X-IronPort-AV: E=Sophos;i="5.01,630,1400025600"; d="scan'208";a="22943123"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 09 Jul 2014 08:32:34 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL02.citrite.net ([169.254.7.117]) with mapi id 14.03.0181.006;
	Wed, 9 Jul 2014 10:32:33 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Anil Madhavapeddy <anil@recoil.org>
Thread-Topic: [MirageOS-devel] Mirage questions from writing a REST service
Thread-Index: AQHPmcMHIQ9vb5PIQEiHGLooKzh/KJuWp88AgACjyYA=
Date: Wed, 9 Jul 2014 08:32:32 +0000
Message-ID: <25D27A07-7C84-499A-9FEA-5959888693B2@citrix.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
In-Reply-To: <F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <7A161CE516B3D843AB95B25F23B1B733@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 8 Jul 2014, at 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
> =

>> I'm writing a test Mirage service for queuing files. It's not using
>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>> =

>> Some problems I found:
>> =

>> 1. Running as a --unix process, I initially got a download speed of
>> 230 KB/s. Increasing the size of the chunks I was reading from the Fat
>> filesystem (a disk.img file) from 512 bytes to 1MB, I was able to
>> increase this to 3 MB/s. Both seem rather low. Apache on the same
>> machine gets 615 MB/s!
> =

> Yep, this is expected, since we explicitly don't have a buffer cache
> in the way and so everything you're doing is hitting the disk (and
> going through a not-very-optimized FAT implementation into the bargain).
> =

> The plan here is to define a buffer cache that's a functor over FS,
> and then apply it in config.ml (perhaps through a helper library function=
).

A functor over FS or over BLOCK should work.


>> I tried reproducing it with mirage-skeleton/static_website, but it
>> didn't want to know:
>> =

>> $ git clone https://github.com/mirage/mirage-skeleton.git
>> $ cd mirage-skeleton/static_website
>> $ FS=3Dfat NET=3Dsocket mirage configure --unix
>> =

>> [ note: my actual test file is not all zeros, but for this email... ]
>> =

>> $ dd if=3D/dev/zero of=3Dhtdocs/data bs=3D1024 count=3D2
>> $ ./make-fat1-image.sh
>> $ make
>> $ ./mir-www
>> Manager: connect
>> Manager: configuring
>> Manager: socket config currently ignored (TODO)
>> Fatal error: exception Failure("fat2")
> =

> That's not a helpful error... any ideas ThomasG/Dave?

Unfortunately we don=92t have pretty-printing of our mirage-types errors. T=
his failure comes from the mirage autogen code:

```
(* Generated by Mirage (Wed, 9 Jul 2014 08:27:05 GMT). *)
=85

module Fat2 =3D Fat.Fs.Make(Block)(Io_page)

let fat2 () =3D
  block1 () >>=3D function
  | `Error _ -> fail (Failure "fat2")
  | `Ok dev  -> Fat2.connect dev
```

Perhaps we should add =93with sexp=94 to all our mirage-types errors, and t=
hen mirage could autogen calls to the right printer?

The failure might be that the disk is too small (2048 bytes?) I never imple=
mented FAT12 so it=92s good to go for larger disk sizes (16MiB+)

> =

>> 2. To be able to use the FS inferface, I had to specialise it like this:
>> =

>> module type FS =3D V1_LWT.FS with
>> type page_aligned_buffer =3D Cstruct.t and
>> type block_device_error =3D Fat.Fs.block_error
> =

> Ugh, the page_aligned_buffer remaining abstract in V1_LWT is definitely
> a bug:
> =

> (** FS *)
> module type FS =3D FS
>  with type 'a io =3D 'a Lwt.t
> =

> (all the other definitions override it).  Could you file a bug about
> this?  Best fixed in the 2.x branch.
> =

>> This means my unikernel only works with Fat. If I don't do this, I
>> can't report or log error messages. I guess this is also why the test
>> above gave such a useless error. Are there any plans to make error
>> handling easier?
> =

> Dave, what are your thoughts on this?  That is indeed a distinctly
> abstract-looking block device error :-)

I still find the error handling a bit awkward, particularly when you have l=
ayered devices and have wrapped errors. I think pretty-printing will defini=
tely help though!

Cheers,
Dave

> =

>> 3. In my tags file, I use:
>> =

>> not <main.*>: warn(A)
>> =

>> Would be nice if the generated main.ml compiled without warnings (this
>> might be related to the previous point, as it's the error details that
>> it is ignoring).
> =

> Worth filing a bug for this too.
> =

>> 4. Can I get mirage to generate a Makefile that builds and runs my
>> unit-tests? I guess I can't run the unit-tests when in --xen mode,
>> because some modules have conflicting names, but it would be nice in
>> --unix mode at least.
> =

> Need some more details on the nature of these unit tests, as I don't
> understand what you mean by 'conflicting names'.  Can each unit test
> be compiled as a separate unikernel (so it'll work on Xen) via some
> config.ml code?
> =

> -anil
> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 10:00:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 10:00:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4og4-000224-FV; Wed, 09 Jul 2014 10:00:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X4og3-00021z-15
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 10:00:39 +0000
Received: from [85.158.143.35:40251] by server-3.bemta-4.messagelabs.com id
	EB/0C-16194-6C21DB35; Wed, 09 Jul 2014 10:00:38 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1404900034!16785911!1
X-Originating-IP: [209.85.192.172]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15624 invoked from network); 9 Jul 2014 10:00:36 -0000
Received: from mail-pd0-f172.google.com (HELO mail-pd0-f172.google.com)
	(209.85.192.172)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 10:00:36 -0000
Received: by mail-pd0-f172.google.com with SMTP id w10so8811654pde.3
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 03:00:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=UcNhElUThHuJC7DlNBCybz0oaBSFwb82evrjtSvOq+M=;
	b=dkvajug0pF/eGahI8dtMkmw5i5LlAH15JqLqk5Tk17Q4Uwt44YASXbWPPjs1SUJxYm
	FG12TEH+zXJ4foodLLQ0oKGM+9WG32QIaOnaowGAlqlAfO72FwKZDz5LXOkC3sNUeuan
	/bGuD88MaffcIHwcqVLOwootja8Gzioj9FlfU/8J2zlkQBYW1yUoywV76byq1g7qfHWe
	m4hcokKPWl7YW5lR/oFQKfUSi1fNIGqzWWy7cN5iS+wW3rKjXC+XCJ5JeR6TCAthb/ll
	cyLUHQqMB8SBzIHyjfLfj1GVrdMmOPeVZGjg1b9srFNsIX+MtzBmA0CMcQat+LtfY2Iy
	a6FA==
MIME-Version: 1.0
X-Received: by 10.70.33.2 with SMTP id n2mr10186267pdi.37.1404900034204; Wed,
	09 Jul 2014 03:00:34 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Wed, 9 Jul 2014 03:00:34 -0700 (PDT)
In-Reply-To: <25D27A07-7C84-499A-9FEA-5959888693B2@citrix.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
	<25D27A07-7C84-499A-9FEA-5959888693B2@citrix.com>
Date: Wed, 9 Jul 2014 11:00:34 +0100
Message-ID: <CAG_esB14swBorc_Xjyqaijh=gfFeZO2BuXiKw2+z3A9+wEZiqw@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Dave Scott <Dave.Scott@citrix.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6632867947961040683=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6632867947961040683==
Content-Type: multipart/alternative; boundary=047d7bfd0b947bdb9104fdbfc7c3

--047d7bfd0b947bdb9104fdbfc7c3
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Wed, Jul 9, 2014 at 9:32 AM, Dave Scott <Dave.Scott@citrix.com> wrote:

>
> On 8 Jul 2014, at 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
>
> > On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
> >
> >> I'm writing a test Mirage service for queuing files. It's not using
> >> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
> >>
> >> Some problems I found:
> >>
> >> 1. Running as a --unix process, I initially got a download speed of
> >> 230 KB/s. Increasing the size of the chunks I was reading from the Fat
> >> filesystem (a disk.img file) from 512 bytes to 1MB, I was able to
> >> increase this to 3 MB/s. Both seem rather low. Apache on the same
> >> machine gets 615 MB/s!
> >
> > Yep, this is expected, since we explicitly don't have a buffer cache
> > in the way and so everything you're doing is hitting the disk (and
> > going through a not-very-optimized FAT implementation into the bargain)=
.
> >
> > The plan here is to define a buffer cache that's a functor over FS,
> > and then apply it in config.ml (perhaps through a helper library
> function).
>
> A functor over FS or over BLOCK should work.
>
>
> >> I tried reproducing it with mirage-skeleton/static_website, but it
> >> didn't want to know:
> >>
> >> $ git clone https://github.com/mirage/mirage-skeleton.git
> >> $ cd mirage-skeleton/static_website
> >> $ FS=3Dfat NET=3Dsocket mirage configure --unix
> >>
> >> [ note: my actual test file is not all zeros, but for this email... ]
> >>
> >> $ dd if=3D/dev/zero of=3Dhtdocs/data bs=3D1024 count=3D2
> >> $ ./make-fat1-image.sh
> >> $ make
> >> $ ./mir-www
> >> Manager: connect
> >> Manager: configuring
> >> Manager: socket config currently ignored (TODO)
> >> Fatal error: exception Failure("fat2")
> >
> > That's not a helpful error... any ideas ThomasG/Dave?
>
> Unfortunately we don=E2=80=99t have pretty-printing of our mirage-types e=
rrors.
> This failure comes from the mirage autogen code:
>
> ```
> (* Generated by Mirage (Wed, 9 Jul 2014 08:27:05 GMT). *)
> =E2=80=A6
>
> module Fat2 =3D Fat.Fs.Make(Block)(Io_page)
>
> let fat2 () =3D
>   block1 () >>=3D function
>   | `Error _ -> fail (Failure "fat2")
>   | `Ok dev  -> Fat2.connect dev
> ```
>
> Perhaps we should add =E2=80=9Cwith sexp=E2=80=9D to all our mirage-types=
 errors, and then
> mirage could autogen calls to the right printer?
>

I've added this to the list on https://github.com/mirage/mirage/issues/203

It's a shame the error types are defined in the module signatures rather
than in modules, because it means we can't add 'with sexp' immediately
without requiring the implementations to all say 'with sexp' too.

Now is probably a good time to fork the V1 signatures and create the V2
versions and start applying the changes. Since we've cunningly named our
existing module types V1 and V1_LWT we should be able to create V2 and
V2_LWT in parallel.

Perhaps we should add version suffixes to the implementation modules too
(Fat_V1; Fat_V2) so we could install in parallel? For things like FAT and
BLOCK it would be relatively easy to share most of the implementation code
and support both interfaces via small shims.

Dave


> The failure might be that the disk is too small (2048 bytes?) I never
> implemented FAT12 so it=E2=80=99s good to go for larger disk sizes (16MiB=
+)
>
> >
> >> 2. To be able to use the FS inferface, I had to specialise it like thi=
s:
> >>
> >> module type FS =3D V1_LWT.FS with
> >> type page_aligned_buffer =3D Cstruct.t and
> >> type block_device_error =3D Fat.Fs.block_error
> >
> > Ugh, the page_aligned_buffer remaining abstract in V1_LWT is definitely
> > a bug:
> >
> > (** FS *)
> > module type FS =3D FS
> >  with type 'a io =3D 'a Lwt.t
> >
> > (all the other definitions override it).  Could you file a bug about
> > this?  Best fixed in the 2.x branch.
> >
> >> This means my unikernel only works with Fat. If I don't do this, I
> >> can't report or log error messages. I guess this is also why the test
> >> above gave such a useless error. Are there any plans to make error
> >> handling easier?
> >
> > Dave, what are your thoughts on this?  That is indeed a distinctly
> > abstract-looking block device error :-)
>
> I still find the error handling a bit awkward, particularly when you have
> layered devices and have wrapped errors. I think pretty-printing will
> definitely help though!
>
> Cheers,
> Dave
>
> >
> >> 3. In my tags file, I use:
> >>
> >> not <main.*>: warn(A)
> >>
> >> Would be nice if the generated main.ml compiled without warnings (this
> >> might be related to the previous point, as it's the error details that
> >> it is ignoring).
> >
> > Worth filing a bug for this too.
> >
> >> 4. Can I get mirage to generate a Makefile that builds and runs my
> >> unit-tests? I guess I can't run the unit-tests when in --xen mode,
> >> because some modules have conflicting names, but it would be nice in
> >> --unix mode at least.
> >
> > Need some more details on the nature of these unit tests, as I don't
> > understand what you mean by 'conflicting names'.  Can each unit test
> > be compiled as a separate unikernel (so it'll work on Xen) via some
> > config.ml code?
> >
> > -anil
> >
> > _______________________________________________
> > MirageOS-devel mailing list
> > MirageOS-devel@lists.xenproject.org
> > http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>



--=20
Dave Scott

--047d7bfd0b947bdb9104fdbfc7c3
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><br><div class=3D"gmail=
_quote">On Wed, Jul 9, 2014 at 9:32 AM, Dave Scott <span dir=3D"ltr">&lt;<a=
 href=3D"mailto:Dave.Scott@citrix.com" target=3D"_blank">Dave.Scott@citrix.=
com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div class=3D""><br>
On 8 Jul 2014, at 23:46, Anil Madhavapeddy &lt;<a href=3D"mailto:anil@recoi=
l.org">anil@recoil.org</a>&gt; wrote:<br>
<br>
&gt; On 7 Jul 2014, at 10:08, Thomas Leonard &lt;<a href=3D"mailto:talex5@g=
mail.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; I&#39;m writing a test Mirage service for queuing files. It&#39;s =
not using<br>
&gt;&gt; ThomasG&#39;s merge-queues - I&#39;m just trying the low-level FS =
stuff first.<br>
&gt;&gt;<br>
&gt;&gt; Some problems I found:<br>
&gt;&gt;<br>
&gt;&gt; 1. Running as a --unix process, I initially got a download speed o=
f<br>
&gt;&gt; 230 KB/s. Increasing the size of the chunks I was reading from the=
 Fat<br>
&gt;&gt; filesystem (a disk.img file) from 512 bytes to 1MB, I was able to<=
br>
&gt;&gt; increase this to 3 MB/s. Both seem rather low. Apache on the same<=
br>
&gt;&gt; machine gets 615 MB/s!<br>
&gt;<br>
&gt; Yep, this is expected, since we explicitly don&#39;t have a buffer cac=
he<br>
&gt; in the way and so everything you&#39;re doing is hitting the disk (and=
<br>
&gt; going through a not-very-optimized FAT implementation into the bargain=
).<br>
&gt;<br>
&gt; The plan here is to define a buffer cache that&#39;s a functor over FS=
,<br>
&gt; and then apply it in <a href=3D"http://config.ml" target=3D"_blank">co=
nfig.ml</a> (perhaps through a helper library function).<br>
<br>
</div>A functor over FS or over BLOCK should work.<br>
<div class=3D""><br>
<br>
&gt;&gt; I tried reproducing it with mirage-skeleton/static_website, but it=
<br>
&gt;&gt; didn&#39;t want to know:<br>
&gt;&gt;<br>
&gt;&gt; $ git clone <a href=3D"https://github.com/mirage/mirage-skeleton.g=
it" target=3D"_blank">https://github.com/mirage/mirage-skeleton.git</a><br>
&gt;&gt; $ cd mirage-skeleton/static_website<br>
&gt;&gt; $ FS=3Dfat NET=3Dsocket mirage configure --unix<br>
&gt;&gt;<br>
&gt;&gt; [ note: my actual test file is not all zeros, but for this email..=
. ]<br>
&gt;&gt;<br>
&gt;&gt; $ dd if=3D/dev/zero of=3Dhtdocs/data bs=3D1024 count=3D2<br>
&gt;&gt; $ ./make-fat1-image.sh<br>
&gt;&gt; $ make<br>
&gt;&gt; $ ./mir-www<br>
&gt;&gt; Manager: connect<br>
&gt;&gt; Manager: configuring<br>
&gt;&gt; Manager: socket config currently ignored (TODO)<br>
&gt;&gt; Fatal error: exception Failure(&quot;fat2&quot;)<br>
&gt;<br>
&gt; That&#39;s not a helpful error... any ideas ThomasG/Dave?<br>
<br>
</div>Unfortunately we don=E2=80=99t have pretty-printing of our mirage-typ=
es errors. This failure comes from the mirage autogen code:<br>
<br>
```<br>
(* Generated by Mirage (Wed, 9 Jul 2014 08:27:05 GMT). *)<br>
=E2=80=A6<br>
<br>
module Fat2 =3D Fat.Fs.Make(Block)(Io_page)<br>
<br>
let fat2 () =3D<br>
=C2=A0 block1 () &gt;&gt;=3D function<br>
=C2=A0 | `Error _ -&gt; fail (Failure &quot;fat2&quot;)<br>
=C2=A0 | `Ok dev =C2=A0-&gt; Fat2.connect dev<br>
```<br>
<br>
Perhaps we should add =E2=80=9Cwith sexp=E2=80=9D to all our mirage-types e=
rrors, and then mirage could autogen calls to the right printer?<br></block=
quote><div><br></div><div>I&#39;ve added this to the list on <a href=3D"htt=
ps://github.com/mirage/mirage/issues/203">https://github.com/mirage/mirage/=
issues/203</a></div>
<div><br></div><div>It&#39;s a shame the error types are defined in the mod=
ule signatures rather than in modules, because it means we can&#39;t add &#=
39;with sexp&#39; immediately without requiring the implementations to all =
say &#39;with sexp&#39; too.</div>
<div><br></div><div>Now is probably a good time to fork the V1 signatures a=
nd create the V2 versions and start applying the changes. Since we&#39;ve c=
unningly named our existing module types V1 and V1_LWT we should be able to=
 create V2 and V2_LWT in parallel.</div>
<div><br></div><div>Perhaps we should add version suffixes to the implement=
ation modules too (Fat_V1; Fat_V2) so we could install in parallel? For thi=
ngs like FAT and BLOCK it would be relatively easy to share most of the imp=
lementation code and support both interfaces via small shims.</div>
<div><br></div><div>Dave</div><div><br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-col=
or:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
The failure might be that the disk is too small (2048 bytes?) I never imple=
mented FAT12 so it=E2=80=99s good to go for larger disk sizes (16MiB+)<br>
<div class=3D""><br>
&gt;<br>
&gt;&gt; 2. To be able to use the FS inferface, I had to specialise it like=
 this:<br>
&gt;&gt;<br>
&gt;&gt; module type FS =3D V1_LWT.FS with<br>
&gt;&gt; type page_aligned_buffer =3D Cstruct.t and<br>
&gt;&gt; type block_device_error =3D Fat.Fs.block_error<br>
&gt;<br>
&gt; Ugh, the page_aligned_buffer remaining abstract in V1_LWT is definitel=
y<br>
&gt; a bug:<br>
&gt;<br>
&gt; (** FS *)<br>
&gt; module type FS =3D FS<br>
&gt; =C2=A0with type &#39;a io =3D &#39;a Lwt.t<br>
&gt;<br>
&gt; (all the other definitions override it). =C2=A0Could you file a bug ab=
out<br>
&gt; this? =C2=A0Best fixed in the 2.x branch.<br>
&gt;<br>
&gt;&gt; This means my unikernel only works with Fat. If I don&#39;t do thi=
s, I<br>
&gt;&gt; can&#39;t report or log error messages. I guess this is also why t=
he test<br>
&gt;&gt; above gave such a useless error. Are there any plans to make error=
<br>
&gt;&gt; handling easier?<br>
&gt;<br>
&gt; Dave, what are your thoughts on this? =C2=A0That is indeed a distinctl=
y<br>
&gt; abstract-looking block device error :-)<br>
<br>
</div>I still find the error handling a bit awkward, particularly when you =
have layered devices and have wrapped errors. I think pretty-printing will =
definitely help though!<br>
<br>
Cheers,<br>
Dave<br>
<div class=3D""><div class=3D"h5"><br>
&gt;<br>
&gt;&gt; 3. In my tags file, I use:<br>
&gt;&gt;<br>
&gt;&gt; not &lt;main.*&gt;: warn(A)<br>
&gt;&gt;<br>
&gt;&gt; Would be nice if the generated <a href=3D"http://main.ml" target=
=3D"_blank">main.ml</a> compiled without warnings (this<br>
&gt;&gt; might be related to the previous point, as it&#39;s the error deta=
ils that<br>
&gt;&gt; it is ignoring).<br>
&gt;<br>
&gt; Worth filing a bug for this too.<br>
&gt;<br>
&gt;&gt; 4. Can I get mirage to generate a Makefile that builds and runs my=
<br>
&gt;&gt; unit-tests? I guess I can&#39;t run the unit-tests when in --xen m=
ode,<br>
&gt;&gt; because some modules have conflicting names, but it would be nice =
in<br>
&gt;&gt; --unix mode at least.<br>
&gt;<br>
&gt; Need some more details on the nature of these unit tests, as I don&#39=
;t<br>
&gt; understand what you mean by &#39;conflicting names&#39;. =C2=A0Can eac=
h unit test<br>
&gt; be compiled as a separate unikernel (so it&#39;ll work on Xen) via som=
e<br>
&gt; <a href=3D"http://config.ml" target=3D"_blank">config.ml</a> code?<br>
&gt;<br>
&gt; -anil<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; MirageOS-devel mailing list<br>
&gt; <a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@=
lists.xenproject.org</a><br>
&gt; <a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirage=
os-devel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/lis=
tinfo/mirageos-devel</a><br>
<br>
<br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Dave Scott
</div></div>

--047d7bfd0b947bdb9104fdbfc7c3--


--===============6632867947961040683==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6632867947961040683==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 10:00:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 10:00:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4og4-000224-FV; Wed, 09 Jul 2014 10:00:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X4og3-00021z-15
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 10:00:39 +0000
Received: from [85.158.143.35:40251] by server-3.bemta-4.messagelabs.com id
	EB/0C-16194-6C21DB35; Wed, 09 Jul 2014 10:00:38 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1404900034!16785911!1
X-Originating-IP: [209.85.192.172]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15624 invoked from network); 9 Jul 2014 10:00:36 -0000
Received: from mail-pd0-f172.google.com (HELO mail-pd0-f172.google.com)
	(209.85.192.172)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 10:00:36 -0000
Received: by mail-pd0-f172.google.com with SMTP id w10so8811654pde.3
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 03:00:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=UcNhElUThHuJC7DlNBCybz0oaBSFwb82evrjtSvOq+M=;
	b=dkvajug0pF/eGahI8dtMkmw5i5LlAH15JqLqk5Tk17Q4Uwt44YASXbWPPjs1SUJxYm
	FG12TEH+zXJ4foodLLQ0oKGM+9WG32QIaOnaowGAlqlAfO72FwKZDz5LXOkC3sNUeuan
	/bGuD88MaffcIHwcqVLOwootja8Gzioj9FlfU/8J2zlkQBYW1yUoywV76byq1g7qfHWe
	m4hcokKPWl7YW5lR/oFQKfUSi1fNIGqzWWy7cN5iS+wW3rKjXC+XCJ5JeR6TCAthb/ll
	cyLUHQqMB8SBzIHyjfLfj1GVrdMmOPeVZGjg1b9srFNsIX+MtzBmA0CMcQat+LtfY2Iy
	a6FA==
MIME-Version: 1.0
X-Received: by 10.70.33.2 with SMTP id n2mr10186267pdi.37.1404900034204; Wed,
	09 Jul 2014 03:00:34 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Wed, 9 Jul 2014 03:00:34 -0700 (PDT)
In-Reply-To: <25D27A07-7C84-499A-9FEA-5959888693B2@citrix.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
	<25D27A07-7C84-499A-9FEA-5959888693B2@citrix.com>
Date: Wed, 9 Jul 2014 11:00:34 +0100
Message-ID: <CAG_esB14swBorc_Xjyqaijh=gfFeZO2BuXiKw2+z3A9+wEZiqw@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Dave Scott <Dave.Scott@citrix.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6632867947961040683=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6632867947961040683==
Content-Type: multipart/alternative; boundary=047d7bfd0b947bdb9104fdbfc7c3

--047d7bfd0b947bdb9104fdbfc7c3
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Wed, Jul 9, 2014 at 9:32 AM, Dave Scott <Dave.Scott@citrix.com> wrote:

>
> On 8 Jul 2014, at 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
>
> > On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
> >
> >> I'm writing a test Mirage service for queuing files. It's not using
> >> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
> >>
> >> Some problems I found:
> >>
> >> 1. Running as a --unix process, I initially got a download speed of
> >> 230 KB/s. Increasing the size of the chunks I was reading from the Fat
> >> filesystem (a disk.img file) from 512 bytes to 1MB, I was able to
> >> increase this to 3 MB/s. Both seem rather low. Apache on the same
> >> machine gets 615 MB/s!
> >
> > Yep, this is expected, since we explicitly don't have a buffer cache
> > in the way and so everything you're doing is hitting the disk (and
> > going through a not-very-optimized FAT implementation into the bargain)=
.
> >
> > The plan here is to define a buffer cache that's a functor over FS,
> > and then apply it in config.ml (perhaps through a helper library
> function).
>
> A functor over FS or over BLOCK should work.
>
>
> >> I tried reproducing it with mirage-skeleton/static_website, but it
> >> didn't want to know:
> >>
> >> $ git clone https://github.com/mirage/mirage-skeleton.git
> >> $ cd mirage-skeleton/static_website
> >> $ FS=3Dfat NET=3Dsocket mirage configure --unix
> >>
> >> [ note: my actual test file is not all zeros, but for this email... ]
> >>
> >> $ dd if=3D/dev/zero of=3Dhtdocs/data bs=3D1024 count=3D2
> >> $ ./make-fat1-image.sh
> >> $ make
> >> $ ./mir-www
> >> Manager: connect
> >> Manager: configuring
> >> Manager: socket config currently ignored (TODO)
> >> Fatal error: exception Failure("fat2")
> >
> > That's not a helpful error... any ideas ThomasG/Dave?
>
> Unfortunately we don=E2=80=99t have pretty-printing of our mirage-types e=
rrors.
> This failure comes from the mirage autogen code:
>
> ```
> (* Generated by Mirage (Wed, 9 Jul 2014 08:27:05 GMT). *)
> =E2=80=A6
>
> module Fat2 =3D Fat.Fs.Make(Block)(Io_page)
>
> let fat2 () =3D
>   block1 () >>=3D function
>   | `Error _ -> fail (Failure "fat2")
>   | `Ok dev  -> Fat2.connect dev
> ```
>
> Perhaps we should add =E2=80=9Cwith sexp=E2=80=9D to all our mirage-types=
 errors, and then
> mirage could autogen calls to the right printer?
>

I've added this to the list on https://github.com/mirage/mirage/issues/203

It's a shame the error types are defined in the module signatures rather
than in modules, because it means we can't add 'with sexp' immediately
without requiring the implementations to all say 'with sexp' too.

Now is probably a good time to fork the V1 signatures and create the V2
versions and start applying the changes. Since we've cunningly named our
existing module types V1 and V1_LWT we should be able to create V2 and
V2_LWT in parallel.

Perhaps we should add version suffixes to the implementation modules too
(Fat_V1; Fat_V2) so we could install in parallel? For things like FAT and
BLOCK it would be relatively easy to share most of the implementation code
and support both interfaces via small shims.

Dave


> The failure might be that the disk is too small (2048 bytes?) I never
> implemented FAT12 so it=E2=80=99s good to go for larger disk sizes (16MiB=
+)
>
> >
> >> 2. To be able to use the FS inferface, I had to specialise it like thi=
s:
> >>
> >> module type FS =3D V1_LWT.FS with
> >> type page_aligned_buffer =3D Cstruct.t and
> >> type block_device_error =3D Fat.Fs.block_error
> >
> > Ugh, the page_aligned_buffer remaining abstract in V1_LWT is definitely
> > a bug:
> >
> > (** FS *)
> > module type FS =3D FS
> >  with type 'a io =3D 'a Lwt.t
> >
> > (all the other definitions override it).  Could you file a bug about
> > this?  Best fixed in the 2.x branch.
> >
> >> This means my unikernel only works with Fat. If I don't do this, I
> >> can't report or log error messages. I guess this is also why the test
> >> above gave such a useless error. Are there any plans to make error
> >> handling easier?
> >
> > Dave, what are your thoughts on this?  That is indeed a distinctly
> > abstract-looking block device error :-)
>
> I still find the error handling a bit awkward, particularly when you have
> layered devices and have wrapped errors. I think pretty-printing will
> definitely help though!
>
> Cheers,
> Dave
>
> >
> >> 3. In my tags file, I use:
> >>
> >> not <main.*>: warn(A)
> >>
> >> Would be nice if the generated main.ml compiled without warnings (this
> >> might be related to the previous point, as it's the error details that
> >> it is ignoring).
> >
> > Worth filing a bug for this too.
> >
> >> 4. Can I get mirage to generate a Makefile that builds and runs my
> >> unit-tests? I guess I can't run the unit-tests when in --xen mode,
> >> because some modules have conflicting names, but it would be nice in
> >> --unix mode at least.
> >
> > Need some more details on the nature of these unit tests, as I don't
> > understand what you mean by 'conflicting names'.  Can each unit test
> > be compiled as a separate unikernel (so it'll work on Xen) via some
> > config.ml code?
> >
> > -anil
> >
> > _______________________________________________
> > MirageOS-devel mailing list
> > MirageOS-devel@lists.xenproject.org
> > http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>



--=20
Dave Scott

--047d7bfd0b947bdb9104fdbfc7c3
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><br><div class=3D"gmail=
_quote">On Wed, Jul 9, 2014 at 9:32 AM, Dave Scott <span dir=3D"ltr">&lt;<a=
 href=3D"mailto:Dave.Scott@citrix.com" target=3D"_blank">Dave.Scott@citrix.=
com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div class=3D""><br>
On 8 Jul 2014, at 23:46, Anil Madhavapeddy &lt;<a href=3D"mailto:anil@recoi=
l.org">anil@recoil.org</a>&gt; wrote:<br>
<br>
&gt; On 7 Jul 2014, at 10:08, Thomas Leonard &lt;<a href=3D"mailto:talex5@g=
mail.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; I&#39;m writing a test Mirage service for queuing files. It&#39;s =
not using<br>
&gt;&gt; ThomasG&#39;s merge-queues - I&#39;m just trying the low-level FS =
stuff first.<br>
&gt;&gt;<br>
&gt;&gt; Some problems I found:<br>
&gt;&gt;<br>
&gt;&gt; 1. Running as a --unix process, I initially got a download speed o=
f<br>
&gt;&gt; 230 KB/s. Increasing the size of the chunks I was reading from the=
 Fat<br>
&gt;&gt; filesystem (a disk.img file) from 512 bytes to 1MB, I was able to<=
br>
&gt;&gt; increase this to 3 MB/s. Both seem rather low. Apache on the same<=
br>
&gt;&gt; machine gets 615 MB/s!<br>
&gt;<br>
&gt; Yep, this is expected, since we explicitly don&#39;t have a buffer cac=
he<br>
&gt; in the way and so everything you&#39;re doing is hitting the disk (and=
<br>
&gt; going through a not-very-optimized FAT implementation into the bargain=
).<br>
&gt;<br>
&gt; The plan here is to define a buffer cache that&#39;s a functor over FS=
,<br>
&gt; and then apply it in <a href=3D"http://config.ml" target=3D"_blank">co=
nfig.ml</a> (perhaps through a helper library function).<br>
<br>
</div>A functor over FS or over BLOCK should work.<br>
<div class=3D""><br>
<br>
&gt;&gt; I tried reproducing it with mirage-skeleton/static_website, but it=
<br>
&gt;&gt; didn&#39;t want to know:<br>
&gt;&gt;<br>
&gt;&gt; $ git clone <a href=3D"https://github.com/mirage/mirage-skeleton.g=
it" target=3D"_blank">https://github.com/mirage/mirage-skeleton.git</a><br>
&gt;&gt; $ cd mirage-skeleton/static_website<br>
&gt;&gt; $ FS=3Dfat NET=3Dsocket mirage configure --unix<br>
&gt;&gt;<br>
&gt;&gt; [ note: my actual test file is not all zeros, but for this email..=
. ]<br>
&gt;&gt;<br>
&gt;&gt; $ dd if=3D/dev/zero of=3Dhtdocs/data bs=3D1024 count=3D2<br>
&gt;&gt; $ ./make-fat1-image.sh<br>
&gt;&gt; $ make<br>
&gt;&gt; $ ./mir-www<br>
&gt;&gt; Manager: connect<br>
&gt;&gt; Manager: configuring<br>
&gt;&gt; Manager: socket config currently ignored (TODO)<br>
&gt;&gt; Fatal error: exception Failure(&quot;fat2&quot;)<br>
&gt;<br>
&gt; That&#39;s not a helpful error... any ideas ThomasG/Dave?<br>
<br>
</div>Unfortunately we don=E2=80=99t have pretty-printing of our mirage-typ=
es errors. This failure comes from the mirage autogen code:<br>
<br>
```<br>
(* Generated by Mirage (Wed, 9 Jul 2014 08:27:05 GMT). *)<br>
=E2=80=A6<br>
<br>
module Fat2 =3D Fat.Fs.Make(Block)(Io_page)<br>
<br>
let fat2 () =3D<br>
=C2=A0 block1 () &gt;&gt;=3D function<br>
=C2=A0 | `Error _ -&gt; fail (Failure &quot;fat2&quot;)<br>
=C2=A0 | `Ok dev =C2=A0-&gt; Fat2.connect dev<br>
```<br>
<br>
Perhaps we should add =E2=80=9Cwith sexp=E2=80=9D to all our mirage-types e=
rrors, and then mirage could autogen calls to the right printer?<br></block=
quote><div><br></div><div>I&#39;ve added this to the list on <a href=3D"htt=
ps://github.com/mirage/mirage/issues/203">https://github.com/mirage/mirage/=
issues/203</a></div>
<div><br></div><div>It&#39;s a shame the error types are defined in the mod=
ule signatures rather than in modules, because it means we can&#39;t add &#=
39;with sexp&#39; immediately without requiring the implementations to all =
say &#39;with sexp&#39; too.</div>
<div><br></div><div>Now is probably a good time to fork the V1 signatures a=
nd create the V2 versions and start applying the changes. Since we&#39;ve c=
unningly named our existing module types V1 and V1_LWT we should be able to=
 create V2 and V2_LWT in parallel.</div>
<div><br></div><div>Perhaps we should add version suffixes to the implement=
ation modules too (Fat_V1; Fat_V2) so we could install in parallel? For thi=
ngs like FAT and BLOCK it would be relatively easy to share most of the imp=
lementation code and support both interfaces via small shims.</div>
<div><br></div><div>Dave</div><div><br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-col=
or:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
The failure might be that the disk is too small (2048 bytes?) I never imple=
mented FAT12 so it=E2=80=99s good to go for larger disk sizes (16MiB+)<br>
<div class=3D""><br>
&gt;<br>
&gt;&gt; 2. To be able to use the FS inferface, I had to specialise it like=
 this:<br>
&gt;&gt;<br>
&gt;&gt; module type FS =3D V1_LWT.FS with<br>
&gt;&gt; type page_aligned_buffer =3D Cstruct.t and<br>
&gt;&gt; type block_device_error =3D Fat.Fs.block_error<br>
&gt;<br>
&gt; Ugh, the page_aligned_buffer remaining abstract in V1_LWT is definitel=
y<br>
&gt; a bug:<br>
&gt;<br>
&gt; (** FS *)<br>
&gt; module type FS =3D FS<br>
&gt; =C2=A0with type &#39;a io =3D &#39;a Lwt.t<br>
&gt;<br>
&gt; (all the other definitions override it). =C2=A0Could you file a bug ab=
out<br>
&gt; this? =C2=A0Best fixed in the 2.x branch.<br>
&gt;<br>
&gt;&gt; This means my unikernel only works with Fat. If I don&#39;t do thi=
s, I<br>
&gt;&gt; can&#39;t report or log error messages. I guess this is also why t=
he test<br>
&gt;&gt; above gave such a useless error. Are there any plans to make error=
<br>
&gt;&gt; handling easier?<br>
&gt;<br>
&gt; Dave, what are your thoughts on this? =C2=A0That is indeed a distinctl=
y<br>
&gt; abstract-looking block device error :-)<br>
<br>
</div>I still find the error handling a bit awkward, particularly when you =
have layered devices and have wrapped errors. I think pretty-printing will =
definitely help though!<br>
<br>
Cheers,<br>
Dave<br>
<div class=3D""><div class=3D"h5"><br>
&gt;<br>
&gt;&gt; 3. In my tags file, I use:<br>
&gt;&gt;<br>
&gt;&gt; not &lt;main.*&gt;: warn(A)<br>
&gt;&gt;<br>
&gt;&gt; Would be nice if the generated <a href=3D"http://main.ml" target=
=3D"_blank">main.ml</a> compiled without warnings (this<br>
&gt;&gt; might be related to the previous point, as it&#39;s the error deta=
ils that<br>
&gt;&gt; it is ignoring).<br>
&gt;<br>
&gt; Worth filing a bug for this too.<br>
&gt;<br>
&gt;&gt; 4. Can I get mirage to generate a Makefile that builds and runs my=
<br>
&gt;&gt; unit-tests? I guess I can&#39;t run the unit-tests when in --xen m=
ode,<br>
&gt;&gt; because some modules have conflicting names, but it would be nice =
in<br>
&gt;&gt; --unix mode at least.<br>
&gt;<br>
&gt; Need some more details on the nature of these unit tests, as I don&#39=
;t<br>
&gt; understand what you mean by &#39;conflicting names&#39;. =C2=A0Can eac=
h unit test<br>
&gt; be compiled as a separate unikernel (so it&#39;ll work on Xen) via som=
e<br>
&gt; <a href=3D"http://config.ml" target=3D"_blank">config.ml</a> code?<br>
&gt;<br>
&gt; -anil<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; MirageOS-devel mailing list<br>
&gt; <a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@=
lists.xenproject.org</a><br>
&gt; <a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirage=
os-devel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/lis=
tinfo/mirageos-devel</a><br>
<br>
<br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Dave Scott
</div></div>

--047d7bfd0b947bdb9104fdbfc7c3--


--===============6632867947961040683==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6632867947961040683==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 10:35:14 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 10:35:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4pDU-00030w-Uc; Wed, 09 Jul 2014 10:35:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X4pDT-00030e-1N
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 10:35:11 +0000
Received: from [85.158.143.35:17175] by server-2.bemta-4.messagelabs.com id
	D2/80-18579-EDA1DB35; Wed, 09 Jul 2014 10:35:10 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1404902109!16471974!1
X-Originating-IP: [209.85.212.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14618 invoked from network); 9 Jul 2014 10:35:09 -0000
Received: from mail-wi0-f181.google.com (HELO mail-wi0-f181.google.com)
	(209.85.212.181)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 10:35:09 -0000
Received: by mail-wi0-f181.google.com with SMTP id n3so2479969wiv.14
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 03:35:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=cqhJstBFcMkeoWtdA1LrmHLl+/dVUqK75f1Ddy+Er7k=;
	b=JMOiyD6tgYeQAGTXLL/6xRGglAXJhPtcFrB5g9Hz3M7evnopesa+fYP7u1BurGa6DE
	erahD4qBtVPzQdy/7ziJLYluc6hWpAvR+n3Ss7TEU4mnMewk2nuLYw0xyv9snARqLxBz
	Tt/DkMo1xobikL3fSO4evAmLwbIGMiFggsgiQlh/QOxBsmUBuYgaKKsY6zOTY5D6rc6r
	PlTKO8QQhUjfH/LHNYgYU3iB8KHzh29y5XQwVhVJp16F7ByDvnvVTvN4NN32W9KOqY9Q
	10/4WgtbV9+0DzxjISvoH/9a0qNPgkrwmfjf27PjtwPK6IxIaocOorLG+pGCffuqwucZ
	NWZA==
X-Received: by 10.194.110.161 with SMTP id ib1mr2346731wjb.129.1404902109057; 
	Wed, 09 Jul 2014 03:35:09 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id o9sm17799978wib.22.2014.07.09.03.35.07
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Wed, 09 Jul 2014 03:35:08 -0700 (PDT)
Message-ID: <53BD1AD8.9040802@xen.org>
Date: Wed, 09 Jul 2014 11:35:04 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Anil Madhavapeddy <anil@recoil.org>
References: <53B28517.9020807@xen.org>
	<75D6B875-6AF4-4176-B530-447D47B2A18A@recoil.org>
In-Reply-To: <75D6B875-6AF4-4176-B530-447D47B2A18A@recoil.org>
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Artem Mygaiev <artem.mygaiev@globallogic.com>,
	Alex Agizim <alex.agizim@globallogic.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Anil,
thank you for the feedback. I will need to let Artem and Alex answer 
your questions. I merely copied and pasted these from a document
Regards
Lars

On 01/07/2014 14:56, Anil Madhavapeddy wrote:
> On 1 Jul 2014, at 12:53, Lars Kurth <lars.kurth@xen.org> wrote:
>> Hi all,
>>
>> the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal) is now open for community review. Please provide feedback by replying to this thread or using the Comment feature (see http://wiki.xenproject.org/wiki/Template:Comment) using "{{comment|~~~~}} My comment" on the relevant section of the wiki page.
> Looks great! A few comments:
>
> - "pv_fb driver provide audio driver back- " => audio should be "framebuffer"
>
> - Several of the drivers overlap with existing front/back drivers (for example, the pv_usb one).  Is there a plan to merge these, or at least document the differences between QNX and the Linux/BSD versions of the relevant ring protocols?
>
> - Not sure why the pv_gpu drivers has a "lnx-alsa-be/" entry in the drivers. Might be a c&p error.
>
> cheers,
> ANil
>
>> I extended the deadline by a few days, to account for the 4th of July holidays/vacation in the USA
>>
>> Best Regards
>> Lars
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>>


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 10:35:14 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 10:35:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4pDU-00030w-Uc; Wed, 09 Jul 2014 10:35:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X4pDT-00030e-1N
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 10:35:11 +0000
Received: from [85.158.143.35:17175] by server-2.bemta-4.messagelabs.com id
	D2/80-18579-EDA1DB35; Wed, 09 Jul 2014 10:35:10 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1404902109!16471974!1
X-Originating-IP: [209.85.212.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14618 invoked from network); 9 Jul 2014 10:35:09 -0000
Received: from mail-wi0-f181.google.com (HELO mail-wi0-f181.google.com)
	(209.85.212.181)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 10:35:09 -0000
Received: by mail-wi0-f181.google.com with SMTP id n3so2479969wiv.14
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 03:35:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=cqhJstBFcMkeoWtdA1LrmHLl+/dVUqK75f1Ddy+Er7k=;
	b=JMOiyD6tgYeQAGTXLL/6xRGglAXJhPtcFrB5g9Hz3M7evnopesa+fYP7u1BurGa6DE
	erahD4qBtVPzQdy/7ziJLYluc6hWpAvR+n3Ss7TEU4mnMewk2nuLYw0xyv9snARqLxBz
	Tt/DkMo1xobikL3fSO4evAmLwbIGMiFggsgiQlh/QOxBsmUBuYgaKKsY6zOTY5D6rc6r
	PlTKO8QQhUjfH/LHNYgYU3iB8KHzh29y5XQwVhVJp16F7ByDvnvVTvN4NN32W9KOqY9Q
	10/4WgtbV9+0DzxjISvoH/9a0qNPgkrwmfjf27PjtwPK6IxIaocOorLG+pGCffuqwucZ
	NWZA==
X-Received: by 10.194.110.161 with SMTP id ib1mr2346731wjb.129.1404902109057; 
	Wed, 09 Jul 2014 03:35:09 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id o9sm17799978wib.22.2014.07.09.03.35.07
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Wed, 09 Jul 2014 03:35:08 -0700 (PDT)
Message-ID: <53BD1AD8.9040802@xen.org>
Date: Wed, 09 Jul 2014 11:35:04 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Anil Madhavapeddy <anil@recoil.org>
References: <53B28517.9020807@xen.org>
	<75D6B875-6AF4-4176-B530-447D47B2A18A@recoil.org>
In-Reply-To: <75D6B875-6AF4-4176-B530-447D47B2A18A@recoil.org>
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Artem Mygaiev <artem.mygaiev@globallogic.com>,
	Alex Agizim <alex.agizim@globallogic.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Anil,
thank you for the feedback. I will need to let Artem and Alex answer 
your questions. I merely copied and pasted these from a document
Regards
Lars

On 01/07/2014 14:56, Anil Madhavapeddy wrote:
> On 1 Jul 2014, at 12:53, Lars Kurth <lars.kurth@xen.org> wrote:
>> Hi all,
>>
>> the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal) is now open for community review. Please provide feedback by replying to this thread or using the Comment feature (see http://wiki.xenproject.org/wiki/Template:Comment) using "{{comment|~~~~}} My comment" on the relevant section of the wiki page.
> Looks great! A few comments:
>
> - "pv_fb driver provide audio driver back- " => audio should be "framebuffer"
>
> - Several of the drivers overlap with existing front/back drivers (for example, the pv_usb one).  Is there a plan to merge these, or at least document the differences between QNX and the Linux/BSD versions of the relevant ring protocols?
>
> - Not sure why the pv_gpu drivers has a "lnx-alsa-be/" entry in the drivers. Might be a c&p error.
>
> cheers,
> ANil
>
>> I extended the deadline by a few days, to account for the 4th of July holidays/vacation in the USA
>>
>> Best Regards
>> Lars
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>>


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 10:42:36 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 10:42:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4pKd-0003ML-2m; Wed, 09 Jul 2014 10:42:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X4pKb-0003MG-UN
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 10:42:34 +0000
Received: from [193.109.254.147:10393] by server-15.bemta-14.messagelabs.com
	id 43/1C-11012-99C1DB35; Wed, 09 Jul 2014 10:42:33 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1404902550!16354481!1
X-Originating-IP: [209.85.220.51]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2354 invoked from network); 9 Jul 2014 10:42:32 -0000
Received: from mail-pa0-f51.google.com (HELO mail-pa0-f51.google.com)
	(209.85.220.51)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 10:42:32 -0000
Received: by mail-pa0-f51.google.com with SMTP id hz1so9041375pad.38
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 03:42:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=GJDP5vyL0gqUeHFfoYtV6TPVYfKB7EiIX3dlBo7iFwI=;
	b=U2toJrxfrbnNxXABEmq44ZVmZOXVesbwcOeIikNL818UP80KNrgEiwbv7QpNAgjtg8
	+KLuSVGo91EyWeTl57GgPlP861z143li8Kkqq4jHGIeVmoDG5Gpy8j/UEowai8q3ysvG
	4LThs5ETTfbXFW4MjuSknFgphTclBBGlA/+9GNf0EVlzD1OeBA7lo8p+nnb9x5M6Se08
	CGbnGlZbe/l+yqI+KhTznlVwwkK2epklvTvh6gQ/d0JH30rMXRsSaGcrSB4ofcq6gwG7
	Ki9hEPoWgqFVS8RPrIGE9aiFuom3fLx51Ou28x6mSJh6nWRY0NCloUdkDxto66i2lpWU
	8qeA==
MIME-Version: 1.0
X-Received: by 10.68.229.68 with SMTP id so4mr14988339pbc.110.1404902550441;
	Wed, 09 Jul 2014 03:42:30 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Wed, 9 Jul 2014 03:42:30 -0700 (PDT)
Date: Wed, 9 Jul 2014 11:42:30 +0100
Message-ID: <CAG_esB2QQQKNWYmmddRwHL=7oGgOtoQEC_Or1QSs_uMe6-HbGA@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] V2 interface updates
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3222064091322931734=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============3222064091322931734==
Content-Type: multipart/alternative; boundary=047d7b162fd57695da04fdc05de1

--047d7b162fd57695da04fdc05de1
Content-Type: text/plain; charset=UTF-8

Hi all,

Since we want to release soon it's time we made some of the backwards
incompatible interface changes. This will affect you!

Here's a rough outline of a plan:

1. I'll update and tag mirage/opam-repository so we have a set of known
working V1 things. If we need to jump back in time to that for any reason
(say to test something or build a quick app) we can use that during the
transitionary period.

2. I'll fork mirage/types/V1.mli to mirage/types/V2.mli. If you want to
propose a new interface, add it to V2.mli. V1 will be considered deprecated
and will be removed later.

We can work on each V2 improvement item in parallel:

https://github.com/mirage/mirage/issues/203

If you intend to work on an item, edit the issue and add your name. Add a
link to the resulting pull requests -- this will help people understand
exactly what repos they'll need to 'opam pin' to make a working system. For
example, I plan to work on making the CONSOLE signature satisfy FLOW. When
I make these changes you'll need to 'opam pin' mirage/mirage and
mirage/mirage-console-{unix,xen} together.

3. When we've made enough changes we can make a simultaneous release of the
affected components, add the releases in opam *and* add the version
constraints on the previous releases all at once.

We'll probably need to do a few rounds of this before we're happy with the
changes.

Does this sound like a reasonable plan? I'll not start pushing changes
until later today, so shout if there's a problem of if there's a better way
:-)

Also: if you know of other potentially beneficial interface changes, now is
the time to send an email to the list so we can think about them and
discuss.

Cheers,
-- 
Dave Scott

--047d7b162fd57695da04fdc05de1
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<div><br></div><div>Since we want to release soon i=
t&#39;s time we made some of the backwards incompatible interface changes. =
This will affect you!</div><div><br></div><div>Here&#39;s a rough outline o=
f a plan:</div>
<div><br></div><div>1. I&#39;ll update and tag mirage/opam-repository so we=
 have a set of known working V1 things. If we need to jump back in time to =
that for any reason (say to test something or build a quick app) we can use=
 that during the transitionary period.</div>
<div><br></div><div>2. I&#39;ll fork mirage/types/V1.mli to mirage/types/V2=
.mli. If you want to propose a new interface, add it to V2.mli. V1 will be =
considered deprecated and will be removed later.</div><div><br></div><div>
We can work on each V2 improvement item in parallel:</div><div><br></div><d=
iv><a href=3D"https://github.com/mirage/mirage/issues/203">https://github.c=
om/mirage/mirage/issues/203</a></div><div><br></div><div>If you intend to w=
ork on an item, edit the issue and add your name. Add a link to the resulti=
ng pull requests -- this will help people understand exactly what repos the=
y&#39;ll need to &#39;opam pin&#39; to make a working system. For example, =
I plan to work on making the CONSOLE signature satisfy FLOW. When I make th=
ese changes you&#39;ll need to &#39;opam pin&#39; mirage/mirage and mirage/=
mirage-console-{unix,xen} together.</div>
<div><br></div><div>3. When we&#39;ve made enough changes we can make a sim=
ultaneous release of the affected components, add the releases in opam *and=
* add the version constraints on the previous releases all at once.</div>
<div><div><br></div><div>We&#39;ll probably need to do a few rounds of this=
 before we&#39;re happy with the changes.</div><div><br></div><div>Does thi=
s sound like a reasonable plan? I&#39;ll not start pushing changes until la=
ter today, so shout if there&#39;s a problem of if there&#39;s a better way=
 :-)</div>
<div><br></div><div>Also: if you know of other potentially beneficial inter=
face changes, now is the time to send an email to the list so we can think =
about them and discuss.</div><div><br></div><div>Cheers,</div>-- <br>Dave S=
cott
</div></div>

--047d7b162fd57695da04fdc05de1--


--===============3222064091322931734==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============3222064091322931734==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 10:42:36 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 10:42:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4pKd-0003ML-2m; Wed, 09 Jul 2014 10:42:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X4pKb-0003MG-UN
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 10:42:34 +0000
Received: from [193.109.254.147:10393] by server-15.bemta-14.messagelabs.com
	id 43/1C-11012-99C1DB35; Wed, 09 Jul 2014 10:42:33 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1404902550!16354481!1
X-Originating-IP: [209.85.220.51]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2354 invoked from network); 9 Jul 2014 10:42:32 -0000
Received: from mail-pa0-f51.google.com (HELO mail-pa0-f51.google.com)
	(209.85.220.51)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 10:42:32 -0000
Received: by mail-pa0-f51.google.com with SMTP id hz1so9041375pad.38
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 03:42:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=GJDP5vyL0gqUeHFfoYtV6TPVYfKB7EiIX3dlBo7iFwI=;
	b=U2toJrxfrbnNxXABEmq44ZVmZOXVesbwcOeIikNL818UP80KNrgEiwbv7QpNAgjtg8
	+KLuSVGo91EyWeTl57GgPlP861z143li8Kkqq4jHGIeVmoDG5Gpy8j/UEowai8q3ysvG
	4LThs5ETTfbXFW4MjuSknFgphTclBBGlA/+9GNf0EVlzD1OeBA7lo8p+nnb9x5M6Se08
	CGbnGlZbe/l+yqI+KhTznlVwwkK2epklvTvh6gQ/d0JH30rMXRsSaGcrSB4ofcq6gwG7
	Ki9hEPoWgqFVS8RPrIGE9aiFuom3fLx51Ou28x6mSJh6nWRY0NCloUdkDxto66i2lpWU
	8qeA==
MIME-Version: 1.0
X-Received: by 10.68.229.68 with SMTP id so4mr14988339pbc.110.1404902550441;
	Wed, 09 Jul 2014 03:42:30 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Wed, 9 Jul 2014 03:42:30 -0700 (PDT)
Date: Wed, 9 Jul 2014 11:42:30 +0100
Message-ID: <CAG_esB2QQQKNWYmmddRwHL=7oGgOtoQEC_Or1QSs_uMe6-HbGA@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] V2 interface updates
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3222064091322931734=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============3222064091322931734==
Content-Type: multipart/alternative; boundary=047d7b162fd57695da04fdc05de1

--047d7b162fd57695da04fdc05de1
Content-Type: text/plain; charset=UTF-8

Hi all,

Since we want to release soon it's time we made some of the backwards
incompatible interface changes. This will affect you!

Here's a rough outline of a plan:

1. I'll update and tag mirage/opam-repository so we have a set of known
working V1 things. If we need to jump back in time to that for any reason
(say to test something or build a quick app) we can use that during the
transitionary period.

2. I'll fork mirage/types/V1.mli to mirage/types/V2.mli. If you want to
propose a new interface, add it to V2.mli. V1 will be considered deprecated
and will be removed later.

We can work on each V2 improvement item in parallel:

https://github.com/mirage/mirage/issues/203

If you intend to work on an item, edit the issue and add your name. Add a
link to the resulting pull requests -- this will help people understand
exactly what repos they'll need to 'opam pin' to make a working system. For
example, I plan to work on making the CONSOLE signature satisfy FLOW. When
I make these changes you'll need to 'opam pin' mirage/mirage and
mirage/mirage-console-{unix,xen} together.

3. When we've made enough changes we can make a simultaneous release of the
affected components, add the releases in opam *and* add the version
constraints on the previous releases all at once.

We'll probably need to do a few rounds of this before we're happy with the
changes.

Does this sound like a reasonable plan? I'll not start pushing changes
until later today, so shout if there's a problem of if there's a better way
:-)

Also: if you know of other potentially beneficial interface changes, now is
the time to send an email to the list so we can think about them and
discuss.

Cheers,
-- 
Dave Scott

--047d7b162fd57695da04fdc05de1
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<div><br></div><div>Since we want to release soon i=
t&#39;s time we made some of the backwards incompatible interface changes. =
This will affect you!</div><div><br></div><div>Here&#39;s a rough outline o=
f a plan:</div>
<div><br></div><div>1. I&#39;ll update and tag mirage/opam-repository so we=
 have a set of known working V1 things. If we need to jump back in time to =
that for any reason (say to test something or build a quick app) we can use=
 that during the transitionary period.</div>
<div><br></div><div>2. I&#39;ll fork mirage/types/V1.mli to mirage/types/V2=
.mli. If you want to propose a new interface, add it to V2.mli. V1 will be =
considered deprecated and will be removed later.</div><div><br></div><div>
We can work on each V2 improvement item in parallel:</div><div><br></div><d=
iv><a href=3D"https://github.com/mirage/mirage/issues/203">https://github.c=
om/mirage/mirage/issues/203</a></div><div><br></div><div>If you intend to w=
ork on an item, edit the issue and add your name. Add a link to the resulti=
ng pull requests -- this will help people understand exactly what repos the=
y&#39;ll need to &#39;opam pin&#39; to make a working system. For example, =
I plan to work on making the CONSOLE signature satisfy FLOW. When I make th=
ese changes you&#39;ll need to &#39;opam pin&#39; mirage/mirage and mirage/=
mirage-console-{unix,xen} together.</div>
<div><br></div><div>3. When we&#39;ve made enough changes we can make a sim=
ultaneous release of the affected components, add the releases in opam *and=
* add the version constraints on the previous releases all at once.</div>
<div><div><br></div><div>We&#39;ll probably need to do a few rounds of this=
 before we&#39;re happy with the changes.</div><div><br></div><div>Does thi=
s sound like a reasonable plan? I&#39;ll not start pushing changes until la=
ter today, so shout if there&#39;s a problem of if there&#39;s a better way=
 :-)</div>
<div><br></div><div>Also: if you know of other potentially beneficial inter=
face changes, now is the time to send an email to the list so we can think =
about them and discuss.</div><div><br></div><div>Cheers,</div>-- <br>Dave S=
cott
</div></div>

--047d7b162fd57695da04fdc05de1--


--===============3222064091322931734==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============3222064091322931734==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 10:42:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 10:42:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4pKy-0003Na-63; Wed, 09 Jul 2014 10:42:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1X4pKx-0003NT-I4
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 10:42:55 +0000
Received: from [193.109.254.147:18273] by server-3.bemta-14.messagelabs.com id
	64/0E-13460-EAC1DB35; Wed, 09 Jul 2014 10:42:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1404902573!16360031!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25521 invoked from network); 9 Jul 2014 10:42:54 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 10:42:54 -0000
X-IronPort-AV: E=Sophos;i="5.01,630,1400025600"; d="scan'208";a="151184332"
Received: from accessns.citrite.net (HELO FTLPEX01CL01.citrite.net)
	([10.9.154.239])
	by FTLPIPO02.CITRIX.COM with ESMTP; 09 Jul 2014 10:42:52 +0000
Received: from kazak.uk.xensource.com (10.80.2.80) by FTLPEX01CL01.citrite.net
	(10.13.107.78) with Microsoft SMTP Server id 14.3.181.6;
	Wed, 9 Jul 2014 06:42:52 -0400
Message-ID: <1404902570.16789.3.camel@kazak.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: <lars.kurth@xen.org>
Date: Wed, 9 Jul 2014 11:42:50 +0100
In-Reply-To: <53B28517.9020807@xen.org>
References: <53B28517.9020807@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.12.2-1 
MIME-Version: 1.0
X-Originating-IP: [10.80.2.80]
X-DLP: MIA2
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Artem Mygaiev <artem.mygaiev@globallogic.com>,
	Alex Agizim <alex.agizim@globallogic.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On Tue, 2014-07-01 at 10:53 +0100, Lars Kurth wrote:
> Hi all,
> 
> the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see 
> http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal) 
> is now open for community review. Please provide feedback by replying to 
> this thread

I think you should avoid the word "staging" entirely in this document.

A staging tree in Xen terminology is something completely different to
how you use it here: it's the tree where the committers push things which
serves as the input to our automated test. How about "development" tree?
Or just avoid them altogether by using the individual developer's own
trees and the lists.

WRT xen-devel being busy and the subproject's own lists, it might be
wise to have upstream exposure from early on, which would imply ccing
xen-devel/lkml etc in addition to the subproject list. Otherwise you get
into the issue where the subproject has accepted something (perhaps into
a "staging" tree) but when it gets sent upstream it requires major
reworking (and the developer is long gone, etc etc). Whether that needs
to be part of the charter though I don't know.

More minor thoughts:

"it is likely and desirable that the project may be useful for other"
        
        I'm not sure if this sentence has the end missing or if you
        intended other to be "others".

"Part of the reason for this is that some of the hardware to test is
also not yet available to open source communities."

        This is not (and should not be) a barrier to sending patches to
        the right place. We have reviewed and accepted plenty of patches
        for which we have no access to the h/w.

"To build these drivers, the QNX GNU libc variant is used (licensed
under GPL)."

        Not LGPL? QNX using GPL for it's libc seems like an odd choice
        for them, since it requires anything linking against it to be
        GPL compatible. I suspect this a typo.
        
"Must have OSI approved licenses that are required to link with and
usage the drivers within the native OS."

        I can't parse this sentence. I think s/usage/use might be what
        was meant but I'm not sure.

"upstreamns"

        Typo

WRT graduation -- can we include a requirement that any "staging" trees
have been retired (e.g. merged upstream or otherwise obsolete).

Ian.


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 10:42:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 10:42:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4pKy-0003Na-63; Wed, 09 Jul 2014 10:42:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1X4pKx-0003NT-I4
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 10:42:55 +0000
Received: from [193.109.254.147:18273] by server-3.bemta-14.messagelabs.com id
	64/0E-13460-EAC1DB35; Wed, 09 Jul 2014 10:42:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1404902573!16360031!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25521 invoked from network); 9 Jul 2014 10:42:54 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 10:42:54 -0000
X-IronPort-AV: E=Sophos;i="5.01,630,1400025600"; d="scan'208";a="151184332"
Received: from accessns.citrite.net (HELO FTLPEX01CL01.citrite.net)
	([10.9.154.239])
	by FTLPIPO02.CITRIX.COM with ESMTP; 09 Jul 2014 10:42:52 +0000
Received: from kazak.uk.xensource.com (10.80.2.80) by FTLPEX01CL01.citrite.net
	(10.13.107.78) with Microsoft SMTP Server id 14.3.181.6;
	Wed, 9 Jul 2014 06:42:52 -0400
Message-ID: <1404902570.16789.3.camel@kazak.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: <lars.kurth@xen.org>
Date: Wed, 9 Jul 2014 11:42:50 +0100
In-Reply-To: <53B28517.9020807@xen.org>
References: <53B28517.9020807@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.12.2-1 
MIME-Version: 1.0
X-Originating-IP: [10.80.2.80]
X-DLP: MIA2
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Artem Mygaiev <artem.mygaiev@globallogic.com>,
	Alex Agizim <alex.agizim@globallogic.com>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On Tue, 2014-07-01 at 10:53 +0100, Lars Kurth wrote:
> Hi all,
> 
> the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see 
> http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal) 
> is now open for community review. Please provide feedback by replying to 
> this thread

I think you should avoid the word "staging" entirely in this document.

A staging tree in Xen terminology is something completely different to
how you use it here: it's the tree where the committers push things which
serves as the input to our automated test. How about "development" tree?
Or just avoid them altogether by using the individual developer's own
trees and the lists.

WRT xen-devel being busy and the subproject's own lists, it might be
wise to have upstream exposure from early on, which would imply ccing
xen-devel/lkml etc in addition to the subproject list. Otherwise you get
into the issue where the subproject has accepted something (perhaps into
a "staging" tree) but when it gets sent upstream it requires major
reworking (and the developer is long gone, etc etc). Whether that needs
to be part of the charter though I don't know.

More minor thoughts:

"it is likely and desirable that the project may be useful for other"
        
        I'm not sure if this sentence has the end missing or if you
        intended other to be "others".

"Part of the reason for this is that some of the hardware to test is
also not yet available to open source communities."

        This is not (and should not be) a barrier to sending patches to
        the right place. We have reviewed and accepted plenty of patches
        for which we have no access to the h/w.

"To build these drivers, the QNX GNU libc variant is used (licensed
under GPL)."

        Not LGPL? QNX using GPL for it's libc seems like an odd choice
        for them, since it requires anything linking against it to be
        GPL compatible. I suspect this a typo.
        
"Must have OSI approved licenses that are required to link with and
usage the drivers within the native OS."

        I can't parse this sentence. I think s/usage/use might be what
        was meant but I'm not sure.

"upstreamns"

        Typo

WRT graduation -- can we include a requirement that any "staging" trees
have been retired (e.g. merged upstream or otherwise obsolete).

Ian.


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 11:28:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 11:28:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4q34-0004Zd-RG; Wed, 09 Jul 2014 11:28:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X4q33-0004Yd-E7
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 11:28:29 +0000
Received: from [85.158.139.211:42289] by server-12.bemta-5.messagelabs.com id
	D3/BC-27841-C572DB35; Wed, 09 Jul 2014 11:28:28 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1404905305!14494363!1
X-Originating-IP: [74.125.82.46]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_40_50,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11824 invoked from network); 9 Jul 2014 11:28:25 -0000
Received: from mail-wg0-f46.google.com (HELO mail-wg0-f46.google.com)
	(74.125.82.46)
	by server-8.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 11:28:25 -0000
Received: by mail-wg0-f46.google.com with SMTP id m15so1939755wgh.5
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 04:28:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type;
	bh=CfwbrO7QZ/LyanoguzONsY35npUBFO05s/qFPwP2M5M=;
	b=muzoqpWLZ9XVjxI6piw0/CeajfL+T/iLjfifqzOoBvnatuk+//BrPLoa9Ad4o0oLg4
	kHiXwU7liPGiGjt//qInNhOEInCf9rWGIfzHmloB0VOqGT+gpwx5ZposuakHtRsY5q/Q
	UfItx2XSr8dICs0ugCygEvIlThBU4+Gf4D/QkET+Zq877QabdOQhx0a2LhlNcHwHzA2h
	dxruHOmtT6aHs0mO7LsC2cMIrlpqz3LCRgvDcjqfEzJnYLgFh+rRvdneaiumZ4SXJ9OC
	bZad8p6wee+UrQCV0bnhL7X9kXJTF6zI9KtZ4sNR85T1ETv1DGhJtF1Keg07k9xs7g9B
	Zi7w==
X-Received: by 10.180.210.165 with SMTP id mv5mr10824733wic.70.1404905305207; 
	Wed, 09 Jul 2014 04:28:25 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id
	i12sm102770733wjr.32.2014.07.09.04.28.23 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Wed, 09 Jul 2014 04:28:24 -0700 (PDT)
Message-ID: <53BD2756.2070602@xen.org>
Date: Wed, 09 Jul 2014 12:28:22 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <53B28517.9020807@xen.org>
	<1404902570.16789.3.camel@kazak.uk.xensource.com>
In-Reply-To: <1404902570.16789.3.camel@kazak.uk.xensource.com>
Cc: Artem Mygaiev <artem.mygaiev@globallogic.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Alex Agizim <alex.agizim@globallogic.com>,
	Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6637943948796247754=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a multi-part message in MIME format.
--===============6637943948796247754==
Content-Type: multipart/alternative;
 boundary="------------050007070204090703070908"

This is a multi-part message in MIME format.
--------------050007070204090703070908
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 09/07/2014 11:42, Ian Campbell wrote:
> On Tue, 2014-07-01 at 10:53 +0100, Lars Kurth wrote:
>> Hi all,
>>
>> the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see
>> http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal)
>> is now open for community review. Please provide feedback by replying to
>> this thread
> I think you should avoid the word "staging" entirely in this document.
>
> A staging tree in Xen terminology is something completely different to
> how you use it here: it's the tree where the committers push things which
> serves as the input to our automated test. How about "development" tree?
> Or just avoid them altogether by using the individual developer's own
> trees and the lists.
Either approach works for me.
I replaced "staging" with "development" for now and made it optional. We 
can leave a final decision open. It shouldn't block the proposal

Andrii requested a personal repo, which has not been created yet, but 
Ian Jackson is doing this as we speak

>
> WRT xen-devel being busy and the subproject's own lists, it might be
> wise to have upstream exposure from early on, which would imply ccing
> xen-devel/lkml etc in addition to the subproject list. Otherwise you get
> into the issue where the subproject has accepted something (perhaps into
> a "staging" tree) but when it gets sent upstream it requires major
> reworking (and the developer is long gone, etc etc). Whether that needs
> to be part of the charter though I don't know.
Agreed. CCing other relevant lists (aka xen-devel/lkml) is common 
practice and we should just continue doing this. I can stated this in 
the proposal.

>
> More minor thoughts:
>
> "it is likely and desirable that the project may be useful for other"
>          
>          I'm not sure if this sentence has the end missing or if you
>          intended other to be "others".
Should read "other use-cases". (fixed)
>
> "Part of the reason for this is that some of the hardware to test is
> also not yet available to open source communities."
>
>          This is not (and should not be) a barrier to sending patches to
>          the right place. We have reviewed and accepted plenty of patches
>          for which we have no access to the h/w.
You are correct. I deleted this sentence as it doesn't add anything
>
> "To build these drivers, the QNX GNU libc variant is used (licensed
> under GPL)."
>
>          Not LGPL? QNX using GPL for it's libc seems like an odd choice
>          for them, since it requires anything linking against it to be
>          GPL compatible. I suspect this a typo.
Corrected
>          
> "Must have OSI approved licenses that are required to link with and
> usage the drivers within the native OS."
>
>          I can't parse this sentence. I think s/usage/use might be what
>          was meant but I'm not sure.
Fixed. Meant "use"
>
> "upstreamns"
>
>          Typo
Fixed
>
> WRT graduation -- can we include a requirement that any "staging" trees
> have been retired (e.g. merged upstream or otherwise obsolete).
Done
>
> Ian.
>


--------------050007070204090703070908
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 09/07/2014 11:42, Ian Campbell
      wrote:<br>
    </div>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">
On Tue, 2014-07-01 at 10:53 +0100, Lars Kurth wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Hi all,

the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see 
<a class="moz-txt-link-freetext" href="http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal">http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal</a>) 
is now open for community review. Please provide feedback by replying to 
this thread
</pre>
      </blockquote>
      <pre wrap="">
I think you should avoid the word "staging" entirely in this document.

A staging tree in Xen terminology is something completely different to
how you use it here: it's the tree where the committers push things which
serves as the input to our automated test. How about "development" tree?
Or just avoid them altogether by using the individual developer's own
trees and the lists.</pre>
    </blockquote>
    Either approach works for me. <br>
    I replaced "staging" with "development" for now and made it
    optional. We can leave a final decision open. It shouldn't block the
    proposal<br>
    <br>
    Andrii requested a personal repo, which has not been created yet,
    but Ian Jackson is doing this as we speak<br>
    <br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

WRT xen-devel being busy and the subproject's own lists, it might be
wise to have upstream exposure from early on, which would imply ccing
xen-devel/lkml etc in addition to the subproject list. Otherwise you get
into the issue where the subproject has accepted something (perhaps into
a "staging" tree) but when it gets sent upstream it requires major
reworking (and the developer is long gone, etc etc). Whether that needs
to be part of the charter though I don't know.</pre>
    </blockquote>
    Agreed. CCing other relevant lists (aka xen-devel/lkml) is common
    practice and we should just continue doing this. I can stated this
    in the proposal.<br>
    <br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

More minor thoughts:

"it is likely and desirable that the project may be useful for other"
        
        I'm not sure if this sentence has the end missing or if you
        intended other to be "others".</pre>
    </blockquote>
    Should read "<span style="color: rgb(0, 0, 0); font-family: Arial,
      sans-serif; font-size: 15.454545021057129px; font-style: normal;
      font-variant: normal; font-weight: normal; letter-spacing: normal;
      line-height: 22.85999870300293px; orphans: auto; text-align:
      start; text-indent: 0px; text-transform: none; white-space:
      normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; display: inline !important; float:
      none; background-color: rgb(255, 255, 255);">other use-cases".
      (fixed)<br>
    </span>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

"Part of the reason for this is that some of the hardware to test is
also not yet available to open source communities."

        This is not (and should not be) a barrier to sending patches to
        the right place. We have reviewed and accepted plenty of patches
        for which we have no access to the h/w.</pre>
    </blockquote>
    You are correct. I deleted this sentence as it doesn't add anything
    <br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

"To build these drivers, the QNX GNU libc variant is used (licensed
under GPL)."

        Not LGPL? QNX using GPL for it's libc seems like an odd choice
        for them, since it requires anything linking against it to be
        GPL compatible. I suspect this a typo.</pre>
    </blockquote>
    Corrected<br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">
        
"Must have OSI approved licenses that are required to link with and
usage the drivers within the native OS."

        I can't parse this sentence. I think s/usage/use might be what
        was meant but I'm not sure.</pre>
    </blockquote>
    Fixed. Meant "use"<br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

"upstreamns"

        Typo</pre>
    </blockquote>
    Fixed<br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

WRT graduation -- can we include a requirement that any "staging" trees
have been retired (e.g. merged upstream or otherwise obsolete).</pre>
    </blockquote>
    Done<br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

Ian.

</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------050007070204090703070908--


--===============6637943948796247754==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6637943948796247754==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 11:28:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 11:28:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4q34-0004Zd-RG; Wed, 09 Jul 2014 11:28:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X4q33-0004Yd-E7
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 11:28:29 +0000
Received: from [85.158.139.211:42289] by server-12.bemta-5.messagelabs.com id
	D3/BC-27841-C572DB35; Wed, 09 Jul 2014 11:28:28 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1404905305!14494363!1
X-Originating-IP: [74.125.82.46]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_40_50,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11824 invoked from network); 9 Jul 2014 11:28:25 -0000
Received: from mail-wg0-f46.google.com (HELO mail-wg0-f46.google.com)
	(74.125.82.46)
	by server-8.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 11:28:25 -0000
Received: by mail-wg0-f46.google.com with SMTP id m15so1939755wgh.5
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 04:28:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type;
	bh=CfwbrO7QZ/LyanoguzONsY35npUBFO05s/qFPwP2M5M=;
	b=muzoqpWLZ9XVjxI6piw0/CeajfL+T/iLjfifqzOoBvnatuk+//BrPLoa9Ad4o0oLg4
	kHiXwU7liPGiGjt//qInNhOEInCf9rWGIfzHmloB0VOqGT+gpwx5ZposuakHtRsY5q/Q
	UfItx2XSr8dICs0ugCygEvIlThBU4+Gf4D/QkET+Zq877QabdOQhx0a2LhlNcHwHzA2h
	dxruHOmtT6aHs0mO7LsC2cMIrlpqz3LCRgvDcjqfEzJnYLgFh+rRvdneaiumZ4SXJ9OC
	bZad8p6wee+UrQCV0bnhL7X9kXJTF6zI9KtZ4sNR85T1ETv1DGhJtF1Keg07k9xs7g9B
	Zi7w==
X-Received: by 10.180.210.165 with SMTP id mv5mr10824733wic.70.1404905305207; 
	Wed, 09 Jul 2014 04:28:25 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id
	i12sm102770733wjr.32.2014.07.09.04.28.23 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Wed, 09 Jul 2014 04:28:24 -0700 (PDT)
Message-ID: <53BD2756.2070602@xen.org>
Date: Wed, 09 Jul 2014 12:28:22 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <53B28517.9020807@xen.org>
	<1404902570.16789.3.camel@kazak.uk.xensource.com>
In-Reply-To: <1404902570.16789.3.camel@kazak.uk.xensource.com>
Cc: Artem Mygaiev <artem.mygaiev@globallogic.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Alex Agizim <alex.agizim@globallogic.com>,
	Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6637943948796247754=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a multi-part message in MIME format.
--===============6637943948796247754==
Content-Type: multipart/alternative;
 boundary="------------050007070204090703070908"

This is a multi-part message in MIME format.
--------------050007070204090703070908
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 09/07/2014 11:42, Ian Campbell wrote:
> On Tue, 2014-07-01 at 10:53 +0100, Lars Kurth wrote:
>> Hi all,
>>
>> the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see
>> http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal)
>> is now open for community review. Please provide feedback by replying to
>> this thread
> I think you should avoid the word "staging" entirely in this document.
>
> A staging tree in Xen terminology is something completely different to
> how you use it here: it's the tree where the committers push things which
> serves as the input to our automated test. How about "development" tree?
> Or just avoid them altogether by using the individual developer's own
> trees and the lists.
Either approach works for me.
I replaced "staging" with "development" for now and made it optional. We 
can leave a final decision open. It shouldn't block the proposal

Andrii requested a personal repo, which has not been created yet, but 
Ian Jackson is doing this as we speak

>
> WRT xen-devel being busy and the subproject's own lists, it might be
> wise to have upstream exposure from early on, which would imply ccing
> xen-devel/lkml etc in addition to the subproject list. Otherwise you get
> into the issue where the subproject has accepted something (perhaps into
> a "staging" tree) but when it gets sent upstream it requires major
> reworking (and the developer is long gone, etc etc). Whether that needs
> to be part of the charter though I don't know.
Agreed. CCing other relevant lists (aka xen-devel/lkml) is common 
practice and we should just continue doing this. I can stated this in 
the proposal.

>
> More minor thoughts:
>
> "it is likely and desirable that the project may be useful for other"
>          
>          I'm not sure if this sentence has the end missing or if you
>          intended other to be "others".
Should read "other use-cases". (fixed)
>
> "Part of the reason for this is that some of the hardware to test is
> also not yet available to open source communities."
>
>          This is not (and should not be) a barrier to sending patches to
>          the right place. We have reviewed and accepted plenty of patches
>          for which we have no access to the h/w.
You are correct. I deleted this sentence as it doesn't add anything
>
> "To build these drivers, the QNX GNU libc variant is used (licensed
> under GPL)."
>
>          Not LGPL? QNX using GPL for it's libc seems like an odd choice
>          for them, since it requires anything linking against it to be
>          GPL compatible. I suspect this a typo.
Corrected
>          
> "Must have OSI approved licenses that are required to link with and
> usage the drivers within the native OS."
>
>          I can't parse this sentence. I think s/usage/use might be what
>          was meant but I'm not sure.
Fixed. Meant "use"
>
> "upstreamns"
>
>          Typo
Fixed
>
> WRT graduation -- can we include a requirement that any "staging" trees
> have been retired (e.g. merged upstream or otherwise obsolete).
Done
>
> Ian.
>


--------------050007070204090703070908
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 09/07/2014 11:42, Ian Campbell
      wrote:<br>
    </div>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">
On Tue, 2014-07-01 at 10:53 +0100, Lars Kurth wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Hi all,

the "Embedded and Automotive PV Drivers Sub-Project Proposal" (see 
<a class="moz-txt-link-freetext" href="http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal">http://wiki.xenproject.org/wiki/Embedded_and_Automotive_PV_Drivers_Project_Proposal</a>) 
is now open for community review. Please provide feedback by replying to 
this thread
</pre>
      </blockquote>
      <pre wrap="">
I think you should avoid the word "staging" entirely in this document.

A staging tree in Xen terminology is something completely different to
how you use it here: it's the tree where the committers push things which
serves as the input to our automated test. How about "development" tree?
Or just avoid them altogether by using the individual developer's own
trees and the lists.</pre>
    </blockquote>
    Either approach works for me. <br>
    I replaced "staging" with "development" for now and made it
    optional. We can leave a final decision open. It shouldn't block the
    proposal<br>
    <br>
    Andrii requested a personal repo, which has not been created yet,
    but Ian Jackson is doing this as we speak<br>
    <br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

WRT xen-devel being busy and the subproject's own lists, it might be
wise to have upstream exposure from early on, which would imply ccing
xen-devel/lkml etc in addition to the subproject list. Otherwise you get
into the issue where the subproject has accepted something (perhaps into
a "staging" tree) but when it gets sent upstream it requires major
reworking (and the developer is long gone, etc etc). Whether that needs
to be part of the charter though I don't know.</pre>
    </blockquote>
    Agreed. CCing other relevant lists (aka xen-devel/lkml) is common
    practice and we should just continue doing this. I can stated this
    in the proposal.<br>
    <br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

More minor thoughts:

"it is likely and desirable that the project may be useful for other"
        
        I'm not sure if this sentence has the end missing or if you
        intended other to be "others".</pre>
    </blockquote>
    Should read "<span style="color: rgb(0, 0, 0); font-family: Arial,
      sans-serif; font-size: 15.454545021057129px; font-style: normal;
      font-variant: normal; font-weight: normal; letter-spacing: normal;
      line-height: 22.85999870300293px; orphans: auto; text-align:
      start; text-indent: 0px; text-transform: none; white-space:
      normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; display: inline !important; float:
      none; background-color: rgb(255, 255, 255);">other use-cases".
      (fixed)<br>
    </span>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

"Part of the reason for this is that some of the hardware to test is
also not yet available to open source communities."

        This is not (and should not be) a barrier to sending patches to
        the right place. We have reviewed and accepted plenty of patches
        for which we have no access to the h/w.</pre>
    </blockquote>
    You are correct. I deleted this sentence as it doesn't add anything
    <br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

"To build these drivers, the QNX GNU libc variant is used (licensed
under GPL)."

        Not LGPL? QNX using GPL for it's libc seems like an odd choice
        for them, since it requires anything linking against it to be
        GPL compatible. I suspect this a typo.</pre>
    </blockquote>
    Corrected<br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">
        
"Must have OSI approved licenses that are required to link with and
usage the drivers within the native OS."

        I can't parse this sentence. I think s/usage/use might be what
        was meant but I'm not sure.</pre>
    </blockquote>
    Fixed. Meant "use"<br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

"upstreamns"

        Typo</pre>
    </blockquote>
    Fixed<br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

WRT graduation -- can we include a requirement that any "staging" trees
have been retired (e.g. merged upstream or otherwise obsolete).</pre>
    </blockquote>
    Done<br>
    <blockquote
      cite="mid:1404902570.16789.3.camel@kazak.uk.xensource.com"
      type="cite">
      <pre wrap="">

Ian.

</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------050007070204090703070908--


--===============6637943948796247754==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6637943948796247754==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 11:46:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 11:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4qKt-0005IE-6v; Wed, 09 Jul 2014 11:46:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1X4qKs-0005Hx-DI
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 11:46:54 +0000
Received: from [85.158.137.68:26057] by server-16.bemta-3.messagelabs.com id
	3D/5E-28986-DAB2DB35; Wed, 09 Jul 2014 11:46:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1404906411!14937987!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8884 invoked from network); 9 Jul 2014 11:46:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 11:46:52 -0000
X-IronPort-AV: E=Sophos;i="5.01,630,1400025600"; d="scan'208";a="150924619"
Received: from accessns.citrite.net (HELO FTLPEX01CL02.citrite.net)
	([10.9.154.239])
	by FTLPIPO01.CITRIX.COM with ESMTP; 09 Jul 2014 11:46:51 +0000
Received: from kazak.uk.xensource.com (10.80.2.80) by FTLPEX01CL02.citrite.net
	(10.13.107.79) with Microsoft SMTP Server id 14.3.181.6;
	Wed, 9 Jul 2014 07:46:49 -0400
Message-ID: <1404906408.16789.14.camel@kazak.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: <lars.kurth@xen.org>
Date: Wed, 9 Jul 2014 12:46:48 +0100
In-Reply-To: <53BD2756.2070602@xen.org>
References: <53B28517.9020807@xen.org>
	<1404902570.16789.3.camel@kazak.uk.xensource.com>
	<53BD2756.2070602@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.12.2-1 
MIME-Version: 1.0
X-Originating-IP: [10.80.2.80]
X-DLP: MIA2
Cc: Artem Mygaiev <artem.mygaiev@globallogic.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Alex Agizim <alex.agizim@globallogic.com>,
	Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On Wed, 2014-07-09 at 12:28 +0100, Lars Kurth wrote:

> > 
> > "To build these drivers, the QNX GNU libc variant is used (licensed
> > under GPL)."
> > 
> >         Not LGPL? QNX using GPL for it's libc seems like an odd choice
> >         for them, since it requires anything linking against it to be
> >         GPL compatible. I suspect this a typo.
> Corrected

Just to be clear; I've no idea what license the QNX libc is under, it
could be GPL for all I know, I was just querying it because it surprised
me.

(Just want to be sure you didn't assume I know it was LGPL or something)

Ian.


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 11:46:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 11:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4qKt-0005IE-6v; Wed, 09 Jul 2014 11:46:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1X4qKs-0005Hx-DI
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 11:46:54 +0000
Received: from [85.158.137.68:26057] by server-16.bemta-3.messagelabs.com id
	3D/5E-28986-DAB2DB35; Wed, 09 Jul 2014 11:46:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1404906411!14937987!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8884 invoked from network); 9 Jul 2014 11:46:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 11:46:52 -0000
X-IronPort-AV: E=Sophos;i="5.01,630,1400025600"; d="scan'208";a="150924619"
Received: from accessns.citrite.net (HELO FTLPEX01CL02.citrite.net)
	([10.9.154.239])
	by FTLPIPO01.CITRIX.COM with ESMTP; 09 Jul 2014 11:46:51 +0000
Received: from kazak.uk.xensource.com (10.80.2.80) by FTLPEX01CL02.citrite.net
	(10.13.107.79) with Microsoft SMTP Server id 14.3.181.6;
	Wed, 9 Jul 2014 07:46:49 -0400
Message-ID: <1404906408.16789.14.camel@kazak.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: <lars.kurth@xen.org>
Date: Wed, 9 Jul 2014 12:46:48 +0100
In-Reply-To: <53BD2756.2070602@xen.org>
References: <53B28517.9020807@xen.org>
	<1404902570.16789.3.camel@kazak.uk.xensource.com>
	<53BD2756.2070602@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.12.2-1 
MIME-Version: 1.0
X-Originating-IP: [10.80.2.80]
X-DLP: MIA2
Cc: Artem Mygaiev <artem.mygaiev@globallogic.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Alex Agizim <alex.agizim@globallogic.com>,
	Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On Wed, 2014-07-09 at 12:28 +0100, Lars Kurth wrote:

> > 
> > "To build these drivers, the QNX GNU libc variant is used (licensed
> > under GPL)."
> > 
> >         Not LGPL? QNX using GPL for it's libc seems like an odd choice
> >         for them, since it requires anything linking against it to be
> >         GPL compatible. I suspect this a typo.
> Corrected

Just to be clear; I've no idea what license the QNX libc is under, it
could be GPL for all I know, I was just querying it because it surprised
me.

(Just want to be sure you didn't assume I know it was LGPL or something)

Ian.


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 14:24:20 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 14:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4sn1-0007bS-P2; Wed, 09 Jul 2014 14:24:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4sn0-0007bF-FJ
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 14:24:06 +0000
Received: from [193.109.254.147:64194] by server-15.bemta-14.messagelabs.com
	id 86/18-11012-5805DB35; Wed, 09 Jul 2014 14:24:05 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-8.tower-27.messagelabs.com!1404915845!16441453!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2860 invoked from network); 9 Jul 2014 14:24:05 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-8.tower-27.messagelabs.com with SMTP;
	9 Jul 2014 14:24:05 -0000
Received: (qmail 32608 invoked by uid 634); 9 Jul 2014 14:24:04 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from no-dns-yet.demon.co.uk (HELO [192.168.14.150]) (62.49.66.12)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 09 Jul 2014 15:24:04 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53BD2451.2070207@nottingham.ac.uk>
Date: Wed, 9 Jul 2014 15:23:53 +0100
Message-Id: <5F36B3CC-7493-46D4-9A26-918EDE9DD77B@recoil.org>
References: <53BD2451.2070207@nottingham.ac.uk>
To: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] mirage-net-socket build problem
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi Masoud,

You shouldn't be using this library at all -- I suspect your packages are out of date for some reason.  Could you tell us what your OCaml version is (`ocamlc -version`), OPAM version is (`opam --version`) and what you're trying to install?

Note that `mirage-net` is now called `tcpip` in OPAM in the Mirage 1.1+, so this might just be a case of typing in `opam install tcpip` instead.

cheers,
Anil

On 9 Jul 2014, at 12:15, Masoud Koleini <masoud.koleini@nottingham.ac.uk> wrote:

> Hi Anil,
> 
> I tried to install mirage-net using Opam and also from source, but mirage-net-socket doesn't build properly. I receive the following error:
> 
> File "lib/flow.ml", line 35, characters 11-12:
> Parse error: [semi] expected after [str_item] (in [implem])
> Preprocessing error on file lib/flow.ml
> Error while running external preprocessor
> Command line: camlp4o -I /usr/lib/ocaml -I /usr/lib/ocaml -I /home/pc/.opam/system/lib/sexplib -I /home/pc/.opam/system/lib/ipaddr -I /usr/lib/ocaml -I /home/pc/.opam/system/lib/lwt -I /home/pc/.opam/system/lib/mirage-types -I /home/pc/.opam/system/lib/mirage-types -I /home/pc/.opam/system/lib/mirage -I /usr/lib/ocaml str.cma 'lib/flow.ml' > /tmp/ocamlppaa207d
> 
> Do you know how I can fix this issue?
> 
> Thanks,
> Masoud
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
> 
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
> 
> 
> 
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 14:24:20 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 14:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4sn1-0007bS-P2; Wed, 09 Jul 2014 14:24:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4sn0-0007bF-FJ
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 14:24:06 +0000
Received: from [193.109.254.147:64194] by server-15.bemta-14.messagelabs.com
	id 86/18-11012-5805DB35; Wed, 09 Jul 2014 14:24:05 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-8.tower-27.messagelabs.com!1404915845!16441453!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2860 invoked from network); 9 Jul 2014 14:24:05 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-8.tower-27.messagelabs.com with SMTP;
	9 Jul 2014 14:24:05 -0000
Received: (qmail 32608 invoked by uid 634); 9 Jul 2014 14:24:04 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from no-dns-yet.demon.co.uk (HELO [192.168.14.150]) (62.49.66.12)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 09 Jul 2014 15:24:04 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53BD2451.2070207@nottingham.ac.uk>
Date: Wed, 9 Jul 2014 15:23:53 +0100
Message-Id: <5F36B3CC-7493-46D4-9A26-918EDE9DD77B@recoil.org>
References: <53BD2451.2070207@nottingham.ac.uk>
To: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] mirage-net-socket build problem
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi Masoud,

You shouldn't be using this library at all -- I suspect your packages are out of date for some reason.  Could you tell us what your OCaml version is (`ocamlc -version`), OPAM version is (`opam --version`) and what you're trying to install?

Note that `mirage-net` is now called `tcpip` in OPAM in the Mirage 1.1+, so this might just be a case of typing in `opam install tcpip` instead.

cheers,
Anil

On 9 Jul 2014, at 12:15, Masoud Koleini <masoud.koleini@nottingham.ac.uk> wrote:

> Hi Anil,
> 
> I tried to install mirage-net using Opam and also from source, but mirage-net-socket doesn't build properly. I receive the following error:
> 
> File "lib/flow.ml", line 35, characters 11-12:
> Parse error: [semi] expected after [str_item] (in [implem])
> Preprocessing error on file lib/flow.ml
> Error while running external preprocessor
> Command line: camlp4o -I /usr/lib/ocaml -I /usr/lib/ocaml -I /home/pc/.opam/system/lib/sexplib -I /home/pc/.opam/system/lib/ipaddr -I /usr/lib/ocaml -I /home/pc/.opam/system/lib/lwt -I /home/pc/.opam/system/lib/mirage-types -I /home/pc/.opam/system/lib/mirage-types -I /home/pc/.opam/system/lib/mirage -I /usr/lib/ocaml str.cma 'lib/flow.ml' > /tmp/ocamlppaa207d
> 
> Do you know how I can fix this issue?
> 
> Thanks,
> Masoud
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
> 
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
> 
> 
> 
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 14:25:10 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 14:25:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4so2-0007gT-1y; Wed, 09 Jul 2014 14:25:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X4so1-0007gJ-9y
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 14:25:09 +0000
Received: from [85.158.139.211:26245] by server-1.bemta-5.messagelabs.com id
	AD/CF-30932-4C05DB35; Wed, 09 Jul 2014 14:25:08 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1404915906!10416765!1
X-Originating-IP: [209.85.219.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21799 invoked from network); 9 Jul 2014 14:25:07 -0000
Received: from mail-oa0-f50.google.com (HELO mail-oa0-f50.google.com)
	(209.85.219.50)
	by server-11.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 14:25:07 -0000
Received: by mail-oa0-f50.google.com with SMTP id g18so1119363oah.23
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 07:25:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=l2OrVnprEZi8rvlayiCi7JnjiP/EJhsk99y0Uj0ekeU=;
	b=JoXiCgUOYYnWPuJ1gtMsWkEy7HKeX/mWvLmGAZ8x5Vdi+knxxUsbkjfatiEsIHjetk
	ljlokfkvgLN5v8Dr6MGjZoZ4HtK6UVe8dpZZ8j6Hsm5kw90ODP1otVgJSQVAJaDYZylt
	COSirWBjQARgMRm89nRQouwu/gW/D5hs5crT8TEfKLBEQr8oqY8/Oe/cQyVn81CxNGFF
	A/bYEJzInjbztfHOS+83RHiFFeCMgOgVOUxiijfSOCh8Ne0RGduLiJWaQgBoMmXK1Jju
	x2RxWdAnHX+uJ2dcXdPxSFs1/d7dILW+uHd5OC4Z0QSAPsE/00Fguv/IJtkX+1vz2Iv4
	1NLw==
MIME-Version: 1.0
X-Received: by 10.60.133.203 with SMTP id pe11mr47535389oeb.24.1404915906064; 
	Wed, 09 Jul 2014 07:25:06 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 9 Jul 2014 07:25:05 -0700 (PDT)
In-Reply-To: <C7B464FE-19C4-4CA6-B224-9D6C2AB2BDEF@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
	<CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
	<FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
	<CAG4opy-yYo65EKqEiqjfkSn5MgquBthS-pNd0OnqO1YwKCCe3Q@mail.gmail.com>
	<C7B464FE-19C4-4CA6-B224-9D6C2AB2BDEF@recoil.org>
Date: Wed, 9 Jul 2014 15:25:05 +0100
Message-ID: <CAG4opy8ywdCC78uzL9zOSKbUTNVa=rJvr3-Z+UGEsBb_kbp_bw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 8 July 2014 10:34, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 6 Jul 2014, at 21:02, Thomas Leonard <talex5@gmail.com> wrote:
>>> On 6 July 2014 21:28, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> Darn, that conflicts with
>>> https://github.com/mirage/mirage-platform/pull/94
>>>
>>> I think that #94 is actually ready to merge (at the same time as
>>> xen-minios) into OPAM.  If I do that tomorrow and release it along
>>> with Mirage 1.2.0, we can play hunt-the-regression in the runup to
>>> the 2.0 release.  Anything outstanding on your plate before I do that?
>>>
>>> Only other thing that would be nice to have is having the checksum
>>> stubs compiled as an external library so that they can be moved to
>>> tcpip where they belong.
>>
>> Moving the checksums code to tcpip is easy enough:
>>
>> https://github.com/talex5/mirage-tcpip/commits/checksum
>>
>> But how do I get the list of C libraries to add to the linker command
>> when building on Xen? Looks like just using -output-obj doesn't do
>> this.
>
> Good question.  `ocamlobjinfo` may help:
>
> $ ocamlobjinfo ~/src/git/avsm/ocaml-nocrypto/_build/src/nocrypto.cma
> File /Users/avsm/src/git/avsm/ocaml-nocrypto/_build/src/nocrypto.cma
> Force custom: no
> Extra C object files: -lnocrypto_stubs
> Extra C options:
> Extra dynamically-loaded libraries: -lnocrypto_stubs
> Unit name: Algo_types
> ...
>
> Could write a custom compiler-libs command to extract just the C object
> files, but a sed extraction of the relevant lines should work for now.

I've added some code to mirage to do it:

  https://github.com/mirage/mirage/pull/265

The compiler-libs thing didn't work out, because it too defines a
module called Config.

With this, it's possible to get the checksum code from the tcpip
module after applying this patch:

  https://github.com/talex5/mirage-tcpip/commits/checksum

That works on x86. On ARM, you also need the latest libminios from
Git, because the current version accidentally zeroes out any ELF
sections it wasn't expecting, such as the .got section you get with
relocatable code (I had fun tracking that one down, as you can
imagine).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 14:25:10 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 14:25:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4so2-0007gT-1y; Wed, 09 Jul 2014 14:25:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X4so1-0007gJ-9y
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 14:25:09 +0000
Received: from [85.158.139.211:26245] by server-1.bemta-5.messagelabs.com id
	AD/CF-30932-4C05DB35; Wed, 09 Jul 2014 14:25:08 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1404915906!10416765!1
X-Originating-IP: [209.85.219.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21799 invoked from network); 9 Jul 2014 14:25:07 -0000
Received: from mail-oa0-f50.google.com (HELO mail-oa0-f50.google.com)
	(209.85.219.50)
	by server-11.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 14:25:07 -0000
Received: by mail-oa0-f50.google.com with SMTP id g18so1119363oah.23
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 07:25:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=l2OrVnprEZi8rvlayiCi7JnjiP/EJhsk99y0Uj0ekeU=;
	b=JoXiCgUOYYnWPuJ1gtMsWkEy7HKeX/mWvLmGAZ8x5Vdi+knxxUsbkjfatiEsIHjetk
	ljlokfkvgLN5v8Dr6MGjZoZ4HtK6UVe8dpZZ8j6Hsm5kw90ODP1otVgJSQVAJaDYZylt
	COSirWBjQARgMRm89nRQouwu/gW/D5hs5crT8TEfKLBEQr8oqY8/Oe/cQyVn81CxNGFF
	A/bYEJzInjbztfHOS+83RHiFFeCMgOgVOUxiijfSOCh8Ne0RGduLiJWaQgBoMmXK1Jju
	x2RxWdAnHX+uJ2dcXdPxSFs1/d7dILW+uHd5OC4Z0QSAPsE/00Fguv/IJtkX+1vz2Iv4
	1NLw==
MIME-Version: 1.0
X-Received: by 10.60.133.203 with SMTP id pe11mr47535389oeb.24.1404915906064; 
	Wed, 09 Jul 2014 07:25:06 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 9 Jul 2014 07:25:05 -0700 (PDT)
In-Reply-To: <C7B464FE-19C4-4CA6-B224-9D6C2AB2BDEF@recoil.org>
References: <CAG4opy9WcK0v=aQZ=vESS5jw1Zy24n2a-JuE_1wi83UxKCOKtg@mail.gmail.com>
	<B51FBDA3-70C4-4BB8-A210-26E108AB8790@recoil.org>
	<AD74CC1B-4811-4FB0-B1CD-C7543B06D377@recoil.org>
	<CAG4opy880EwRXaDmee5+ePKLDCwsgDq7WMvo6bLDM=TYs7G-Sg@mail.gmail.com>
	<3ED7184A-D3D7-41A3-A07E-3E6E188A4F07@recoil.org>
	<CAG4opy-CGSw=PEXS63j6wTN5_2Yqq-AOXhQY9bmKq0LJ9nn=mA@mail.gmail.com>
	<FB32BE04-71EF-4462-A70C-49799428A0D1@recoil.org>
	<CAG4opy-yYo65EKqEiqjfkSn5MgquBthS-pNd0OnqO1YwKCCe3Q@mail.gmail.com>
	<C7B464FE-19C4-4CA6-B224-9D6C2AB2BDEF@recoil.org>
Date: Wed, 9 Jul 2014 15:25:05 +0100
Message-ID: <CAG4opy8ywdCC78uzL9zOSKbUTNVa=rJvr3-Z+UGEsBb_kbp_bw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libminios/openlibm support ready for testing
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 8 July 2014 10:34, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 6 Jul 2014, at 21:02, Thomas Leonard <talex5@gmail.com> wrote:
>>> On 6 July 2014 21:28, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> Darn, that conflicts with
>>> https://github.com/mirage/mirage-platform/pull/94
>>>
>>> I think that #94 is actually ready to merge (at the same time as
>>> xen-minios) into OPAM.  If I do that tomorrow and release it along
>>> with Mirage 1.2.0, we can play hunt-the-regression in the runup to
>>> the 2.0 release.  Anything outstanding on your plate before I do that?
>>>
>>> Only other thing that would be nice to have is having the checksum
>>> stubs compiled as an external library so that they can be moved to
>>> tcpip where they belong.
>>
>> Moving the checksums code to tcpip is easy enough:
>>
>> https://github.com/talex5/mirage-tcpip/commits/checksum
>>
>> But how do I get the list of C libraries to add to the linker command
>> when building on Xen? Looks like just using -output-obj doesn't do
>> this.
>
> Good question.  `ocamlobjinfo` may help:
>
> $ ocamlobjinfo ~/src/git/avsm/ocaml-nocrypto/_build/src/nocrypto.cma
> File /Users/avsm/src/git/avsm/ocaml-nocrypto/_build/src/nocrypto.cma
> Force custom: no
> Extra C object files: -lnocrypto_stubs
> Extra C options:
> Extra dynamically-loaded libraries: -lnocrypto_stubs
> Unit name: Algo_types
> ...
>
> Could write a custom compiler-libs command to extract just the C object
> files, but a sed extraction of the relevant lines should work for now.

I've added some code to mirage to do it:

  https://github.com/mirage/mirage/pull/265

The compiler-libs thing didn't work out, because it too defines a
module called Config.

With this, it's possible to get the checksum code from the tcpip
module after applying this patch:

  https://github.com/talex5/mirage-tcpip/commits/checksum

That works on x86. On ARM, you also need the latest libminios from
Git, because the current version accidentally zeroes out any ELF
sections it wasn't expecting, such as the .got section you get with
relocatable code (I had fun tracking that one down, as you can
imagine).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 15:14:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 15:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4tZZ-0002Ad-No; Wed, 09 Jul 2014 15:14:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X4tZY-0002AJ-DC
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 15:14:16 +0000
Received: from [85.158.139.211:47826] by server-17.bemta-5.messagelabs.com id
	90/DF-08711-74C5DB35; Wed, 09 Jul 2014 15:14:15 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1404918855!9187728!1
X-Originating-IP: [74.125.82.41]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20482 invoked from network); 9 Jul 2014 15:14:15 -0000
Received: from mail-wg0-f41.google.com (HELO mail-wg0-f41.google.com)
	(74.125.82.41)
	by server-14.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 15:14:15 -0000
Received: by mail-wg0-f41.google.com with SMTP id k14so4969185wgh.24
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 08:14:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=3ey3LshR9w1GjjEJDmQb9uUhMk4xQCEKuW3AQhnQsAg=;
	b=WcwIZ4LijDDywlxNwksR3H91aKYXCoa+eUkxdDqp4FcGMDozdJLlZown80Kat8G3UU
	Eoq7Ou9Rhee4N7OiTbo8jYiCKbH6eqx5164xYQAIYzD1nUsVnecTygchaA414En5CCu4
	ao73XkofFphEhdgVr0776LovIYDidwioN1CNEvNHV+3MRBFwhULo9rvlMHnTNoArVb53
	uOuZUG+LjlnbQFVmdzlhqdkBkP42nWCA32960caKC3hYp7ptpVnnI1KZdAYwQonNE46s
	e5ek0TKDlpM8Pvzfw0J/7OhRAj8BAxdQ1fzJgF0QSOfvNeZsFryBTZhia7J8qTBWzhzx
	tT0g==
X-Received: by 10.194.158.101 with SMTP id wt5mr3969815wjb.136.1404918854916; 
	Wed, 09 Jul 2014 08:14:14 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id d4sm11782883wiy.13.2014.07.09.08.14.13
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Wed, 09 Jul 2014 08:14:14 -0700 (PDT)
Message-ID: <53BD5C45.807@xen.org>
Date: Wed, 09 Jul 2014 16:14:13 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, 
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] [Input Needed] GitDM Config files & privacy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi all,

I was in the process of publishing GitDM including config files in my 
personal xenbits repository, such that other community members can run 
contribution stats. However the config files contain email addresses and 
thus there may be a potential privacy issue. Config files contain
* e-mail domain to employer mappings
* some e-mail address to employer mappings
* email address aliases mappings
* email address to name mappings (for acknowledgements)

Most of the information in them are public in the first place (i.e. they 
are available from git logs and mailing lists).

I know that open source foundations such as OpenStack publish their 
GitDM config files and I also found some other ones flying around.

But before I publish anything I did want to check whether there are 
objections.

Regards
Lars

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 15:14:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 15:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4tZZ-0002Ad-No; Wed, 09 Jul 2014 15:14:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X4tZY-0002AJ-DC
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 15:14:16 +0000
Received: from [85.158.139.211:47826] by server-17.bemta-5.messagelabs.com id
	90/DF-08711-74C5DB35; Wed, 09 Jul 2014 15:14:15 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1404918855!9187728!1
X-Originating-IP: [74.125.82.41]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20482 invoked from network); 9 Jul 2014 15:14:15 -0000
Received: from mail-wg0-f41.google.com (HELO mail-wg0-f41.google.com)
	(74.125.82.41)
	by server-14.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 15:14:15 -0000
Received: by mail-wg0-f41.google.com with SMTP id k14so4969185wgh.24
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 08:14:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=3ey3LshR9w1GjjEJDmQb9uUhMk4xQCEKuW3AQhnQsAg=;
	b=WcwIZ4LijDDywlxNwksR3H91aKYXCoa+eUkxdDqp4FcGMDozdJLlZown80Kat8G3UU
	Eoq7Ou9Rhee4N7OiTbo8jYiCKbH6eqx5164xYQAIYzD1nUsVnecTygchaA414En5CCu4
	ao73XkofFphEhdgVr0776LovIYDidwioN1CNEvNHV+3MRBFwhULo9rvlMHnTNoArVb53
	uOuZUG+LjlnbQFVmdzlhqdkBkP42nWCA32960caKC3hYp7ptpVnnI1KZdAYwQonNE46s
	e5ek0TKDlpM8Pvzfw0J/7OhRAj8BAxdQ1fzJgF0QSOfvNeZsFryBTZhia7J8qTBWzhzx
	tT0g==
X-Received: by 10.194.158.101 with SMTP id wt5mr3969815wjb.136.1404918854916; 
	Wed, 09 Jul 2014 08:14:14 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id d4sm11782883wiy.13.2014.07.09.08.14.13
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Wed, 09 Jul 2014 08:14:14 -0700 (PDT)
Message-ID: <53BD5C45.807@xen.org>
Date: Wed, 09 Jul 2014 16:14:13 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, 
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] [Input Needed] GitDM Config files & privacy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi all,

I was in the process of publishing GitDM including config files in my 
personal xenbits repository, such that other community members can run 
contribution stats. However the config files contain email addresses and 
thus there may be a potential privacy issue. Config files contain
* e-mail domain to employer mappings
* some e-mail address to employer mappings
* email address aliases mappings
* email address to name mappings (for acknowledgements)

Most of the information in them are public in the first place (i.e. they 
are available from git logs and mailing lists).

I know that open source foundations such as OpenStack publish their 
GitDM config files and I also found some other ones flying around.

But before I publish anything I did want to check whether there are 
objections.

Regards
Lars

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 15:21:21 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 15:21:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4tgP-0002ls-75; Wed, 09 Jul 2014 15:21:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X4tgO-0002le-5Y
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 15:21:20 +0000
Received: from [193.109.254.147:63586] by server-4.bemta-14.messagelabs.com id
	A4/63-20586-FED5DB35; Wed, 09 Jul 2014 15:21:19 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1404919277!13104140!1
X-Originating-IP: [209.85.214.170]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24709 invoked from network); 9 Jul 2014 15:21:18 -0000
Received: from mail-ob0-f170.google.com (HELO mail-ob0-f170.google.com)
	(209.85.214.170)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 15:21:18 -0000
Received: by mail-ob0-f170.google.com with SMTP id uz6so8312425obc.29
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 08:21:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=gDJWgzn4J4/af0uQs0oif1j/t2f0YyLIvz7uucyHvrI=;
	b=cYqXB1xqNequPWrV7jAUw7ah19g5dBZ1YegxjdYcE1RfK62VLP+MV4X/frjPXYIr3u
	0xJAIYMFsx3otDOm+VjpJIz38/JKk4I0L6d68c9B+10GQdfLE019A8EEcl5Abq703/08
	2EgRWgCT/PA7P0kWUQBGfWMVF9nAZn76mfiXBsFN2Zxqxmwaa0dXf4F9Saga/aH5ezEA
	REolDVwN40+dKYnyywUDZsZrZT9rZFstGddU18OStwwHY/XevpzuQp/X2IDP7PN98rpP
	0IImusaHw3Uy6cZtt/avmi8SHQ/zmfkrCugnNivRFwRovH3TKrOwYBvFwC4zQSjBnj3V
	uVZg==
MIME-Version: 1.0
X-Received: by 10.182.200.169 with SMTP id jt9mr48680279obc.0.1404919277212;
	Wed, 09 Jul 2014 08:21:17 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 9 Jul 2014 08:21:17 -0700 (PDT)
In-Reply-To: <F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
Date: Wed, 9 Jul 2014 16:21:17 +0100
Message-ID: <CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 8 July 2014 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>
>> I'm writing a test Mirage service for queuing files. It's not using
>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>>
>> Some problems I found:
[...]
>> 4. Can I get mirage to generate a Makefile that builds and runs my
>> unit-tests? I guess I can't run the unit-tests when in --xen mode,
>> because some modules have conflicting names, but it would be nice in
>> --unix mode at least.
>
> Need some more details on the nature of these unit tests, as I don't
> understand what you mean by 'conflicting names'.  Can each unit test
> be compiled as a separate unikernel (so it'll work on Xen) via some
> config.ml code?

I hadn't thought of running the tests on Xen, though that does make sense.

I'd need some way for OUnit to run tests that return a unit Lwt.t.

Also, it appears that calling register more than once overwrites the
previous job, rather than configuring the project to build both (the
unikernel and the tests).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 15:21:21 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 15:21:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4tgP-0002ls-75; Wed, 09 Jul 2014 15:21:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X4tgO-0002le-5Y
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 15:21:20 +0000
Received: from [193.109.254.147:63586] by server-4.bemta-14.messagelabs.com id
	A4/63-20586-FED5DB35; Wed, 09 Jul 2014 15:21:19 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1404919277!13104140!1
X-Originating-IP: [209.85.214.170]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24709 invoked from network); 9 Jul 2014 15:21:18 -0000
Received: from mail-ob0-f170.google.com (HELO mail-ob0-f170.google.com)
	(209.85.214.170)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 15:21:18 -0000
Received: by mail-ob0-f170.google.com with SMTP id uz6so8312425obc.29
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 08:21:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=gDJWgzn4J4/af0uQs0oif1j/t2f0YyLIvz7uucyHvrI=;
	b=cYqXB1xqNequPWrV7jAUw7ah19g5dBZ1YegxjdYcE1RfK62VLP+MV4X/frjPXYIr3u
	0xJAIYMFsx3otDOm+VjpJIz38/JKk4I0L6d68c9B+10GQdfLE019A8EEcl5Abq703/08
	2EgRWgCT/PA7P0kWUQBGfWMVF9nAZn76mfiXBsFN2Zxqxmwaa0dXf4F9Saga/aH5ezEA
	REolDVwN40+dKYnyywUDZsZrZT9rZFstGddU18OStwwHY/XevpzuQp/X2IDP7PN98rpP
	0IImusaHw3Uy6cZtt/avmi8SHQ/zmfkrCugnNivRFwRovH3TKrOwYBvFwC4zQSjBnj3V
	uVZg==
MIME-Version: 1.0
X-Received: by 10.182.200.169 with SMTP id jt9mr48680279obc.0.1404919277212;
	Wed, 09 Jul 2014 08:21:17 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 9 Jul 2014 08:21:17 -0700 (PDT)
In-Reply-To: <F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
Date: Wed, 9 Jul 2014 16:21:17 +0100
Message-ID: <CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 8 July 2014 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>
>> I'm writing a test Mirage service for queuing files. It's not using
>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>>
>> Some problems I found:
[...]
>> 4. Can I get mirage to generate a Makefile that builds and runs my
>> unit-tests? I guess I can't run the unit-tests when in --xen mode,
>> because some modules have conflicting names, but it would be nice in
>> --unix mode at least.
>
> Need some more details on the nature of these unit tests, as I don't
> understand what you mean by 'conflicting names'.  Can each unit test
> be compiled as a separate unikernel (so it'll work on Xen) via some
> config.ml code?

I hadn't thought of running the tests on Xen, though that does make sense.

I'd need some way for OUnit to run tests that return a unit Lwt.t.

Also, it appears that calling register more than once overwrites the
previous job, rather than configuring the project to build both (the
unikernel and the tests).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 15:35:44 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 15:35:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4tuI-0003Ra-HW; Wed, 09 Jul 2014 15:35:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X4tuH-0003RV-NW
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 15:35:41 +0000
Received: from [85.158.143.35:33993] by server-3.bemta-4.messagelabs.com id
	99/94-16194-D416DB35; Wed, 09 Jul 2014 15:35:41 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1404920139!16873661!1
X-Originating-IP: [209.85.212.171]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26779 invoked from network); 9 Jul 2014 15:35:39 -0000
Received: from mail-wi0-f171.google.com (HELO mail-wi0-f171.google.com)
	(209.85.212.171)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 15:35:39 -0000
Received: by mail-wi0-f171.google.com with SMTP id f8so2501779wiw.10
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 08:35:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=/NfKkkJeB1Se8xSC7+FV2MqEqL/GLallky5SHKkSutc=;
	b=LZ4ohEGx99alGPRFJkwzmURlZ6q4dsXXJYJdyiJvFIbYLymUE/7/noXOhTujTEk2+y
	Znqv7TAAybP3o7TtLe5Xh8VtaWIjL3HSNBRdfIUiXOCLwzPghoGBe4EDFyFElR8MISyq
	nQkVaD+YtvdSg5oknMjmw30M6bg+pSo2EYuqvKEx0Km1juWdpIONaz8Ov73uk1zT/XDi
	YRix/S84YqwG0W//FvG1OUET4LKQl5Km3vgm/w5wS4MF1p+U3oCBR3RGfaa/EkGUjHa+
	Dm0mNoPVVVWzCLobW7GCfzq9v8F4Y+3sVGwVmk6F0iDmnlCmBQalcISN9Xk9tE3Qnvyu
	mvLg==
X-Received: by 10.194.87.134 with SMTP id ay6mr47380444wjb.84.1404920139112;
	Wed, 09 Jul 2014 08:35:39 -0700 (PDT)
Received: from piana.home (ARennes-654-1-47-31.w81-53.abo.wanadoo.fr.
	[81.53.174.31]) by mx.google.com with ESMTPSA id
	ed15sm20640903wic.9.2014.07.09.08.35.37 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Wed, 09 Jul 2014 08:35:38 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
Date: Wed, 9 Jul 2014 17:35:36 +0200
Message-Id: <F0742151-7055-4268-934F-6A8AF363B475@gazagnaire.org>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
	<CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

> Also, it appears that calling register more than once overwrites the
> previous job, rather than configuring the project to build both (the
> unikernel and the tests).

That's definitely a bug!



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 15:35:44 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 15:35:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4tuI-0003Ra-HW; Wed, 09 Jul 2014 15:35:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X4tuH-0003RV-NW
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 15:35:41 +0000
Received: from [85.158.143.35:33993] by server-3.bemta-4.messagelabs.com id
	99/94-16194-D416DB35; Wed, 09 Jul 2014 15:35:41 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1404920139!16873661!1
X-Originating-IP: [209.85.212.171]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26779 invoked from network); 9 Jul 2014 15:35:39 -0000
Received: from mail-wi0-f171.google.com (HELO mail-wi0-f171.google.com)
	(209.85.212.171)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 Jul 2014 15:35:39 -0000
Received: by mail-wi0-f171.google.com with SMTP id f8so2501779wiw.10
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 09 Jul 2014 08:35:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=/NfKkkJeB1Se8xSC7+FV2MqEqL/GLallky5SHKkSutc=;
	b=LZ4ohEGx99alGPRFJkwzmURlZ6q4dsXXJYJdyiJvFIbYLymUE/7/noXOhTujTEk2+y
	Znqv7TAAybP3o7TtLe5Xh8VtaWIjL3HSNBRdfIUiXOCLwzPghoGBe4EDFyFElR8MISyq
	nQkVaD+YtvdSg5oknMjmw30M6bg+pSo2EYuqvKEx0Km1juWdpIONaz8Ov73uk1zT/XDi
	YRix/S84YqwG0W//FvG1OUET4LKQl5Km3vgm/w5wS4MF1p+U3oCBR3RGfaa/EkGUjHa+
	Dm0mNoPVVVWzCLobW7GCfzq9v8F4Y+3sVGwVmk6F0iDmnlCmBQalcISN9Xk9tE3Qnvyu
	mvLg==
X-Received: by 10.194.87.134 with SMTP id ay6mr47380444wjb.84.1404920139112;
	Wed, 09 Jul 2014 08:35:39 -0700 (PDT)
Received: from piana.home (ARennes-654-1-47-31.w81-53.abo.wanadoo.fr.
	[81.53.174.31]) by mx.google.com with ESMTPSA id
	ed15sm20640903wic.9.2014.07.09.08.35.37 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Wed, 09 Jul 2014 08:35:38 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
Date: Wed, 9 Jul 2014 17:35:36 +0200
Message-Id: <F0742151-7055-4268-934F-6A8AF363B475@gazagnaire.org>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
	<CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

> Also, it appears that calling register more than once overwrites the
> previous job, rather than configuring the project to build both (the
> unikernel and the tests).

That's definitely a bug!



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 16:27:28 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 16:27:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4uiM-0006GE-Ja; Wed, 09 Jul 2014 16:27:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X4uiL-0006G0-Bz
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 16:27:25 +0000
Received: from [85.158.143.35:42845] by server-1.bemta-4.messagelabs.com id
	60/C8-09496-C6D6DB35; Wed, 09 Jul 2014 16:27:24 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1404923242!16878290!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_23,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12991 invoked from network); 9 Jul 2014 16:27:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-11.tower-21.messagelabs.com with SMTP;
	9 Jul 2014 16:27:22 -0000
X-IronPort-AV: E=Sophos;i="5.01,632,1400025600"; d="scan'208";a="22960064"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 09 Jul 2014 16:27:21 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL02.citrite.net ([169.254.7.117]) with mapi id 14.03.0181.006;
	Wed, 9 Jul 2014 18:27:21 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Thomas Leonard <talex5@gmail.com>
Thread-Topic: [MirageOS-devel] Mirage questions from writing a REST service
Thread-Index: AQHPmcMHIQ9vb5PIQEiHGLooKzh/KJuWp88AgAEV/4CAABJ0AA==
Date: Wed, 9 Jul 2014 16:27:20 +0000
Message-ID: <584C25ED-E436-4CF6-8D2E-1A67A31D6CAF@citrix.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
	<CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
In-Reply-To: <CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.14]
Content-ID: <A39F5CFB0D962240B40948A50BF2ED4A@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 9 Jul 2014, at 16:21, Thomas Leonard <talex5@gmail.com> wrote:

> On 8 July 2014 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>> =

>>> I'm writing a test Mirage service for queuing files. It's not using
>>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>>> =

>>> Some problems I found:
> [...]
>>> 4. Can I get mirage to generate a Makefile that builds and runs my
>>> unit-tests? I guess I can't run the unit-tests when in --xen mode,
>>> because some modules have conflicting names, but it would be nice in
>>> --unix mode at least.
>> =

>> Need some more details on the nature of these unit tests, as I don't
>> understand what you mean by 'conflicting names'.  Can each unit test
>> be compiled as a separate unikernel (so it'll work on Xen) via some
>> config.ml code?
> =

> I hadn't thought of running the tests on Xen, though that does make sense.
> =

> I'd need some way for OUnit to run tests that return a unit Lwt.t.

In OUnit test cases I normally use =91Lwt_main.run=92 to convert =91unit Lw=
t.t=92 into =91unit=92.

HTH,
Dave

> =

> Also, it appears that calling register more than once overwrites the
> previous job, rather than configuring the project to build both (the
> unikernel and the tests).
> =

> =

> -- =

> Dr Thomas Leonard        http://0install.net/
> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 16:27:28 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 16:27:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4uiM-0006GE-Ja; Wed, 09 Jul 2014 16:27:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X4uiL-0006G0-Bz
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 16:27:25 +0000
Received: from [85.158.143.35:42845] by server-1.bemta-4.messagelabs.com id
	60/C8-09496-C6D6DB35; Wed, 09 Jul 2014 16:27:24 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1404923242!16878290!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_23,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12991 invoked from network); 9 Jul 2014 16:27:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-11.tower-21.messagelabs.com with SMTP;
	9 Jul 2014 16:27:22 -0000
X-IronPort-AV: E=Sophos;i="5.01,632,1400025600"; d="scan'208";a="22960064"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 09 Jul 2014 16:27:21 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL02.citrite.net ([169.254.7.117]) with mapi id 14.03.0181.006;
	Wed, 9 Jul 2014 18:27:21 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Thomas Leonard <talex5@gmail.com>
Thread-Topic: [MirageOS-devel] Mirage questions from writing a REST service
Thread-Index: AQHPmcMHIQ9vb5PIQEiHGLooKzh/KJuWp88AgAEV/4CAABJ0AA==
Date: Wed, 9 Jul 2014 16:27:20 +0000
Message-ID: <584C25ED-E436-4CF6-8D2E-1A67A31D6CAF@citrix.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
	<CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
In-Reply-To: <CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.14]
Content-ID: <A39F5CFB0D962240B40948A50BF2ED4A@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 9 Jul 2014, at 16:21, Thomas Leonard <talex5@gmail.com> wrote:

> On 8 July 2014 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>> =

>>> I'm writing a test Mirage service for queuing files. It's not using
>>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>>> =

>>> Some problems I found:
> [...]
>>> 4. Can I get mirage to generate a Makefile that builds and runs my
>>> unit-tests? I guess I can't run the unit-tests when in --xen mode,
>>> because some modules have conflicting names, but it would be nice in
>>> --unix mode at least.
>> =

>> Need some more details on the nature of these unit tests, as I don't
>> understand what you mean by 'conflicting names'.  Can each unit test
>> be compiled as a separate unikernel (so it'll work on Xen) via some
>> config.ml code?
> =

> I hadn't thought of running the tests on Xen, though that does make sense.
> =

> I'd need some way for OUnit to run tests that return a unit Lwt.t.

In OUnit test cases I normally use =91Lwt_main.run=92 to convert =91unit Lw=
t.t=92 into =91unit=92.

HTH,
Dave

> =

> Also, it appears that calling register more than once overwrites the
> previous job, rather than configuring the project to build both (the
> unikernel and the tests).
> =

> =

> -- =

> Dr Thomas Leonard        http://0install.net/
> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 16:35:58 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 16:35:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4uqa-0006ca-SC; Wed, 09 Jul 2014 16:35:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4uqZ-0006cV-By
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 16:35:55 +0000
Received: from [193.109.254.147:7960] by server-2.bemta-14.messagelabs.com id
	58/E3-30377-A6F6DB35; Wed, 09 Jul 2014 16:35:54 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-27.messagelabs.com!1404923754!11811643!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 827 invoked from network); 9 Jul 2014 16:35:54 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-27.messagelabs.com with SMTP;
	9 Jul 2014 16:35:54 -0000
Received: (qmail 10087 invoked by uid 634); 9 Jul 2014 16:35:53 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 09 Jul 2014 17:35:53 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <584C25ED-E436-4CF6-8D2E-1A67A31D6CAF@citrix.com>
Date: Wed, 9 Jul 2014 17:35:52 +0100
Message-Id: <6AD8B9F3-AE39-418D-BF50-1D4049FC2229@recoil.org>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
	<CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
	<584C25ED-E436-4CF6-8D2E-1A67A31D6CAF@citrix.com>
To: David Scott <Dave.Scott@citrix.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 9 Jul 2014, at 17:27, Dave Scott <Dave.Scott@citrix.com> wrote:

> =

> On 9 Jul 2014, at 16:21, Thomas Leonard <talex5@gmail.com> wrote:
> =

>> On 8 July 2014 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>>> =

>>>> I'm writing a test Mirage service for queuing files. It's not using
>>>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>>>> =

>>>> Some problems I found:
>> [...]
>>>> 4. Can I get mirage to generate a Makefile that builds and runs my
>>>> unit-tests? I guess I can't run the unit-tests when in --xen mode,
>>>> because some modules have conflicting names, but it would be nice in
>>>> --unix mode at least.
>>> =

>>> Need some more details on the nature of these unit tests, as I don't
>>> understand what you mean by 'conflicting names'.  Can each unit test
>>> be compiled as a separate unikernel (so it'll work on Xen) via some
>>> config.ml code?
>> =

>> I hadn't thought of running the tests on Xen, though that does make sens=
e.
>> =

>> I'd need some way for OUnit to run tests that return a unit Lwt.t.
> =

> In OUnit test cases I normally use =91Lwt_main.run=92 to convert =91unit =
Lwt.t=92 into =91unit=92.

But it's a little tricker in Mirage since we don't have that run function
until the Job functor is applied.

It's probably easier to modify oUnit to pass in a run function  that
parameterises tests; it's a very simple library.  We need to get rid
of the Unix-specific bits anyway (unless it uses channels for everything).

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 09 16:35:58 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2014 16:35:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X4uqa-0006ca-SC; Wed, 09 Jul 2014 16:35:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X4uqZ-0006cV-By
	for mirageos-devel@lists.xenproject.org; Wed, 09 Jul 2014 16:35:55 +0000
Received: from [193.109.254.147:7960] by server-2.bemta-14.messagelabs.com id
	58/E3-30377-A6F6DB35; Wed, 09 Jul 2014 16:35:54 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-27.messagelabs.com!1404923754!11811643!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 827 invoked from network); 9 Jul 2014 16:35:54 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-27.messagelabs.com with SMTP;
	9 Jul 2014 16:35:54 -0000
Received: (qmail 10087 invoked by uid 634); 9 Jul 2014 16:35:53 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 09 Jul 2014 17:35:53 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <584C25ED-E436-4CF6-8D2E-1A67A31D6CAF@citrix.com>
Date: Wed, 9 Jul 2014 17:35:52 +0100
Message-Id: <6AD8B9F3-AE39-418D-BF50-1D4049FC2229@recoil.org>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<F79CA2D0-0C5B-499C-A890-512F9297B43C@recoil.org>
	<CAG4opy8wD2qJH0hjiw=YSeZZvW9a3EJp6Ti5q2ySnd4f4HWFgA@mail.gmail.com>
	<584C25ED-E436-4CF6-8D2E-1A67A31D6CAF@citrix.com>
To: David Scott <Dave.Scott@citrix.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 9 Jul 2014, at 17:27, Dave Scott <Dave.Scott@citrix.com> wrote:

> =

> On 9 Jul 2014, at 16:21, Thomas Leonard <talex5@gmail.com> wrote:
> =

>> On 8 July 2014 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>>> =

>>>> I'm writing a test Mirage service for queuing files. It's not using
>>>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>>>> =

>>>> Some problems I found:
>> [...]
>>>> 4. Can I get mirage to generate a Makefile that builds and runs my
>>>> unit-tests? I guess I can't run the unit-tests when in --xen mode,
>>>> because some modules have conflicting names, but it would be nice in
>>>> --unix mode at least.
>>> =

>>> Need some more details on the nature of these unit tests, as I don't
>>> understand what you mean by 'conflicting names'.  Can each unit test
>>> be compiled as a separate unikernel (so it'll work on Xen) via some
>>> config.ml code?
>> =

>> I hadn't thought of running the tests on Xen, though that does make sens=
e.
>> =

>> I'd need some way for OUnit to run tests that return a unit Lwt.t.
> =

> In OUnit test cases I normally use =91Lwt_main.run=92 to convert =91unit =
Lwt.t=92 into =91unit=92.

But it's a little tricker in Mirage since we don't have that run function
until the Job functor is applied.

It's probably easier to modify oUnit to pass in a run function  that
parameterises tests; it's a very simple library.  We need to get rid
of the Unix-specific bits anyway (unless it uses channels for everything).

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 09:01:52 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 09:01:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5AEe-0006yl-Lw; Thu, 10 Jul 2014 09:01:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X5AEd-0006ye-Bt
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 09:01:47 +0000
Received: from [85.158.139.211:65378] by server-5.bemta-5.messagelabs.com id
	5E/E8-29625-A765EB35; Thu, 10 Jul 2014 09:01:46 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1404982904!14737906!1
X-Originating-IP: [209.85.214.172]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23365 invoked from network); 10 Jul 2014 09:01:45 -0000
Received: from mail-ob0-f172.google.com (HELO mail-ob0-f172.google.com)
	(209.85.214.172)
	by server-4.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	10 Jul 2014 09:01:45 -0000
Received: by mail-ob0-f172.google.com with SMTP id wn1so660107obc.31
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 02:01:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=mWqhR+Nl+TdEUHXzuNsyARVKBBYqdAdT7B3u9aQTFV8=;
	b=H5UqnHrRnhSwzDBdFeblzHKheKBlZMHV7DIRFGCkEvYT+mgv7FPCFvL5vIhvl+rZFE
	y17YcO9JQV7Bt1gzgwN1IGS2qbUVPW104gYF0jSW1phzkBUYVY0e3LdwKtzjV9DWWqNl
	VtWtTFvxATiabnWenOz13jfCIkPMe18ZZCBPP2hHMJN4xtJyJz03HbUwhNZfnBdnjTP4
	16gF907wMrnUxPPWi4gDtxslNScF5GMSJprD8930xzUUKVA1HyIWP8hkZL/7HrwD2//C
	xfYb1jxNsSco1e5XXg2cLC8ygz7NVjMTCuiDxP8I5EKj4VkB+buhs/604AQX9TbGdc5+
	WUTg==
MIME-Version: 1.0
X-Received: by 10.60.133.203 with SMTP id pe11mr53048889oeb.24.1404982904173; 
	Thu, 10 Jul 2014 02:01:44 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Thu, 10 Jul 2014 02:01:44 -0700 (PDT)
Date: Thu, 10 Jul 2014 10:01:44 +0100
Message-ID: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Dave Scott <Dave.Scott@citrix.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 9 July 2014 09:32, Dave Scott <Dave.Scott@citrix.com> wrote:
>
> On 8 Jul 2014, at 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
>
>> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>>
>>> I'm writing a test Mirage service for queuing files. It's not using
>>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>>>
>>> Some problems I found:
[...]
>>> This means my unikernel only works with Fat. If I don't do this, I
>>> can't report or log error messages. I guess this is also why the test
>>> above gave such a useless error. Are there any plans to make error
>>> handling easier?
>>
>> Dave, what are your thoughts on this?  That is indeed a distinctly
>> abstract-looking block device error :-)
>
> I still find the error handling a bit awkward, particularly when you have layered devices and have wrapped errors. I think pretty-printing will definitely help though!

I found it awkward too. What's the rationale behind Mirage's current
error handling?

Using polymorphic variants can be useful as it forces the user to
handle each possible error case. But that only works if you keep false
positives low. Otherwise, people invent various operators (I've seen
>>|= and >>== so far) to ignore/propagate all errors and any benefits
are lost.

For example, in BLOCK we have:

  type error = [
    | `Unknown of string (** an undiagnosed error *)
    | `Unimplemented     (** operation not yet implemented in the code *)
    | `Is_read_only      (** you cannot write to a read/only instance *)
    | `Disconnected      (** the device has been previously disconnected *)
  ]

  val read: t -> int64 -> page_aligned_buffer list -> [ `Error of
error | `Ok of unit ] io

None of these cases makes sense to me.

An `Unknown can only be logged or displayed, so it would be best to
handle it once in a catch block at the top level, not for every read.
Making the payload be of type exn rather than string would allow code
to handle individual cases if needed (e.g. a remote block device might
return Network_error, indicating that the client should reconnect and
try again).

`Unimplemented and `Disconnected presumably indicate bugs. For most
programs, it would only make sense to report them at the top level.

`Is_read_only is irrelevant for read operations.

I think it would be simpler if exceptions were used and the type
signature for read was just:

  val read: t -> int64 -> page_aligned_buffer list -> unit io

For write, handling `Is_read_only might make sense, but it still seems
better to me to use an exception. After all, if the device is
read-only then you can't get it into a bad state, nor perform any
recovery on it.


In summary, I propose:

- We should separate errors the caller should usually check for vs
bugs/internal errors.

- Probably exceptions should be thrown in the second case. OCaml
programs already have to handle exceptions anyway. If not, `Unknown
should at least take an exn payload, not a string (print handlers
should be registered for any exceptions, of course).

- For cases the caller should check, each function should declare its
own set of errors. DEVICE.read should not return `Is_read_only,
FS.format should not return `File_already_exists, etc.

Thoughts? Apologies if this has all been discussed to death before.
I've did find https://lists.cam.ac.uk/pipermail/cl-mirage/2012-March/msg00003.html,
which notes that Async doesn't cope with exceptions. Presumably that
could be wrapped away, though. It also suggests that there is some
problem with Lwt and backtraces, but I'm not sure what the issue is
there. These days, OCaml seems to keep track of when exceptions are
reraised and indicates this in the backtrace.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 09:01:52 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 09:01:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5AEe-0006yl-Lw; Thu, 10 Jul 2014 09:01:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X5AEd-0006ye-Bt
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 09:01:47 +0000
Received: from [85.158.139.211:65378] by server-5.bemta-5.messagelabs.com id
	5E/E8-29625-A765EB35; Thu, 10 Jul 2014 09:01:46 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1404982904!14737906!1
X-Originating-IP: [209.85.214.172]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23365 invoked from network); 10 Jul 2014 09:01:45 -0000
Received: from mail-ob0-f172.google.com (HELO mail-ob0-f172.google.com)
	(209.85.214.172)
	by server-4.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	10 Jul 2014 09:01:45 -0000
Received: by mail-ob0-f172.google.com with SMTP id wn1so660107obc.31
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 02:01:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=mWqhR+Nl+TdEUHXzuNsyARVKBBYqdAdT7B3u9aQTFV8=;
	b=H5UqnHrRnhSwzDBdFeblzHKheKBlZMHV7DIRFGCkEvYT+mgv7FPCFvL5vIhvl+rZFE
	y17YcO9JQV7Bt1gzgwN1IGS2qbUVPW104gYF0jSW1phzkBUYVY0e3LdwKtzjV9DWWqNl
	VtWtTFvxATiabnWenOz13jfCIkPMe18ZZCBPP2hHMJN4xtJyJz03HbUwhNZfnBdnjTP4
	16gF907wMrnUxPPWi4gDtxslNScF5GMSJprD8930xzUUKVA1HyIWP8hkZL/7HrwD2//C
	xfYb1jxNsSco1e5XXg2cLC8ygz7NVjMTCuiDxP8I5EKj4VkB+buhs/604AQX9TbGdc5+
	WUTg==
MIME-Version: 1.0
X-Received: by 10.60.133.203 with SMTP id pe11mr53048889oeb.24.1404982904173; 
	Thu, 10 Jul 2014 02:01:44 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Thu, 10 Jul 2014 02:01:44 -0700 (PDT)
Date: Thu, 10 Jul 2014 10:01:44 +0100
Message-ID: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Dave Scott <Dave.Scott@citrix.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 9 July 2014 09:32, Dave Scott <Dave.Scott@citrix.com> wrote:
>
> On 8 Jul 2014, at 23:46, Anil Madhavapeddy <anil@recoil.org> wrote:
>
>> On 7 Jul 2014, at 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>>
>>> I'm writing a test Mirage service for queuing files. It's not using
>>> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>>>
>>> Some problems I found:
[...]
>>> This means my unikernel only works with Fat. If I don't do this, I
>>> can't report or log error messages. I guess this is also why the test
>>> above gave such a useless error. Are there any plans to make error
>>> handling easier?
>>
>> Dave, what are your thoughts on this?  That is indeed a distinctly
>> abstract-looking block device error :-)
>
> I still find the error handling a bit awkward, particularly when you have layered devices and have wrapped errors. I think pretty-printing will definitely help though!

I found it awkward too. What's the rationale behind Mirage's current
error handling?

Using polymorphic variants can be useful as it forces the user to
handle each possible error case. But that only works if you keep false
positives low. Otherwise, people invent various operators (I've seen
>>|= and >>== so far) to ignore/propagate all errors and any benefits
are lost.

For example, in BLOCK we have:

  type error = [
    | `Unknown of string (** an undiagnosed error *)
    | `Unimplemented     (** operation not yet implemented in the code *)
    | `Is_read_only      (** you cannot write to a read/only instance *)
    | `Disconnected      (** the device has been previously disconnected *)
  ]

  val read: t -> int64 -> page_aligned_buffer list -> [ `Error of
error | `Ok of unit ] io

None of these cases makes sense to me.

An `Unknown can only be logged or displayed, so it would be best to
handle it once in a catch block at the top level, not for every read.
Making the payload be of type exn rather than string would allow code
to handle individual cases if needed (e.g. a remote block device might
return Network_error, indicating that the client should reconnect and
try again).

`Unimplemented and `Disconnected presumably indicate bugs. For most
programs, it would only make sense to report them at the top level.

`Is_read_only is irrelevant for read operations.

I think it would be simpler if exceptions were used and the type
signature for read was just:

  val read: t -> int64 -> page_aligned_buffer list -> unit io

For write, handling `Is_read_only might make sense, but it still seems
better to me to use an exception. After all, if the device is
read-only then you can't get it into a bad state, nor perform any
recovery on it.


In summary, I propose:

- We should separate errors the caller should usually check for vs
bugs/internal errors.

- Probably exceptions should be thrown in the second case. OCaml
programs already have to handle exceptions anyway. If not, `Unknown
should at least take an exn payload, not a string (print handlers
should be registered for any exceptions, of course).

- For cases the caller should check, each function should declare its
own set of errors. DEVICE.read should not return `Is_read_only,
FS.format should not return `File_already_exists, etc.

Thoughts? Apologies if this has all been discussed to death before.
I've did find https://lists.cam.ac.uk/pipermail/cl-mirage/2012-March/msg00003.html,
which notes that Async doesn't cope with exceptions. Presumably that
could be wrapped away, though. It also suggests that there is some
problem with Lwt and backtraces, but I'm not sure what the issue is
there. These days, OCaml seems to keep track of when exceptions are
reraised and indicates this in the backtrace.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 10:47:16 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 10:47:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5Bsc-0005GN-Gl; Thu, 10 Jul 2014 10:47:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5Bsb-0005GI-Ia
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 10:47:09 +0000
Received: from [193.109.254.147:51776] by server-15.bemta-14.messagelabs.com
	id DA/32-11012-C2F6EB35; Thu, 10 Jul 2014 10:47:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-27.messagelabs.com!1404989227!13272620!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12847 invoked from network); 10 Jul 2014 10:47:08 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-27.messagelabs.com with SMTP;
	10 Jul 2014 10:47:08 -0000
Received: (qmail 5627 invoked by uid 634); 10 Jul 2014 10:47:07 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-102-120.in-addr.btopenworld.com (HELO [10.0.0.110])
	(81.149.102.120)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 10 Jul 2014 11:47:06 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
Date: Thu, 10 Jul 2014 11:47:04 +0100
Message-Id: <932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 10 Jul 2014, at 10:01, Thomas Leonard <talex5@gmail.com> wrote:
> 
> I found it awkward too. What's the rationale behind Mirage's current
> error handling?

The basic problem with using exceptions is if they are constructed in
a functor, they have a different representation across applications of
that functor.  Consider:

exception Catch_me of string

module A(S:sig val name : string end) = struct
  exception Catch_me of string
  let boom () = raise (Catch_me S.name)
end

module X = A(struct let name = "X" end)
module Y = A(struct let name = "Y" end)

let _ =
  try Printexc.print X.boom () with _ -> ();
  try Printexc.print Y.boom () with _ -> ();
  try X.boom () with |X.Catch_me x -> print_endline "X.Catch_me";
  try X.boom () with |Catch_me x -> print_endline "Catch_me"

Running this gives us:

$ ocaml boom.ml 
Uncaught exception: A(S).Catch_me("X")
Uncaught exception: A(S).Catch_me("Y")
X.Catch_me
Exception: A(S).Catch_me "X".

The first two statements show the exception printer representing the
exception as A(S), which is unhelpful when examining backtraces. This
can be fixed with by registering a custom exception printer.

The next two statements illustrate how you could go wrong if there
are many similarly named exceptions, since there is no exhaustivity
checking in the exception type.  To write a generic function that
catches any Catch_me, I believe you need a `try ... with _ -> ()`

> Using polymorphic variants can be useful as it forces the user to
> handle each possible error case. But that only works if you keep false
> positives low.

The reasoning behind explicit polymorphic variants here was to permit
catching one class of error across all the device types:

module A(S:sig val name : string end) = struct
  let boom () = `Catch_me S.name
end

module X = A(struct let name = "X" end)
module Y = A(struct let name = "Y" end)

let catcher rfn fn a = fn a |> function `Catch_me r -> rfn r

let _ =
  X.boom () |> function `Catch_me r -> print_endline r;
  Y.boom () |> function `Catch_me r -> print_endline r;
  catcher print_endline X.boom ();
  catcher print_endline Y.boom ()

Here, the catcher function can be used across both functor
applications (or, in Mirage terms, device drivers).

However, writing more generic catcher functions that want
to eliminate just one possibility from the variants and
pass the others through is difficult, and leads to gems
such as this from the OCaml-TLS Mirage code:

type ('a, 'e, 'c) m =
  ([< `Ok of 'a | `Error of 'e | `Eof ] as 'c) Lwt.t

let (>>==) (a : ('a, 'e, _) m) (f : 'a -> ('b, 'e, _) m) : ('b, 'e, _) m =
  a >>= function
  | `Ok x                -> f x
  | `Error _ | `Eof as e -> return e


> An `Unknown can only be logged or displayed, so it would be best to
> handle it once in a catch block at the top level, not for every read.
> Making the payload be of type exn rather than string would allow code
> to handle individual cases if needed (e.g. a remote block device might
> return Network_error, indicating that the client should reconnect and
> try again).

> `Unimplemented and `Disconnected presumably indicate bugs. For most
> programs, it would only make sense to report them at the top level.
> 
> `Is_read_only is irrelevant for read operations.
> 
> I think it would be simpler if exceptions were used and the type
> signature for read was just:
> 
>  val read: t -> int64 -> page_aligned_buffer list -> unit io
> 
> For write, handling `Is_read_only might make sense, but it still seems
> better to me to use an exception. After all, if the device is
> read-only then you can't get it into a bad state, nor perform any
> recovery on it.

> 
> 
> In summary, I propose:
> 
> - We should separate errors the caller should usually check for vs
> bugs/internal errors.
> 
> - Probably exceptions should be thrown in the second case. OCaml
> programs already have to handle exceptions anyway. If not, `Unknown
> should at least take an exn payload, not a string (print handlers
> should be registered for any exceptions, of course).
> 
> - For cases the caller should check, each function should declare its
> own set of errors. DEVICE.read should not return `Is_read_only,
> FS.format should not return `File_already_exists, etc.


Yes, so by the above guidelines, we might turn this:

type error = [
 | `Unknown of string (** an undiagnosed error *)
 | `Unimplemented     (** operation not yet implemented in the code *)
 | `Is_read_only      (** you cannot write to a read/only instance *)
 | `Disconnected      (** the device has been previously disconnected *)
]

val read: t -> int64 -> page_aligned_buffer list -> [ `Error of error | `Ok of unit ] io
val write: t -> int64 -> page_aligned_buffer list -> [ `Error of error | `Ok of unit ] io

into:

exception Unknown of string with sexp
exception Unimplemented of string with sexp
exception Disconnected with sexp

type read_error  = [ `Out_of_bounds ] with sexp
type write_error = [ `Read_only_device | read_error ] with sexp

val read : t -> int64 -> page_aligned_buffer list -> [ `Error of read_error | `Ok of unit ] io
val write: t -> int64 -> page_aligned_buffer list -> [ `Error of write_error | `Ok of unit ] io

This is also easier to contract, since a read-only device would simply skip
the definition of `write_error` and `write`.  We may need to do some
more exception registration to tell us which module the expression came
from (need to test that).

> 
> Thoughts? Apologies if this has all been discussed to death before.

Nope! If in doubt, raise an exception thread like this one :-)

> I've did find https://lists.cam.ac.uk/pipermail/cl-mirage/2012-March/msg00003.html,
> which notes that Async doesn't cope with exceptions. Presumably that
> could be wrapped away, though. It also suggests that there is some
> problem with Lwt and backtraces, but I'm not sure what the issue is
> there. These days, OCaml seems to keep track of when exceptions are
> reraised and indicates this in the backtrace.

Async's model is broadly along the same lines that you propose.  It defines
a process tree of monitors that catch uncaught exceptions and define local
behaviour for those.  In the Mirage world, our current flat device hierarchy
would turn into a DSL for generating these monitor trees in the autogenerated
code.

The issue with backtraces is that if you drop into the cooperative thread
scheduler between (>>=) binds, the sequence of operations that led to the
function call are thrown away and the backtraces look like ("select -> function")
instead of ("blocking1 -> select -> blocking2 -> select -> function").

Lwt has a syntax extension that registers the current backtrace with 
the backtrace system.  I'm not sure that this is a big problem though,
as we tend not to rely on backtraces for anything important (instead, the
value that's thrown is more useful).

Thoughts from others welcome -- I like Thomas' proposal and think that it
finds the sweet spot between forcing fully generic handling of polymorphic
variants and throwing exceptions everywhere.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 10:47:16 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 10:47:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5Bsc-0005GN-Gl; Thu, 10 Jul 2014 10:47:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5Bsb-0005GI-Ia
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 10:47:09 +0000
Received: from [193.109.254.147:51776] by server-15.bemta-14.messagelabs.com
	id DA/32-11012-C2F6EB35; Thu, 10 Jul 2014 10:47:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-27.messagelabs.com!1404989227!13272620!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12847 invoked from network); 10 Jul 2014 10:47:08 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-27.messagelabs.com with SMTP;
	10 Jul 2014 10:47:08 -0000
Received: (qmail 5627 invoked by uid 634); 10 Jul 2014 10:47:07 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-102-120.in-addr.btopenworld.com (HELO [10.0.0.110])
	(81.149.102.120)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 10 Jul 2014 11:47:06 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
Date: Thu, 10 Jul 2014 11:47:04 +0100
Message-Id: <932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 10 Jul 2014, at 10:01, Thomas Leonard <talex5@gmail.com> wrote:
> 
> I found it awkward too. What's the rationale behind Mirage's current
> error handling?

The basic problem with using exceptions is if they are constructed in
a functor, they have a different representation across applications of
that functor.  Consider:

exception Catch_me of string

module A(S:sig val name : string end) = struct
  exception Catch_me of string
  let boom () = raise (Catch_me S.name)
end

module X = A(struct let name = "X" end)
module Y = A(struct let name = "Y" end)

let _ =
  try Printexc.print X.boom () with _ -> ();
  try Printexc.print Y.boom () with _ -> ();
  try X.boom () with |X.Catch_me x -> print_endline "X.Catch_me";
  try X.boom () with |Catch_me x -> print_endline "Catch_me"

Running this gives us:

$ ocaml boom.ml 
Uncaught exception: A(S).Catch_me("X")
Uncaught exception: A(S).Catch_me("Y")
X.Catch_me
Exception: A(S).Catch_me "X".

The first two statements show the exception printer representing the
exception as A(S), which is unhelpful when examining backtraces. This
can be fixed with by registering a custom exception printer.

The next two statements illustrate how you could go wrong if there
are many similarly named exceptions, since there is no exhaustivity
checking in the exception type.  To write a generic function that
catches any Catch_me, I believe you need a `try ... with _ -> ()`

> Using polymorphic variants can be useful as it forces the user to
> handle each possible error case. But that only works if you keep false
> positives low.

The reasoning behind explicit polymorphic variants here was to permit
catching one class of error across all the device types:

module A(S:sig val name : string end) = struct
  let boom () = `Catch_me S.name
end

module X = A(struct let name = "X" end)
module Y = A(struct let name = "Y" end)

let catcher rfn fn a = fn a |> function `Catch_me r -> rfn r

let _ =
  X.boom () |> function `Catch_me r -> print_endline r;
  Y.boom () |> function `Catch_me r -> print_endline r;
  catcher print_endline X.boom ();
  catcher print_endline Y.boom ()

Here, the catcher function can be used across both functor
applications (or, in Mirage terms, device drivers).

However, writing more generic catcher functions that want
to eliminate just one possibility from the variants and
pass the others through is difficult, and leads to gems
such as this from the OCaml-TLS Mirage code:

type ('a, 'e, 'c) m =
  ([< `Ok of 'a | `Error of 'e | `Eof ] as 'c) Lwt.t

let (>>==) (a : ('a, 'e, _) m) (f : 'a -> ('b, 'e, _) m) : ('b, 'e, _) m =
  a >>= function
  | `Ok x                -> f x
  | `Error _ | `Eof as e -> return e


> An `Unknown can only be logged or displayed, so it would be best to
> handle it once in a catch block at the top level, not for every read.
> Making the payload be of type exn rather than string would allow code
> to handle individual cases if needed (e.g. a remote block device might
> return Network_error, indicating that the client should reconnect and
> try again).

> `Unimplemented and `Disconnected presumably indicate bugs. For most
> programs, it would only make sense to report them at the top level.
> 
> `Is_read_only is irrelevant for read operations.
> 
> I think it would be simpler if exceptions were used and the type
> signature for read was just:
> 
>  val read: t -> int64 -> page_aligned_buffer list -> unit io
> 
> For write, handling `Is_read_only might make sense, but it still seems
> better to me to use an exception. After all, if the device is
> read-only then you can't get it into a bad state, nor perform any
> recovery on it.

> 
> 
> In summary, I propose:
> 
> - We should separate errors the caller should usually check for vs
> bugs/internal errors.
> 
> - Probably exceptions should be thrown in the second case. OCaml
> programs already have to handle exceptions anyway. If not, `Unknown
> should at least take an exn payload, not a string (print handlers
> should be registered for any exceptions, of course).
> 
> - For cases the caller should check, each function should declare its
> own set of errors. DEVICE.read should not return `Is_read_only,
> FS.format should not return `File_already_exists, etc.


Yes, so by the above guidelines, we might turn this:

type error = [
 | `Unknown of string (** an undiagnosed error *)
 | `Unimplemented     (** operation not yet implemented in the code *)
 | `Is_read_only      (** you cannot write to a read/only instance *)
 | `Disconnected      (** the device has been previously disconnected *)
]

val read: t -> int64 -> page_aligned_buffer list -> [ `Error of error | `Ok of unit ] io
val write: t -> int64 -> page_aligned_buffer list -> [ `Error of error | `Ok of unit ] io

into:

exception Unknown of string with sexp
exception Unimplemented of string with sexp
exception Disconnected with sexp

type read_error  = [ `Out_of_bounds ] with sexp
type write_error = [ `Read_only_device | read_error ] with sexp

val read : t -> int64 -> page_aligned_buffer list -> [ `Error of read_error | `Ok of unit ] io
val write: t -> int64 -> page_aligned_buffer list -> [ `Error of write_error | `Ok of unit ] io

This is also easier to contract, since a read-only device would simply skip
the definition of `write_error` and `write`.  We may need to do some
more exception registration to tell us which module the expression came
from (need to test that).

> 
> Thoughts? Apologies if this has all been discussed to death before.

Nope! If in doubt, raise an exception thread like this one :-)

> I've did find https://lists.cam.ac.uk/pipermail/cl-mirage/2012-March/msg00003.html,
> which notes that Async doesn't cope with exceptions. Presumably that
> could be wrapped away, though. It also suggests that there is some
> problem with Lwt and backtraces, but I'm not sure what the issue is
> there. These days, OCaml seems to keep track of when exceptions are
> reraised and indicates this in the backtrace.

Async's model is broadly along the same lines that you propose.  It defines
a process tree of monitors that catch uncaught exceptions and define local
behaviour for those.  In the Mirage world, our current flat device hierarchy
would turn into a DSL for generating these monitor trees in the autogenerated
code.

The issue with backtraces is that if you drop into the cooperative thread
scheduler between (>>=) binds, the sequence of operations that led to the
function call are thrown away and the backtraces look like ("select -> function")
instead of ("blocking1 -> select -> blocking2 -> select -> function").

Lwt has a syntax extension that registers the current backtrace with 
the backtrace system.  I'm not sure that this is a big problem though,
as we tend not to rely on backtraces for anything important (instead, the
value that's thrown is more useful).

Thoughts from others welcome -- I like Thomas' proposal and think that it
finds the sweet spot between forcing fully generic handling of polymorphic
variants and throwing exceptions everywhere.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 11:18:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 11:18:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5CMZ-00075l-Up; Thu, 10 Jul 2014 11:18:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <daniel.buenzli@erratique.ch>) id 1X5CMY-000755-ID
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 11:18:06 +0000
Received: from [85.158.143.35:25158] by server-2.bemta-4.messagelabs.com id
	7D/28-18579-D667EB35; Thu, 10 Jul 2014 11:18:05 +0000
X-Env-Sender: daniel.buenzli@erratique.ch
X-Msg-Ref: server-5.tower-21.messagelabs.com!1404991084!17047122!1
X-Originating-IP: [74.55.86.74]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNzQuNTUuODYuNzQgPT4gMzA4NTYz\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14385 invoked from network); 10 Jul 2014 11:18:05 -0000
Received: from mail6.webfaction.com (HELO smtp.webfaction.com) (74.55.86.74)
	by server-5.tower-21.messagelabs.com with SMTP;
	10 Jul 2014 11:18:05 -0000
Received: from [172.20.10.2] (188.29.165.214.threembb.co.uk [188.29.165.214])
	by smtp.webfaction.com (Postfix) with ESMTP id 212AF22CA766;
	Thu, 10 Jul 2014 11:18:02 +0000 (UTC)
Date: Thu, 10 Jul 2014 12:17:58 +0100
From: =?utf-8?Q?Daniel_B=C3=BCnzli?= <daniel.buenzli@erratique.ch>
To: Anil Madhavapeddy <anil@recoil.org>
Message-ID: <0CA47AA1C6DB4928A90105732B26FA2F@erratique.ch>
In-Reply-To: <932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Disposition: inline
Cc: David Scott <Dave.Scott@citrix.com>,
	"=?utf-8?Q?mirageos-devel=40lists.xenproject.org?="
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

CgpMZSBqZXVkaSwgMTAganVpbGxldCAyMDE0IMOgIDExOjQ3LCBBbmlsIE1hZGhhdmFwZWRkeSBh
IMOpY3JpdCA6Cgo+IFRob3VnaHRzIGZyb20gb3RoZXJzIHdlbGNvbWUgLS0gSSBsaWtlIFRob21h
cycgcHJvcG9zYWwgYW5kIHRoaW5rIHRoYXQgaXQKPiBmaW5kcyB0aGUgc3dlZXQgc3BvdCBiZXR3
ZWVuIGZvcmNpbmcgZnVsbHkgZ2VuZXJpYyBoYW5kbGluZyBvZiBwb2x5bW9ycGhpYwo+IHZhcmlh
bnRzIGFuZCB0aHJvd2luZyBleGNlcHRpb25zIGV2ZXJ5d2hlcmUuCgpJZiB0aGVzZSBleGNlcHRp
b25zIGFyZSBub3Qgc3VwcG9zZWQgdG8gYmUgY2F0Y2hlZCBleGNlcHQgYXQgdGhlIHRvcGxldmVs
IChpLmUgYXJlIHJlYWxseSAqZXhjZXB0aW9uYWwqKSB0aGUgcHJvcG9zYWwgaXMgdGhlIHJpZ2h0
IGRlc2lnbiBhY2NvcmRpbmcgdG8gbXkgYm9vay4gIAoKSnVzdCBvbmUgdGhpbmcsIHRoZSBvdGhl
ciBleGNlcHRpb25zIHlvdSBkZWZpbmVkIGFyZSB2ZXJ5IGNsZWFyIGJ5IHJlYWRpbmcgdGhlbSBi
dXQgdGhpcyBvbmUgaXMgc3VzcGljaW91czoKCiAgICBleGNlcHRpb24gVW5rbm93biBvZiBzdHJp
bmcgd2l0aCBzZXhwCgpXaGF0J3MgdGhlIGV4YWN0IHVzZSBjYXNlIGZvciB0aGF0IG9uZSA/ICAK
CiogQVBJIG1pc3VzZSBieSBhIGNsaWVudCA/IHRoYXQgc2hvdWxkIGJlIEludmFsaWRfYXJndW1l
bnQKKiBJbnRlcm5hbCBlcnJvciA/IHRoYXQgc2hvdWxkIGJlIGFuIEFzc2VydF9lcnJvciAgCgpE
YW5pZWwKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWlyYWdlT1MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGlu
Zm8vbWlyYWdlb3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 11:18:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 11:18:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5CMZ-00075l-Up; Thu, 10 Jul 2014 11:18:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <daniel.buenzli@erratique.ch>) id 1X5CMY-000755-ID
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 11:18:06 +0000
Received: from [85.158.143.35:25158] by server-2.bemta-4.messagelabs.com id
	7D/28-18579-D667EB35; Thu, 10 Jul 2014 11:18:05 +0000
X-Env-Sender: daniel.buenzli@erratique.ch
X-Msg-Ref: server-5.tower-21.messagelabs.com!1404991084!17047122!1
X-Originating-IP: [74.55.86.74]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNzQuNTUuODYuNzQgPT4gMzA4NTYz\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14385 invoked from network); 10 Jul 2014 11:18:05 -0000
Received: from mail6.webfaction.com (HELO smtp.webfaction.com) (74.55.86.74)
	by server-5.tower-21.messagelabs.com with SMTP;
	10 Jul 2014 11:18:05 -0000
Received: from [172.20.10.2] (188.29.165.214.threembb.co.uk [188.29.165.214])
	by smtp.webfaction.com (Postfix) with ESMTP id 212AF22CA766;
	Thu, 10 Jul 2014 11:18:02 +0000 (UTC)
Date: Thu, 10 Jul 2014 12:17:58 +0100
From: =?utf-8?Q?Daniel_B=C3=BCnzli?= <daniel.buenzli@erratique.ch>
To: Anil Madhavapeddy <anil@recoil.org>
Message-ID: <0CA47AA1C6DB4928A90105732B26FA2F@erratique.ch>
In-Reply-To: <932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Disposition: inline
Cc: David Scott <Dave.Scott@citrix.com>,
	"=?utf-8?Q?mirageos-devel=40lists.xenproject.org?="
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

CgpMZSBqZXVkaSwgMTAganVpbGxldCAyMDE0IMOgIDExOjQ3LCBBbmlsIE1hZGhhdmFwZWRkeSBh
IMOpY3JpdCA6Cgo+IFRob3VnaHRzIGZyb20gb3RoZXJzIHdlbGNvbWUgLS0gSSBsaWtlIFRob21h
cycgcHJvcG9zYWwgYW5kIHRoaW5rIHRoYXQgaXQKPiBmaW5kcyB0aGUgc3dlZXQgc3BvdCBiZXR3
ZWVuIGZvcmNpbmcgZnVsbHkgZ2VuZXJpYyBoYW5kbGluZyBvZiBwb2x5bW9ycGhpYwo+IHZhcmlh
bnRzIGFuZCB0aHJvd2luZyBleGNlcHRpb25zIGV2ZXJ5d2hlcmUuCgpJZiB0aGVzZSBleGNlcHRp
b25zIGFyZSBub3Qgc3VwcG9zZWQgdG8gYmUgY2F0Y2hlZCBleGNlcHQgYXQgdGhlIHRvcGxldmVs
IChpLmUgYXJlIHJlYWxseSAqZXhjZXB0aW9uYWwqKSB0aGUgcHJvcG9zYWwgaXMgdGhlIHJpZ2h0
IGRlc2lnbiBhY2NvcmRpbmcgdG8gbXkgYm9vay4gIAoKSnVzdCBvbmUgdGhpbmcsIHRoZSBvdGhl
ciBleGNlcHRpb25zIHlvdSBkZWZpbmVkIGFyZSB2ZXJ5IGNsZWFyIGJ5IHJlYWRpbmcgdGhlbSBi
dXQgdGhpcyBvbmUgaXMgc3VzcGljaW91czoKCiAgICBleGNlcHRpb24gVW5rbm93biBvZiBzdHJp
bmcgd2l0aCBzZXhwCgpXaGF0J3MgdGhlIGV4YWN0IHVzZSBjYXNlIGZvciB0aGF0IG9uZSA/ICAK
CiogQVBJIG1pc3VzZSBieSBhIGNsaWVudCA/IHRoYXQgc2hvdWxkIGJlIEludmFsaWRfYXJndW1l
bnQKKiBJbnRlcm5hbCBlcnJvciA/IHRoYXQgc2hvdWxkIGJlIGFuIEFzc2VydF9lcnJvciAgCgpE
YW5pZWwKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWlyYWdlT1MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGlu
Zm8vbWlyYWdlb3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 13:13:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 13:13:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5E9y-0003H1-Jf; Thu, 10 Jul 2014 13:13:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X5E9x-0003Gw-71
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 13:13:13 +0000
Received: from [85.158.137.68:5792] by server-14.bemta-3.messagelabs.com id
	D0/FB-19846-8619EB35; Thu, 10 Jul 2014 13:13:12 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1404997988!15082261!1
X-Originating-IP: [209.85.220.41]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28392 invoked from network); 10 Jul 2014 13:13:10 -0000
Received: from mail-pa0-f41.google.com (HELO mail-pa0-f41.google.com)
	(209.85.220.41)
	by server-2.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	10 Jul 2014 13:13:10 -0000
Received: by mail-pa0-f41.google.com with SMTP id fb1so11109596pad.28
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 06:13:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=CduLqKK9FL7uMmcj6ugqA0zyvTVe2W0RR4/sehHGHvo=;
	b=SHZ1XBWRHYzVegEr1i8gNo1LXXycVDTGwFftN9fMidzJ64o35IKuXRXgrNWiNKjV7X
	67DLMwj1yO1nOmUb5kYudARXTiyT6Y/koDDxeL1i6ahKW1gGTXAzmrTeDYcy3LNb/V2W
	rrr5tEyVOmCYWuhLEon0W+8Kya26jKgQF9z8J0bbQdbpd/MR6eV2y2U4sjPfm/HKFRuT
	cukslWiRwLhdpBHzVcUh8NhaShPPwdoqnLZ/qsojG921hBR/mH6g/xMLPqk8XmJmlAA/
	hBwH35ek/YndwAw/DngWsSXHbBqH42iPWsQBMimYOzVqd6sRAULME1PvzVY1Wx4kB5wH
	NYZA==
MIME-Version: 1.0
X-Received: by 10.68.104.66 with SMTP id gc2mr47373572pbb.17.1404997988076;
	Thu, 10 Jul 2014 06:13:08 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Thu, 10 Jul 2014 06:13:08 -0700 (PDT)
In-Reply-To: <932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
Date: Thu, 10 Jul 2014 14:13:08 +0100
Message-ID: <CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1822092003727083949=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1822092003727083949==
Content-Type: multipart/alternative; boundary=047d7b5d6596fd547304fdd6958b

--047d7b5d6596fd547304fdd6958b
Content-Type: text/plain; charset=UTF-8

Hi,


On Thu, Jul 10, 2014 at 11:47 AM, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 10 Jul 2014, at 10:01, Thomas Leonard <talex5@gmail.com> wrote:
> >
> > I found it awkward too. What's the rationale behind Mirage's current
> > error handling?
>
> The basic problem with using exceptions is if they are constructed in
> a functor, they have a different representation across applications of
> that functor.  Consider:
>
> exception Catch_me of string
>
> module A(S:sig val name : string end) = struct
>   exception Catch_me of string
>   let boom () = raise (Catch_me S.name)
> end
>
> module X = A(struct let name = "X" end)
> module Y = A(struct let name = "Y" end)
>
> let _ =
>   try Printexc.print X.boom () with _ -> ();
>   try Printexc.print Y.boom () with _ -> ();
>   try X.boom () with |X.Catch_me x -> print_endline "X.Catch_me";
>   try X.boom () with |Catch_me x -> print_endline "Catch_me"
>
> Running this gives us:
>
> $ ocaml boom.ml
> Uncaught exception: A(S).Catch_me("X")
> Uncaught exception: A(S).Catch_me("Y")
> X.Catch_me
> Exception: A(S).Catch_me "X".
>
> The first two statements show the exception printer representing the
> exception as A(S), which is unhelpful when examining backtraces. This
> can be fixed with by registering a custom exception printer.
>
> The next two statements illustrate how you could go wrong if there
> are many similarly named exceptions, since there is no exhaustivity
> checking in the exception type.  To write a generic function that
> catches any Catch_me, I believe you need a `try ... with _ -> ()`
>
> > Using polymorphic variants can be useful as it forces the user to
> > handle each possible error case. But that only works if you keep false
> > positives low.
>
> The reasoning behind explicit polymorphic variants here was to permit
> catching one class of error across all the device types:
>
> module A(S:sig val name : string end) = struct
>   let boom () = `Catch_me S.name
> end
>
> module X = A(struct let name = "X" end)
> module Y = A(struct let name = "Y" end)
>
> let catcher rfn fn a = fn a |> function `Catch_me r -> rfn r
>
> let _ =
>   X.boom () |> function `Catch_me r -> print_endline r;
>   Y.boom () |> function `Catch_me r -> print_endline r;
>   catcher print_endline X.boom ();
>   catcher print_endline Y.boom ()
>
> Here, the catcher function can be used across both functor
> applications (or, in Mirage terms, device drivers).
>
> However, writing more generic catcher functions that want
> to eliminate just one possibility from the variants and
> pass the others through is difficult, and leads to gems
> such as this from the OCaml-TLS Mirage code:
>
> type ('a, 'e, 'c) m =
>   ([< `Ok of 'a | `Error of 'e | `Eof ] as 'c) Lwt.t
>
> let (>>==) (a : ('a, 'e, _) m) (f : 'a -> ('b, 'e, _) m) : ('b, 'e, _) m =
>   a >>= function
>   | `Ok x                -> f x
>   | `Error _ | `Eof as e -> return e
>
>
> > An `Unknown can only be logged or displayed, so it would be best to
> > handle it once in a catch block at the top level, not for every read.
> > Making the payload be of type exn rather than string would allow code
> > to handle individual cases if needed (e.g. a remote block device might
> > return Network_error, indicating that the client should reconnect and
> > try again).
>
> > `Unimplemented and `Disconnected presumably indicate bugs. For most
> > programs, it would only make sense to report them at the top level.
> >
> > `Is_read_only is irrelevant for read operations.
> >
> > I think it would be simpler if exceptions were used and the type
> > signature for read was just:
> >
> >  val read: t -> int64 -> page_aligned_buffer list -> unit io
> >
> > For write, handling `Is_read_only might make sense, but it still seems
> > better to me to use an exception. After all, if the device is
> > read-only then you can't get it into a bad state, nor perform any
> > recovery on it.
>
> >
> >
> > In summary, I propose:
> >
> > - We should separate errors the caller should usually check for vs
> > bugs/internal errors.
> >
> > - Probably exceptions should be thrown in the second case. OCaml
> > programs already have to handle exceptions anyway. If not, `Unknown
> > should at least take an exn payload, not a string (print handlers
> > should be registered for any exceptions, of course).
> >
> > - For cases the caller should check, each function should declare its
> > own set of errors. DEVICE.read should not return `Is_read_only,
> > FS.format should not return `File_already_exists, etc.
>
>
> Yes, so by the above guidelines, we might turn this:
>
> type error = [
>  | `Unknown of string (** an undiagnosed error *)
>  | `Unimplemented     (** operation not yet implemented in the code *)
>  | `Is_read_only      (** you cannot write to a read/only instance *)
>  | `Disconnected      (** the device has been previously disconnected *)
> ]
>
> val read: t -> int64 -> page_aligned_buffer list -> [ `Error of error |
> `Ok of unit ] io
> val write: t -> int64 -> page_aligned_buffer list -> [ `Error of error |
> `Ok of unit ] io
>
> into:
>
> exception Unknown of string with sexp
> exception Unimplemented of string with sexp
> exception Disconnected with sexp
>
> type read_error  = [ `Out_of_bounds ] with sexp
> type write_error = [ `Read_only_device | read_error ] with sexp
>
> val read : t -> int64 -> page_aligned_buffer list -> [ `Error of
> read_error | `Ok of unit ] io
> val write: t -> int64 -> page_aligned_buffer list -> [ `Error of
> write_error | `Ok of unit ] io
>
> This is also easier to contract, since a read-only device would simply skip
> the definition of `write_error` and `write`.  We may need to do some
> more exception registration to tell us which module the expression came
> from (need to test that).
>

This sounds sensible to me.

When debugging one of these fatal errors (e.g. 'Disconnected' which means:
someone called 'disconnect' and then tried 'read' or 'write' afterwards) it
would be useful to have more context. For example it would probably be good
to add the device id to the exception so we know which disk it relates to.
This could help us infer that the buggy code is in the FS driver running on
disk 2 and not the irmin backend on disk 1. There might be other useful
context which is more implementation-specific. We could either just log
this to the console or we could encode it up as an Sexp.t and attach that
to the exception too?

Since our top-level function is in the auto generated code:

let () =

  OS.Main.run (join [t1 ()])

For every exception we declare in our interface, should we pre-create a
default exception handler which pretty-prints it? This could also explain
to the unlucky user that this is a bug and should be reported on the issue
tracker?

BTW I've now forked the V1 interfaces into a V2, so feel free to propose
concrete changes as pull requests!

Cheers,
Dave

 >
> > Thoughts? Apologies if this has all been discussed to death before.
>
> Nope! If in doubt, raise an exception thread like this one :-)
>
> > I've did find
> https://lists.cam.ac.uk/pipermail/cl-mirage/2012-March/msg00003.html,
> > which notes that Async doesn't cope with exceptions. Presumably that
> > could be wrapped away, though. It also suggests that there is some
> > problem with Lwt and backtraces, but I'm not sure what the issue is
> > there. These days, OCaml seems to keep track of when exceptions are
> > reraised and indicates this in the backtrace.
>
> Async's model is broadly along the same lines that you propose.  It defines
> a process tree of monitors that catch uncaught exceptions and define local
> behaviour for those.  In the Mirage world, our current flat device
> hierarchy
> would turn into a DSL for generating these monitor trees in the
> autogenerated
> code.
>
> The issue with backtraces is that if you drop into the cooperative thread
> scheduler between (>>=) binds, the sequence of operations that led to the
> function call are thrown away and the backtraces look like ("select ->
> function")
> instead of ("blocking1 -> select -> blocking2 -> select -> function").
>
> Lwt has a syntax extension that registers the current backtrace with
> the backtrace system.  I'm not sure that this is a big problem though,
> as we tend not to rely on backtraces for anything important (instead, the
> value that's thrown is more useful).
>
> Thoughts from others welcome -- I like Thomas' proposal and think that it
> finds the sweet spot between forcing fully generic handling of polymorphic
> variants and throwing exceptions everywhere.
>
> -anil
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>



-- 
Dave Scott

--047d7b5d6596fd547304fdd6958b
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div class=3D"gmail_extra"><br><br><div class=3D"gmail_=
quote">On Thu, Jul 10, 2014 at 11:47 AM, Anil Madhavapeddy <span dir=3D"ltr=
">&lt;<a href=3D"mailto:anil@recoil.org" target=3D"_blank">anil@recoil.org<=
/a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div>On 10 Jul 2014, at 10:01, Thomas Leonard &lt;<a href=
=3D"mailto:talex5@gmail.com" target=3D"_blank">talex5@gmail.com</a>&gt; wro=
te:<br>


&gt;<br>
&gt; I found it awkward too. What&#39;s the rationale behind Mirage&#39;s c=
urrent<br>
&gt; error handling?<br>
<br>
</div>The basic problem with using exceptions is if they are constructed in=
<br>
a functor, they have a different representation across applications of<br>
that functor. =C2=A0Consider:<br>
<br>
exception Catch_me of string<br>
<br>
module A(S:sig val name : string end) =3D struct<br>
=C2=A0 exception Catch_me of string<br>
=C2=A0 let boom () =3D raise (Catch_me S.name)<br>
end<br>
<br>
module X =3D A(struct let name =3D &quot;X&quot; end)<br>
module Y =3D A(struct let name =3D &quot;Y&quot; end)<br>
<br>
let _ =3D<br>
=C2=A0 try Printexc.print X.boom () with _ -&gt; ();<br>
=C2=A0 try Printexc.print Y.boom () with _ -&gt; ();<br>
=C2=A0 try X.boom () with |X.Catch_me x -&gt; print_endline &quot;X.Catch_m=
e&quot;;<br>
=C2=A0 try X.boom () with |Catch_me x -&gt; print_endline &quot;Catch_me&qu=
ot;<br>
<br>
Running this gives us:<br>
<br>
$ ocaml <a href=3D"http://boom.ml" target=3D"_blank">boom.ml</a><br>
Uncaught exception: A(S).Catch_me(&quot;X&quot;)<br>
Uncaught exception: A(S).Catch_me(&quot;Y&quot;)<br>
X.Catch_me<br>
Exception: A(S).Catch_me &quot;X&quot;.<br>
<br>
The first two statements show the exception printer representing the<br>
exception as A(S), which is unhelpful when examining backtraces. This<br>
can be fixed with by registering a custom exception printer.<br>
<br>
The next two statements illustrate how you could go wrong if there<br>
are many similarly named exceptions, since there is no exhaustivity<br>
checking in the exception type. =C2=A0To write a generic function that<br>
catches any Catch_me, I believe you need a `try ... with _ -&gt; ()`<br>
<div><br>
&gt; Using polymorphic variants can be useful as it forces the user to<br>
&gt; handle each possible error case. But that only works if you keep false=
<br>
&gt; positives low.<br>
<br>
</div>The reasoning behind explicit polymorphic variants here was to permit=
<br>
catching one class of error across all the device types:<br>
<br>
module A(S:sig val name : string end) =3D struct<br>
=C2=A0 let boom () =3D `Catch_me S.name<br>
end<br>
<br>
module X =3D A(struct let name =3D &quot;X&quot; end)<br>
module Y =3D A(struct let name =3D &quot;Y&quot; end)<br>
<br>
let catcher rfn fn a =3D fn a |&gt; function `Catch_me r -&gt; rfn r<br>
<br>
let _ =3D<br>
=C2=A0 X.boom () |&gt; function `Catch_me r -&gt; print_endline r;<br>
=C2=A0 Y.boom () |&gt; function `Catch_me r -&gt; print_endline r;<br>
=C2=A0 catcher print_endline X.boom ();<br>
=C2=A0 catcher print_endline Y.boom ()<br>
<br>
Here, the catcher function can be used across both functor<br>
applications (or, in Mirage terms, device drivers).<br>
<br>
However, writing more generic catcher functions that want<br>
to eliminate just one possibility from the variants and<br>
pass the others through is difficult, and leads to gems<br>
such as this from the OCaml-TLS Mirage code:<br>
<br>
type (&#39;a, &#39;e, &#39;c) m =3D<br>
=C2=A0 ([&lt; `Ok of &#39;a | `Error of &#39;e | `Eof ] as &#39;c) Lwt.t<br=
>
<br>
let (&gt;&gt;=3D=3D) (a : (&#39;a, &#39;e, _) m) (f : &#39;a -&gt; (&#39;b,=
 &#39;e, _) m) : (&#39;b, &#39;e, _) m =3D<br>
=C2=A0 a &gt;&gt;=3D function<br>
=C2=A0 | `Ok x =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-&gt;=
 f x<br>
=C2=A0 | `Error _ | `Eof as e -&gt; return e<br>
<div><div><br>
<br>
&gt; An `Unknown can only be logged or displayed, so it would be best to<br=
>
&gt; handle it once in a catch block at the top level, not for every read.<=
br>
&gt; Making the payload be of type exn rather than string would allow code<=
br>
&gt; to handle individual cases if needed (e.g. a remote block device might=
<br>
&gt; return Network_error, indicating that the client should reconnect and<=
br>
&gt; try again).<br>
<br>
&gt; `Unimplemented and `Disconnected presumably indicate bugs. For most<br=
>
&gt; programs, it would only make sense to report them at the top level.<br=
>
&gt;<br>
&gt; `Is_read_only is irrelevant for read operations.<br>
&gt;<br>
&gt; I think it would be simpler if exceptions were used and the type<br>
&gt; signature for read was just:<br>
&gt;<br>
&gt; =C2=A0val read: t -&gt; int64 -&gt; page_aligned_buffer list -&gt; uni=
t io<br>
&gt;<br>
&gt; For write, handling `Is_read_only might make sense, but it still seems=
<br>
&gt; better to me to use an exception. After all, if the device is<br>
&gt; read-only then you can&#39;t get it into a bad state, nor perform any<=
br>
&gt; recovery on it.<br>
<br>
&gt;<br>
&gt;<br>
&gt; In summary, I propose:<br>
&gt;<br>
&gt; - We should separate errors the caller should usually check for vs<br>
&gt; bugs/internal errors.<br>
&gt;<br>
&gt; - Probably exceptions should be thrown in the second case. OCaml<br>
&gt; programs already have to handle exceptions anyway. If not, `Unknown<br=
>
&gt; should at least take an exn payload, not a string (print handlers<br>
&gt; should be registered for any exceptions, of course).<br>
&gt;<br>
&gt; - For cases the caller should check, each function should declare its<=
br>
&gt; own set of errors. DEVICE.read should not return `Is_read_only,<br>
&gt; FS.format should not return `File_already_exists, etc.<br>
<br>
<br>
</div></div>Yes, so by the above guidelines, we might turn this:<br>
<div><br>
type error =3D [<br>
=C2=A0| `Unknown of string (** an undiagnosed error *)<br>
=C2=A0| `Unimplemented =C2=A0 =C2=A0 (** operation not yet implemented in t=
he code *)<br>
=C2=A0| `Is_read_only =C2=A0 =C2=A0 =C2=A0(** you cannot write to a read/on=
ly instance *)<br>
=C2=A0| `Disconnected =C2=A0 =C2=A0 =C2=A0(** the device has been previousl=
y disconnected *)<br>
]<br>
<br>
val read: t -&gt; int64 -&gt; page_aligned_buffer list -&gt; [ `Error of er=
ror | `Ok of unit ] io<br>
</div>val write: t -&gt; int64 -&gt; page_aligned_buffer list -&gt; [ `Erro=
r of error | `Ok of unit ] io<br>
<br>
into:<br>
<br>
exception Unknown of string with sexp<br>
exception Unimplemented of string with sexp<br>
exception Disconnected with sexp<br>
<br>
type read_error =C2=A0=3D [ `Out_of_bounds ] with sexp<br>
type write_error =3D [ `Read_only_device | read_error ] with sexp<br>
<br>
val read : t -&gt; int64 -&gt; page_aligned_buffer list -&gt; [ `Error of r=
ead_error | `Ok of unit ] io<br>
val write: t -&gt; int64 -&gt; page_aligned_buffer list -&gt; [ `Error of w=
rite_error | `Ok of unit ] io<br>
<br>
This is also easier to contract, since a read-only device would simply skip=
<br>
the definition of `write_error` and `write`. =C2=A0We may need to do some<b=
r>
more exception registration to tell us which module the expression came<br>
from (need to test that).<br></blockquote><div><br></div><div>This sounds s=
ensible to me.</div><div><br></div><div>When debugging one of these fatal e=
rrors (e.g. &#39;Disconnected&#39; which means: someone called &#39;disconn=
ect&#39; and then tried &#39;read&#39; or &#39;write&#39; afterwards) it wo=
uld be useful to have more context. For example it would probably be good t=
o add the device id to the exception so we know which disk it relates to. T=
his could help us infer that the buggy code is in the FS driver running on =
disk 2 and not the irmin backend on disk 1. There might be other useful con=
text which is more implementation-specific. We could either just log this t=
o the console or we could encode it up as an Sexp.t and attach that to the =
exception too?</div>

<div><br></div><div>Since our top-level function is in the auto generated c=
ode:</div><div><br></div><div><p style=3D"margin:0px;font-size:12px;font-fa=
mily:Monaco;color:rgb(245,245,245);background-color:rgb(0,0,0)">let () =3D<=
/p>


<p style=3D"margin:0px;font-size:12px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=C2=A0 OS.Main.run (join [t1 ()])</p></di=
v><div><br></div><div>For every exception we declare in our interface, shou=
ld we pre-create a default exception handler which pretty-prints it? This c=
ould also explain to the unlucky user that this is a bug and should be repo=
rted on the issue tracker?</div>

<div><br></div><div>BTW I&#39;ve now forked the V1 interfaces into a V2, so=
 feel free to propose concrete changes as pull requests!</div><div><br></di=
v><div>Cheers,</div><div>Dave</div><div><br></div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-lef=
t-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div>
&gt;<br>
&gt; Thoughts? Apologies if this has all been discussed to death before.<br=
>
<br>
</div>Nope! If in doubt, raise an exception thread like this one :-)<br>
<div><br>
&gt; I&#39;ve did find <a href=3D"https://lists.cam.ac.uk/pipermail/cl-mira=
ge/2012-March/msg00003.html" target=3D"_blank">https://lists.cam.ac.uk/pipe=
rmail/cl-mirage/2012-March/msg00003.html</a>,<br>
&gt; which notes that Async doesn&#39;t cope with exceptions. Presumably th=
at<br>
&gt; could be wrapped away, though. It also suggests that there is some<br>
&gt; problem with Lwt and backtraces, but I&#39;m not sure what the issue i=
s<br>
&gt; there. These days, OCaml seems to keep track of when exceptions are<br=
>
&gt; reraised and indicates this in the backtrace.<br>
<br>
</div>Async&#39;s model is broadly along the same lines that you propose. =
=C2=A0It defines<br>
a process tree of monitors that catch uncaught exceptions and define local<=
br>
behaviour for those. =C2=A0In the Mirage world, our current flat device hie=
rarchy<br>
would turn into a DSL for generating these monitor trees in the autogenerat=
ed<br>
code.<br>
<br>
The issue with backtraces is that if you drop into the cooperative thread<b=
r>
scheduler between (&gt;&gt;=3D) binds, the sequence of operations that led =
to the<br>
function call are thrown away and the backtraces look like (&quot;select -&=
gt; function&quot;)<br>
instead of (&quot;blocking1 -&gt; select -&gt; blocking2 -&gt; select -&gt;=
 function&quot;).<br>
<br>
Lwt has a syntax extension that registers the current backtrace with<br>
the backtrace system. =C2=A0I&#39;m not sure that this is a big problem tho=
ugh,<br>
as we tend not to rely on backtraces for anything important (instead, the<b=
r>
value that&#39;s thrown is more useful).<br>
<br>
Thoughts from others welcome -- I like Thomas&#39; proposal and think that =
it<br>
finds the sweet spot between forcing fully generic handling of polymorphic<=
br>
variants and throwing exceptions everywhere.<br>
<span><font color=3D"#888888"><br>
-anil<br>
</font></span><div><div>_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org" target=3D"_blank">Mi=
rageOS-devel@lists.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Dave Scott
</div></div>

--047d7b5d6596fd547304fdd6958b--


--===============1822092003727083949==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1822092003727083949==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 13:13:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 13:13:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5E9y-0003H1-Jf; Thu, 10 Jul 2014 13:13:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X5E9x-0003Gw-71
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 13:13:13 +0000
Received: from [85.158.137.68:5792] by server-14.bemta-3.messagelabs.com id
	D0/FB-19846-8619EB35; Thu, 10 Jul 2014 13:13:12 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1404997988!15082261!1
X-Originating-IP: [209.85.220.41]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28392 invoked from network); 10 Jul 2014 13:13:10 -0000
Received: from mail-pa0-f41.google.com (HELO mail-pa0-f41.google.com)
	(209.85.220.41)
	by server-2.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	10 Jul 2014 13:13:10 -0000
Received: by mail-pa0-f41.google.com with SMTP id fb1so11109596pad.28
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 06:13:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=CduLqKK9FL7uMmcj6ugqA0zyvTVe2W0RR4/sehHGHvo=;
	b=SHZ1XBWRHYzVegEr1i8gNo1LXXycVDTGwFftN9fMidzJ64o35IKuXRXgrNWiNKjV7X
	67DLMwj1yO1nOmUb5kYudARXTiyT6Y/koDDxeL1i6ahKW1gGTXAzmrTeDYcy3LNb/V2W
	rrr5tEyVOmCYWuhLEon0W+8Kya26jKgQF9z8J0bbQdbpd/MR6eV2y2U4sjPfm/HKFRuT
	cukslWiRwLhdpBHzVcUh8NhaShPPwdoqnLZ/qsojG921hBR/mH6g/xMLPqk8XmJmlAA/
	hBwH35ek/YndwAw/DngWsSXHbBqH42iPWsQBMimYOzVqd6sRAULME1PvzVY1Wx4kB5wH
	NYZA==
MIME-Version: 1.0
X-Received: by 10.68.104.66 with SMTP id gc2mr47373572pbb.17.1404997988076;
	Thu, 10 Jul 2014 06:13:08 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Thu, 10 Jul 2014 06:13:08 -0700 (PDT)
In-Reply-To: <932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
Date: Thu, 10 Jul 2014 14:13:08 +0100
Message-ID: <CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1822092003727083949=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1822092003727083949==
Content-Type: multipart/alternative; boundary=047d7b5d6596fd547304fdd6958b

--047d7b5d6596fd547304fdd6958b
Content-Type: text/plain; charset=UTF-8

Hi,


On Thu, Jul 10, 2014 at 11:47 AM, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 10 Jul 2014, at 10:01, Thomas Leonard <talex5@gmail.com> wrote:
> >
> > I found it awkward too. What's the rationale behind Mirage's current
> > error handling?
>
> The basic problem with using exceptions is if they are constructed in
> a functor, they have a different representation across applications of
> that functor.  Consider:
>
> exception Catch_me of string
>
> module A(S:sig val name : string end) = struct
>   exception Catch_me of string
>   let boom () = raise (Catch_me S.name)
> end
>
> module X = A(struct let name = "X" end)
> module Y = A(struct let name = "Y" end)
>
> let _ =
>   try Printexc.print X.boom () with _ -> ();
>   try Printexc.print Y.boom () with _ -> ();
>   try X.boom () with |X.Catch_me x -> print_endline "X.Catch_me";
>   try X.boom () with |Catch_me x -> print_endline "Catch_me"
>
> Running this gives us:
>
> $ ocaml boom.ml
> Uncaught exception: A(S).Catch_me("X")
> Uncaught exception: A(S).Catch_me("Y")
> X.Catch_me
> Exception: A(S).Catch_me "X".
>
> The first two statements show the exception printer representing the
> exception as A(S), which is unhelpful when examining backtraces. This
> can be fixed with by registering a custom exception printer.
>
> The next two statements illustrate how you could go wrong if there
> are many similarly named exceptions, since there is no exhaustivity
> checking in the exception type.  To write a generic function that
> catches any Catch_me, I believe you need a `try ... with _ -> ()`
>
> > Using polymorphic variants can be useful as it forces the user to
> > handle each possible error case. But that only works if you keep false
> > positives low.
>
> The reasoning behind explicit polymorphic variants here was to permit
> catching one class of error across all the device types:
>
> module A(S:sig val name : string end) = struct
>   let boom () = `Catch_me S.name
> end
>
> module X = A(struct let name = "X" end)
> module Y = A(struct let name = "Y" end)
>
> let catcher rfn fn a = fn a |> function `Catch_me r -> rfn r
>
> let _ =
>   X.boom () |> function `Catch_me r -> print_endline r;
>   Y.boom () |> function `Catch_me r -> print_endline r;
>   catcher print_endline X.boom ();
>   catcher print_endline Y.boom ()
>
> Here, the catcher function can be used across both functor
> applications (or, in Mirage terms, device drivers).
>
> However, writing more generic catcher functions that want
> to eliminate just one possibility from the variants and
> pass the others through is difficult, and leads to gems
> such as this from the OCaml-TLS Mirage code:
>
> type ('a, 'e, 'c) m =
>   ([< `Ok of 'a | `Error of 'e | `Eof ] as 'c) Lwt.t
>
> let (>>==) (a : ('a, 'e, _) m) (f : 'a -> ('b, 'e, _) m) : ('b, 'e, _) m =
>   a >>= function
>   | `Ok x                -> f x
>   | `Error _ | `Eof as e -> return e
>
>
> > An `Unknown can only be logged or displayed, so it would be best to
> > handle it once in a catch block at the top level, not for every read.
> > Making the payload be of type exn rather than string would allow code
> > to handle individual cases if needed (e.g. a remote block device might
> > return Network_error, indicating that the client should reconnect and
> > try again).
>
> > `Unimplemented and `Disconnected presumably indicate bugs. For most
> > programs, it would only make sense to report them at the top level.
> >
> > `Is_read_only is irrelevant for read operations.
> >
> > I think it would be simpler if exceptions were used and the type
> > signature for read was just:
> >
> >  val read: t -> int64 -> page_aligned_buffer list -> unit io
> >
> > For write, handling `Is_read_only might make sense, but it still seems
> > better to me to use an exception. After all, if the device is
> > read-only then you can't get it into a bad state, nor perform any
> > recovery on it.
>
> >
> >
> > In summary, I propose:
> >
> > - We should separate errors the caller should usually check for vs
> > bugs/internal errors.
> >
> > - Probably exceptions should be thrown in the second case. OCaml
> > programs already have to handle exceptions anyway. If not, `Unknown
> > should at least take an exn payload, not a string (print handlers
> > should be registered for any exceptions, of course).
> >
> > - For cases the caller should check, each function should declare its
> > own set of errors. DEVICE.read should not return `Is_read_only,
> > FS.format should not return `File_already_exists, etc.
>
>
> Yes, so by the above guidelines, we might turn this:
>
> type error = [
>  | `Unknown of string (** an undiagnosed error *)
>  | `Unimplemented     (** operation not yet implemented in the code *)
>  | `Is_read_only      (** you cannot write to a read/only instance *)
>  | `Disconnected      (** the device has been previously disconnected *)
> ]
>
> val read: t -> int64 -> page_aligned_buffer list -> [ `Error of error |
> `Ok of unit ] io
> val write: t -> int64 -> page_aligned_buffer list -> [ `Error of error |
> `Ok of unit ] io
>
> into:
>
> exception Unknown of string with sexp
> exception Unimplemented of string with sexp
> exception Disconnected with sexp
>
> type read_error  = [ `Out_of_bounds ] with sexp
> type write_error = [ `Read_only_device | read_error ] with sexp
>
> val read : t -> int64 -> page_aligned_buffer list -> [ `Error of
> read_error | `Ok of unit ] io
> val write: t -> int64 -> page_aligned_buffer list -> [ `Error of
> write_error | `Ok of unit ] io
>
> This is also easier to contract, since a read-only device would simply skip
> the definition of `write_error` and `write`.  We may need to do some
> more exception registration to tell us which module the expression came
> from (need to test that).
>

This sounds sensible to me.

When debugging one of these fatal errors (e.g. 'Disconnected' which means:
someone called 'disconnect' and then tried 'read' or 'write' afterwards) it
would be useful to have more context. For example it would probably be good
to add the device id to the exception so we know which disk it relates to.
This could help us infer that the buggy code is in the FS driver running on
disk 2 and not the irmin backend on disk 1. There might be other useful
context which is more implementation-specific. We could either just log
this to the console or we could encode it up as an Sexp.t and attach that
to the exception too?

Since our top-level function is in the auto generated code:

let () =

  OS.Main.run (join [t1 ()])

For every exception we declare in our interface, should we pre-create a
default exception handler which pretty-prints it? This could also explain
to the unlucky user that this is a bug and should be reported on the issue
tracker?

BTW I've now forked the V1 interfaces into a V2, so feel free to propose
concrete changes as pull requests!

Cheers,
Dave

 >
> > Thoughts? Apologies if this has all been discussed to death before.
>
> Nope! If in doubt, raise an exception thread like this one :-)
>
> > I've did find
> https://lists.cam.ac.uk/pipermail/cl-mirage/2012-March/msg00003.html,
> > which notes that Async doesn't cope with exceptions. Presumably that
> > could be wrapped away, though. It also suggests that there is some
> > problem with Lwt and backtraces, but I'm not sure what the issue is
> > there. These days, OCaml seems to keep track of when exceptions are
> > reraised and indicates this in the backtrace.
>
> Async's model is broadly along the same lines that you propose.  It defines
> a process tree of monitors that catch uncaught exceptions and define local
> behaviour for those.  In the Mirage world, our current flat device
> hierarchy
> would turn into a DSL for generating these monitor trees in the
> autogenerated
> code.
>
> The issue with backtraces is that if you drop into the cooperative thread
> scheduler between (>>=) binds, the sequence of operations that led to the
> function call are thrown away and the backtraces look like ("select ->
> function")
> instead of ("blocking1 -> select -> blocking2 -> select -> function").
>
> Lwt has a syntax extension that registers the current backtrace with
> the backtrace system.  I'm not sure that this is a big problem though,
> as we tend not to rely on backtraces for anything important (instead, the
> value that's thrown is more useful).
>
> Thoughts from others welcome -- I like Thomas' proposal and think that it
> finds the sweet spot between forcing fully generic handling of polymorphic
> variants and throwing exceptions everywhere.
>
> -anil
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>



-- 
Dave Scott

--047d7b5d6596fd547304fdd6958b
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div class=3D"gmail_extra"><br><br><div class=3D"gmail_=
quote">On Thu, Jul 10, 2014 at 11:47 AM, Anil Madhavapeddy <span dir=3D"ltr=
">&lt;<a href=3D"mailto:anil@recoil.org" target=3D"_blank">anil@recoil.org<=
/a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div>On 10 Jul 2014, at 10:01, Thomas Leonard &lt;<a href=
=3D"mailto:talex5@gmail.com" target=3D"_blank">talex5@gmail.com</a>&gt; wro=
te:<br>


&gt;<br>
&gt; I found it awkward too. What&#39;s the rationale behind Mirage&#39;s c=
urrent<br>
&gt; error handling?<br>
<br>
</div>The basic problem with using exceptions is if they are constructed in=
<br>
a functor, they have a different representation across applications of<br>
that functor. =C2=A0Consider:<br>
<br>
exception Catch_me of string<br>
<br>
module A(S:sig val name : string end) =3D struct<br>
=C2=A0 exception Catch_me of string<br>
=C2=A0 let boom () =3D raise (Catch_me S.name)<br>
end<br>
<br>
module X =3D A(struct let name =3D &quot;X&quot; end)<br>
module Y =3D A(struct let name =3D &quot;Y&quot; end)<br>
<br>
let _ =3D<br>
=C2=A0 try Printexc.print X.boom () with _ -&gt; ();<br>
=C2=A0 try Printexc.print Y.boom () with _ -&gt; ();<br>
=C2=A0 try X.boom () with |X.Catch_me x -&gt; print_endline &quot;X.Catch_m=
e&quot;;<br>
=C2=A0 try X.boom () with |Catch_me x -&gt; print_endline &quot;Catch_me&qu=
ot;<br>
<br>
Running this gives us:<br>
<br>
$ ocaml <a href=3D"http://boom.ml" target=3D"_blank">boom.ml</a><br>
Uncaught exception: A(S).Catch_me(&quot;X&quot;)<br>
Uncaught exception: A(S).Catch_me(&quot;Y&quot;)<br>
X.Catch_me<br>
Exception: A(S).Catch_me &quot;X&quot;.<br>
<br>
The first two statements show the exception printer representing the<br>
exception as A(S), which is unhelpful when examining backtraces. This<br>
can be fixed with by registering a custom exception printer.<br>
<br>
The next two statements illustrate how you could go wrong if there<br>
are many similarly named exceptions, since there is no exhaustivity<br>
checking in the exception type. =C2=A0To write a generic function that<br>
catches any Catch_me, I believe you need a `try ... with _ -&gt; ()`<br>
<div><br>
&gt; Using polymorphic variants can be useful as it forces the user to<br>
&gt; handle each possible error case. But that only works if you keep false=
<br>
&gt; positives low.<br>
<br>
</div>The reasoning behind explicit polymorphic variants here was to permit=
<br>
catching one class of error across all the device types:<br>
<br>
module A(S:sig val name : string end) =3D struct<br>
=C2=A0 let boom () =3D `Catch_me S.name<br>
end<br>
<br>
module X =3D A(struct let name =3D &quot;X&quot; end)<br>
module Y =3D A(struct let name =3D &quot;Y&quot; end)<br>
<br>
let catcher rfn fn a =3D fn a |&gt; function `Catch_me r -&gt; rfn r<br>
<br>
let _ =3D<br>
=C2=A0 X.boom () |&gt; function `Catch_me r -&gt; print_endline r;<br>
=C2=A0 Y.boom () |&gt; function `Catch_me r -&gt; print_endline r;<br>
=C2=A0 catcher print_endline X.boom ();<br>
=C2=A0 catcher print_endline Y.boom ()<br>
<br>
Here, the catcher function can be used across both functor<br>
applications (or, in Mirage terms, device drivers).<br>
<br>
However, writing more generic catcher functions that want<br>
to eliminate just one possibility from the variants and<br>
pass the others through is difficult, and leads to gems<br>
such as this from the OCaml-TLS Mirage code:<br>
<br>
type (&#39;a, &#39;e, &#39;c) m =3D<br>
=C2=A0 ([&lt; `Ok of &#39;a | `Error of &#39;e | `Eof ] as &#39;c) Lwt.t<br=
>
<br>
let (&gt;&gt;=3D=3D) (a : (&#39;a, &#39;e, _) m) (f : &#39;a -&gt; (&#39;b,=
 &#39;e, _) m) : (&#39;b, &#39;e, _) m =3D<br>
=C2=A0 a &gt;&gt;=3D function<br>
=C2=A0 | `Ok x =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-&gt;=
 f x<br>
=C2=A0 | `Error _ | `Eof as e -&gt; return e<br>
<div><div><br>
<br>
&gt; An `Unknown can only be logged or displayed, so it would be best to<br=
>
&gt; handle it once in a catch block at the top level, not for every read.<=
br>
&gt; Making the payload be of type exn rather than string would allow code<=
br>
&gt; to handle individual cases if needed (e.g. a remote block device might=
<br>
&gt; return Network_error, indicating that the client should reconnect and<=
br>
&gt; try again).<br>
<br>
&gt; `Unimplemented and `Disconnected presumably indicate bugs. For most<br=
>
&gt; programs, it would only make sense to report them at the top level.<br=
>
&gt;<br>
&gt; `Is_read_only is irrelevant for read operations.<br>
&gt;<br>
&gt; I think it would be simpler if exceptions were used and the type<br>
&gt; signature for read was just:<br>
&gt;<br>
&gt; =C2=A0val read: t -&gt; int64 -&gt; page_aligned_buffer list -&gt; uni=
t io<br>
&gt;<br>
&gt; For write, handling `Is_read_only might make sense, but it still seems=
<br>
&gt; better to me to use an exception. After all, if the device is<br>
&gt; read-only then you can&#39;t get it into a bad state, nor perform any<=
br>
&gt; recovery on it.<br>
<br>
&gt;<br>
&gt;<br>
&gt; In summary, I propose:<br>
&gt;<br>
&gt; - We should separate errors the caller should usually check for vs<br>
&gt; bugs/internal errors.<br>
&gt;<br>
&gt; - Probably exceptions should be thrown in the second case. OCaml<br>
&gt; programs already have to handle exceptions anyway. If not, `Unknown<br=
>
&gt; should at least take an exn payload, not a string (print handlers<br>
&gt; should be registered for any exceptions, of course).<br>
&gt;<br>
&gt; - For cases the caller should check, each function should declare its<=
br>
&gt; own set of errors. DEVICE.read should not return `Is_read_only,<br>
&gt; FS.format should not return `File_already_exists, etc.<br>
<br>
<br>
</div></div>Yes, so by the above guidelines, we might turn this:<br>
<div><br>
type error =3D [<br>
=C2=A0| `Unknown of string (** an undiagnosed error *)<br>
=C2=A0| `Unimplemented =C2=A0 =C2=A0 (** operation not yet implemented in t=
he code *)<br>
=C2=A0| `Is_read_only =C2=A0 =C2=A0 =C2=A0(** you cannot write to a read/on=
ly instance *)<br>
=C2=A0| `Disconnected =C2=A0 =C2=A0 =C2=A0(** the device has been previousl=
y disconnected *)<br>
]<br>
<br>
val read: t -&gt; int64 -&gt; page_aligned_buffer list -&gt; [ `Error of er=
ror | `Ok of unit ] io<br>
</div>val write: t -&gt; int64 -&gt; page_aligned_buffer list -&gt; [ `Erro=
r of error | `Ok of unit ] io<br>
<br>
into:<br>
<br>
exception Unknown of string with sexp<br>
exception Unimplemented of string with sexp<br>
exception Disconnected with sexp<br>
<br>
type read_error =C2=A0=3D [ `Out_of_bounds ] with sexp<br>
type write_error =3D [ `Read_only_device | read_error ] with sexp<br>
<br>
val read : t -&gt; int64 -&gt; page_aligned_buffer list -&gt; [ `Error of r=
ead_error | `Ok of unit ] io<br>
val write: t -&gt; int64 -&gt; page_aligned_buffer list -&gt; [ `Error of w=
rite_error | `Ok of unit ] io<br>
<br>
This is also easier to contract, since a read-only device would simply skip=
<br>
the definition of `write_error` and `write`. =C2=A0We may need to do some<b=
r>
more exception registration to tell us which module the expression came<br>
from (need to test that).<br></blockquote><div><br></div><div>This sounds s=
ensible to me.</div><div><br></div><div>When debugging one of these fatal e=
rrors (e.g. &#39;Disconnected&#39; which means: someone called &#39;disconn=
ect&#39; and then tried &#39;read&#39; or &#39;write&#39; afterwards) it wo=
uld be useful to have more context. For example it would probably be good t=
o add the device id to the exception so we know which disk it relates to. T=
his could help us infer that the buggy code is in the FS driver running on =
disk 2 and not the irmin backend on disk 1. There might be other useful con=
text which is more implementation-specific. We could either just log this t=
o the console or we could encode it up as an Sexp.t and attach that to the =
exception too?</div>

<div><br></div><div>Since our top-level function is in the auto generated c=
ode:</div><div><br></div><div><p style=3D"margin:0px;font-size:12px;font-fa=
mily:Monaco;color:rgb(245,245,245);background-color:rgb(0,0,0)">let () =3D<=
/p>


<p style=3D"margin:0px;font-size:12px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=C2=A0 OS.Main.run (join [t1 ()])</p></di=
v><div><br></div><div>For every exception we declare in our interface, shou=
ld we pre-create a default exception handler which pretty-prints it? This c=
ould also explain to the unlucky user that this is a bug and should be repo=
rted on the issue tracker?</div>

<div><br></div><div>BTW I&#39;ve now forked the V1 interfaces into a V2, so=
 feel free to propose concrete changes as pull requests!</div><div><br></di=
v><div>Cheers,</div><div>Dave</div><div><br></div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-lef=
t-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div>
&gt;<br>
&gt; Thoughts? Apologies if this has all been discussed to death before.<br=
>
<br>
</div>Nope! If in doubt, raise an exception thread like this one :-)<br>
<div><br>
&gt; I&#39;ve did find <a href=3D"https://lists.cam.ac.uk/pipermail/cl-mira=
ge/2012-March/msg00003.html" target=3D"_blank">https://lists.cam.ac.uk/pipe=
rmail/cl-mirage/2012-March/msg00003.html</a>,<br>
&gt; which notes that Async doesn&#39;t cope with exceptions. Presumably th=
at<br>
&gt; could be wrapped away, though. It also suggests that there is some<br>
&gt; problem with Lwt and backtraces, but I&#39;m not sure what the issue i=
s<br>
&gt; there. These days, OCaml seems to keep track of when exceptions are<br=
>
&gt; reraised and indicates this in the backtrace.<br>
<br>
</div>Async&#39;s model is broadly along the same lines that you propose. =
=C2=A0It defines<br>
a process tree of monitors that catch uncaught exceptions and define local<=
br>
behaviour for those. =C2=A0In the Mirage world, our current flat device hie=
rarchy<br>
would turn into a DSL for generating these monitor trees in the autogenerat=
ed<br>
code.<br>
<br>
The issue with backtraces is that if you drop into the cooperative thread<b=
r>
scheduler between (&gt;&gt;=3D) binds, the sequence of operations that led =
to the<br>
function call are thrown away and the backtraces look like (&quot;select -&=
gt; function&quot;)<br>
instead of (&quot;blocking1 -&gt; select -&gt; blocking2 -&gt; select -&gt;=
 function&quot;).<br>
<br>
Lwt has a syntax extension that registers the current backtrace with<br>
the backtrace system. =C2=A0I&#39;m not sure that this is a big problem tho=
ugh,<br>
as we tend not to rely on backtraces for anything important (instead, the<b=
r>
value that&#39;s thrown is more useful).<br>
<br>
Thoughts from others welcome -- I like Thomas&#39; proposal and think that =
it<br>
finds the sweet spot between forcing fully generic handling of polymorphic<=
br>
variants and throwing exceptions everywhere.<br>
<span><font color=3D"#888888"><br>
-anil<br>
</font></span><div><div>_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org" target=3D"_blank">Mi=
rageOS-devel@lists.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Dave Scott
</div></div>

--047d7b5d6596fd547304fdd6958b--


--===============1822092003727083949==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1822092003727083949==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:30:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:30:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5FMl-0005VE-Cp; Thu, 10 Jul 2014 14:30:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5FMj-0005Ut-LE
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:30:29 +0000
Received: from [85.158.139.211:54763] by server-8.bemta-5.messagelabs.com id
	39/E8-27672-483AEB35; Thu, 10 Jul 2014 14:30:28 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-206.messagelabs.com!1405002628!9490549!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30285 invoked from network); 10 Jul 2014 14:30:28 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-206.messagelabs.com with SMTP;
	10 Jul 2014 14:30:28 -0000
Received: (qmail 9162 invoked by uid 634); 10 Jul 2014 14:30:27 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-212-230.in-addr.btopenworld.com (HELO [10.0.1.39])
	(81.149.212.230)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 10 Jul 2014 15:30:27 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
Date: Thu, 10 Jul 2014 15:30:04 +0100
Message-Id: <5351991B-5233-4A03-9CDB-CA07E1FE9C20@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 10 Jul 2014, at 14:13, David Scott <scott.dj@gmail.com> wrote:

> This sounds sensible to me.
> 
> When debugging one of these fatal errors (e.g. 'Disconnected' which means: someone called 'disconnect' and then tried 'read' or 'write' afterwards) it would be useful to have more context. For example it would probably be good to add the device id to the exception so we know which disk it relates to. This could help us infer that the buggy code is in the FS driver running on disk 2 and not the irmin backend on disk 1. There might be other useful context which is more implementation-specific. We could either just log this to the console or we could encode it up as an Sexp.t and attach that to the exception too?

We need to be a little careful with adding the device `id` into the exception, as it's abstract in the module type and can vary by device.  But I guess this is moot with exceptions -- if you're specifically catching and deconstructing it, you know the type of id since you caught it outside of a _.

> Since our top-level function is in the auto generated code:
> 
> let () =
>   OS.Main.run (join [t1 ()])
> 
> For every exception we declare in our interface, should we pre-create a default exception handler which pretty-prints it? This could also explain to the unlucky user that this is a bug and should be reported on the issue tracker?

It would be nice if every `job` that was registered would act as a monitor for its top-level exceptions.  An exception leaking up to one job shouldn't kill another one even if they're running in the same unikernel.


> BTW I've now forked the V1 interfaces into a V2, so feel free to propose concrete changes as pull requests!

Excellent!

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:30:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:30:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5FMl-0005VE-Cp; Thu, 10 Jul 2014 14:30:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5FMj-0005Ut-LE
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:30:29 +0000
Received: from [85.158.139.211:54763] by server-8.bemta-5.messagelabs.com id
	39/E8-27672-483AEB35; Thu, 10 Jul 2014 14:30:28 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-206.messagelabs.com!1405002628!9490549!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30285 invoked from network); 10 Jul 2014 14:30:28 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-206.messagelabs.com with SMTP;
	10 Jul 2014 14:30:28 -0000
Received: (qmail 9162 invoked by uid 634); 10 Jul 2014 14:30:27 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-212-230.in-addr.btopenworld.com (HELO [10.0.1.39])
	(81.149.212.230)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 10 Jul 2014 15:30:27 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
Date: Thu, 10 Jul 2014 15:30:04 +0100
Message-Id: <5351991B-5233-4A03-9CDB-CA07E1FE9C20@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 10 Jul 2014, at 14:13, David Scott <scott.dj@gmail.com> wrote:

> This sounds sensible to me.
> 
> When debugging one of these fatal errors (e.g. 'Disconnected' which means: someone called 'disconnect' and then tried 'read' or 'write' afterwards) it would be useful to have more context. For example it would probably be good to add the device id to the exception so we know which disk it relates to. This could help us infer that the buggy code is in the FS driver running on disk 2 and not the irmin backend on disk 1. There might be other useful context which is more implementation-specific. We could either just log this to the console or we could encode it up as an Sexp.t and attach that to the exception too?

We need to be a little careful with adding the device `id` into the exception, as it's abstract in the module type and can vary by device.  But I guess this is moot with exceptions -- if you're specifically catching and deconstructing it, you know the type of id since you caught it outside of a _.

> Since our top-level function is in the auto generated code:
> 
> let () =
>   OS.Main.run (join [t1 ()])
> 
> For every exception we declare in our interface, should we pre-create a default exception handler which pretty-prints it? This could also explain to the unlucky user that this is a bug and should be reported on the issue tracker?

It would be nice if every `job` that was registered would act as a monitor for its top-level exceptions.  An exception leaking up to one job shouldn't kill another one even if they're running in the same unikernel.


> BTW I've now forked the V1 interfaces into a V2, so feel free to propose concrete changes as pull requests!

Excellent!

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:40:53 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5FWm-0007Yc-88; Thu, 10 Jul 2014 14:40:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5FWj-0007YV-S5
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:40:49 +0000
Received: from [85.158.139.211:29016] by server-7.bemta-5.messagelabs.com id
	61/74-03657-1F5AEB35; Thu, 10 Jul 2014 14:40:49 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-14.tower-206.messagelabs.com!1405003248!9404146!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19694 invoked from network); 10 Jul 2014 14:40:48 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-14.tower-206.messagelabs.com with SMTP;
	10 Jul 2014 14:40:48 -0000
Received: (qmail 8292 invoked by uid 634); 10 Jul 2014 14:40:47 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-212-230.in-addr.btopenworld.com (HELO [10.0.1.39])
	(81.149.212.230)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 10 Jul 2014 15:40:47 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <0CA47AA1C6DB4928A90105732B26FA2F@erratique.ch>
Date: Thu, 10 Jul 2014 15:40:45 +0100
Message-Id: <D2DD4E71-54A9-4D38-8755-630FCB62D014@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<0CA47AA1C6DB4928A90105732B26FA2F@erratique.ch>
To: =?iso-8859-1?Q?Daniel_B=FCnzli?= <daniel.buenzli@erratique.ch>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 10 Jul 2014, at 12:17, Daniel B=FCnzli <daniel.buenzli@erratique.ch> wro=
te:

> =

> Le jeudi, 10 juillet 2014 =E0 11:47, Anil Madhavapeddy a =E9crit :
> =

>> Thoughts from others welcome -- I like Thomas' proposal and think that it
>> finds the sweet spot between forcing fully generic handling of polymorph=
ic
>> variants and throwing exceptions everywhere.
> =

> If these exceptions are not supposed to be catched except at the toplevel=
 (i.e are really *exceptional*) the proposal is the right design according =
to my book.

I think that's right. There's no sensible way to handle an unknown error.  =
Some of them, such as Unimplemented, could be caught locally in theory, but=
 in practise it's quite surprising if you're using a device that simply has=
n't implemented the featureset you want.

>  =

> =

> Just one thing, the other exceptions you defined are very clear by readin=
g them but this one is suspicious:
> =

>    exception Unknown of string with sexp
> =

> What's the exact use case for that one ?  =

> =

> * API misuse by a client ? that should be Invalid_argument
> * Internal error ? that should be an Assert_error  =


This was a catch-all from when it was a polymorphic variant, and so I agree=
 that it isn't needed any more.

That's an interesting point though -- is it better to use Pervasives.Invali=
d_argument, or define a local Invalid_argument?  The only bad implication I=
 can think of using the Pervasives one is that you might accidentally catch=
 one that is rippling up from a deeply nested source, which wouldn't happen=
 if every defines their own exception values.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:40:53 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5FWm-0007Yc-88; Thu, 10 Jul 2014 14:40:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5FWj-0007YV-S5
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:40:49 +0000
Received: from [85.158.139.211:29016] by server-7.bemta-5.messagelabs.com id
	61/74-03657-1F5AEB35; Thu, 10 Jul 2014 14:40:49 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-14.tower-206.messagelabs.com!1405003248!9404146!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19694 invoked from network); 10 Jul 2014 14:40:48 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-14.tower-206.messagelabs.com with SMTP;
	10 Jul 2014 14:40:48 -0000
Received: (qmail 8292 invoked by uid 634); 10 Jul 2014 14:40:47 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-212-230.in-addr.btopenworld.com (HELO [10.0.1.39])
	(81.149.212.230)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 10 Jul 2014 15:40:47 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <0CA47AA1C6DB4928A90105732B26FA2F@erratique.ch>
Date: Thu, 10 Jul 2014 15:40:45 +0100
Message-Id: <D2DD4E71-54A9-4D38-8755-630FCB62D014@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<0CA47AA1C6DB4928A90105732B26FA2F@erratique.ch>
To: =?iso-8859-1?Q?Daniel_B=FCnzli?= <daniel.buenzli@erratique.ch>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 10 Jul 2014, at 12:17, Daniel B=FCnzli <daniel.buenzli@erratique.ch> wro=
te:

> =

> Le jeudi, 10 juillet 2014 =E0 11:47, Anil Madhavapeddy a =E9crit :
> =

>> Thoughts from others welcome -- I like Thomas' proposal and think that it
>> finds the sweet spot between forcing fully generic handling of polymorph=
ic
>> variants and throwing exceptions everywhere.
> =

> If these exceptions are not supposed to be catched except at the toplevel=
 (i.e are really *exceptional*) the proposal is the right design according =
to my book.

I think that's right. There's no sensible way to handle an unknown error.  =
Some of them, such as Unimplemented, could be caught locally in theory, but=
 in practise it's quite surprising if you're using a device that simply has=
n't implemented the featureset you want.

>  =

> =

> Just one thing, the other exceptions you defined are very clear by readin=
g them but this one is suspicious:
> =

>    exception Unknown of string with sexp
> =

> What's the exact use case for that one ?  =

> =

> * API misuse by a client ? that should be Invalid_argument
> * Internal error ? that should be an Assert_error  =


This was a catch-all from when it was a polymorphic variant, and so I agree=
 that it isn't needed any more.

That's an interesting point though -- is it better to use Pervasives.Invali=
d_argument, or define a local Invalid_argument?  The only bad implication I=
 can think of using the Pervasives one is that you might accidentally catch=
 one that is rippling up from a deeply nested source, which wouldn't happen=
 if every defines their own exception values.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:43:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:43:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5FZj-0007bh-Jd; Thu, 10 Jul 2014 14:43:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X5FZi-0007bb-A3
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:43:54 +0000
Received: from [193.109.254.147:60052] by server-10.bemta-14.messagelabs.com
	id BB/F8-01431-9A6AEB35; Thu, 10 Jul 2014 14:43:53 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-15.tower-27.messagelabs.com!1405003431!16692577!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.7 required=7.0 tests=BODY_RANDOM_LONG,
	MIME_QP_LONG_LINE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23038 invoked from network); 10 Jul 2014 14:43:51 -0000
Received: from engine03-20433-8.icritical.com (HELO
	engine03-20433-8.icritical.com) (93.159.202.52)
	by server-15.tower-27.messagelabs.com with SMTP;
	10 Jul 2014 14:43:51 -0000
Received: (qmail 21912 invoked from network); 10 Jul 2014 14:42:20 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-8.icritical.com with SMTP; 10 Jul 2014 14:42:20 -0000
Received: from engine03-20433-8.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-8.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 21099-09 for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 15:42:20 +0100 (BST)
Received: (qmail 18472 invoked by uid 599); 10 Jul 2014 14:41:01 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-8.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 10 Jul 2014 15:41:01 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X5FVZ-0008W9-Tx; Thu, 10 Jul 2014 15:39:38 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Anil Madhavapeddy <anil@recoil.org>
Date: Thu, 10 Jul 2014 15:39:37 +0100
Thread-Topic: [MirageOS-devel] Error handling in Mirage
Thread-Index: Ac+cTMVGeavHq57+TU+FSMtaRfhFfQ==
Message-ID: <8525A8EE-1834-426B-AA40-7FE51A6B3BBE@UniofNottm.mail.onmicrosoft.com>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
	<5351991B-5233-4A03-9CDB-CA07E1FE9C20@recoil.org>
In-Reply-To: <5351991B-5233-4A03-9CDB-CA07E1FE9C20@recoil.org>
Accept-Language: en-US, en-GB
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine03-20433-8.icritical.com
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Would it make sense to enforce that there's a pretty printer or sexp representation or something for those abstract types, in the interests of debuggability? That would deal with the abstract type of id etc. Wouldn't it?

--  
Cheers,

R.



> On 10 Jul 2014, at 15:34, "Anil Madhavapeddy" <anil@recoil.org> wrote:
> 
>> On 10 Jul 2014, at 14:13, David Scott <scott.dj@gmail.com> wrote:
>> 
>> This sounds sensible to me.
>> 
>> When debugging one of these fatal errors (e.g. 'Disconnected' which means: someone called 'disconnect' and then tried 'read' or 'write' afterwards) it would be useful to have more context. For example it would probably be good to add the device id to the exception so we know which disk it relates to. This could help us infer that the buggy code is in the FS driver running on disk 2 and not the irmin backend on disk 1. There might be other useful context which is more implementation-specific. We could either just log this to the console or we could encode it up as an Sexp.t and attach that to the exception too?
> 
> We need to be a little careful with adding the device `id` into the exception, as it's abstract in the module type and can vary by device.  But I guess this is moot with exceptions -- if you're specifically catching and deconstructing it, you know the type of id since you caught it outside of a _.
> 
>> Since our top-level function is in the auto generated code:
>> 
>> let () =
>>  OS.Main.run (join [t1 ()])
>> 
>> For every exception we declare in our interface, should we pre-create a default exception handler which pretty-prints it? This could also explain to the unlucky user that this is a bug and should be reported on the issue tracker?
> 
> It would be nice if every `job` that was registered would act as a monitor for its top-level exceptions.  An exception leaking up to one job shouldn't kill another one even if they're running in the same unikernel.
> 
> 
>> BTW I've now forked the V1 interfaces into a V2, so feel free to propose concrete changes as pull requests!
> 
> Excellent!
> 
> -anil
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:43:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:43:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5FZj-0007bh-Jd; Thu, 10 Jul 2014 14:43:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X5FZi-0007bb-A3
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:43:54 +0000
Received: from [193.109.254.147:60052] by server-10.bemta-14.messagelabs.com
	id BB/F8-01431-9A6AEB35; Thu, 10 Jul 2014 14:43:53 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-15.tower-27.messagelabs.com!1405003431!16692577!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.7 required=7.0 tests=BODY_RANDOM_LONG,
	MIME_QP_LONG_LINE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23038 invoked from network); 10 Jul 2014 14:43:51 -0000
Received: from engine03-20433-8.icritical.com (HELO
	engine03-20433-8.icritical.com) (93.159.202.52)
	by server-15.tower-27.messagelabs.com with SMTP;
	10 Jul 2014 14:43:51 -0000
Received: (qmail 21912 invoked from network); 10 Jul 2014 14:42:20 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-8.icritical.com with SMTP; 10 Jul 2014 14:42:20 -0000
Received: from engine03-20433-8.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-8.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 21099-09 for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 15:42:20 +0100 (BST)
Received: (qmail 18472 invoked by uid 599); 10 Jul 2014 14:41:01 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-8.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 10 Jul 2014 15:41:01 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X5FVZ-0008W9-Tx; Thu, 10 Jul 2014 15:39:38 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Anil Madhavapeddy <anil@recoil.org>
Date: Thu, 10 Jul 2014 15:39:37 +0100
Thread-Topic: [MirageOS-devel] Error handling in Mirage
Thread-Index: Ac+cTMVGeavHq57+TU+FSMtaRfhFfQ==
Message-ID: <8525A8EE-1834-426B-AA40-7FE51A6B3BBE@UniofNottm.mail.onmicrosoft.com>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
	<5351991B-5233-4A03-9CDB-CA07E1FE9C20@recoil.org>
In-Reply-To: <5351991B-5233-4A03-9CDB-CA07E1FE9C20@recoil.org>
Accept-Language: en-US, en-GB
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine03-20433-8.icritical.com
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Would it make sense to enforce that there's a pretty printer or sexp representation or something for those abstract types, in the interests of debuggability? That would deal with the abstract type of id etc. Wouldn't it?

--  
Cheers,

R.



> On 10 Jul 2014, at 15:34, "Anil Madhavapeddy" <anil@recoil.org> wrote:
> 
>> On 10 Jul 2014, at 14:13, David Scott <scott.dj@gmail.com> wrote:
>> 
>> This sounds sensible to me.
>> 
>> When debugging one of these fatal errors (e.g. 'Disconnected' which means: someone called 'disconnect' and then tried 'read' or 'write' afterwards) it would be useful to have more context. For example it would probably be good to add the device id to the exception so we know which disk it relates to. This could help us infer that the buggy code is in the FS driver running on disk 2 and not the irmin backend on disk 1. There might be other useful context which is more implementation-specific. We could either just log this to the console or we could encode it up as an Sexp.t and attach that to the exception too?
> 
> We need to be a little careful with adding the device `id` into the exception, as it's abstract in the module type and can vary by device.  But I guess this is moot with exceptions -- if you're specifically catching and deconstructing it, you know the type of id since you caught it outside of a _.
> 
>> Since our top-level function is in the auto generated code:
>> 
>> let () =
>>  OS.Main.run (join [t1 ()])
>> 
>> For every exception we declare in our interface, should we pre-create a default exception handler which pretty-prints it? This could also explain to the unlucky user that this is a bug and should be reported on the issue tracker?
> 
> It would be nice if every `job` that was registered would act as a monitor for its top-level exceptions.  An exception leaking up to one job shouldn't kill another one even if they're running in the same unikernel.
> 
> 
>> BTW I've now forked the V1 interfaces into a V2, so feel free to propose concrete changes as pull requests!
> 
> Excellent!
> 
> -anil
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:48:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:48:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5FeU-0007y3-IU; Thu, 10 Jul 2014 14:48:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5FeS-0007xa-Ii
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:48:48 +0000
Received: from [85.158.143.35:61707] by server-3.bemta-4.messagelabs.com id
	10/90-16194-FC7AEB35; Thu, 10 Jul 2014 14:48:47 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1405003726!13681122!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8654 invoked from network); 10 Jul 2014 14:48:47 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-21.messagelabs.com with SMTP;
	10 Jul 2014 14:48:47 -0000
Received: (qmail 7493 invoked by uid 634); 10 Jul 2014 14:48:46 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-212-230.in-addr.btopenworld.com (HELO [10.0.1.39])
	(81.149.212.230)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 10 Jul 2014 15:48:42 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <8525A8EE-1834-426B-AA40-7FE51A6B3BBE@UniofNottm.mail.onmicrosoft.com>
Date: Thu, 10 Jul 2014 15:48:40 +0100
Message-Id: <A394F9BA-3483-44C0-8197-710EC692F596@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
	<5351991B-5233-4A03-9CDB-CA07E1FE9C20@recoil.org>
	<8525A8EE-1834-426B-AA40-7FE51A6B3BBE@UniofNottm.mail.onmicrosoft.com>
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Yes, every interface will expose a `with sexp` representation to permit it to be converted into a stable serialized form.

-anil

On 10 Jul 2014, at 15:39, Richard Mortier <Richard.Mortier@nottingham.ac.uk> wrote:

> Would it make sense to enforce that there's a pretty printer or sexp representation or something for those abstract types, in the interests of debuggability? That would deal with the abstract type of id etc. Wouldn't it?
> 
> --  
> Cheers,
> 
> R.
> 
> 
> 
>> On 10 Jul 2014, at 15:34, "Anil Madhavapeddy" <anil@recoil.org> wrote:
>> 
>>> On 10 Jul 2014, at 14:13, David Scott <scott.dj@gmail.com> wrote:
>>> 
>>> This sounds sensible to me.
>>> 
>>> When debugging one of these fatal errors (e.g. 'Disconnected' which means: someone called 'disconnect' and then tried 'read' or 'write' afterwards) it would be useful to have more context. For example it would probably be good to add the device id to the exception so we know which disk it relates to. This could help us infer that the buggy code is in the FS driver running on disk 2 and not the irmin backend on disk 1. There might be other useful context which is more implementation-specific. We could either just log this to the console or we could encode it up as an Sexp.t and attach that to the exception too?
>> 
>> We need to be a little careful with adding the device `id` into the exception, as it's abstract in the module type and can vary by device.  But I guess this is moot with exceptions -- if you're specifically catching and deconstructing it, you know the type of id since you caught it outside of a _.
>> 
>>> Since our top-level function is in the auto generated code:
>>> 
>>> let () =
>>> OS.Main.run (join [t1 ()])
>>> 
>>> For every exception we declare in our interface, should we pre-create a default exception handler which pretty-prints it? This could also explain to the unlucky user that this is a bug and should be reported on the issue tracker?
>> 
>> It would be nice if every `job` that was registered would act as a monitor for its top-level exceptions.  An exception leaking up to one job shouldn't kill another one even if they're running in the same unikernel.
>> 
>> 
>>> BTW I've now forked the V1 interfaces into a V2, so feel free to propose concrete changes as pull requests!
>> 
>> Excellent!
>> 
>> -anil
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
> 
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
> 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:48:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:48:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5FeU-0007y3-IU; Thu, 10 Jul 2014 14:48:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5FeS-0007xa-Ii
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:48:48 +0000
Received: from [85.158.143.35:61707] by server-3.bemta-4.messagelabs.com id
	10/90-16194-FC7AEB35; Thu, 10 Jul 2014 14:48:47 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1405003726!13681122!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8654 invoked from network); 10 Jul 2014 14:48:47 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-21.messagelabs.com with SMTP;
	10 Jul 2014 14:48:47 -0000
Received: (qmail 7493 invoked by uid 634); 10 Jul 2014 14:48:46 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host81-149-212-230.in-addr.btopenworld.com (HELO [10.0.1.39])
	(81.149.212.230)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 10 Jul 2014 15:48:42 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <8525A8EE-1834-426B-AA40-7FE51A6B3BBE@UniofNottm.mail.onmicrosoft.com>
Date: Thu, 10 Jul 2014 15:48:40 +0100
Message-Id: <A394F9BA-3483-44C0-8197-710EC692F596@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<CAG_esB3msWZT=sEWWMDNY27MoWjc6ryZPAgXXKkxrZn_1_2mGg@mail.gmail.com>
	<5351991B-5233-4A03-9CDB-CA07E1FE9C20@recoil.org>
	<8525A8EE-1834-426B-AA40-7FE51A6B3BBE@UniofNottm.mail.onmicrosoft.com>
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Yes, every interface will expose a `with sexp` representation to permit it to be converted into a stable serialized form.

-anil

On 10 Jul 2014, at 15:39, Richard Mortier <Richard.Mortier@nottingham.ac.uk> wrote:

> Would it make sense to enforce that there's a pretty printer or sexp representation or something for those abstract types, in the interests of debuggability? That would deal with the abstract type of id etc. Wouldn't it?
> 
> --  
> Cheers,
> 
> R.
> 
> 
> 
>> On 10 Jul 2014, at 15:34, "Anil Madhavapeddy" <anil@recoil.org> wrote:
>> 
>>> On 10 Jul 2014, at 14:13, David Scott <scott.dj@gmail.com> wrote:
>>> 
>>> This sounds sensible to me.
>>> 
>>> When debugging one of these fatal errors (e.g. 'Disconnected' which means: someone called 'disconnect' and then tried 'read' or 'write' afterwards) it would be useful to have more context. For example it would probably be good to add the device id to the exception so we know which disk it relates to. This could help us infer that the buggy code is in the FS driver running on disk 2 and not the irmin backend on disk 1. There might be other useful context which is more implementation-specific. We could either just log this to the console or we could encode it up as an Sexp.t and attach that to the exception too?
>> 
>> We need to be a little careful with adding the device `id` into the exception, as it's abstract in the module type and can vary by device.  But I guess this is moot with exceptions -- if you're specifically catching and deconstructing it, you know the type of id since you caught it outside of a _.
>> 
>>> Since our top-level function is in the auto generated code:
>>> 
>>> let () =
>>> OS.Main.run (join [t1 ()])
>>> 
>>> For every exception we declare in our interface, should we pre-create a default exception handler which pretty-prints it? This could also explain to the unlucky user that this is a bug and should be reported on the issue tracker?
>> 
>> It would be nice if every `job` that was registered would act as a monitor for its top-level exceptions.  An exception leaking up to one job shouldn't kill another one even if they're running in the same unikernel.
>> 
>> 
>>> BTW I've now forked the V1 interfaces into a V2, so feel free to propose concrete changes as pull requests!
>> 
>> Excellent!
>> 
>> -anil
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
> 
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
> 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:59:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5Fp7-0000Z3-Jp; Thu, 10 Jul 2014 14:59:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <daniel.buenzli@erratique.ch>) id 1X5Fp6-0000Yk-9r
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:59:48 +0000
Received: from [85.158.137.68:62894] by server-5.bemta-3.messagelabs.com id
	B2/F5-15381-36AAEB35; Thu, 10 Jul 2014 14:59:47 +0000
X-Env-Sender: daniel.buenzli@erratique.ch
X-Msg-Ref: server-11.tower-31.messagelabs.com!1405004386!15215321!1
X-Originating-IP: [74.55.86.74]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNzQuNTUuODYuNzQgPT4gMzA4NTYz\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10472 invoked from network); 10 Jul 2014 14:59:46 -0000
Received: from mail6.webfaction.com (HELO smtp.webfaction.com) (74.55.86.74)
	by server-11.tower-31.messagelabs.com with SMTP;
	10 Jul 2014 14:59:46 -0000
Received: from [172.20.10.2] (188.29.165.150.threembb.co.uk [188.29.165.150])
	by smtp.webfaction.com (Postfix) with ESMTP id 24A1C20BD5D7;
	Thu, 10 Jul 2014 14:59:44 +0000 (UTC)
Date: Thu, 10 Jul 2014 15:59:40 +0100
From: =?utf-8?Q?Daniel_B=C3=BCnzli?= <daniel.buenzli@erratique.ch>
To: Anil Madhavapeddy <anil@recoil.org>
Message-ID: <81605A7B03F141EE83AC84AB28C05489@erratique.ch>
In-Reply-To: <D2DD4E71-54A9-4D38-8755-630FCB62D014@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<0CA47AA1C6DB4928A90105732B26FA2F@erratique.ch>
	<D2DD4E71-54A9-4D38-8755-630FCB62D014@recoil.org>
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Disposition: inline
Cc: David Scott <Dave.Scott@citrix.com>,
	"=?utf-8?Q?mirageos-devel=40lists.xenproject.org?="
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

CgpMZSBqZXVkaSwgMTAganVpbGxldCAyMDE0IMOgIDE1OjQwLCBBbmlsIE1hZGhhdmFwZWRkeSBh
IMOpY3JpdCA6Cgo+IFRoYXQncyBhbiBpbnRlcmVzdGluZyBwb2ludCB0aG91Z2ggLS0gaXMgaXQg
YmV0dGVyIHRvIHVzZSBQZXJ2YXNpdmVzLkludmFsaWRfYXJndW1lbnQsIG9yIGRlZmluZSBhIGxv
Y2FsIEludmFsaWRfYXJndW1lbnQ/IFRoZSBvbmx5IGJhZCBpbXBsaWNhdGlvbiBJIGNhbiB0aGlu
ayBvZiB1c2luZyB0aGUgUGVydmFzaXZlcyBvbmUgaXMgdGhhdCB5b3UgbWlnaHQgYWNjaWRlbnRh
bGx5IGNhdGNoIG9uZSB0aGF0IGlzIHJpcHBsaW5nIHVwIGZyb20gYSBkZWVwbHkgbmVzdGVkIHNv
dXJjZSwgd2hpY2ggd291bGRuJ3QgaGFwcGVuIGlmIGV2ZXJ5IGRlZmluZXMgdGhlaXIgb3duIGV4
Y2VwdGlvbiB2YWx1ZXMuCgpBcyB3ZSBkaXNjdXNzZWQgdGhlIG90aGVyIGRheSwgdGhlIHNlbWFu
dGljcyBvZiBQZXJ2YXNpdmVzLkludmFsaWRfYXJndW1lbnQgaXMgc3VjaCB0aGF0IGl0IHNob3Vs
ZCAqbmV2ZXIqIGJlIGNhdWdodC4gSXQgZGVub3RlcyBhIHByb2dyYW1taW5nIGVycm9yIGZyb20g
dGhlIGNsaWVudCBvZiB0aGUgbGlicmFyeSAoaW4gdGhlIHdvcnN0IGNhc2UgeW91ciBwcm9ncmFt
IG1heSBiZSBpbiBhIGJhZCBzdGF0ZSkuIEZyb20gWzFdOgoKICBJbnZhbGlkX2FyZ3VtZW50IGlz
IHZlcnkgbXVjaCBsaWtlIGEgZmFpbGVkIGFzc2VydGlvbjogaXQgaW5kaWNhdGVzCiAgdGhhdCBz
b21ldGhpbmcgaXMgd3JvbmcgaW4gdGhlIHByb2dyYW0gaXRzZWxmLCBb4oCmXSBNb3N0IHByb2dy
YW1zIHdpbGwgIAogIG5vdCBjYXRjaCBJbnZhbGlkX2FyZ3VtZW50LCB0cmVhdGluZyBhcyBhIGZh
dGFsIGVycm9yLiBPdGhlcnMgd2lsbCBjYXRjaCBpdCwKICBidXQgb25seSB0byBlbnRlciBhIHBp
ZWNlIG9mIGdlbmVyaWMgInJlY292ZXIgZnJvbSB1bmV4cGVjdGVkIGVycm9yIgogIGNvZGUuCgoK
ICBbLi4uXQoKICBJIHJlY29tbWVuZCB0aGUgdXNlIG9mIEludmFsaWRfYXJndW1lbnQgdG8gcmVw
b3J0ICJzaG91bGQgbmV2ZXIKICBoYXBwZW4iIGNvbmRpdGlvbnMgYXQgdGhlIGJvdW5kYXJ5IGJl
dHdlZW4gbGlicmFyeSBmdW5jdGlvbnMgYW5kIHVzZXIKICBjb2RlLgoKCkFzIGZvciBldmVyeW9u
ZXMgZGVmaW5pbmcgdGhlaXIgb3duIGV4Y2VwdGlvbiwgcGVvcGxlIGFyZSBqdXN0IGdvaW5nIHRv
IHVzZSBjYXRjaCBhbGwgaGFuZGxlcnMgYWxsIG92ZXIgdGhlIHBsYWNlc+KApiBzbyBpdCBtYXkg
bm90IGJlIGEgZ29vZCBpZGVhLiAgCgpCZXN0LAoKRGFuaWVsCgpbMV0gaHR0cHM6Ly9zeW1wYS5p
bnJpYS5mci9zeW1wYS9hcmMvY2FtbC1saXN0LzIwMDctMTAvbXNnMDA0NzUuaHRtbAoKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cDov
L2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1k
ZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 14:59:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 14:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5Fp7-0000Z3-Jp; Thu, 10 Jul 2014 14:59:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <daniel.buenzli@erratique.ch>) id 1X5Fp6-0000Yk-9r
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 14:59:48 +0000
Received: from [85.158.137.68:62894] by server-5.bemta-3.messagelabs.com id
	B2/F5-15381-36AAEB35; Thu, 10 Jul 2014 14:59:47 +0000
X-Env-Sender: daniel.buenzli@erratique.ch
X-Msg-Ref: server-11.tower-31.messagelabs.com!1405004386!15215321!1
X-Originating-IP: [74.55.86.74]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNzQuNTUuODYuNzQgPT4gMzA4NTYz\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10472 invoked from network); 10 Jul 2014 14:59:46 -0000
Received: from mail6.webfaction.com (HELO smtp.webfaction.com) (74.55.86.74)
	by server-11.tower-31.messagelabs.com with SMTP;
	10 Jul 2014 14:59:46 -0000
Received: from [172.20.10.2] (188.29.165.150.threembb.co.uk [188.29.165.150])
	by smtp.webfaction.com (Postfix) with ESMTP id 24A1C20BD5D7;
	Thu, 10 Jul 2014 14:59:44 +0000 (UTC)
Date: Thu, 10 Jul 2014 15:59:40 +0100
From: =?utf-8?Q?Daniel_B=C3=BCnzli?= <daniel.buenzli@erratique.ch>
To: Anil Madhavapeddy <anil@recoil.org>
Message-ID: <81605A7B03F141EE83AC84AB28C05489@erratique.ch>
In-Reply-To: <D2DD4E71-54A9-4D38-8755-630FCB62D014@recoil.org>
References: <CAG4opy-EKa3e0PSUyAxtvtLL3B0w11MviCcvOKfRKYP3675btQ@mail.gmail.com>
	<932CA94B-D235-43C7-8430-E2A487BBC397@recoil.org>
	<0CA47AA1C6DB4928A90105732B26FA2F@erratique.ch>
	<D2DD4E71-54A9-4D38-8755-630FCB62D014@recoil.org>
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Disposition: inline
Cc: David Scott <Dave.Scott@citrix.com>,
	"=?utf-8?Q?mirageos-devel=40lists.xenproject.org?="
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Error handling in Mirage
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

CgpMZSBqZXVkaSwgMTAganVpbGxldCAyMDE0IMOgIDE1OjQwLCBBbmlsIE1hZGhhdmFwZWRkeSBh
IMOpY3JpdCA6Cgo+IFRoYXQncyBhbiBpbnRlcmVzdGluZyBwb2ludCB0aG91Z2ggLS0gaXMgaXQg
YmV0dGVyIHRvIHVzZSBQZXJ2YXNpdmVzLkludmFsaWRfYXJndW1lbnQsIG9yIGRlZmluZSBhIGxv
Y2FsIEludmFsaWRfYXJndW1lbnQ/IFRoZSBvbmx5IGJhZCBpbXBsaWNhdGlvbiBJIGNhbiB0aGlu
ayBvZiB1c2luZyB0aGUgUGVydmFzaXZlcyBvbmUgaXMgdGhhdCB5b3UgbWlnaHQgYWNjaWRlbnRh
bGx5IGNhdGNoIG9uZSB0aGF0IGlzIHJpcHBsaW5nIHVwIGZyb20gYSBkZWVwbHkgbmVzdGVkIHNv
dXJjZSwgd2hpY2ggd291bGRuJ3QgaGFwcGVuIGlmIGV2ZXJ5IGRlZmluZXMgdGhlaXIgb3duIGV4
Y2VwdGlvbiB2YWx1ZXMuCgpBcyB3ZSBkaXNjdXNzZWQgdGhlIG90aGVyIGRheSwgdGhlIHNlbWFu
dGljcyBvZiBQZXJ2YXNpdmVzLkludmFsaWRfYXJndW1lbnQgaXMgc3VjaCB0aGF0IGl0IHNob3Vs
ZCAqbmV2ZXIqIGJlIGNhdWdodC4gSXQgZGVub3RlcyBhIHByb2dyYW1taW5nIGVycm9yIGZyb20g
dGhlIGNsaWVudCBvZiB0aGUgbGlicmFyeSAoaW4gdGhlIHdvcnN0IGNhc2UgeW91ciBwcm9ncmFt
IG1heSBiZSBpbiBhIGJhZCBzdGF0ZSkuIEZyb20gWzFdOgoKICBJbnZhbGlkX2FyZ3VtZW50IGlz
IHZlcnkgbXVjaCBsaWtlIGEgZmFpbGVkIGFzc2VydGlvbjogaXQgaW5kaWNhdGVzCiAgdGhhdCBz
b21ldGhpbmcgaXMgd3JvbmcgaW4gdGhlIHByb2dyYW0gaXRzZWxmLCBb4oCmXSBNb3N0IHByb2dy
YW1zIHdpbGwgIAogIG5vdCBjYXRjaCBJbnZhbGlkX2FyZ3VtZW50LCB0cmVhdGluZyBhcyBhIGZh
dGFsIGVycm9yLiBPdGhlcnMgd2lsbCBjYXRjaCBpdCwKICBidXQgb25seSB0byBlbnRlciBhIHBp
ZWNlIG9mIGdlbmVyaWMgInJlY292ZXIgZnJvbSB1bmV4cGVjdGVkIGVycm9yIgogIGNvZGUuCgoK
ICBbLi4uXQoKICBJIHJlY29tbWVuZCB0aGUgdXNlIG9mIEludmFsaWRfYXJndW1lbnQgdG8gcmVw
b3J0ICJzaG91bGQgbmV2ZXIKICBoYXBwZW4iIGNvbmRpdGlvbnMgYXQgdGhlIGJvdW5kYXJ5IGJl
dHdlZW4gbGlicmFyeSBmdW5jdGlvbnMgYW5kIHVzZXIKICBjb2RlLgoKCkFzIGZvciBldmVyeW9u
ZXMgZGVmaW5pbmcgdGhlaXIgb3duIGV4Y2VwdGlvbiwgcGVvcGxlIGFyZSBqdXN0IGdvaW5nIHRv
IHVzZSBjYXRjaCBhbGwgaGFuZGxlcnMgYWxsIG92ZXIgdGhlIHBsYWNlc+KApiBzbyBpdCBtYXkg
bm90IGJlIGEgZ29vZCBpZGVhLiAgCgpCZXN0LAoKRGFuaWVsCgpbMV0gaHR0cHM6Ly9zeW1wYS5p
bnJpYS5mci9zeW1wYS9hcmMvY2FtbC1saXN0LzIwMDctMTAvbXNnMDA0NzUuaHRtbAoKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cDov
L2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1k
ZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 16:40:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 16:40:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5HOw-0002lp-Bs; Thu, 10 Jul 2014 16:40:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1X5HOv-0002lS-EK
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 16:40:53 +0000
Received: from [85.158.139.211:44204] by server-16.bemta-5.messagelabs.com id
	AB/41-18862-412CEB35; Thu, 10 Jul 2014 16:40:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1405010450!14855982!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23150 invoked from network); 10 Jul 2014 16:40:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	10 Jul 2014 16:40:52 -0000
X-IronPort-AV: E=Sophos;i="5.01,638,1400025600"; d="scan'208";a="151455113"
Received: from accessns.citrite.net (HELO FTLPEX01CL01.citrite.net)
	([10.9.154.239])
	by FTLPIPO01.CITRIX.COM with ESMTP; 10 Jul 2014 16:40:26 +0000
Received: from kazak.uk.xensource.com (10.80.2.80) by FTLPEX01CL01.citrite.net
	(10.13.107.78) with Microsoft SMTP Server id 14.3.181.6;
	Thu, 10 Jul 2014 12:40:25 -0400
Message-ID: <1405010424.7406.1.camel@kazak.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: <lars.kurth@xen.org>
Date: Thu, 10 Jul 2014 17:40:24 +0100
In-Reply-To: <53BD5C45.807@xen.org>
References: <53BD5C45.807@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.12.2-1 
MIME-Version: 1.0
X-Originating-IP: [10.80.2.80]
X-DLP: MIA1
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [Input Needed] GitDM Config files
	& privacy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On Wed, 2014-07-09 at 16:14 +0100, Lars Kurth wrote:
> Hi all,
> 
> I was in the process of publishing GitDM including config files in my 
> personal xenbits repository, such that other community members can run 
> contribution stats. However the config files contain email addresses and 
> thus there may be a potential privacy issue. Config files contain
> * e-mail domain to employer mappings
> * some e-mail address to employer mappings
> * email address aliases mappings
> * email address to name mappings (for acknowledgements)
> 
> Most of the information in them are public in the first place (i.e. they 
> are available from git logs and mailing lists).
> 
> I know that open source foundations such as OpenStack publish their 
> GitDM config files and I also found some other ones flying around.
> 
> But before I publish anything I did want to check whether there are 
> objections.

For stuff gleaned from public info it seems ok.

But for stuff which was taken from private conversations I think you
probably ought to ask if it is ok to share it (and get into the habit of
doing so when you first ask someone who there employer is).

Ian.


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 16:40:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 16:40:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5HOw-0002lp-Bs; Thu, 10 Jul 2014 16:40:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1X5HOv-0002lS-EK
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 16:40:53 +0000
Received: from [85.158.139.211:44204] by server-16.bemta-5.messagelabs.com id
	AB/41-18862-412CEB35; Thu, 10 Jul 2014 16:40:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1405010450!14855982!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23150 invoked from network); 10 Jul 2014 16:40:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	10 Jul 2014 16:40:52 -0000
X-IronPort-AV: E=Sophos;i="5.01,638,1400025600"; d="scan'208";a="151455113"
Received: from accessns.citrite.net (HELO FTLPEX01CL01.citrite.net)
	([10.9.154.239])
	by FTLPIPO01.CITRIX.COM with ESMTP; 10 Jul 2014 16:40:26 +0000
Received: from kazak.uk.xensource.com (10.80.2.80) by FTLPEX01CL01.citrite.net
	(10.13.107.78) with Microsoft SMTP Server id 14.3.181.6;
	Thu, 10 Jul 2014 12:40:25 -0400
Message-ID: <1405010424.7406.1.camel@kazak.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: <lars.kurth@xen.org>
Date: Thu, 10 Jul 2014 17:40:24 +0100
In-Reply-To: <53BD5C45.807@xen.org>
References: <53BD5C45.807@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.12.2-1 
MIME-Version: 1.0
X-Originating-IP: [10.80.2.80]
X-DLP: MIA1
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [Input Needed] GitDM Config files
	& privacy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On Wed, 2014-07-09 at 16:14 +0100, Lars Kurth wrote:
> Hi all,
> 
> I was in the process of publishing GitDM including config files in my 
> personal xenbits repository, such that other community members can run 
> contribution stats. However the config files contain email addresses and 
> thus there may be a potential privacy issue. Config files contain
> * e-mail domain to employer mappings
> * some e-mail address to employer mappings
> * email address aliases mappings
> * email address to name mappings (for acknowledgements)
> 
> Most of the information in them are public in the first place (i.e. they 
> are available from git logs and mailing lists).
> 
> I know that open source foundations such as OpenStack publish their 
> GitDM config files and I also found some other ones flying around.
> 
> But before I publish anything I did want to check whether there are 
> objections.

For stuff gleaned from public info it seems ok.

But for stuff which was taken from private conversations I think you
probably ought to ask if it is ok to share it (and get into the habit of
doing so when you first ask someone who there employer is).

Ian.


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 20:20:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 20:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5Kpk-00030n-FJ; Thu, 10 Jul 2014 20:20:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jamesjb@galois.com>) id 1X5Kpi-00030h-C8
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 20:20:46 +0000
Received: from [85.158.137.68:24263] by server-17.bemta-3.messagelabs.com id
	47/75-05521-D95FEB35; Thu, 10 Jul 2014 20:20:45 +0000
X-Env-Sender: jamesjb@galois.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1405023642!10794911!1
X-Originating-IP: [66.193.37.198]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7438 invoked from network); 10 Jul 2014 20:20:44 -0000
Received: from quintic.galois.com (HELO mail.galois.com) (66.193.37.198)
	by server-6.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 Jul 2014 20:20:44 -0000
Received: from hurricane.galois.com (hurricane.galois.com
	[IPv6:2001:4870:e08e:200:5054:ff:fefa:ce41])
	by mail.galois.com (8.14.4/8.14.4) with ESMTP id s6AKKbvg002894
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256
	verify=OK) for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 13:20:41 -0700
Received: from [IPv6:2001:4870:e08e:201:3e97:eff:fe4c:febb]
	([IPv6:2001:4870:e08e:201:3e97:eff:fe4c:febb]) (authenticated bits=0)
	by hurricane.galois.com (8.14.4/8.14.4) with ESMTP id s6AKKbuG011961
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO)
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 13:20:37 -0700
Message-ID: <53BEF595.5020103@galois.com>
Date: Thu, 10 Jul 2014 13:20:37 -0700
From: James Bielman <jamesjb@galois.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
X-Enigmail-Version: 1.5.2
X-Spam-Status: No, score=-1.2 required=4.5 tests=BAYES_00,RP_MATCHES_RCVD
	shortcircuit=no autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on quintic.galois.com
Subject: [MirageOS-devel] Xenstore_ring deadlocks in Mirage Xenstore
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4447726839041248920=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a cryptographically signed message in MIME format.

--===============4447726839041248920==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms030101010207000207010601"

This is a cryptographically signed message in MIME format.

--------------ms030101010207000207010601
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi all,

I'm doing some testing of our Xenstore/Flask patches and I'm noticing an
intermittent problem with the interdomain communication locking up.

We are using "ocaml-xenstore-xen" forked from:

  https://github.com/djs55/ocaml-xenstore-xen

into our "xenstore_mac" branch at:

  https://github.com/GaloisInc/ocaml-xenstore-xen

I'm starting the Xenstore kernel with the "init-xenstore-domain" tool.

Most of the time, this works perfectly, but occasionally Xenstore sees
an event notification that data is available for reading, but the
Xenstore ring contains no data (it seems to always contain all zeros).

The problem doesn't seem to be with event signalling, because I can
replace the "block" with a "sleep" and it repeatedly sleeps reading an
empty queue.

It feels like a race condition to me, perhaps related to the fact that
dom0 is writing to the Xenstore ring before the Xenstore domain is
unpaused (during IOCTL_XENBUS_BACKEND_SETUP).

Has anyone encountered this issue before, or have any insight into
tracking it down?

Thanks,
James


--------------ms030101010207000207010601
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFHjCC
BRowggQCoAMCAQICAgCQMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAlVTMQswCQYDVQQI
EwJPUjERMA8GA1UEBxMIUG9ydGxhbmQxFTATBgNVBAoTDEdhbG9pcywgSW5jLjEYMBYGA1UE
AxMPR2Fsb2lzLCBJbmMuIENBMR0wGwYJKoZIhvcNAQkBFg5wa2lAZ2Fsb2lzLmNvbTAeFw0x
MjExMzAxODIyMTZaFw0yMjExMjgxODIyMTZaMH4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJP
UjERMA8GA1UEBxMIUG9ydGxhbmQxDzANBgNVBAoTBkdhbG9pczEbMBkGA1UEAxQSamFtZXNq
YkBnYWxvaXMuY29tMSEwHwYJKoZIhvcNAQkBFhJqYW1lc2piQGdhbG9pcy5jb20wggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3CjRSouE3IxZdvyu+cbA4JmEebZYUNqTBKecP
uLZzsR5b2RPOMQ/hqDbd+NdpVAmu1K5wJEPrsp2FlCO0jA3QTnF4G7Aj2Jdx05wgEC1MYqre
/98z497vDbstnwnb9cAGjaBUR/AfDTZkFjc9x8fFzDAWiy0e4KJcgtthUH/zdAKd3GyuoK1U
5/VGsXmQA+J1Axmc9VaAgPXV5zWoJDNw3BE4VPVSMU8srG4258Cz4OVXAa/IXCBE/uJBpEOa
MPqsJiGCrFw+g8T88kU2h0OU+otoZV3z9GUl74gMUm/XyYq5s31ecvxqCf39CAqRv7IaJ2bL
khWcZUD35wMgdJy3AgMBAAGjggGhMIIBnTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwEQYJYIZIAYb4QgEBBAQDAgWgMDAGCWCGSAGG
+EIBDQQjFiFHYWxvaXMsIEluYy4gRW1wbG95ZWUgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFHcR
qULmY2QjsD6LvPnmkW9S0CQ4MIGwBgNVHSMEgagwgaWAFCYG1nG5N3/5BUQanZu3waDVos9M
oYGBpH8wfTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk9SMREwDwYDVQQHEwhQb3J0bGFuZDEV
MBMGA1UEChMMR2Fsb2lzLCBJbmMuMRgwFgYDVQQDEw9HYWxvaXMsIEluYy4gQ0ExHTAbBgkq
hkiG9w0BCQEWDnBraUBnYWxvaXMuY29tggkA8XOKTTKW0VwwMQYDVR0fBCowKDAmoCSgIoYg
aHR0cDovL3d3dy5nYWxvaXMuY29tL2NhL2NybC5wZW0wGgYDVR0eBBMwEaAPMA2BCy5nYWxv
aXMuY29tMA0GCSqGSIb3DQEBBQUAA4IBAQCudvJHL+99usR+MO+8Ts2aifzgO915cCXEm6Bc
1xdMnwjYZyKTru2Zaq/2MHVcXgwkXRbtza9E/Bu52m9PqznwwE1LJ1YEhuLuztG+GyI3Ml+x
qVwhuy2dn9COdNrW/Zt0JeICJdhcJNbeO/mPB9fXvmht3ddbFnfgsEYJcliDFPXZ4dpLj/wz
dyQZ1GUfXKR0cQfArq713Vve1Cl/XyFsu7G13kYgTT3CbRDYf1m6+njvYG36I8WjYq42Hhe/
BhBTYg6hF/yvgm0QddVHLXQIPwKjxrshoXER38i88tKzq04czEuDlWB5OpyBY1Jajj4eQKso
OwfNYNZod9yL61S3MYIDqjCCA6YCAQEwgYMwfTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk9S
MREwDwYDVQQHEwhQb3J0bGFuZDEVMBMGA1UEChMMR2Fsb2lzLCBJbmMuMRgwFgYDVQQDEw9H
YWxvaXMsIEluYy4gQ0ExHTAbBgkqhkiG9w0BCQEWDnBraUBnYWxvaXMuY29tAgIAkDAJBgUr
DgMCGgUAoIIB+zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x
NDA3MTAyMDIwMzdaMCMGCSqGSIb3DQEJBDEWBBQH1CpuRmGcZulu2h5ofgJ20WL/jTBsBgkq
hkiG9w0BCQ8xXzBdMAsGCWCGSAFlAwQBKjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYI
KoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGU
BgkrBgEEAYI3EAQxgYYwgYMwfTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk9SMREwDwYDVQQH
EwhQb3J0bGFuZDEVMBMGA1UEChMMR2Fsb2lzLCBJbmMuMRgwFgYDVQQDEw9HYWxvaXMsIElu
Yy4gQ0ExHTAbBgkqhkiG9w0BCQEWDnBraUBnYWxvaXMuY29tAgIAkDCBlgYLKoZIhvcNAQkQ
AgsxgYaggYMwfTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk9SMREwDwYDVQQHEwhQb3J0bGFu
ZDEVMBMGA1UEChMMR2Fsb2lzLCBJbmMuMRgwFgYDVQQDEw9HYWxvaXMsIEluYy4gQ0ExHTAb
BgkqhkiG9w0BCQEWDnBraUBnYWxvaXMuY29tAgIAkDANBgkqhkiG9w0BAQEFAASCAQCDq9+C
7nun8aMfSOfc3SVNq/oRT2b/RToK0Gpk6TEB0TmEWpjP1w0K3WujAXzsRqF6KAcgKTLG5bQ5
k6WSIuJegWZjAPnB5udNNGlibv6hRV3hTGTpnkgPDDciufDV7GEEKvxv1ORz1kHGnn6SnQvh
Rw4eDSi7daSklppZLrGRPwGYpzgd2cRZhTo3MZqGj5fhd26RDdil3iclblKSaDVCZ79+DXq9
vcKkQMAx1BpFtZ3ttwgnRyLXSdNnlb6x8yIPPZmUJzHrAHXvj/Vwfol0YBYxoSi5i1KARKIe
25/xkQzVW1cgeOB6bnifs9lM9S5oNme0GuX04Gb1zx582MS0AAAAAAAA
--------------ms030101010207000207010601--


--===============4447726839041248920==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4447726839041248920==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 20:20:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 20:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5Kpk-00030n-FJ; Thu, 10 Jul 2014 20:20:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jamesjb@galois.com>) id 1X5Kpi-00030h-C8
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 20:20:46 +0000
Received: from [85.158.137.68:24263] by server-17.bemta-3.messagelabs.com id
	47/75-05521-D95FEB35; Thu, 10 Jul 2014 20:20:45 +0000
X-Env-Sender: jamesjb@galois.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1405023642!10794911!1
X-Originating-IP: [66.193.37.198]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7438 invoked from network); 10 Jul 2014 20:20:44 -0000
Received: from quintic.galois.com (HELO mail.galois.com) (66.193.37.198)
	by server-6.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 Jul 2014 20:20:44 -0000
Received: from hurricane.galois.com (hurricane.galois.com
	[IPv6:2001:4870:e08e:200:5054:ff:fefa:ce41])
	by mail.galois.com (8.14.4/8.14.4) with ESMTP id s6AKKbvg002894
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256
	verify=OK) for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 13:20:41 -0700
Received: from [IPv6:2001:4870:e08e:201:3e97:eff:fe4c:febb]
	([IPv6:2001:4870:e08e:201:3e97:eff:fe4c:febb]) (authenticated bits=0)
	by hurricane.galois.com (8.14.4/8.14.4) with ESMTP id s6AKKbuG011961
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO)
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 10 Jul 2014 13:20:37 -0700
Message-ID: <53BEF595.5020103@galois.com>
Date: Thu, 10 Jul 2014 13:20:37 -0700
From: James Bielman <jamesjb@galois.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
X-Enigmail-Version: 1.5.2
X-Spam-Status: No, score=-1.2 required=4.5 tests=BAYES_00,RP_MATCHES_RCVD
	shortcircuit=no autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on quintic.galois.com
Subject: [MirageOS-devel] Xenstore_ring deadlocks in Mirage Xenstore
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4447726839041248920=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a cryptographically signed message in MIME format.

--===============4447726839041248920==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms030101010207000207010601"

This is a cryptographically signed message in MIME format.

--------------ms030101010207000207010601
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi all,

I'm doing some testing of our Xenstore/Flask patches and I'm noticing an
intermittent problem with the interdomain communication locking up.

We are using "ocaml-xenstore-xen" forked from:

  https://github.com/djs55/ocaml-xenstore-xen

into our "xenstore_mac" branch at:

  https://github.com/GaloisInc/ocaml-xenstore-xen

I'm starting the Xenstore kernel with the "init-xenstore-domain" tool.

Most of the time, this works perfectly, but occasionally Xenstore sees
an event notification that data is available for reading, but the
Xenstore ring contains no data (it seems to always contain all zeros).

The problem doesn't seem to be with event signalling, because I can
replace the "block" with a "sleep" and it repeatedly sleeps reading an
empty queue.

It feels like a race condition to me, perhaps related to the fact that
dom0 is writing to the Xenstore ring before the Xenstore domain is
unpaused (during IOCTL_XENBUS_BACKEND_SETUP).

Has anyone encountered this issue before, or have any insight into
tracking it down?

Thanks,
James


--------------ms030101010207000207010601
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFHjCC
BRowggQCoAMCAQICAgCQMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAlVTMQswCQYDVQQI
EwJPUjERMA8GA1UEBxMIUG9ydGxhbmQxFTATBgNVBAoTDEdhbG9pcywgSW5jLjEYMBYGA1UE
AxMPR2Fsb2lzLCBJbmMuIENBMR0wGwYJKoZIhvcNAQkBFg5wa2lAZ2Fsb2lzLmNvbTAeFw0x
MjExMzAxODIyMTZaFw0yMjExMjgxODIyMTZaMH4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJP
UjERMA8GA1UEBxMIUG9ydGxhbmQxDzANBgNVBAoTBkdhbG9pczEbMBkGA1UEAxQSamFtZXNq
YkBnYWxvaXMuY29tMSEwHwYJKoZIhvcNAQkBFhJqYW1lc2piQGdhbG9pcy5jb20wggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3CjRSouE3IxZdvyu+cbA4JmEebZYUNqTBKecP
uLZzsR5b2RPOMQ/hqDbd+NdpVAmu1K5wJEPrsp2FlCO0jA3QTnF4G7Aj2Jdx05wgEC1MYqre
/98z497vDbstnwnb9cAGjaBUR/AfDTZkFjc9x8fFzDAWiy0e4KJcgtthUH/zdAKd3GyuoK1U
5/VGsXmQA+J1Axmc9VaAgPXV5zWoJDNw3BE4VPVSMU8srG4258Cz4OVXAa/IXCBE/uJBpEOa
MPqsJiGCrFw+g8T88kU2h0OU+otoZV3z9GUl74gMUm/XyYq5s31ecvxqCf39CAqRv7IaJ2bL
khWcZUD35wMgdJy3AgMBAAGjggGhMIIBnTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwEQYJYIZIAYb4QgEBBAQDAgWgMDAGCWCGSAGG
+EIBDQQjFiFHYWxvaXMsIEluYy4gRW1wbG95ZWUgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFHcR
qULmY2QjsD6LvPnmkW9S0CQ4MIGwBgNVHSMEgagwgaWAFCYG1nG5N3/5BUQanZu3waDVos9M
oYGBpH8wfTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk9SMREwDwYDVQQHEwhQb3J0bGFuZDEV
MBMGA1UEChMMR2Fsb2lzLCBJbmMuMRgwFgYDVQQDEw9HYWxvaXMsIEluYy4gQ0ExHTAbBgkq
hkiG9w0BCQEWDnBraUBnYWxvaXMuY29tggkA8XOKTTKW0VwwMQYDVR0fBCowKDAmoCSgIoYg
aHR0cDovL3d3dy5nYWxvaXMuY29tL2NhL2NybC5wZW0wGgYDVR0eBBMwEaAPMA2BCy5nYWxv
aXMuY29tMA0GCSqGSIb3DQEBBQUAA4IBAQCudvJHL+99usR+MO+8Ts2aifzgO915cCXEm6Bc
1xdMnwjYZyKTru2Zaq/2MHVcXgwkXRbtza9E/Bu52m9PqznwwE1LJ1YEhuLuztG+GyI3Ml+x
qVwhuy2dn9COdNrW/Zt0JeICJdhcJNbeO/mPB9fXvmht3ddbFnfgsEYJcliDFPXZ4dpLj/wz
dyQZ1GUfXKR0cQfArq713Vve1Cl/XyFsu7G13kYgTT3CbRDYf1m6+njvYG36I8WjYq42Hhe/
BhBTYg6hF/yvgm0QddVHLXQIPwKjxrshoXER38i88tKzq04czEuDlWB5OpyBY1Jajj4eQKso
OwfNYNZod9yL61S3MYIDqjCCA6YCAQEwgYMwfTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk9S
MREwDwYDVQQHEwhQb3J0bGFuZDEVMBMGA1UEChMMR2Fsb2lzLCBJbmMuMRgwFgYDVQQDEw9H
YWxvaXMsIEluYy4gQ0ExHTAbBgkqhkiG9w0BCQEWDnBraUBnYWxvaXMuY29tAgIAkDAJBgUr
DgMCGgUAoIIB+zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x
NDA3MTAyMDIwMzdaMCMGCSqGSIb3DQEJBDEWBBQH1CpuRmGcZulu2h5ofgJ20WL/jTBsBgkq
hkiG9w0BCQ8xXzBdMAsGCWCGSAFlAwQBKjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYI
KoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGU
BgkrBgEEAYI3EAQxgYYwgYMwfTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk9SMREwDwYDVQQH
EwhQb3J0bGFuZDEVMBMGA1UEChMMR2Fsb2lzLCBJbmMuMRgwFgYDVQQDEw9HYWxvaXMsIElu
Yy4gQ0ExHTAbBgkqhkiG9w0BCQEWDnBraUBnYWxvaXMuY29tAgIAkDCBlgYLKoZIhvcNAQkQ
AgsxgYaggYMwfTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk9SMREwDwYDVQQHEwhQb3J0bGFu
ZDEVMBMGA1UEChMMR2Fsb2lzLCBJbmMuMRgwFgYDVQQDEw9HYWxvaXMsIEluYy4gQ0ExHTAb
BgkqhkiG9w0BCQEWDnBraUBnYWxvaXMuY29tAgIAkDANBgkqhkiG9w0BAQEFAASCAQCDq9+C
7nun8aMfSOfc3SVNq/oRT2b/RToK0Gpk6TEB0TmEWpjP1w0K3WujAXzsRqF6KAcgKTLG5bQ5
k6WSIuJegWZjAPnB5udNNGlibv6hRV3hTGTpnkgPDDciufDV7GEEKvxv1ORz1kHGnn6SnQvh
Rw4eDSi7daSklppZLrGRPwGYpzgd2cRZhTo3MZqGj5fhd26RDdil3iclblKSaDVCZ79+DXq9
vcKkQMAx1BpFtZ3ttwgnRyLXSdNnlb6x8yIPPZmUJzHrAHXvj/Vwfol0YBYxoSi5i1KARKIe
25/xkQzVW1cgeOB6bnifs9lM9S5oNme0GuX04Gb1zx582MS0AAAAAAAA
--------------ms030101010207000207010601--


--===============4447726839041248920==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4447726839041248920==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 20:47:36 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 20:47:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5LFe-0003Gx-ST; Thu, 10 Jul 2014 20:47:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X5LFd-0003Gs-FA
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 20:47:33 +0000
Received: from [85.158.139.211:40522] by server-11.bemta-5.messagelabs.com id
	92/78-01425-4EBFEB35; Thu, 10 Jul 2014 20:47:32 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1405025251!14857299!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 831 invoked from network); 10 Jul 2014 20:47:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-6.tower-206.messagelabs.com with SMTP;
	10 Jul 2014 20:47:31 -0000
X-IronPort-AV: E=Sophos;i="5.01,639,1400025600"; d="scan'208";a="22998303"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 10 Jul 2014 20:47:07 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL02.citrite.net ([169.254.7.117]) with mapi id 14.03.0181.006;
	Thu, 10 Jul 2014 22:47:07 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: James Bielman <jamesjb@galois.com>
Thread-Topic: [MirageOS-devel] Xenstore_ring deadlocks in Mirage Xenstore
Thread-Index: AQHPnHx3Ul12mze37Eek0OXftSEgqJuZpbYA
Date: Thu, 10 Jul 2014 20:47:06 +0000
Message-ID: <3949599C-4E50-4B2B-8436-0B7349A1CFC2@citrix.com>
References: <53BEF595.5020103@galois.com>
In-Reply-To: <53BEF595.5020103@galois.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <765E3F18ECF49C4EB23FCFD680697C53@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Xenstore_ring deadlocks in Mirage Xenstore
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi James,

On 10 Jul 2014, at 21:20, James Bielman <jamesjb@galois.com> wrote:

> Hi all,
> =

> I'm doing some testing of our Xenstore/Flask patches and I'm noticing an
> intermittent problem with the interdomain communication locking up.
> =

> We are using "ocaml-xenstore-xen" forked from:
> =

>  https://github.com/djs55/ocaml-xenstore-xen
> =

> into our "xenstore_mac" branch at:
> =

>  https://github.com/GaloisInc/ocaml-xenstore-xen
> =

> I'm starting the Xenstore kernel with the "init-xenstore-domain" tool.
> =

> Most of the time, this works perfectly, but occasionally Xenstore sees
> an event notification that data is available for reading, but the
> Xenstore ring contains no data (it seems to always contain all zeros).

Does the ring recover after this or has it become stuck? Does the problem a=
ffect other domain rings or is it just dom0?

> =

> The problem doesn't seem to be with event signalling, because I can
> replace the "block" with a "sleep" and it repeatedly sleeps reading an
> empty queue.
> =

> It feels like a race condition to me, perhaps related to the fact that
> dom0 is writing to the Xenstore ring before the Xenstore domain is
> unpaused (during IOCTL_XENBUS_BACKEND_SETUP).
> =

> Has anyone encountered this issue before, or have any insight into
> tracking it down?

It should be ok for dom0 to write to the ring before the domain is unpaused=
, although in this situation I would worry more about events going missing =
than spurious extra events turning up :-) I can=92t remember off the top of=
 my head what the event channel bitmap is set to when the domain is built =
=97 worth checking, perhaps the bitmap is being left undefined and sometime=
s contains a =911=92 in the critical spot.

I=92ve had problems before when I replaced the code which updates the consu=
mer and producer pointers with a Cstruct.set_uint32, which internally used =
ocplib-endian, which used a C function which executed unaligned byte-by-byt=
e loads and stores when compiled with particular compiler versions (ocplib-=
endian conditionally compiles code depending on the compiler version). Thes=
e byte-by-byte operations exposed intermediate/currupted values to the clie=
nt. Occasionally a pointer would be seen incrementing 0xff -> 0x1ff -> 0x10=
0, causing the client to read 0xff extra bytes which were often zero. By th=
e time I got in there with a diagnostic tool, the initial corruption was go=
ne. It=92s worth checking that your code has the fix (which was to use cust=
om C stubs to perform regular loads and stores via uint32_t*)

If the notification is being seen too early (before the ring data has been =
updated), perhaps there=92s a bug in the Linux xenstore client in dom0? I k=
now of one other bug in the Linux client which causes watch events and watc=
h responses to become permuted (especially if xenstored responds quickly). =
This manifests in libxenstore=92s watch code failing.

Cheers,
Dave


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 10 20:47:36 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 10 Jul 2014 20:47:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5LFe-0003Gx-ST; Thu, 10 Jul 2014 20:47:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X5LFd-0003Gs-FA
	for mirageos-devel@lists.xenproject.org; Thu, 10 Jul 2014 20:47:33 +0000
Received: from [85.158.139.211:40522] by server-11.bemta-5.messagelabs.com id
	92/78-01425-4EBFEB35; Thu, 10 Jul 2014 20:47:32 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1405025251!14857299!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 831 invoked from network); 10 Jul 2014 20:47:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-6.tower-206.messagelabs.com with SMTP;
	10 Jul 2014 20:47:31 -0000
X-IronPort-AV: E=Sophos;i="5.01,639,1400025600"; d="scan'208";a="22998303"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 10 Jul 2014 20:47:07 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL02.citrite.net ([169.254.7.117]) with mapi id 14.03.0181.006;
	Thu, 10 Jul 2014 22:47:07 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: James Bielman <jamesjb@galois.com>
Thread-Topic: [MirageOS-devel] Xenstore_ring deadlocks in Mirage Xenstore
Thread-Index: AQHPnHx3Ul12mze37Eek0OXftSEgqJuZpbYA
Date: Thu, 10 Jul 2014 20:47:06 +0000
Message-ID: <3949599C-4E50-4B2B-8436-0B7349A1CFC2@citrix.com>
References: <53BEF595.5020103@galois.com>
In-Reply-To: <53BEF595.5020103@galois.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <765E3F18ECF49C4EB23FCFD680697C53@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Xenstore_ring deadlocks in Mirage Xenstore
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi James,

On 10 Jul 2014, at 21:20, James Bielman <jamesjb@galois.com> wrote:

> Hi all,
> =

> I'm doing some testing of our Xenstore/Flask patches and I'm noticing an
> intermittent problem with the interdomain communication locking up.
> =

> We are using "ocaml-xenstore-xen" forked from:
> =

>  https://github.com/djs55/ocaml-xenstore-xen
> =

> into our "xenstore_mac" branch at:
> =

>  https://github.com/GaloisInc/ocaml-xenstore-xen
> =

> I'm starting the Xenstore kernel with the "init-xenstore-domain" tool.
> =

> Most of the time, this works perfectly, but occasionally Xenstore sees
> an event notification that data is available for reading, but the
> Xenstore ring contains no data (it seems to always contain all zeros).

Does the ring recover after this or has it become stuck? Does the problem a=
ffect other domain rings or is it just dom0?

> =

> The problem doesn't seem to be with event signalling, because I can
> replace the "block" with a "sleep" and it repeatedly sleeps reading an
> empty queue.
> =

> It feels like a race condition to me, perhaps related to the fact that
> dom0 is writing to the Xenstore ring before the Xenstore domain is
> unpaused (during IOCTL_XENBUS_BACKEND_SETUP).
> =

> Has anyone encountered this issue before, or have any insight into
> tracking it down?

It should be ok for dom0 to write to the ring before the domain is unpaused=
, although in this situation I would worry more about events going missing =
than spurious extra events turning up :-) I can=92t remember off the top of=
 my head what the event channel bitmap is set to when the domain is built =
=97 worth checking, perhaps the bitmap is being left undefined and sometime=
s contains a =911=92 in the critical spot.

I=92ve had problems before when I replaced the code which updates the consu=
mer and producer pointers with a Cstruct.set_uint32, which internally used =
ocplib-endian, which used a C function which executed unaligned byte-by-byt=
e loads and stores when compiled with particular compiler versions (ocplib-=
endian conditionally compiles code depending on the compiler version). Thes=
e byte-by-byte operations exposed intermediate/currupted values to the clie=
nt. Occasionally a pointer would be seen incrementing 0xff -> 0x1ff -> 0x10=
0, causing the client to read 0xff extra bytes which were often zero. By th=
e time I got in there with a diagnostic tool, the initial corruption was go=
ne. It=92s worth checking that your code has the fix (which was to use cust=
om C stubs to perform regular loads and stores via uint32_t*)

If the notification is being seen too early (before the ring data has been =
updated), perhaps there=92s a bug in the Linux xenstore client in dom0? I k=
now of one other bug in the Linux client which causes watch events and watc=
h responses to become permuted (especially if xenstored responds quickly). =
This manifests in libxenstore=92s watch code failing.

Cheers,
Dave


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 11 17:17:15 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2014 17:17:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5eRY-0002mB-Gz; Fri, 11 Jul 2014 17:17:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1X5eRX-0002m3-OA
	for mirageos-devel@lists.xenproject.org; Fri, 11 Jul 2014 17:17:07 +0000
Received: from [193.109.254.147:5180] by server-5.bemta-14.messagelabs.com id
	78/F8-07680-31C10C35; Fri, 11 Jul 2014 17:17:07 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1405099026!16975258!1
X-Originating-IP: [157.55.2.41]
X-SpamReason: No, hits=1.0 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_20_30,HTML_MESSAGE,ML_RADAR_SPEW_LINKS_1,ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31942 invoked from network); 11 Jul 2014 17:17:06 -0000
Received: from dub004-omc3s32.hotmail.com (HELO DUB004-OMC3S32.hotmail.com)
	(157.55.2.41)
	by server-14.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	11 Jul 2014 17:17:06 -0000
Received: from DUB128-W19 ([157.55.2.7]) by DUB004-OMC3S32.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Fri, 11 Jul 2014 10:17:05 -0700
X-TMN: [+i9F/sfzFZjKAXAOpsjQ/CtwNgBATxnv]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W191B43EF36F3F51898F3A3B4090@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Fri, 11 Jul 2014 17:17:05 +0000
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 11 Jul 2014 17:17:05.0825 (UTC)
	FILETIME=[F0546110:01CF9D2B]
Subject: [MirageOS-devel] xenserver on arm
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6864676411520490776=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6864676411520490776==
Content-Type: multipart/alternative;
	boundary="_78a0a7f3-56e1-4d03-adc2-f6940500cc9a_"

--_78a0a7f3-56e1-4d03-adc2-f6940500cc9a_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I'm at the point with what I'm doing where having some form of remote manag=
ement would be very useful. Certainly=2C for the time being=2C remotely dep=
loying mirage instances on a running cubieboard would make life a lot easie=
r for me.

Xenserver & xapi seem to offer all of the bells and whistles that hit the n=
ail on the head.

I tried to build xenserver using the link that Dave posted some time back (=
https://github.com/xenserver/buildroot/pull/427) but hit things I didn't re=
ally understand.

So=2C I'd like to press on and hopefully contribute something back=2C but I=
'm wondering if I'm jumping the gun with all of this and perhaps should wai=
t a while. On the other hand=2C if someone thinks the time is right and wou=
ld give me a few  points on how to procede then I'd be very grateful.

Cheers=2C
Nick
 		 	   		  =

--_78a0a7f3-56e1-4d03-adc2-f6940500cc9a_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>I'm at the point with what I'm d=
oing where having some form of remote management would be very useful. Cert=
ainly=2C for the time being=2C remotely deploying mirage instances on a run=
ning cubieboard would make life a lot easier for me.<br><br>Xenserver &amp=
=3B xapi seem to offer all of the bells and whistles that hit the nail on t=
he head.<br><br>I tried to build xenserver using the link that Dave posted =
some time back (https://github.com/xenserver/buildroot/pull/427) but hit th=
ings I didn't really understand.<br><br>So=2C I'd like to press on and hope=
fully contribute something back=2C but I'm wondering if I'm jumping the gun=
 with all of this and perhaps should wait a while. On the other hand=2C if =
someone thinks the time is right and would give me a few&nbsp=3B points on =
how to procede then I'd be very grateful.<br><br>Cheers=2C<br>Nick<br> 		 	=
   		  </div></body>
</html>=

--_78a0a7f3-56e1-4d03-adc2-f6940500cc9a_--


--===============6864676411520490776==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6864676411520490776==--


From mirageos-devel-bounces@lists.xenproject.org Fri Jul 11 17:17:15 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2014 17:17:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5eRY-0002mB-Gz; Fri, 11 Jul 2014 17:17:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1X5eRX-0002m3-OA
	for mirageos-devel@lists.xenproject.org; Fri, 11 Jul 2014 17:17:07 +0000
Received: from [193.109.254.147:5180] by server-5.bemta-14.messagelabs.com id
	78/F8-07680-31C10C35; Fri, 11 Jul 2014 17:17:07 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1405099026!16975258!1
X-Originating-IP: [157.55.2.41]
X-SpamReason: No, hits=1.0 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_20_30,HTML_MESSAGE,ML_RADAR_SPEW_LINKS_1,ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31942 invoked from network); 11 Jul 2014 17:17:06 -0000
Received: from dub004-omc3s32.hotmail.com (HELO DUB004-OMC3S32.hotmail.com)
	(157.55.2.41)
	by server-14.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	11 Jul 2014 17:17:06 -0000
Received: from DUB128-W19 ([157.55.2.7]) by DUB004-OMC3S32.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Fri, 11 Jul 2014 10:17:05 -0700
X-TMN: [+i9F/sfzFZjKAXAOpsjQ/CtwNgBATxnv]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W191B43EF36F3F51898F3A3B4090@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Fri, 11 Jul 2014 17:17:05 +0000
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 11 Jul 2014 17:17:05.0825 (UTC)
	FILETIME=[F0546110:01CF9D2B]
Subject: [MirageOS-devel] xenserver on arm
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6864676411520490776=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6864676411520490776==
Content-Type: multipart/alternative;
	boundary="_78a0a7f3-56e1-4d03-adc2-f6940500cc9a_"

--_78a0a7f3-56e1-4d03-adc2-f6940500cc9a_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I'm at the point with what I'm doing where having some form of remote manag=
ement would be very useful. Certainly=2C for the time being=2C remotely dep=
loying mirage instances on a running cubieboard would make life a lot easie=
r for me.

Xenserver & xapi seem to offer all of the bells and whistles that hit the n=
ail on the head.

I tried to build xenserver using the link that Dave posted some time back (=
https://github.com/xenserver/buildroot/pull/427) but hit things I didn't re=
ally understand.

So=2C I'd like to press on and hopefully contribute something back=2C but I=
'm wondering if I'm jumping the gun with all of this and perhaps should wai=
t a while. On the other hand=2C if someone thinks the time is right and wou=
ld give me a few  points on how to procede then I'd be very grateful.

Cheers=2C
Nick
 		 	   		  =

--_78a0a7f3-56e1-4d03-adc2-f6940500cc9a_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>I'm at the point with what I'm d=
oing where having some form of remote management would be very useful. Cert=
ainly=2C for the time being=2C remotely deploying mirage instances on a run=
ning cubieboard would make life a lot easier for me.<br><br>Xenserver &amp=
=3B xapi seem to offer all of the bells and whistles that hit the nail on t=
he head.<br><br>I tried to build xenserver using the link that Dave posted =
some time back (https://github.com/xenserver/buildroot/pull/427) but hit th=
ings I didn't really understand.<br><br>So=2C I'd like to press on and hope=
fully contribute something back=2C but I'm wondering if I'm jumping the gun=
 with all of this and perhaps should wait a while. On the other hand=2C if =
someone thinks the time is right and would give me a few&nbsp=3B points on =
how to procede then I'd be very grateful.<br><br>Cheers=2C<br>Nick<br> 		 	=
   		  </div></body>
</html>=

--_78a0a7f3-56e1-4d03-adc2-f6940500cc9a_--


--===============6864676411520490776==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6864676411520490776==--


From mirageos-devel-bounces@lists.xenproject.org Fri Jul 11 18:47:31 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2014 18:47:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5fqv-0005Y3-JX; Fri, 11 Jul 2014 18:47:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X5fqt-0005Xx-Rf
	for mirageos-devel@lists.xenproject.org; Fri, 11 Jul 2014 18:47:23 +0000
Received: from [85.158.137.68:41162] by server-6.bemta-3.messagelabs.com id
	52/6B-15862-B3130C35; Fri, 11 Jul 2014 18:47:23 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1405104440!13024237!1
X-Originating-IP: [209.85.214.181]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16913 invoked from network); 11 Jul 2014 18:47:21 -0000
Received: from mail-ob0-f181.google.com (HELO mail-ob0-f181.google.com)
	(209.85.214.181)
	by server-14.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	11 Jul 2014 18:47:21 -0000
Received: by mail-ob0-f181.google.com with SMTP id wp4so1657510obc.40
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 11 Jul 2014 11:47:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=WHAJd5z9XOUWhljzCnCUCPQRdQu3nDi/SXvrNIx7ycY=;
	b=OmPJW/2+Dw60Y6Mfh8U+qk7+puaFBEzo+eTyYvnH2AlPexdTODEn/QjXfF8QoBiGXY
	Tt93HxKLBcHRvSbtwJmsDi0Mq0vKSpzDUpS+R/NjgEj+mu4YMg89xitTV4p8UnzUHKnl
	qR3Quaza97npICI8ejgq5pnr+y8KQxcIhMJi5QLfDZCVDLc9UjXwxIgBjsn0kNfvBw9a
	C1gaXcctlQngFpOcDq3s/zZ0SZT7HsxUZImwVeFdXsldKC9UHMbsIU/B8Pz7ycpYqIe+
	ZDZb59MoXX87ZvazWHOmQ51G7BbhuMZuI3/moq5pPeBpNvf/PQdwSznkoVJjJjiJ+//4
	FFog==
MIME-Version: 1.0
X-Received: by 10.182.114.131 with SMTP id jg3mr906105obb.9.1405104440333;
	Fri, 11 Jul 2014 11:47:20 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Fri, 11 Jul 2014 11:47:20 -0700 (PDT)
Date: Fri, 11 Jul 2014 19:47:20 +0100
Message-ID: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

There has been lots of progress on the ARM front recently! In particular:

- The separate Mini-OS and OpenLibm patches have been merged to the
main mirage-platform and mirage repositories' master branches.

- Hardware floating point now works.

Here are the new instructions for testing it.

First, install Xen on the device. For Cubieboard 2 or CubieTruck, you
can use these instructions:

     https://github.com/talex5/xen-arm-builder

Once booted you can ssh to Dom0. From there, initialise OPAM:

    $ sudo apt-get install aspcud pkg-config
    $ opam init

Then you should be able to install Mirage and build your unikernel
just as on x86, except that you'll need to select the Git versions of
some components:

    $ git clone https://github.com/mirage/mirage-xen-libs
    $ cd mirage-xen-libs
    $ ./install.sh
    $ opam pin mirage https://github.com/mirage/mirage
    $ opam pin mirage-xen https://github.com/mirage/mirage-platform
    $ opam install mirage

If you're using a hard-float dom0 (the default), you'll also need the
latest Git version of libminios:

    $ git clone https://github.com/talex5/xen.git
    $ git checkout -b devel origin/devel
    $ cd extras/mini-os
    $ export PREFIX=`opam config var prefix`
    $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include

To use networking, you also need to use these Git branches, which move
the checksumming code to mirage-tcpip and make it work on ARM:

- https://github.com/talex5/mirage/commits/link_c_stubs
- https://github.com/talex5/mirage-tcpip/commits/checksum


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 11 18:47:31 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2014 18:47:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5fqv-0005Y3-JX; Fri, 11 Jul 2014 18:47:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X5fqt-0005Xx-Rf
	for mirageos-devel@lists.xenproject.org; Fri, 11 Jul 2014 18:47:23 +0000
Received: from [85.158.137.68:41162] by server-6.bemta-3.messagelabs.com id
	52/6B-15862-B3130C35; Fri, 11 Jul 2014 18:47:23 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1405104440!13024237!1
X-Originating-IP: [209.85.214.181]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16913 invoked from network); 11 Jul 2014 18:47:21 -0000
Received: from mail-ob0-f181.google.com (HELO mail-ob0-f181.google.com)
	(209.85.214.181)
	by server-14.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	11 Jul 2014 18:47:21 -0000
Received: by mail-ob0-f181.google.com with SMTP id wp4so1657510obc.40
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 11 Jul 2014 11:47:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=WHAJd5z9XOUWhljzCnCUCPQRdQu3nDi/SXvrNIx7ycY=;
	b=OmPJW/2+Dw60Y6Mfh8U+qk7+puaFBEzo+eTyYvnH2AlPexdTODEn/QjXfF8QoBiGXY
	Tt93HxKLBcHRvSbtwJmsDi0Mq0vKSpzDUpS+R/NjgEj+mu4YMg89xitTV4p8UnzUHKnl
	qR3Quaza97npICI8ejgq5pnr+y8KQxcIhMJi5QLfDZCVDLc9UjXwxIgBjsn0kNfvBw9a
	C1gaXcctlQngFpOcDq3s/zZ0SZT7HsxUZImwVeFdXsldKC9UHMbsIU/B8Pz7ycpYqIe+
	ZDZb59MoXX87ZvazWHOmQ51G7BbhuMZuI3/moq5pPeBpNvf/PQdwSznkoVJjJjiJ+//4
	FFog==
MIME-Version: 1.0
X-Received: by 10.182.114.131 with SMTP id jg3mr906105obb.9.1405104440333;
	Fri, 11 Jul 2014 11:47:20 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Fri, 11 Jul 2014 11:47:20 -0700 (PDT)
Date: Fri, 11 Jul 2014 19:47:20 +0100
Message-ID: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

There has been lots of progress on the ARM front recently! In particular:

- The separate Mini-OS and OpenLibm patches have been merged to the
main mirage-platform and mirage repositories' master branches.

- Hardware floating point now works.

Here are the new instructions for testing it.

First, install Xen on the device. For Cubieboard 2 or CubieTruck, you
can use these instructions:

     https://github.com/talex5/xen-arm-builder

Once booted you can ssh to Dom0. From there, initialise OPAM:

    $ sudo apt-get install aspcud pkg-config
    $ opam init

Then you should be able to install Mirage and build your unikernel
just as on x86, except that you'll need to select the Git versions of
some components:

    $ git clone https://github.com/mirage/mirage-xen-libs
    $ cd mirage-xen-libs
    $ ./install.sh
    $ opam pin mirage https://github.com/mirage/mirage
    $ opam pin mirage-xen https://github.com/mirage/mirage-platform
    $ opam install mirage

If you're using a hard-float dom0 (the default), you'll also need the
latest Git version of libminios:

    $ git clone https://github.com/talex5/xen.git
    $ git checkout -b devel origin/devel
    $ cd extras/mini-os
    $ export PREFIX=`opam config var prefix`
    $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include

To use networking, you also need to use these Git branches, which move
the checksumming code to mirage-tcpip and make it work on ARM:

- https://github.com/talex5/mirage/commits/link_c_stubs
- https://github.com/talex5/mirage-tcpip/commits/checksum


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 12:02:42 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 12:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5w0i-0005Yn-2M; Sat, 12 Jul 2014 12:02:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5w0g-0005Yi-2M
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 12:02:34 +0000
Received: from [193.109.254.147:28652] by server-14.bemta-14.messagelabs.com
	id A6/44-11800-9D321C35; Sat, 12 Jul 2014 12:02:33 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-8.tower-27.messagelabs.com!1405166552!17081520!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28478 invoked from network); 12 Jul 2014 12:02:32 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-8.tower-27.messagelabs.com with SMTP;
	12 Jul 2014 12:02:32 -0000
Received: (qmail 26797 invoked by uid 634); 12 Jul 2014 12:02:31 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.113]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 12 Jul 2014 13:02:31 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <ece0121938be0dcc1fb01759418cea61@cam.ac.uk>
Date: Sat, 12 Jul 2014 13:02:29 +0100
Message-Id: <5BBF6C7A-02C9-4535-8364-E41E13699516@recoil.org>
References: <C0943D87-C26F-4223-926C-39622DBB3F0B@recoil.org>
	<ece0121938be0dcc1fb01759418cea61@cam.ac.uk>
To: Nik Sultana <ns441@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-naas@lists.cam.ac.uk, mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] adding serializers to mirage tcpip
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 12 Jul 2014, at 01:21, Nik Sultana <ns441@cam.ac.uk> wrote:

> Hwanju and I worked through adding two functions to different structures in mirage-tcpip tonight:

[adding mirageos-devel to this]

> 
>  val get : () -> string
>  val set : string -> ()
> 
> where get collects state information from the structure and returns a string, while set overwrites state information.
> 
> We tried basing this on adding "with sexp" (i.e., s-expression (de)serialisation) to the state datatype in pcb.ml, and the datatypes it refers to.
> 
> This ran into two difficulties. First, we encountered the Set module, from OCaml's standard library. This was easily fixed by copying the module's source code and adding "with sexp" to its types. The second problem was more serious: we hit Lwt_mvar.t. The trick used for Set is harder to pull off here, since we cannot just override a single class, but need to revise a library.

If possible, you want to avoid forking libaries to add serializers.  The way that the `with sexp` syntax extension works is that it examines the AST of the type definition, and generates two function bodies that inductively add the relevant serialisers from the type definition itself.

These look like:

# type t = { a:int } with sexp;;
type t = { a : int; }                                                                                                                                                             val t_of_sexp : Sexplib.Type.t -> t = <fun>                                                                                                                                       val sexp_of_t : t -> Sexplib.Type.t = <fun>  

You can also just define these manually, which is how you deal with packages that don't define their sexp initializers.  So in the case of Lwt_mvar, don't fork Lwt -- think about what the stable serialization and deserialization of this should be.

For TCP, it's probably just to create a fresh mvar (although really, we should just refactor the TCP stack to eliminate the mvars -- Balraj and I are unconvinced that they should ever have been put in there in the first place).

> 
> I tried forking Lwt (from https://github.com/ocsigen/lwt ) but it was not smooth to build on OSX. The configuration script claims that it cannot find pthreads. I might have run into the bug described at https://github.com/ocaml/opam/issues/1236. I reinstalled OCaml as instructed there, but this didn't fix the problem. An alternative would be to downgrade XCode, but I'm reluctant to do this. So, currently I cannot build Lwt natively. If the patches you described in the earlier email are viable, perhaps we could branch off them?

Any time you have a build failure, if you don't include the failing logs it's basically impossible to give any useful advice.  One workflow that may be helpful with the system compiler is:

$ opam switch -A system lwt-dev
$ eval `opam config env`
$ git clone git://github.com/ocsigen/lwt
$ opam pin lwt lwt/
$ opam install lwt

This will (in a fresh switch) give you an lwt development build, and the logs from that failure (if it still fails) will help pinpoint the issue.  Build failures for that should go up on https://github.com/ocsigen/lwt/issues and you'll probably get a swift answer from the maintainers, since OSX is a popular platform (I'll take a look too).

cheers,
Anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 12:02:42 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 12:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5w0i-0005Yn-2M; Sat, 12 Jul 2014 12:02:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5w0g-0005Yi-2M
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 12:02:34 +0000
Received: from [193.109.254.147:28652] by server-14.bemta-14.messagelabs.com
	id A6/44-11800-9D321C35; Sat, 12 Jul 2014 12:02:33 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-8.tower-27.messagelabs.com!1405166552!17081520!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28478 invoked from network); 12 Jul 2014 12:02:32 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-8.tower-27.messagelabs.com with SMTP;
	12 Jul 2014 12:02:32 -0000
Received: (qmail 26797 invoked by uid 634); 12 Jul 2014 12:02:31 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.113]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 12 Jul 2014 13:02:31 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <ece0121938be0dcc1fb01759418cea61@cam.ac.uk>
Date: Sat, 12 Jul 2014 13:02:29 +0100
Message-Id: <5BBF6C7A-02C9-4535-8364-E41E13699516@recoil.org>
References: <C0943D87-C26F-4223-926C-39622DBB3F0B@recoil.org>
	<ece0121938be0dcc1fb01759418cea61@cam.ac.uk>
To: Nik Sultana <ns441@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-naas@lists.cam.ac.uk, mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] adding serializers to mirage tcpip
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 12 Jul 2014, at 01:21, Nik Sultana <ns441@cam.ac.uk> wrote:

> Hwanju and I worked through adding two functions to different structures in mirage-tcpip tonight:

[adding mirageos-devel to this]

> 
>  val get : () -> string
>  val set : string -> ()
> 
> where get collects state information from the structure and returns a string, while set overwrites state information.
> 
> We tried basing this on adding "with sexp" (i.e., s-expression (de)serialisation) to the state datatype in pcb.ml, and the datatypes it refers to.
> 
> This ran into two difficulties. First, we encountered the Set module, from OCaml's standard library. This was easily fixed by copying the module's source code and adding "with sexp" to its types. The second problem was more serious: we hit Lwt_mvar.t. The trick used for Set is harder to pull off here, since we cannot just override a single class, but need to revise a library.

If possible, you want to avoid forking libaries to add serializers.  The way that the `with sexp` syntax extension works is that it examines the AST of the type definition, and generates two function bodies that inductively add the relevant serialisers from the type definition itself.

These look like:

# type t = { a:int } with sexp;;
type t = { a : int; }                                                                                                                                                             val t_of_sexp : Sexplib.Type.t -> t = <fun>                                                                                                                                       val sexp_of_t : t -> Sexplib.Type.t = <fun>  

You can also just define these manually, which is how you deal with packages that don't define their sexp initializers.  So in the case of Lwt_mvar, don't fork Lwt -- think about what the stable serialization and deserialization of this should be.

For TCP, it's probably just to create a fresh mvar (although really, we should just refactor the TCP stack to eliminate the mvars -- Balraj and I are unconvinced that they should ever have been put in there in the first place).

> 
> I tried forking Lwt (from https://github.com/ocsigen/lwt ) but it was not smooth to build on OSX. The configuration script claims that it cannot find pthreads. I might have run into the bug described at https://github.com/ocaml/opam/issues/1236. I reinstalled OCaml as instructed there, but this didn't fix the problem. An alternative would be to downgrade XCode, but I'm reluctant to do this. So, currently I cannot build Lwt natively. If the patches you described in the earlier email are viable, perhaps we could branch off them?

Any time you have a build failure, if you don't include the failing logs it's basically impossible to give any useful advice.  One workflow that may be helpful with the system compiler is:

$ opam switch -A system lwt-dev
$ eval `opam config env`
$ git clone git://github.com/ocsigen/lwt
$ opam pin lwt lwt/
$ opam install lwt

This will (in a fresh switch) give you an lwt development build, and the logs from that failure (if it still fails) will help pinpoint the issue.  Build failures for that should go up on https://github.com/ocsigen/lwt/issues and you'll probably get a swift answer from the maintainers, since OSX is a popular platform (I'll take a look too).

cheers,
Anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 12:09:34 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 12:09:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5w7R-0005dN-Qe; Sat, 12 Jul 2014 12:09:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5w7R-0005dI-6b
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 12:09:33 +0000
Received: from [193.109.254.147:6099] by server-3.bemta-14.messagelabs.com id
	D3/C4-13460-C7521C35; Sat, 12 Jul 2014 12:09:32 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1405166971!17063992!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_40_50,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24046 invoked from network); 12 Jul 2014 12:09:31 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-27.messagelabs.com with SMTP;
	12 Jul 2014 12:09:31 -0000
Received: (qmail 17311 invoked by uid 634); 12 Jul 2014 12:09:31 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.113]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 12 Jul 2014 13:09:30 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <DUB128-W191B43EF36F3F51898F3A3B4090@phx.gbl>
Date: Sat, 12 Jul 2014 13:09:28 +0100
Message-Id: <8253972C-46CB-4627-A026-6C39A29B6CD4@recoil.org>
References: <DUB128-W191B43EF36F3F51898F3A3B4090@phx.gbl>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] xenserver on arm
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6568689550136142548=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============6568689550136142548==
Content-Type: multipart/alternative; boundary="Apple-Mail=_C70C6069-8682-4362-AB7D-DF28C208D03E"


--Apple-Mail=_C70C6069-8682-4362-AB7D-DF28C208D03E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

On 11 Jul 2014, at 18:17, buzz heavyyear <buzzheavyyear@hotmail.com> =
wrote:

> I'm at the point with what I'm doing where having some form of remote =
management would be very useful. Certainly, for the time being, remotely =
deploying mirage instances on a running cubieboard would make life a lot =
easier for me.
>=20
> Xenserver & xapi seem to offer all of the bells and whistles that hit =
the nail on the head.
>=20
> I tried to build xenserver using the link that Dave posted some time =
back (https://github.com/xenserver/buildroot/pull/427) but hit things I =
didn't really understand.
>=20
> So, I'd like to press on and hopefully contribute something back, but =
I'm wondering if I'm jumping the gun with all of this and perhaps should =
wait a while. On the other hand, if someone thinks the time is right and =
would give me a few  points on how to procede then I'd be very grateful.

XenServer's probably a little heavyweight for the little ARM.  It would =
be worth trying to manage it remotely via libvirt instead, which has =
increasingly improved Xen bindings for xl.  If you gave that a try and =
report any issues back (libvirt.org), that would be most interesting =
(it's on my list but I haven't had a chance yet).

-anil


--Apple-Mail=_C70C6069-8682-4362-AB7D-DF28C208D03E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">On 11 =
Jul 2014, at 18:17, buzz heavyyear &lt;<a =
href=3D"mailto:buzzheavyyear@hotmail.com">buzzheavyyear@hotmail.com</a>&gt=
; wrote:<br><div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div class=3D"hmmessage" style=3D"font-size: 12pt; =
font-family: Calibri; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;"><div dir=3D"ltr">I'm at the point with =
what I'm doing where having some form of remote management would be very =
useful. Certainly, for the time being, remotely deploying mirage =
instances on a running cubieboard would make life a lot easier for =
me.<br><br>Xenserver &amp; xapi seem to offer all of the bells and =
whistles that hit the nail on the head.<br><br>I tried to build =
xenserver using the link that Dave posted some time back (<a =
href=3D"https://github.com/xenserver/buildroot/pull/427">https://github.co=
m/xenserver/buildroot/pull/427</a>) but hit things I didn't really =
understand.<br><br>So, I'd like to press on and hopefully contribute =
something back, but I'm wondering if I'm jumping the gun with all of =
this and perhaps should wait a while. On the other hand, if someone =
thinks the time is right and would give me a few&nbsp; points on how to =
procede then I'd be very =
grateful.<br></div></div></blockquote><div><br></div>XenServer's =
probably a little heavyweight for the little ARM. &nbsp;It would be =
worth trying to manage it remotely via libvirt instead, which has =
increasingly improved Xen bindings for xl. &nbsp;If you gave that a try =
and report any issues back (<a =
href=3D"http://libvirt.org">libvirt.org</a>), that would be most =
interesting (it's on my list but I haven't had a chance =
yet).</div><div><br></div><div>-anil</div><div><br></div></body></html>=

--Apple-Mail=_C70C6069-8682-4362-AB7D-DF28C208D03E--


--===============6568689550136142548==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6568689550136142548==--


From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 12:09:34 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 12:09:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5w7R-0005dN-Qe; Sat, 12 Jul 2014 12:09:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5w7R-0005dI-6b
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 12:09:33 +0000
Received: from [193.109.254.147:6099] by server-3.bemta-14.messagelabs.com id
	D3/C4-13460-C7521C35; Sat, 12 Jul 2014 12:09:32 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1405166971!17063992!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_40_50,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24046 invoked from network); 12 Jul 2014 12:09:31 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-27.messagelabs.com with SMTP;
	12 Jul 2014 12:09:31 -0000
Received: (qmail 17311 invoked by uid 634); 12 Jul 2014 12:09:31 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.113]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 12 Jul 2014 13:09:30 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <DUB128-W191B43EF36F3F51898F3A3B4090@phx.gbl>
Date: Sat, 12 Jul 2014 13:09:28 +0100
Message-Id: <8253972C-46CB-4627-A026-6C39A29B6CD4@recoil.org>
References: <DUB128-W191B43EF36F3F51898F3A3B4090@phx.gbl>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] xenserver on arm
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6568689550136142548=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============6568689550136142548==
Content-Type: multipart/alternative; boundary="Apple-Mail=_C70C6069-8682-4362-AB7D-DF28C208D03E"


--Apple-Mail=_C70C6069-8682-4362-AB7D-DF28C208D03E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

On 11 Jul 2014, at 18:17, buzz heavyyear <buzzheavyyear@hotmail.com> =
wrote:

> I'm at the point with what I'm doing where having some form of remote =
management would be very useful. Certainly, for the time being, remotely =
deploying mirage instances on a running cubieboard would make life a lot =
easier for me.
>=20
> Xenserver & xapi seem to offer all of the bells and whistles that hit =
the nail on the head.
>=20
> I tried to build xenserver using the link that Dave posted some time =
back (https://github.com/xenserver/buildroot/pull/427) but hit things I =
didn't really understand.
>=20
> So, I'd like to press on and hopefully contribute something back, but =
I'm wondering if I'm jumping the gun with all of this and perhaps should =
wait a while. On the other hand, if someone thinks the time is right and =
would give me a few  points on how to procede then I'd be very grateful.

XenServer's probably a little heavyweight for the little ARM.  It would =
be worth trying to manage it remotely via libvirt instead, which has =
increasingly improved Xen bindings for xl.  If you gave that a try and =
report any issues back (libvirt.org), that would be most interesting =
(it's on my list but I haven't had a chance yet).

-anil


--Apple-Mail=_C70C6069-8682-4362-AB7D-DF28C208D03E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">On 11 =
Jul 2014, at 18:17, buzz heavyyear &lt;<a =
href=3D"mailto:buzzheavyyear@hotmail.com">buzzheavyyear@hotmail.com</a>&gt=
; wrote:<br><div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div class=3D"hmmessage" style=3D"font-size: 12pt; =
font-family: Calibri; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;"><div dir=3D"ltr">I'm at the point with =
what I'm doing where having some form of remote management would be very =
useful. Certainly, for the time being, remotely deploying mirage =
instances on a running cubieboard would make life a lot easier for =
me.<br><br>Xenserver &amp; xapi seem to offer all of the bells and =
whistles that hit the nail on the head.<br><br>I tried to build =
xenserver using the link that Dave posted some time back (<a =
href=3D"https://github.com/xenserver/buildroot/pull/427">https://github.co=
m/xenserver/buildroot/pull/427</a>) but hit things I didn't really =
understand.<br><br>So, I'd like to press on and hopefully contribute =
something back, but I'm wondering if I'm jumping the gun with all of =
this and perhaps should wait a while. On the other hand, if someone =
thinks the time is right and would give me a few&nbsp; points on how to =
procede then I'd be very =
grateful.<br></div></div></blockquote><div><br></div>XenServer's =
probably a little heavyweight for the little ARM. &nbsp;It would be =
worth trying to manage it remotely via libvirt instead, which has =
increasingly improved Xen bindings for xl. &nbsp;If you gave that a try =
and report any issues back (<a =
href=3D"http://libvirt.org">libvirt.org</a>), that would be most =
interesting (it's on my list but I haven't had a chance =
yet).</div><div><br></div><div>-anil</div><div><br></div></body></html>=

--Apple-Mail=_C70C6069-8682-4362-AB7D-DF28C208D03E--


--===============6568689550136142548==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6568689550136142548==--


From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 12:54:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 12:54:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5wp9-0005nW-PN; Sat, 12 Jul 2014 12:54:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X5wp8-0005nP-KS
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 12:54:42 +0000
Received: from [85.158.139.211:43097] by server-5.bemta-5.messagelabs.com id
	A2/B2-29625-11031C35; Sat, 12 Jul 2014 12:54:41 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1405169681!12258943!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24650 invoked from network); 12 Jul 2014 12:54:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-16.tower-206.messagelabs.com with SMTP;
	12 Jul 2014 12:54:41 -0000
X-IronPort-AV: E=Sophos;i="5.01,649,1400025600"; d="scan'208";a="23042230"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 12 Jul 2014 12:54:41 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL02.citrite.net ([169.254.7.117]) with mapi id 14.03.0181.006;
	Sat, 12 Jul 2014 14:54:40 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Anil Madhavapeddy <anil@recoil.org>
Thread-Topic: [MirageOS-devel] xenserver on arm
Thread-Index: AQHPnSwBIY/fLrOB9EiHfWC/hjDBk5ucOGIAgAAMnoA=
Date: Sat, 12 Jul 2014 12:54:39 +0000
Message-ID: <E1C9EEF8-01B9-4176-AD8F-928952E52FBD@citrix.com>
References: <DUB128-W191B43EF36F3F51898F3A3B4090@phx.gbl>
	<8253972C-46CB-4627-A026-6C39A29B6CD4@recoil.org>
In-Reply-To: <8253972C-46CB-4627-A026-6C39A29B6CD4@recoil.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <45CD59F1ABBF7F43B908DD78646F7563@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] xenserver on arm
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 12 Jul 2014, at 13:09, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 11 Jul 2014, at 18:17, buzz heavyyear <buzzheavyyear@hotmail.com> wrot=
e:
> =

>> I'm at the point with what I'm doing where having some form of remote ma=
nagement would be very useful. Certainly, for the time being, remotely depl=
oying mirage instances on a running cubieboard would make life a lot easier=
 for me.
>> =

>> Xenserver & xapi seem to offer all of the bells and whistles that hit th=
e nail on the head.
>> =

>> I tried to build xenserver using the link that Dave posted some time bac=
k (https://github.com/xenserver/buildroot/pull/427) but hit things I didn't=
 really understand.
>> =

>> So, I'd like to press on and hopefully contribute something back, but I'=
m wondering if I'm jumping the gun with all of this and perhaps should wait=
 a while. On the other hand, if someone thinks the time is right and would =
give me a few  points on how to procede then I'd be very grateful.
> =

> XenServer's probably a little heavyweight for the little ARM.  It would b=
e worth trying to manage it remotely via libvirt instead, which has increas=
ingly improved Xen bindings for xl.  If you gave that a try and report any =
issues back (libvirt.org), that would be most interesting (it's on my list =
but I haven't had a chance yet).

It would be interesting to hear how well libvirt + libxl works.

With =93xapi=94, you get a set of daemons which can be used separately or t=
ogether. The full set does build and run in the Cubie2 environment, with th=
e following caveats:

* it=92s been tried exactly twice :-) and needs a bit more debugging

* in some cases we had to package more recent versions of some of the base =
OCaml libraries than were available in Ubuntu trusty. There=92s a bug (whic=
h I think Euan Harris was working on) which manifested whenever Ubuntu upda=
ted its package =97 the xapi build environment would produce libraries with=
 the same version number as Ubuntu=92s but with different CRCs. The install=
 environment would then select the wrong package and give a confusing error=
 (failed to install liblwt-ocaml-<part of CRC>)

* starting a VM worked ok but a libxl event was lost somewhere while shutti=
ng it down. It could be that the Mirage guest was so quick to shutdown that=
 it exposed a race condition somewhere.

We=92re in the middle of adding Ubuntu trusty to our CI environment to capt=
ure the generic package building problems that affect both x86_64 and armhf=
. After that I=92d like to track down the libxl issue which is probably als=
o common. After that it should work a bit better!

Cheers,
Dave
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 12:54:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 12:54:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5wp9-0005nW-PN; Sat, 12 Jul 2014 12:54:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X5wp8-0005nP-KS
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 12:54:42 +0000
Received: from [85.158.139.211:43097] by server-5.bemta-5.messagelabs.com id
	A2/B2-29625-11031C35; Sat, 12 Jul 2014 12:54:41 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1405169681!12258943!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24650 invoked from network); 12 Jul 2014 12:54:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-16.tower-206.messagelabs.com with SMTP;
	12 Jul 2014 12:54:41 -0000
X-IronPort-AV: E=Sophos;i="5.01,649,1400025600"; d="scan'208";a="23042230"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 12 Jul 2014 12:54:41 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL02.citrite.net ([169.254.7.117]) with mapi id 14.03.0181.006;
	Sat, 12 Jul 2014 14:54:40 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Anil Madhavapeddy <anil@recoil.org>
Thread-Topic: [MirageOS-devel] xenserver on arm
Thread-Index: AQHPnSwBIY/fLrOB9EiHfWC/hjDBk5ucOGIAgAAMnoA=
Date: Sat, 12 Jul 2014 12:54:39 +0000
Message-ID: <E1C9EEF8-01B9-4176-AD8F-928952E52FBD@citrix.com>
References: <DUB128-W191B43EF36F3F51898F3A3B4090@phx.gbl>
	<8253972C-46CB-4627-A026-6C39A29B6CD4@recoil.org>
In-Reply-To: <8253972C-46CB-4627-A026-6C39A29B6CD4@recoil.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <45CD59F1ABBF7F43B908DD78646F7563@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] xenserver on arm
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 12 Jul 2014, at 13:09, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 11 Jul 2014, at 18:17, buzz heavyyear <buzzheavyyear@hotmail.com> wrot=
e:
> =

>> I'm at the point with what I'm doing where having some form of remote ma=
nagement would be very useful. Certainly, for the time being, remotely depl=
oying mirage instances on a running cubieboard would make life a lot easier=
 for me.
>> =

>> Xenserver & xapi seem to offer all of the bells and whistles that hit th=
e nail on the head.
>> =

>> I tried to build xenserver using the link that Dave posted some time bac=
k (https://github.com/xenserver/buildroot/pull/427) but hit things I didn't=
 really understand.
>> =

>> So, I'd like to press on and hopefully contribute something back, but I'=
m wondering if I'm jumping the gun with all of this and perhaps should wait=
 a while. On the other hand, if someone thinks the time is right and would =
give me a few  points on how to procede then I'd be very grateful.
> =

> XenServer's probably a little heavyweight for the little ARM.  It would b=
e worth trying to manage it remotely via libvirt instead, which has increas=
ingly improved Xen bindings for xl.  If you gave that a try and report any =
issues back (libvirt.org), that would be most interesting (it's on my list =
but I haven't had a chance yet).

It would be interesting to hear how well libvirt + libxl works.

With =93xapi=94, you get a set of daemons which can be used separately or t=
ogether. The full set does build and run in the Cubie2 environment, with th=
e following caveats:

* it=92s been tried exactly twice :-) and needs a bit more debugging

* in some cases we had to package more recent versions of some of the base =
OCaml libraries than were available in Ubuntu trusty. There=92s a bug (whic=
h I think Euan Harris was working on) which manifested whenever Ubuntu upda=
ted its package =97 the xapi build environment would produce libraries with=
 the same version number as Ubuntu=92s but with different CRCs. The install=
 environment would then select the wrong package and give a confusing error=
 (failed to install liblwt-ocaml-<part of CRC>)

* starting a VM worked ok but a libxl event was lost somewhere while shutti=
ng it down. It could be that the Mirage guest was so quick to shutdown that=
 it exposed a race condition somewhere.

We=92re in the middle of adding Ubuntu trusty to our CI environment to capt=
ure the generic package building problems that affect both x86_64 and armhf=
. After that I=92d like to track down the libxl issue which is probably als=
o common. After that it should work a bit better!

Cheers,
Dave
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 15:45:02 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 15:45:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5zTu-0006oD-6C; Sat, 12 Jul 2014 15:44:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5zTs-0006o8-Pu
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 15:44:56 +0000
Received: from [193.109.254.147:21684] by server-10.bemta-14.messagelabs.com
	id 2E/95-01431-8F751C35; Sat, 12 Jul 2014 15:44:56 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-27.messagelabs.com!1405179895!17058607!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16608 invoked from network); 12 Jul 2014 15:44:55 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-27.messagelabs.com with SMTP;
	12 Jul 2014 15:44:55 -0000
Received: (qmail 30490 invoked by uid 634); 12 Jul 2014 15:44:54 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 12 Jul 2014 16:44:54 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
Date: Sat, 12 Jul 2014 16:44:53 +0100
Message-Id: <0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 11 Jul 2014, at 19:47, Thomas Leonard <talex5@gmail.com> wrote:

> There has been lots of progress on the ARM front recently! In particular:
> 
> - The separate Mini-OS and OpenLibm patches have been merged to the
> main mirage-platform and mirage repositories' master branches.
> 
> - Hardware floating point now works.

Awesome!  

> 
> If you're using a hard-float dom0 (the default), you'll also need the
> latest Git version of libminios:
> 
>    $ git clone https://github.com/talex5/xen.git
>    $ git checkout -b devel origin/devel
>    $ cd extras/mini-os
>    $ export PREFIX=`opam config var prefix`
>    $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include

Could you tag this one, so I can update the xen-minios package (in
mirage/mirage-xen-libs, which I will shortly rename to mirage/mirage-xen-minios
before submitting an OPAM package).

> 
> To use networking, you also need to use these Git branches, which move
> the checksumming code to mirage-tcpip and make it work on ARM:
> 
> - https://github.com/talex5/mirage/commits/link_c_stubs
> - https://github.com/talex5/mirage-tcpip/commits/checksum

I'll merge those just as soon as I merge/release Mindy's recent TCP/IP
changes, which will be the last in the 1.x stream of TCP/IP before we
move onto V2 (which can include the ARM changes as well).

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 15:45:02 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 15:45:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X5zTu-0006oD-6C; Sat, 12 Jul 2014 15:44:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X5zTs-0006o8-Pu
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 15:44:56 +0000
Received: from [193.109.254.147:21684] by server-10.bemta-14.messagelabs.com
	id 2E/95-01431-8F751C35; Sat, 12 Jul 2014 15:44:56 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-27.messagelabs.com!1405179895!17058607!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16608 invoked from network); 12 Jul 2014 15:44:55 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-27.messagelabs.com with SMTP;
	12 Jul 2014 15:44:55 -0000
Received: (qmail 30490 invoked by uid 634); 12 Jul 2014 15:44:54 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 12 Jul 2014 16:44:54 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
Date: Sat, 12 Jul 2014 16:44:53 +0100
Message-Id: <0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 11 Jul 2014, at 19:47, Thomas Leonard <talex5@gmail.com> wrote:

> There has been lots of progress on the ARM front recently! In particular:
> 
> - The separate Mini-OS and OpenLibm patches have been merged to the
> main mirage-platform and mirage repositories' master branches.
> 
> - Hardware floating point now works.

Awesome!  

> 
> If you're using a hard-float dom0 (the default), you'll also need the
> latest Git version of libminios:
> 
>    $ git clone https://github.com/talex5/xen.git
>    $ git checkout -b devel origin/devel
>    $ cd extras/mini-os
>    $ export PREFIX=`opam config var prefix`
>    $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include

Could you tag this one, so I can update the xen-minios package (in
mirage/mirage-xen-libs, which I will shortly rename to mirage/mirage-xen-minios
before submitting an OPAM package).

> 
> To use networking, you also need to use these Git branches, which move
> the checksumming code to mirage-tcpip and make it work on ARM:
> 
> - https://github.com/talex5/mirage/commits/link_c_stubs
> - https://github.com/talex5/mirage-tcpip/commits/checksum

I'll merge those just as soon as I merge/release Mindy's recent TCP/IP
changes, which will be the last in the 1.x stream of TCP/IP before we
move onto V2 (which can include the ARM changes as well).

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 18:08:16 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 18:08:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X61iW-0007vM-17; Sat, 12 Jul 2014 18:08:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X61iU-0007vH-N7
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 18:08:10 +0000
Received: from [85.158.139.211:37164] by server-9.bemta-5.messagelabs.com id
	E4/DE-14363-A8971C35; Sat, 12 Jul 2014 18:08:10 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-206.messagelabs.com!1405188489!15189190!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2783 invoked from network); 12 Jul 2014 18:08:09 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-206.messagelabs.com with SMTP;
	12 Jul 2014 18:08:09 -0000
Received: (qmail 29935 invoked by uid 634); 12 Jul 2014 18:08:08 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 12 Jul 2014 19:08:08 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
Date: Sat, 12 Jul 2014 19:08:07 +0100
Message-Id: <1518A9BE-8AE2-46AC-9828-C6EC1F86070C@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 12 Jul 2014, at 16:44, Anil Madhavapeddy <anil@recoil.org> wrote:

>> 
>> 
>> If you're using a hard-float dom0 (the default), you'll also need the
>> latest Git version of libminios:
>> 
>>   $ git clone https://github.com/talex5/xen.git
>>   $ git checkout -b devel origin/devel
>>   $ cd extras/mini-os
>>   $ export PREFIX=`opam config var prefix`
>>   $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include
> 
> Could you tag this one, so I can update the xen-minios package (in
> mirage/mirage-xen-libs, which I will shortly rename to mirage/mirage-xen-minios
> before submitting an OPAM package).

Is the hard-float feature definitely in the devel/ branch of your xen/minios tree?

I switched over to that but still get link failures due to FP symbols in the hard-float dom0.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 12 18:08:16 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 12 Jul 2014 18:08:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X61iW-0007vM-17; Sat, 12 Jul 2014 18:08:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X61iU-0007vH-N7
	for mirageos-devel@lists.xenproject.org; Sat, 12 Jul 2014 18:08:10 +0000
Received: from [85.158.139.211:37164] by server-9.bemta-5.messagelabs.com id
	E4/DE-14363-A8971C35; Sat, 12 Jul 2014 18:08:10 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-206.messagelabs.com!1405188489!15189190!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2783 invoked from network); 12 Jul 2014 18:08:09 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-206.messagelabs.com with SMTP;
	12 Jul 2014 18:08:09 -0000
Received: (qmail 29935 invoked by uid 634); 12 Jul 2014 18:08:08 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.110]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 12 Jul 2014 19:08:08 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
Date: Sat, 12 Jul 2014 19:08:07 +0100
Message-Id: <1518A9BE-8AE2-46AC-9828-C6EC1F86070C@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 12 Jul 2014, at 16:44, Anil Madhavapeddy <anil@recoil.org> wrote:

>> 
>> 
>> If you're using a hard-float dom0 (the default), you'll also need the
>> latest Git version of libminios:
>> 
>>   $ git clone https://github.com/talex5/xen.git
>>   $ git checkout -b devel origin/devel
>>   $ cd extras/mini-os
>>   $ export PREFIX=`opam config var prefix`
>>   $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include
> 
> Could you tag this one, so I can update the xen-minios package (in
> mirage/mirage-xen-libs, which I will shortly rename to mirage/mirage-xen-minios
> before submitting an OPAM package).

Is the hard-float feature definitely in the devel/ branch of your xen/minios tree?

I switched over to that but still get link failures due to FP symbols in the hard-float dom0.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 13 11:25:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 13 Jul 2014 11:25:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6HuL-0003G8-1X; Sun, 13 Jul 2014 11:25:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X6HuJ-0003G3-He
	for mirageos-devel@lists.xenproject.org; Sun, 13 Jul 2014 11:25:27 +0000
Received: from [193.109.254.147:53767] by server-5.bemta-14.messagelabs.com id
	D8/3E-31950-6AC62C35; Sun, 13 Jul 2014 11:25:26 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1405250724!17179645!1
X-Originating-IP: [209.85.219.49]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24558 invoked from network); 13 Jul 2014 11:25:25 -0000
Received: from mail-oa0-f49.google.com (HELO mail-oa0-f49.google.com)
	(209.85.219.49)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	13 Jul 2014 11:25:25 -0000
Received: by mail-oa0-f49.google.com with SMTP id eb12so3044762oac.8
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 13 Jul 2014 04:25:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=0TZKk/D1u2F8MPrT3Deb3tnXixdVARTFDKGAjN/Y6BI=;
	b=QwUi+mk4AOHiR0pHXIH9IXmZIp9G6zUMuxYcJib+OoR8avfTo28X6IOnBxlAnl6VQl
	xHjIgW2RZKfpdojXgjdTCvx12tfdylU8H/3iQwWsiS/v2ZPQOfyh0TOIZYhZYXSVG02g
	uwQ8Eo2g8iFskUauaX7TpNG5XcFuAa97GPBOWJX2Xn0KMbVnH1O/m7UW9Ay6U4b6NCbJ
	GpD1ptsM16JeXNVrWE/Lexw/Gfdn6HwuMYpFNv+h2rOgB6rEMlAD6S8AbAY6E1EdT0Eh
	Ca3/1mHn5bQok7SOjI8fhK/vi6ebvnbCVEpWyxNgAzhMaJ7rdbx3Ln2fLiTGUQyG405L
	pUQQ==
MIME-Version: 1.0
X-Received: by 10.182.102.197 with SMTP id fq5mr10801062obb.3.1405250724188;
	Sun, 13 Jul 2014 04:25:24 -0700 (PDT)
Received: by 10.182.143.67 with HTTP; Sun, 13 Jul 2014 04:25:24 -0700 (PDT)
In-Reply-To: <1518A9BE-8AE2-46AC-9828-C6EC1F86070C@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
	<1518A9BE-8AE2-46AC-9828-C6EC1F86070C@recoil.org>
Date: Sun, 13 Jul 2014 12:25:24 +0100
Message-ID: <CAG4opy_zBd_Bq-=2ySzNP3-6764dT3Jh3Tci5igCyTD04G_qPQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 12 July 2014 19:08, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 12 Jul 2014, at 16:44, Anil Madhavapeddy <anil@recoil.org> wrote:
>
>>>
>>>
>>> If you're using a hard-float dom0 (the default), you'll also need the
>>> latest Git version of libminios:
>>>
>>>   $ git clone https://github.com/talex5/xen.git
>>>   $ git checkout -b devel origin/devel
>>>   $ cd extras/mini-os
>>>   $ export PREFIX=`opam config var prefix`
>>>   $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include
>>
>> Could you tag this one, so I can update the xen-minios package (in
>> mirage/mirage-xen-libs, which I will shortly rename to mirage/mirage-xen-minios
>> before submitting an OPAM package).

I'll try to get this done tomorrow.

> Is the hard-float feature definitely in the devel/ branch of your xen/minios tree?
>
> I switched over to that but still get link failures due to FP symbols in the hard-float dom0.

If you're getting link failures (rather than runtime failures), it's
probably because some parts are compiled as soft float and others as
hard float. If everything is compiled on the same OS there shouldn't
be a problem, but if you're cross compiling Mini-OS or OpenLibm you
might get a problem.

What errors are you getting?


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 13 11:25:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 13 Jul 2014 11:25:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6HuL-0003G8-1X; Sun, 13 Jul 2014 11:25:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X6HuJ-0003G3-He
	for mirageos-devel@lists.xenproject.org; Sun, 13 Jul 2014 11:25:27 +0000
Received: from [193.109.254.147:53767] by server-5.bemta-14.messagelabs.com id
	D8/3E-31950-6AC62C35; Sun, 13 Jul 2014 11:25:26 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1405250724!17179645!1
X-Originating-IP: [209.85.219.49]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24558 invoked from network); 13 Jul 2014 11:25:25 -0000
Received: from mail-oa0-f49.google.com (HELO mail-oa0-f49.google.com)
	(209.85.219.49)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	13 Jul 2014 11:25:25 -0000
Received: by mail-oa0-f49.google.com with SMTP id eb12so3044762oac.8
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 13 Jul 2014 04:25:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=0TZKk/D1u2F8MPrT3Deb3tnXixdVARTFDKGAjN/Y6BI=;
	b=QwUi+mk4AOHiR0pHXIH9IXmZIp9G6zUMuxYcJib+OoR8avfTo28X6IOnBxlAnl6VQl
	xHjIgW2RZKfpdojXgjdTCvx12tfdylU8H/3iQwWsiS/v2ZPQOfyh0TOIZYhZYXSVG02g
	uwQ8Eo2g8iFskUauaX7TpNG5XcFuAa97GPBOWJX2Xn0KMbVnH1O/m7UW9Ay6U4b6NCbJ
	GpD1ptsM16JeXNVrWE/Lexw/Gfdn6HwuMYpFNv+h2rOgB6rEMlAD6S8AbAY6E1EdT0Eh
	Ca3/1mHn5bQok7SOjI8fhK/vi6ebvnbCVEpWyxNgAzhMaJ7rdbx3Ln2fLiTGUQyG405L
	pUQQ==
MIME-Version: 1.0
X-Received: by 10.182.102.197 with SMTP id fq5mr10801062obb.3.1405250724188;
	Sun, 13 Jul 2014 04:25:24 -0700 (PDT)
Received: by 10.182.143.67 with HTTP; Sun, 13 Jul 2014 04:25:24 -0700 (PDT)
In-Reply-To: <1518A9BE-8AE2-46AC-9828-C6EC1F86070C@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
	<1518A9BE-8AE2-46AC-9828-C6EC1F86070C@recoil.org>
Date: Sun, 13 Jul 2014 12:25:24 +0100
Message-ID: <CAG4opy_zBd_Bq-=2ySzNP3-6764dT3Jh3Tci5igCyTD04G_qPQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 12 July 2014 19:08, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 12 Jul 2014, at 16:44, Anil Madhavapeddy <anil@recoil.org> wrote:
>
>>>
>>>
>>> If you're using a hard-float dom0 (the default), you'll also need the
>>> latest Git version of libminios:
>>>
>>>   $ git clone https://github.com/talex5/xen.git
>>>   $ git checkout -b devel origin/devel
>>>   $ cd extras/mini-os
>>>   $ export PREFIX=`opam config var prefix`
>>>   $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include
>>
>> Could you tag this one, so I can update the xen-minios package (in
>> mirage/mirage-xen-libs, which I will shortly rename to mirage/mirage-xen-minios
>> before submitting an OPAM package).

I'll try to get this done tomorrow.

> Is the hard-float feature definitely in the devel/ branch of your xen/minios tree?
>
> I switched over to that but still get link failures due to FP symbols in the hard-float dom0.

If you're getting link failures (rather than runtime failures), it's
probably because some parts are compiled as soft float and others as
hard float. If everything is compiled on the same OS there shouldn't
be a problem, but if you're cross compiling Mini-OS or OpenLibm you
might get a problem.

What errors are you getting?


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 08:46:26 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 08:46:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6btt-0002SF-OZ; Mon, 14 Jul 2014 08:46:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <loldrup@gmail.com>) id 1X6bts-0002SA-Ml
	for MirageOS-devel@lists.xenproject.org; Mon, 14 Jul 2014 08:46:20 +0000
Received: from [85.158.139.211:41725] by server-7.bemta-5.messagelabs.com id
	54/C8-30824-BD893C35; Mon, 14 Jul 2014 08:46:19 +0000
X-Env-Sender: loldrup@gmail.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1405327578!15357228!1
X-Originating-IP: [209.85.216.180]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23975 invoked from network); 14 Jul 2014 08:46:19 -0000
Received: from mail-qc0-f180.google.com (HELO mail-qc0-f180.google.com)
	(209.85.216.180)
	by server-2.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	14 Jul 2014 08:46:19 -0000
Received: by mail-qc0-f180.google.com with SMTP id l6so2929092qcy.39
	for <MirageOS-devel@lists.xenproject.org>;
	Mon, 14 Jul 2014 01:46:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=7FghjOJd7cLT3FHL4MX9DtGBdIgEbVe7vUeYA85MZYs=;
	b=FA+MCp2E/QRHvDNpHV7JLbvAjRQ+zyLsxL+/Do9OIcoyANAMI0dRzLBZxWJexZ2RSZ
	MfNmkiebeY8BV3QhHwSDR94WIID2dCWXvvZvzA27vcQfE5kTlrj7sxHacG92PQRSoJOu
	kdQyWiB0YIqh2zXvPHtHvfatfs0SGtXp9BlLbBp2DAIFBV3Bgo4u0thsNlN6IUJg7zax
	Y/ChV9pXmBlLm5M2BplbO73B8yRSt5I0N9XIu7N4T/6Mt7J236gkKTYL4dXcMEDN2vfB
	RYieMUpFBFhZvAHfIz5KrmHCQYc7LKzwFbocstbV1gW+T7VfxIoQ9TnwgnVtD/xK93LO
	XGkA==
MIME-Version: 1.0
X-Received: by 10.140.82.113 with SMTP id g104mr21751700qgd.55.1405327578263; 
	Mon, 14 Jul 2014 01:46:18 -0700 (PDT)
Received: by 10.140.48.8 with HTTP; Mon, 14 Jul 2014 01:46:18 -0700 (PDT)
Received: by 10.140.48.8 with HTTP; Mon, 14 Jul 2014 01:46:18 -0700 (PDT)
Date: Mon, 14 Jul 2014 10:46:18 +0200
Message-ID: <CACxdjHyk8xm9OfYkk4YqUZjuoLs-5EMcP4Ts7a2eFpZ7XvAotg@mail.gmail.com>
From: Jon Loldrup <loldrup@gmail.com>
To: MirageOS-devel@lists.xenproject.org
Subject: [MirageOS-devel] Windows shares through Mirage?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6141558018810168002=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6141558018810168002==
Content-Type: multipart/alternative; boundary=001a11c11b9418906b04fe2353e9

--001a11c11b9418906b04fe2353e9
Content-Type: text/plain; charset=ISO-8859-1

Hi

In Ubuntu I can install Samba to make a shared network drive accessible by
Windows computers.

Is there a way to achieve the same functionality when building my
application as a Mirage OS?

regards
Jon Loldrup

--001a11c11b9418906b04fe2353e9
Content-Type: text/html; charset=ISO-8859-1

<p dir="ltr">Hi</p>
<p dir="ltr">In Ubuntu I can install Samba to make a shared network drive accessible by Windows computers.</p>
<p dir="ltr">Is there a way to achieve the same functionality when building my application as a Mirage OS?</p>
<p dir="ltr">regards<br>
Jon Loldrup</p>

--001a11c11b9418906b04fe2353e9--


--===============6141558018810168002==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6141558018810168002==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 08:46:26 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 08:46:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6btt-0002SF-OZ; Mon, 14 Jul 2014 08:46:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <loldrup@gmail.com>) id 1X6bts-0002SA-Ml
	for MirageOS-devel@lists.xenproject.org; Mon, 14 Jul 2014 08:46:20 +0000
Received: from [85.158.139.211:41725] by server-7.bemta-5.messagelabs.com id
	54/C8-30824-BD893C35; Mon, 14 Jul 2014 08:46:19 +0000
X-Env-Sender: loldrup@gmail.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1405327578!15357228!1
X-Originating-IP: [209.85.216.180]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23975 invoked from network); 14 Jul 2014 08:46:19 -0000
Received: from mail-qc0-f180.google.com (HELO mail-qc0-f180.google.com)
	(209.85.216.180)
	by server-2.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	14 Jul 2014 08:46:19 -0000
Received: by mail-qc0-f180.google.com with SMTP id l6so2929092qcy.39
	for <MirageOS-devel@lists.xenproject.org>;
	Mon, 14 Jul 2014 01:46:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=7FghjOJd7cLT3FHL4MX9DtGBdIgEbVe7vUeYA85MZYs=;
	b=FA+MCp2E/QRHvDNpHV7JLbvAjRQ+zyLsxL+/Do9OIcoyANAMI0dRzLBZxWJexZ2RSZ
	MfNmkiebeY8BV3QhHwSDR94WIID2dCWXvvZvzA27vcQfE5kTlrj7sxHacG92PQRSoJOu
	kdQyWiB0YIqh2zXvPHtHvfatfs0SGtXp9BlLbBp2DAIFBV3Bgo4u0thsNlN6IUJg7zax
	Y/ChV9pXmBlLm5M2BplbO73B8yRSt5I0N9XIu7N4T/6Mt7J236gkKTYL4dXcMEDN2vfB
	RYieMUpFBFhZvAHfIz5KrmHCQYc7LKzwFbocstbV1gW+T7VfxIoQ9TnwgnVtD/xK93LO
	XGkA==
MIME-Version: 1.0
X-Received: by 10.140.82.113 with SMTP id g104mr21751700qgd.55.1405327578263; 
	Mon, 14 Jul 2014 01:46:18 -0700 (PDT)
Received: by 10.140.48.8 with HTTP; Mon, 14 Jul 2014 01:46:18 -0700 (PDT)
Received: by 10.140.48.8 with HTTP; Mon, 14 Jul 2014 01:46:18 -0700 (PDT)
Date: Mon, 14 Jul 2014 10:46:18 +0200
Message-ID: <CACxdjHyk8xm9OfYkk4YqUZjuoLs-5EMcP4Ts7a2eFpZ7XvAotg@mail.gmail.com>
From: Jon Loldrup <loldrup@gmail.com>
To: MirageOS-devel@lists.xenproject.org
Subject: [MirageOS-devel] Windows shares through Mirage?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6141558018810168002=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6141558018810168002==
Content-Type: multipart/alternative; boundary=001a11c11b9418906b04fe2353e9

--001a11c11b9418906b04fe2353e9
Content-Type: text/plain; charset=ISO-8859-1

Hi

In Ubuntu I can install Samba to make a shared network drive accessible by
Windows computers.

Is there a way to achieve the same functionality when building my
application as a Mirage OS?

regards
Jon Loldrup

--001a11c11b9418906b04fe2353e9
Content-Type: text/html; charset=ISO-8859-1

<p dir="ltr">Hi</p>
<p dir="ltr">In Ubuntu I can install Samba to make a shared network drive accessible by Windows computers.</p>
<p dir="ltr">Is there a way to achieve the same functionality when building my application as a Mirage OS?</p>
<p dir="ltr">regards<br>
Jon Loldrup</p>

--001a11c11b9418906b04fe2353e9--


--===============6141558018810168002==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6141558018810168002==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 09:54:31 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 09:54:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6cxm-0004HG-Nf; Mon, 14 Jul 2014 09:54:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X6cxl-0004H1-3X
	for MirageOS-devel@lists.xenproject.org; Mon, 14 Jul 2014 09:54:25 +0000
Received: from [85.158.139.211:34837] by server-11.bemta-5.messagelabs.com id
	1E/3B-31786-0D8A3C35; Mon, 14 Jul 2014 09:54:24 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1405331660!15392089!1
X-Originating-IP: [209.85.220.41]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23129 invoked from network); 14 Jul 2014 09:54:22 -0000
Received: from mail-pa0-f41.google.com (HELO mail-pa0-f41.google.com)
	(209.85.220.41)
	by server-13.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	14 Jul 2014 09:54:22 -0000
Received: by mail-pa0-f41.google.com with SMTP id fb1so5140779pad.0
	for <MirageOS-devel@lists.xenproject.org>;
	Mon, 14 Jul 2014 02:54:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=a3BuLbUWPL/GWigqvZjMCoo0BQ/C/h2gBNsTMdy1YEA=;
	b=gs6y1JgZScTJfqSM0U1t5B0vZeO+EaAIYGPbzTlfVCl7h3S+Jron23R7VS4VT5o4oU
	WEcS8qfwqq/AT0kqGGvKL333NIF/4jwMGNTsNd4rIxLOCKA2NKI+QEIr2ma4QJBqxNuV
	R4bhWkkIuSokszXZsInfVqxdNNuAzm6fUG+G7uPURL8ysmy5uUhRtdOM/nJ/ElJ430LX
	+m9L45JJhv5iMma2uooxP42NKo98jtDrj0E3pskXGpV42H9gfLFi9u0xmwW6dLL8pNXn
	udhKZc/V13SJD884ydh99jCEfTnLQ12UeL/hUYWlP0hMOGCEDmTVZxXOeix7e+RJfWcC
	J5MA==
MIME-Version: 1.0
X-Received: by 10.70.44.101 with SMTP id d5mr15971624pdm.82.1405331660339;
	Mon, 14 Jul 2014 02:54:20 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Mon, 14 Jul 2014 02:54:20 -0700 (PDT)
In-Reply-To: <CACxdjHyk8xm9OfYkk4YqUZjuoLs-5EMcP4Ts7a2eFpZ7XvAotg@mail.gmail.com>
References: <CACxdjHyk8xm9OfYkk4YqUZjuoLs-5EMcP4Ts7a2eFpZ7XvAotg@mail.gmail.com>
Date: Mon, 14 Jul 2014 10:54:20 +0100
Message-ID: <CAG_esB0aunh+Qi2LRAO0rUkBOsx_ajUtgUfSpiLW-nBNggQH6g@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Jon Loldrup <loldrup@gmail.com>
Cc: "mirageos-devel@lists.xenproject.org" <MirageOS-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Windows shares through Mirage?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8122206978587925846=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============8122206978587925846==
Content-Type: multipart/alternative; boundary=089e0103dfb067ff9804fe2446ba

--089e0103dfb067ff9804fe2446ba
Content-Type: text/plain; charset=UTF-8

Hi,

I think the easiest way to access data from windows would be to expose an
HTTP server in your Mirage application. The HTTP code is robust and in use
all over the place.

Another option (which I haven't tried) would be to expose the git protocol
via Irmin and then use a Windows git client like 'tortoisegit' which
integrates with the Windows shell. This would give you history tracking for
free. We plan to use irmin/git all over the place in Mirage so, even though
the code is quite new, I feel happy recommending it.

We don't have a library which can talk SMB/CIFS (the protocol used by Samba
and Windows) and it's reputed to be quite complex so it would take a lot of
effort to implement.

Cheers,


On Mon, Jul 14, 2014 at 9:46 AM, Jon Loldrup <loldrup@gmail.com> wrote:

> Hi
>
> In Ubuntu I can install Samba to make a shared network drive accessible by
> Windows computers.
>
> Is there a way to achieve the same functionality when building my
> application as a Mirage OS?
>
> regards
> Jon Loldrup
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>
>


-- 
Dave Scott

--089e0103dfb067ff9804fe2446ba
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I think the easiest way to access d=
ata from windows would be to expose an HTTP server in your Mirage applicati=
on. The HTTP code is robust and in use all over the place.</div><div><br></=
div>
<div>Another option (which I haven&#39;t tried) would be to expose the git =
protocol via Irmin and then use a Windows git client like &#39;tortoisegit&=
#39; which integrates with the Windows shell. This would give you history t=
racking for free. We plan to use irmin/git all over the place in Mirage so,=
 even though the code is quite new, I feel happy recommending it.</div>
<div><br></div><div>We don&#39;t have a library which can talk SMB/CIFS (th=
e protocol used by Samba and Windows) and it&#39;s reputed to be quite comp=
lex so it would take a lot of effort to implement.</div><div><br></div>
<div>Cheers,</div></div><div class=3D"gmail_extra"><br><br><div class=3D"gm=
ail_quote">On Mon, Jul 14, 2014 at 9:46 AM, Jon Loldrup <span dir=3D"ltr">&=
lt;<a href=3D"mailto:loldrup@gmail.com" target=3D"_blank">loldrup@gmail.com=
</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><p dir=3D"ltr">Hi</p>
<p dir=3D"ltr">In Ubuntu I can install Samba to make a shared network drive=
 accessible by Windows computers.</p>
<p dir=3D"ltr">Is there a way to achieve the same functionality when buildi=
ng my application as a Mirage OS?</p>
<p dir=3D"ltr">regards<span class=3D"HOEnZb"><font color=3D"#888888"><br>
Jon Loldrup</font></span></p>
<br>_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Dave Sco=
tt
</div>

--089e0103dfb067ff9804fe2446ba--


--===============8122206978587925846==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============8122206978587925846==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 09:54:31 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 09:54:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6cxm-0004HG-Nf; Mon, 14 Jul 2014 09:54:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X6cxl-0004H1-3X
	for MirageOS-devel@lists.xenproject.org; Mon, 14 Jul 2014 09:54:25 +0000
Received: from [85.158.139.211:34837] by server-11.bemta-5.messagelabs.com id
	1E/3B-31786-0D8A3C35; Mon, 14 Jul 2014 09:54:24 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1405331660!15392089!1
X-Originating-IP: [209.85.220.41]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23129 invoked from network); 14 Jul 2014 09:54:22 -0000
Received: from mail-pa0-f41.google.com (HELO mail-pa0-f41.google.com)
	(209.85.220.41)
	by server-13.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	14 Jul 2014 09:54:22 -0000
Received: by mail-pa0-f41.google.com with SMTP id fb1so5140779pad.0
	for <MirageOS-devel@lists.xenproject.org>;
	Mon, 14 Jul 2014 02:54:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=a3BuLbUWPL/GWigqvZjMCoo0BQ/C/h2gBNsTMdy1YEA=;
	b=gs6y1JgZScTJfqSM0U1t5B0vZeO+EaAIYGPbzTlfVCl7h3S+Jron23R7VS4VT5o4oU
	WEcS8qfwqq/AT0kqGGvKL333NIF/4jwMGNTsNd4rIxLOCKA2NKI+QEIr2ma4QJBqxNuV
	R4bhWkkIuSokszXZsInfVqxdNNuAzm6fUG+G7uPURL8ysmy5uUhRtdOM/nJ/ElJ430LX
	+m9L45JJhv5iMma2uooxP42NKo98jtDrj0E3pskXGpV42H9gfLFi9u0xmwW6dLL8pNXn
	udhKZc/V13SJD884ydh99jCEfTnLQ12UeL/hUYWlP0hMOGCEDmTVZxXOeix7e+RJfWcC
	J5MA==
MIME-Version: 1.0
X-Received: by 10.70.44.101 with SMTP id d5mr15971624pdm.82.1405331660339;
	Mon, 14 Jul 2014 02:54:20 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Mon, 14 Jul 2014 02:54:20 -0700 (PDT)
In-Reply-To: <CACxdjHyk8xm9OfYkk4YqUZjuoLs-5EMcP4Ts7a2eFpZ7XvAotg@mail.gmail.com>
References: <CACxdjHyk8xm9OfYkk4YqUZjuoLs-5EMcP4Ts7a2eFpZ7XvAotg@mail.gmail.com>
Date: Mon, 14 Jul 2014 10:54:20 +0100
Message-ID: <CAG_esB0aunh+Qi2LRAO0rUkBOsx_ajUtgUfSpiLW-nBNggQH6g@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Jon Loldrup <loldrup@gmail.com>
Cc: "mirageos-devel@lists.xenproject.org" <MirageOS-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Windows shares through Mirage?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8122206978587925846=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============8122206978587925846==
Content-Type: multipart/alternative; boundary=089e0103dfb067ff9804fe2446ba

--089e0103dfb067ff9804fe2446ba
Content-Type: text/plain; charset=UTF-8

Hi,

I think the easiest way to access data from windows would be to expose an
HTTP server in your Mirage application. The HTTP code is robust and in use
all over the place.

Another option (which I haven't tried) would be to expose the git protocol
via Irmin and then use a Windows git client like 'tortoisegit' which
integrates with the Windows shell. This would give you history tracking for
free. We plan to use irmin/git all over the place in Mirage so, even though
the code is quite new, I feel happy recommending it.

We don't have a library which can talk SMB/CIFS (the protocol used by Samba
and Windows) and it's reputed to be quite complex so it would take a lot of
effort to implement.

Cheers,


On Mon, Jul 14, 2014 at 9:46 AM, Jon Loldrup <loldrup@gmail.com> wrote:

> Hi
>
> In Ubuntu I can install Samba to make a shared network drive accessible by
> Windows computers.
>
> Is there a way to achieve the same functionality when building my
> application as a Mirage OS?
>
> regards
> Jon Loldrup
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>
>


-- 
Dave Scott

--089e0103dfb067ff9804fe2446ba
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I think the easiest way to access d=
ata from windows would be to expose an HTTP server in your Mirage applicati=
on. The HTTP code is robust and in use all over the place.</div><div><br></=
div>
<div>Another option (which I haven&#39;t tried) would be to expose the git =
protocol via Irmin and then use a Windows git client like &#39;tortoisegit&=
#39; which integrates with the Windows shell. This would give you history t=
racking for free. We plan to use irmin/git all over the place in Mirage so,=
 even though the code is quite new, I feel happy recommending it.</div>
<div><br></div><div>We don&#39;t have a library which can talk SMB/CIFS (th=
e protocol used by Samba and Windows) and it&#39;s reputed to be quite comp=
lex so it would take a lot of effort to implement.</div><div><br></div>
<div>Cheers,</div></div><div class=3D"gmail_extra"><br><br><div class=3D"gm=
ail_quote">On Mon, Jul 14, 2014 at 9:46 AM, Jon Loldrup <span dir=3D"ltr">&=
lt;<a href=3D"mailto:loldrup@gmail.com" target=3D"_blank">loldrup@gmail.com=
</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><p dir=3D"ltr">Hi</p>
<p dir=3D"ltr">In Ubuntu I can install Samba to make a shared network drive=
 accessible by Windows computers.</p>
<p dir=3D"ltr">Is there a way to achieve the same functionality when buildi=
ng my application as a Mirage OS?</p>
<p dir=3D"ltr">regards<span class=3D"HOEnZb"><font color=3D"#888888"><br>
Jon Loldrup</font></span></p>
<br>_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Dave Sco=
tt
</div>

--089e0103dfb067ff9804fe2446ba--


--===============8122206978587925846==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============8122206978587925846==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 10:51:23 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 10:51:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6dqs-0004zk-D4; Mon, 14 Jul 2014 10:51:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X6dqq-0004zW-Uq
	for mirageos-devel@lists.xenproject.org; Mon, 14 Jul 2014 10:51:21 +0000
Received: from [85.158.139.211:11721] by server-12.bemta-5.messagelabs.com id
	B2/9D-11323-826B3C35; Mon, 14 Jul 2014 10:51:20 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1405335079!12036506!1
X-Originating-IP: [74.125.82.182]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27820 invoked from network); 14 Jul 2014 10:51:19 -0000
Received: from mail-we0-f182.google.com (HELO mail-we0-f182.google.com)
	(74.125.82.182)
	by server-15.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	14 Jul 2014 10:51:19 -0000
Received: by mail-we0-f182.google.com with SMTP id q59so3920732wes.13
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 14 Jul 2014 03:51:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=FMFiq8eWRY9oCqwJEroVSo6GBUR3PvRFwOjO8KhSnDk=;
	b=SFh5OkjzWIwBTz+X4Cw5iL1MYT+0bYuD6x7TdotuGZxB9su5e6ylgh50bIgyQTDvl7
	nVkvO6kbki95H1MnXE3FZtEMfha6LAkvmLUklEuHKsPaIUk9u7JVsbiFd2TT4NNOkbbH
	jKlNCelm+/qErAAGlMwU5lvMxD1e0dNENi380waQEoFTHts2sr0e9WWtLCZ+jN2ZX4JK
	/b55KkUB/8c/jTrQg6dGqlkOhJrSxJLv/uENIIEIhtNbOervN8JbrxPM3rYqZersMiTX
	MamKR0PBZ5UDGuziPOQmb+WNltmCKYN1bUqwRh036rjeDxfjXpJ5cR4k5Cr5qybDyTVd
	Bb1Q==
X-Received: by 10.194.9.198 with SMTP id c6mr2348745wjb.131.1405335079534;
	Mon, 14 Jul 2014 03:51:19 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id
	w10sm29735554wie.22.2014.07.14.03.51.18 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 14 Jul 2014 03:51:18 -0700 (PDT)
Message-ID: <53C3B625.3080607@xen.org>
Date: Mon, 14 Jul 2014 11:51:17 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <53B28517.9020807@xen.org>	
	<1404902570.16789.3.camel@kazak.uk.xensource.com>	
	<53BD2756.2070602@xen.org>
	<1404906408.16789.14.camel@kazak.uk.xensource.com>
In-Reply-To: <1404906408.16789.14.camel@kazak.uk.xensource.com>
Cc: Artem Mygaiev <artem.mygaiev@globallogic.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Alex Agizim <alex.agizim@globallogic.com>,
	Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 09/07/2014 12:46, Ian Campbell wrote:
> On Wed, 2014-07-09 at 12:28 +0100, Lars Kurth wrote:
>
>>> "To build these drivers, the QNX GNU libc variant is used (licensed
>>> under GPL)."
>>>
>>>          Not LGPL? QNX using GPL for it's libc seems like an odd choice
>>>          for them, since it requires anything linking against it to be
>>>          GPL compatible. I suspect this a typo.
>> Corrected
> Just to be clear; I've no idea what license the QNX libc is under, it
> could be GPL for all I know, I was just querying it because it surprised
> me.
>
> (Just want to be sure you didn't assume I know it was LGPL or something)
I did go back and checked it. I tripped over it, as this was thrown into 
a collection with compilers. It needed drilling a level deeper down
Lars

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 10:51:23 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 10:51:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6dqs-0004zk-D4; Mon, 14 Jul 2014 10:51:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X6dqq-0004zW-Uq
	for mirageos-devel@lists.xenproject.org; Mon, 14 Jul 2014 10:51:21 +0000
Received: from [85.158.139.211:11721] by server-12.bemta-5.messagelabs.com id
	B2/9D-11323-826B3C35; Mon, 14 Jul 2014 10:51:20 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1405335079!12036506!1
X-Originating-IP: [74.125.82.182]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27820 invoked from network); 14 Jul 2014 10:51:19 -0000
Received: from mail-we0-f182.google.com (HELO mail-we0-f182.google.com)
	(74.125.82.182)
	by server-15.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	14 Jul 2014 10:51:19 -0000
Received: by mail-we0-f182.google.com with SMTP id q59so3920732wes.13
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 14 Jul 2014 03:51:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=FMFiq8eWRY9oCqwJEroVSo6GBUR3PvRFwOjO8KhSnDk=;
	b=SFh5OkjzWIwBTz+X4Cw5iL1MYT+0bYuD6x7TdotuGZxB9su5e6ylgh50bIgyQTDvl7
	nVkvO6kbki95H1MnXE3FZtEMfha6LAkvmLUklEuHKsPaIUk9u7JVsbiFd2TT4NNOkbbH
	jKlNCelm+/qErAAGlMwU5lvMxD1e0dNENi380waQEoFTHts2sr0e9WWtLCZ+jN2ZX4JK
	/b55KkUB/8c/jTrQg6dGqlkOhJrSxJLv/uENIIEIhtNbOervN8JbrxPM3rYqZersMiTX
	MamKR0PBZ5UDGuziPOQmb+WNltmCKYN1bUqwRh036rjeDxfjXpJ5cR4k5Cr5qybDyTVd
	Bb1Q==
X-Received: by 10.194.9.198 with SMTP id c6mr2348745wjb.131.1405335079534;
	Mon, 14 Jul 2014 03:51:19 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id
	w10sm29735554wie.22.2014.07.14.03.51.18 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 14 Jul 2014 03:51:18 -0700 (PDT)
Message-ID: <53C3B625.3080607@xen.org>
Date: Mon, 14 Jul 2014 11:51:17 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <53B28517.9020807@xen.org>	
	<1404902570.16789.3.camel@kazak.uk.xensource.com>	
	<53BD2756.2070602@xen.org>
	<1404906408.16789.14.camel@kazak.uk.xensource.com>
In-Reply-To: <1404906408.16789.14.camel@kazak.uk.xensource.com>
Cc: Artem Mygaiev <artem.mygaiev@globallogic.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	Alex Agizim <alex.agizim@globallogic.com>,
	Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Subject: Re: [MirageOS-devel] [Xen-devel] [For Community Review] Embedded
 and Automotive PV Drivers Sub-Project Proposal (deadline July 11th)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 09/07/2014 12:46, Ian Campbell wrote:
> On Wed, 2014-07-09 at 12:28 +0100, Lars Kurth wrote:
>
>>> "To build these drivers, the QNX GNU libc variant is used (licensed
>>> under GPL)."
>>>
>>>          Not LGPL? QNX using GPL for it's libc seems like an odd choice
>>>          for them, since it requires anything linking against it to be
>>>          GPL compatible. I suspect this a typo.
>> Corrected
> Just to be clear; I've no idea what license the QNX libc is under, it
> could be GPL for all I know, I was just querying it because it surprised
> me.
>
> (Just want to be sure you didn't assume I know it was LGPL or something)
I did go back and checked it. I tripped over it, as this was thrown into 
a collection with compilers. It needed drilling a level deeper down
Lars

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 10:52:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 10:52:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6dsC-0005B6-QW; Mon, 14 Jul 2014 10:52:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X6dsB-00059r-2Y
	for mirageos-devel@lists.xenproject.org; Mon, 14 Jul 2014 10:52:43 +0000
Received: from [85.158.137.68:38770] by server-12.bemta-3.messagelabs.com id
	39/BB-12714-A76B3C35; Mon, 14 Jul 2014 10:52:42 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1405335161!15813961!1
X-Originating-IP: [209.85.212.171]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2493 invoked from network); 14 Jul 2014 10:52:41 -0000
Received: from mail-wi0-f171.google.com (HELO mail-wi0-f171.google.com)
	(209.85.212.171)
	by server-8.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	14 Jul 2014 10:52:41 -0000
Received: by mail-wi0-f171.google.com with SMTP id hi2so2305953wib.4
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 14 Jul 2014 03:52:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=rOwbujRbSaif4scJPW5ZOjZJKzHV2uTbjAfjAbX9BPM=;
	b=HrM0Px4bfSX/OR+8Pk4EpRQi87RYrrytLD9ZaUKFkNkArUXQbin43qaOCNo9oo94cT
	KuaPE017zOUaIZouFhK3I4y03YN9kIw6FadkpNZLipFLyuEk3nbIrQiqBvVrpks0sNnz
	x6BYUSxeJldngEE1b52ZYiRbr/m1Qe0266zuxsTJt3eS6ue1bAZWPCO1HJBmavSampXZ
	xOTLPY26PXqAK7Qcj8jQ+gZPkeP/ZqM/vnx1H8J7oXiSRSNSSqzepInqBzwz3MXRwpVE
	+qxj/GqMq7ZMT2JK714lgBuENRcI07Q+qxmSlBOY48nC0r3EaYwvPw7a5MSu4XuuzRxP
	o2AA==
X-Received: by 10.180.89.143 with SMTP id bo15mr23250566wib.78.1405335160570; 
	Mon, 14 Jul 2014 03:52:40 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id h3sm24683997wjz.48.2014.07.14.03.52.39
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 14 Jul 2014 03:52:39 -0700 (PDT)
Message-ID: <53C3B676.8050204@xen.org>
Date: Mon, 14 Jul 2014 11:52:38 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <53BD5C45.807@xen.org>
	<1405010424.7406.1.camel@kazak.uk.xensource.com>
In-Reply-To: <1405010424.7406.1.camel@kazak.uk.xensource.com>
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [Input Needed] GitDM Config files
	& privacy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 10/07/2014 17:40, Ian Campbell wrote:
> On Wed, 2014-07-09 at 16:14 +0100, Lars Kurth wrote:
>> Hi all,
>>
>> I was in the process of publishing GitDM including config files in my
>> personal xenbits repository, such that other community members can run
>> contribution stats. However the config files contain email addresses and
>> thus there may be a potential privacy issue. Config files contain
>> * e-mail domain to employer mappings
>> * some e-mail address to employer mappings
>> * email address aliases mappings
>> * email address to name mappings (for acknowledgements)
>>
>> Most of the information in them are public in the first place (i.e. they
>> are available from git logs and mailing lists).
>>
>> I know that open source foundations such as OpenStack publish their
>> GitDM config files and I also found some other ones flying around.
>>
>> But before I publish anything I did want to check whether there are
>> objections.
> For stuff gleaned from public info it seems ok.
My view also
> But for stuff which was taken from private conversations I think you
> probably ought to ask if it is ok to share it (and get into the habit of
> doing so when you first ask someone who there employer is).
Of course the problem I have now is that I can't remember whom I asked.
Agreed on moving forward

Lars

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 10:52:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 10:52:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6dsC-0005B6-QW; Mon, 14 Jul 2014 10:52:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1X6dsB-00059r-2Y
	for mirageos-devel@lists.xenproject.org; Mon, 14 Jul 2014 10:52:43 +0000
Received: from [85.158.137.68:38770] by server-12.bemta-3.messagelabs.com id
	39/BB-12714-A76B3C35; Mon, 14 Jul 2014 10:52:42 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1405335161!15813961!1
X-Originating-IP: [209.85.212.171]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2493 invoked from network); 14 Jul 2014 10:52:41 -0000
Received: from mail-wi0-f171.google.com (HELO mail-wi0-f171.google.com)
	(209.85.212.171)
	by server-8.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	14 Jul 2014 10:52:41 -0000
Received: by mail-wi0-f171.google.com with SMTP id hi2so2305953wib.4
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 14 Jul 2014 03:52:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=rOwbujRbSaif4scJPW5ZOjZJKzHV2uTbjAfjAbX9BPM=;
	b=HrM0Px4bfSX/OR+8Pk4EpRQi87RYrrytLD9ZaUKFkNkArUXQbin43qaOCNo9oo94cT
	KuaPE017zOUaIZouFhK3I4y03YN9kIw6FadkpNZLipFLyuEk3nbIrQiqBvVrpks0sNnz
	x6BYUSxeJldngEE1b52ZYiRbr/m1Qe0266zuxsTJt3eS6ue1bAZWPCO1HJBmavSampXZ
	xOTLPY26PXqAK7Qcj8jQ+gZPkeP/ZqM/vnx1H8J7oXiSRSNSSqzepInqBzwz3MXRwpVE
	+qxj/GqMq7ZMT2JK714lgBuENRcI07Q+qxmSlBOY48nC0r3EaYwvPw7a5MSu4XuuzRxP
	o2AA==
X-Received: by 10.180.89.143 with SMTP id bo15mr23250566wib.78.1405335160570; 
	Mon, 14 Jul 2014 03:52:40 -0700 (PDT)
Received: from [172.16.25.10] (97e5a05a.skybroadband.com. [151.229.160.90])
	by mx.google.com with ESMTPSA id h3sm24683997wjz.48.2014.07.14.03.52.39
	for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 14 Jul 2014 03:52:39 -0700 (PDT)
Message-ID: <53C3B676.8050204@xen.org>
Date: Mon, 14 Jul 2014 11:52:38 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <53BD5C45.807@xen.org>
	<1405010424.7406.1.camel@kazak.uk.xensource.com>
In-Reply-To: <1405010424.7406.1.camel@kazak.uk.xensource.com>
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [MirageOS-devel] [Xen-devel] [Input Needed] GitDM Config files
	& privacy
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 10/07/2014 17:40, Ian Campbell wrote:
> On Wed, 2014-07-09 at 16:14 +0100, Lars Kurth wrote:
>> Hi all,
>>
>> I was in the process of publishing GitDM including config files in my
>> personal xenbits repository, such that other community members can run
>> contribution stats. However the config files contain email addresses and
>> thus there may be a potential privacy issue. Config files contain
>> * e-mail domain to employer mappings
>> * some e-mail address to employer mappings
>> * email address aliases mappings
>> * email address to name mappings (for acknowledgements)
>>
>> Most of the information in them are public in the first place (i.e. they
>> are available from git logs and mailing lists).
>>
>> I know that open source foundations such as OpenStack publish their
>> GitDM config files and I also found some other ones flying around.
>>
>> But before I publish anything I did want to check whether there are
>> objections.
> For stuff gleaned from public info it seems ok.
My view also
> But for stuff which was taken from private conversations I think you
> probably ought to ask if it is ok to share it (and get into the habit of
> doing so when you first ask someone who there employer is).
Of course the problem I have now is that I can't remember whom I asked.
Agreed on moving forward

Lars

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 12:21:54 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 12:21:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6fGO-0007Fk-Gr; Mon, 14 Jul 2014 12:21:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X6fGN-0007Ff-2I
	for MirageOS-devel@lists.xenproject.org; Mon, 14 Jul 2014 12:21:47 +0000
Received: from [85.158.143.35:57732] by server-1.bemta-4.messagelabs.com id
	9D/F0-30046-A5BC3C35; Mon, 14 Jul 2014 12:21:46 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-21.messagelabs.com!1405340505!17593540!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.1 required=7.0 tests=HTML_30_40,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7355 invoked from network); 14 Jul 2014 12:21:45 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-21.messagelabs.com with SMTP;
	14 Jul 2014 12:21:45 -0000
Received: (qmail 31198 invoked by uid 634); 14 Jul 2014 12:21:44 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 14 Jul 2014 13:21:43 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG_esB0aunh+Qi2LRAO0rUkBOsx_ajUtgUfSpiLW-nBNggQH6g@mail.gmail.com>
Date: Mon, 14 Jul 2014 13:21:41 +0100
Message-Id: <E1F020FD-2450-42D5-8F18-4D42C1E1494D@recoil.org>
References: <CACxdjHyk8xm9OfYkk4YqUZjuoLs-5EMcP4Ts7a2eFpZ7XvAotg@mail.gmail.com>
	<CAG_esB0aunh+Qi2LRAO0rUkBOsx_ajUtgUfSpiLW-nBNggQH6g@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Jon Loldrup <loldrup@gmail.com>, "mirageos-devel@lists.xenproject.org"
	<MirageOS-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Windows shares through Mirage?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3258518426392065864=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============3258518426392065864==
Content-Type: multipart/alternative; boundary="Apple-Mail=_E1BA73F2-A1CA-4BDE-B2BA-7C49AB33CC34"


--Apple-Mail=_E1BA73F2-A1CA-4BDE-B2BA-7C49AB33CC34
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Yes, HTTP is the most likely short-term answer, since we are a small =
step away from implementing it in Mirage over the Cohttp library.  =
Here's the options as I see them now:

- Export an NFS server, and use a Windows NFS client: we have OCaml-NFS, =
so this is quite possible in the short term with some modernisation of =
that code. Nicolas Ojeda Bar has been looking at this recently, but only =
in a preliminary sense.

- Export WebDAV: needs the TLS stack (we have that now!), an XML library =
(we have xmlm), the HTTP protocol (we have Cohttp) and the DAV protocol =
implementation  (we need this).  Once the last phase is built, it should =
be possible to mount Mirage shares as a filesystem via Windows, MacOS X =
or Linux, since they all have WebDAV mounting support builtin now.

- Export FUSE: David Sheets has a FUSE implementation, but this is =
rather Linux-centric.  There does exist a fuse4win, but I have no idea =
how good it is.

The other nice aspect of CIFS is its service discovery.  We would need =
to replace that with a multicast-DNS ("Bonjour") implementation, which =
we have some code from back in 2007 when Dave Scott and I built this =
(into OCaml-DNS).  Not hard to resurrect, and I in fact need this for =
the Xen/ARM SDcard image builder to announce the IP address of the =
Cubieboard on first boot, so I'll resurrect this in the short term.

What sort of use-cases are you thinking of, Jon?

cheers
Anil

On 14 Jul 2014, at 10:54, David Scott <scott.dj@gmail.com> wrote:

> Hi,
>=20
> I think the easiest way to access data from windows would be to expose =
an HTTP server in your Mirage application. The HTTP code is robust and =
in use all over the place.
>=20
> Another option (which I haven't tried) would be to expose the git =
protocol via Irmin and then use a Windows git client like 'tortoisegit' =
which integrates with the Windows shell. This would give you history =
tracking for free. We plan to use irmin/git all over the place in Mirage =
so, even though the code is quite new, I feel happy recommending it.
>=20
> We don't have a library which can talk SMB/CIFS (the protocol used by =
Samba and Windows) and it's reputed to be quite complex so it would take =
a lot of effort to implement.
>=20
> Cheers,
>=20
>=20
> On Mon, Jul 14, 2014 at 9:46 AM, Jon Loldrup <loldrup@gmail.com> =
wrote:
> Hi
>=20
> In Ubuntu I can install Samba to make a shared network drive =
accessible by Windows computers.
>=20
> Is there a way to achieve the same functionality when building my =
application as a Mirage OS?
>=20
> regards
> Jon Loldrup
>=20
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>=20
>=20
>=20
>=20
> --=20
> Dave Scott
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_E1BA73F2-A1CA-4BDE-B2BA-7C49AB33CC34
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Yes, =
HTTP is the most likely short-term answer, since we are a small step =
away from implementing it in Mirage over the Cohttp library. =
&nbsp;Here's the options as I see them now:<div><br></div><div>- Export =
an NFS server, and use a Windows NFS client: we have OCaml-NFS, so this =
is quite possible in the short term with some modernisation of that =
code. Nicolas Ojeda Bar has been looking at this recently, but only in a =
preliminary sense.</div><div><br></div><div>- Export WebDAV: needs the =
TLS stack (we have that now!), an XML library (we have xmlm), the HTTP =
protocol (we have Cohttp) and the DAV protocol implementation &nbsp;(we =
need this). &nbsp;Once the last phase is built, it should be possible to =
mount Mirage shares as a filesystem via Windows, MacOS X or Linux, since =
they all have WebDAV mounting support builtin =
now.</div><div><br></div><div>- Export FUSE: David Sheets has a FUSE =
implementation, but this is rather Linux-centric. &nbsp;There does exist =
a fuse4win, but I have no idea how good it =
is.</div><div><br></div><div>The other nice aspect of CIFS is its =
service discovery. &nbsp;We would need to replace that with a =
multicast-DNS ("Bonjour") implementation, which we have some code from =
back in 2007 when Dave Scott and I built this (into OCaml-DNS). =
&nbsp;Not hard to resurrect, and I in fact need this for the Xen/ARM =
SDcard image builder to announce the IP address of the Cubieboard on =
first boot, so I'll resurrect this in the short =
term.</div><div><br></div><div>What sort of use-cases are you thinking =
of, =
Jon?</div><div><br></div><div>cheers</div><div>Anil</div><div><br><div><di=
v>On 14 Jul 2014, at 10:54, David Scott &lt;<a =
href=3D"mailto:scott.dj@gmail.com">scott.dj@gmail.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div dir=3D"ltr">Hi,<div><br></div><div>I think the =
easiest way to access data from windows would be to expose an HTTP =
server in your Mirage application. The HTTP code is robust and in use =
all over the place.</div><div><br></div>
<div>Another option (which I haven't tried) would be to expose the git =
protocol via Irmin and then use a Windows git client like 'tortoisegit' =
which integrates with the Windows shell. This would give you history =
tracking for free. We plan to use irmin/git all over the place in Mirage =
so, even though the code is quite new, I feel happy recommending =
it.</div>
<div><br></div><div>We don't have a library which can talk SMB/CIFS (the =
protocol used by Samba and Windows) and it's reputed to be quite complex =
so it would take a lot of effort to implement.</div><div><br></div>
<div>Cheers,</div></div><div class=3D"gmail_extra"><br><br><div =
class=3D"gmail_quote">On Mon, Jul 14, 2014 at 9:46 AM, Jon Loldrup <span =
dir=3D"ltr">&lt;<a href=3D"mailto:loldrup@gmail.com" =
target=3D"_blank">loldrup@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir=3D"ltr">Hi</p><p =
dir=3D"ltr">In Ubuntu I can install Samba to make a shared network drive =
accessible by Windows computers.</p><p dir=3D"ltr">Is there a way to =
achieve the same functionality when building my application as a Mirage =
OS?</p><p dir=3D"ltr">regards<span class=3D"HOEnZb"><font =
color=3D"#888888"><br>
Jon Loldrup</font></span></p>
<br>_______________________________________________<br>
MirageOS-devel mailing list<br>
<a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>
<a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l" =
target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mir=
ageos-devel</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Dave =
Scott
</div>
_______________________________________________<br>MirageOS-devel =
mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br></div></body></html>=

--Apple-Mail=_E1BA73F2-A1CA-4BDE-B2BA-7C49AB33CC34--


--===============3258518426392065864==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============3258518426392065864==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 14 12:21:54 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2014 12:21:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X6fGO-0007Fk-Gr; Mon, 14 Jul 2014 12:21:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X6fGN-0007Ff-2I
	for MirageOS-devel@lists.xenproject.org; Mon, 14 Jul 2014 12:21:47 +0000
Received: from [85.158.143.35:57732] by server-1.bemta-4.messagelabs.com id
	9D/F0-30046-A5BC3C35; Mon, 14 Jul 2014 12:21:46 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-21.messagelabs.com!1405340505!17593540!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.1 required=7.0 tests=HTML_30_40,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7355 invoked from network); 14 Jul 2014 12:21:45 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-21.messagelabs.com with SMTP;
	14 Jul 2014 12:21:45 -0000
Received: (qmail 31198 invoked by uid 634); 14 Jul 2014 12:21:44 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 14 Jul 2014 13:21:43 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG_esB0aunh+Qi2LRAO0rUkBOsx_ajUtgUfSpiLW-nBNggQH6g@mail.gmail.com>
Date: Mon, 14 Jul 2014 13:21:41 +0100
Message-Id: <E1F020FD-2450-42D5-8F18-4D42C1E1494D@recoil.org>
References: <CACxdjHyk8xm9OfYkk4YqUZjuoLs-5EMcP4Ts7a2eFpZ7XvAotg@mail.gmail.com>
	<CAG_esB0aunh+Qi2LRAO0rUkBOsx_ajUtgUfSpiLW-nBNggQH6g@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Jon Loldrup <loldrup@gmail.com>, "mirageos-devel@lists.xenproject.org"
	<MirageOS-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Windows shares through Mirage?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3258518426392065864=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============3258518426392065864==
Content-Type: multipart/alternative; boundary="Apple-Mail=_E1BA73F2-A1CA-4BDE-B2BA-7C49AB33CC34"


--Apple-Mail=_E1BA73F2-A1CA-4BDE-B2BA-7C49AB33CC34
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Yes, HTTP is the most likely short-term answer, since we are a small =
step away from implementing it in Mirage over the Cohttp library.  =
Here's the options as I see them now:

- Export an NFS server, and use a Windows NFS client: we have OCaml-NFS, =
so this is quite possible in the short term with some modernisation of =
that code. Nicolas Ojeda Bar has been looking at this recently, but only =
in a preliminary sense.

- Export WebDAV: needs the TLS stack (we have that now!), an XML library =
(we have xmlm), the HTTP protocol (we have Cohttp) and the DAV protocol =
implementation  (we need this).  Once the last phase is built, it should =
be possible to mount Mirage shares as a filesystem via Windows, MacOS X =
or Linux, since they all have WebDAV mounting support builtin now.

- Export FUSE: David Sheets has a FUSE implementation, but this is =
rather Linux-centric.  There does exist a fuse4win, but I have no idea =
how good it is.

The other nice aspect of CIFS is its service discovery.  We would need =
to replace that with a multicast-DNS ("Bonjour") implementation, which =
we have some code from back in 2007 when Dave Scott and I built this =
(into OCaml-DNS).  Not hard to resurrect, and I in fact need this for =
the Xen/ARM SDcard image builder to announce the IP address of the =
Cubieboard on first boot, so I'll resurrect this in the short term.

What sort of use-cases are you thinking of, Jon?

cheers
Anil

On 14 Jul 2014, at 10:54, David Scott <scott.dj@gmail.com> wrote:

> Hi,
>=20
> I think the easiest way to access data from windows would be to expose =
an HTTP server in your Mirage application. The HTTP code is robust and =
in use all over the place.
>=20
> Another option (which I haven't tried) would be to expose the git =
protocol via Irmin and then use a Windows git client like 'tortoisegit' =
which integrates with the Windows shell. This would give you history =
tracking for free. We plan to use irmin/git all over the place in Mirage =
so, even though the code is quite new, I feel happy recommending it.
>=20
> We don't have a library which can talk SMB/CIFS (the protocol used by =
Samba and Windows) and it's reputed to be quite complex so it would take =
a lot of effort to implement.
>=20
> Cheers,
>=20
>=20
> On Mon, Jul 14, 2014 at 9:46 AM, Jon Loldrup <loldrup@gmail.com> =
wrote:
> Hi
>=20
> In Ubuntu I can install Samba to make a shared network drive =
accessible by Windows computers.
>=20
> Is there a way to achieve the same functionality when building my =
application as a Mirage OS?
>=20
> regards
> Jon Loldrup
>=20
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>=20
>=20
>=20
>=20
> --=20
> Dave Scott
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_E1BA73F2-A1CA-4BDE-B2BA-7C49AB33CC34
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Yes, =
HTTP is the most likely short-term answer, since we are a small step =
away from implementing it in Mirage over the Cohttp library. =
&nbsp;Here's the options as I see them now:<div><br></div><div>- Export =
an NFS server, and use a Windows NFS client: we have OCaml-NFS, so this =
is quite possible in the short term with some modernisation of that =
code. Nicolas Ojeda Bar has been looking at this recently, but only in a =
preliminary sense.</div><div><br></div><div>- Export WebDAV: needs the =
TLS stack (we have that now!), an XML library (we have xmlm), the HTTP =
protocol (we have Cohttp) and the DAV protocol implementation &nbsp;(we =
need this). &nbsp;Once the last phase is built, it should be possible to =
mount Mirage shares as a filesystem via Windows, MacOS X or Linux, since =
they all have WebDAV mounting support builtin =
now.</div><div><br></div><div>- Export FUSE: David Sheets has a FUSE =
implementation, but this is rather Linux-centric. &nbsp;There does exist =
a fuse4win, but I have no idea how good it =
is.</div><div><br></div><div>The other nice aspect of CIFS is its =
service discovery. &nbsp;We would need to replace that with a =
multicast-DNS ("Bonjour") implementation, which we have some code from =
back in 2007 when Dave Scott and I built this (into OCaml-DNS). =
&nbsp;Not hard to resurrect, and I in fact need this for the Xen/ARM =
SDcard image builder to announce the IP address of the Cubieboard on =
first boot, so I'll resurrect this in the short =
term.</div><div><br></div><div>What sort of use-cases are you thinking =
of, =
Jon?</div><div><br></div><div>cheers</div><div>Anil</div><div><br><div><di=
v>On 14 Jul 2014, at 10:54, David Scott &lt;<a =
href=3D"mailto:scott.dj@gmail.com">scott.dj@gmail.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div dir=3D"ltr">Hi,<div><br></div><div>I think the =
easiest way to access data from windows would be to expose an HTTP =
server in your Mirage application. The HTTP code is robust and in use =
all over the place.</div><div><br></div>
<div>Another option (which I haven't tried) would be to expose the git =
protocol via Irmin and then use a Windows git client like 'tortoisegit' =
which integrates with the Windows shell. This would give you history =
tracking for free. We plan to use irmin/git all over the place in Mirage =
so, even though the code is quite new, I feel happy recommending =
it.</div>
<div><br></div><div>We don't have a library which can talk SMB/CIFS (the =
protocol used by Samba and Windows) and it's reputed to be quite complex =
so it would take a lot of effort to implement.</div><div><br></div>
<div>Cheers,</div></div><div class=3D"gmail_extra"><br><br><div =
class=3D"gmail_quote">On Mon, Jul 14, 2014 at 9:46 AM, Jon Loldrup <span =
dir=3D"ltr">&lt;<a href=3D"mailto:loldrup@gmail.com" =
target=3D"_blank">loldrup@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir=3D"ltr">Hi</p><p =
dir=3D"ltr">In Ubuntu I can install Samba to make a shared network drive =
accessible by Windows computers.</p><p dir=3D"ltr">Is there a way to =
achieve the same functionality when building my application as a Mirage =
OS?</p><p dir=3D"ltr">regards<span class=3D"HOEnZb"><font =
color=3D"#888888"><br>
Jon Loldrup</font></span></p>
<br>_______________________________________________<br>
MirageOS-devel mailing list<br>
<a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>
<a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l" =
target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mir=
ageos-devel</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Dave =
Scott
</div>
_______________________________________________<br>MirageOS-devel =
mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br></div></body></html>=

--Apple-Mail=_E1BA73F2-A1CA-4BDE-B2BA-7C49AB33CC34--


--===============3258518426392065864==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============3258518426392065864==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 15 10:36:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2014 10:36:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7061-0006OZ-7v; Tue, 15 Jul 2014 10:36:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X705z-0006OU-9R
	for mirageos-devel@lists.xenproject.org; Tue, 15 Jul 2014 10:36:27 +0000
Received: from [85.158.137.68:43581] by server-17.bemta-3.messagelabs.com id
	58/1E-05521-A2405C35; Tue, 15 Jul 2014 10:36:26 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1405420584!16040017!1
X-Originating-IP: [209.85.214.181]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11259 invoked from network); 15 Jul 2014 10:36:25 -0000
Received: from mail-ob0-f181.google.com (HELO mail-ob0-f181.google.com)
	(209.85.214.181)
	by server-5.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	15 Jul 2014 10:36:25 -0000
Received: by mail-ob0-f181.google.com with SMTP id va2so3695872obc.12
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 15 Jul 2014 03:36:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=nLygKUiCmilQagI8VG+nVXRhjeIklDHQrdsraY8JbrU=;
	b=kPBhZ8RWtYIJdKwNIc+chLVGj6eenLEkYvzhQQs/4x8wrdyKSGyqQ3yB/+lGoIJ0Hg
	s5Y+MFnX1dM/o6C9NaRH5K4UJo41jW9e9wiQ95gnYSWNXYf9qIT4IktuZ+qRqCL3SAnF
	3GO5Eo8X6Jv1i032pdYVug2yCBy33VbbmEIgZp7n5FBmJQc2FUYi6IydGtQP++LA6Fme
	UK1UumSTjp/ipaQXr8+DzSx85VPvdWZq2mdcIyc5rueodoSrsKF3IY6rHRz1Qn0S3Nqp
	EnrON/HaCSlM7GAMi6Fq/hh+S9KbggNQKrV7lgcCLedysuenx3UeIl5FukSIcGFKN32X
	1JHg==
MIME-Version: 1.0
X-Received: by 10.182.114.131 with SMTP id jg3mr24753404obb.9.1405420582441;
	Tue, 15 Jul 2014 03:36:22 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 15 Jul 2014 03:36:22 -0700 (PDT)
In-Reply-To: <DUB128-W527A00F2FCC91E86F9D212B4F60@phx.gbl>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<DUB128-W8003B02368394FD1594FDB4F60@phx.gbl>
	<CAG4opy-fX+k5F8BfMZxHgf3OCwrC_dW9Wen99-ihBECGDySacA@mail.gmail.com>
	<DUB128-W527A00F2FCC91E86F9D212B4F60@phx.gbl>
Date: Tue, 15 Jul 2014 11:36:22 +0100
Message-ID: <CAG4opy9M-yxqiL2xdeNrZ16PC209+M9-7JbTw5r6qmPWhv7Y7g@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

[ CC'ing mirageos-devel ]

On 15 July 2014 11:24, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
> Still have the same issue (on Cubieboard2) :
>
> I updated xen-hypervisor and xen-utils (hf, 4.4) and rebooted
>
> linaro@linaro-developer:~$ xl list
> ERROR:  Can't find version 4.4 of xen utils, bailing out!
>
> Perhaps I should wait until everything has been merged? I really wanted to
> get this working before moving onto libvirt.
>
> If  you can't think of anything off the top of your head, I'll switch back
> to my other sdcard with Anil's original image and play around with libvirt,
> and then wait for merging.

If you have a working image already then you can use that. The image
just contains a normal Xen installation. The Mirage stuff gets added
later.

[ I've filed a bug report at https://bugs.linaro.org/show_bug.cgi?id=189 ]

> Incidentally, I've been reading through the ARM Cortex-A's programming
> manual, chapter on bigLittle cores and task scheduling. I guess all of this
> is handled in Linux/Xen and not in minios? My interest is simply about
> switching on/off cores when there are many/few mirageos instances running.

I don't know, but presumably that's how it would work.

> Is this anther one for the lists?!

Probably best to keep all discussion on the list, as I'm sure other
people will find it helpful too.



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 15 10:36:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2014 10:36:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7061-0006OZ-7v; Tue, 15 Jul 2014 10:36:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X705z-0006OU-9R
	for mirageos-devel@lists.xenproject.org; Tue, 15 Jul 2014 10:36:27 +0000
Received: from [85.158.137.68:43581] by server-17.bemta-3.messagelabs.com id
	58/1E-05521-A2405C35; Tue, 15 Jul 2014 10:36:26 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1405420584!16040017!1
X-Originating-IP: [209.85.214.181]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11259 invoked from network); 15 Jul 2014 10:36:25 -0000
Received: from mail-ob0-f181.google.com (HELO mail-ob0-f181.google.com)
	(209.85.214.181)
	by server-5.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	15 Jul 2014 10:36:25 -0000
Received: by mail-ob0-f181.google.com with SMTP id va2so3695872obc.12
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 15 Jul 2014 03:36:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=nLygKUiCmilQagI8VG+nVXRhjeIklDHQrdsraY8JbrU=;
	b=kPBhZ8RWtYIJdKwNIc+chLVGj6eenLEkYvzhQQs/4x8wrdyKSGyqQ3yB/+lGoIJ0Hg
	s5Y+MFnX1dM/o6C9NaRH5K4UJo41jW9e9wiQ95gnYSWNXYf9qIT4IktuZ+qRqCL3SAnF
	3GO5Eo8X6Jv1i032pdYVug2yCBy33VbbmEIgZp7n5FBmJQc2FUYi6IydGtQP++LA6Fme
	UK1UumSTjp/ipaQXr8+DzSx85VPvdWZq2mdcIyc5rueodoSrsKF3IY6rHRz1Qn0S3Nqp
	EnrON/HaCSlM7GAMi6Fq/hh+S9KbggNQKrV7lgcCLedysuenx3UeIl5FukSIcGFKN32X
	1JHg==
MIME-Version: 1.0
X-Received: by 10.182.114.131 with SMTP id jg3mr24753404obb.9.1405420582441;
	Tue, 15 Jul 2014 03:36:22 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 15 Jul 2014 03:36:22 -0700 (PDT)
In-Reply-To: <DUB128-W527A00F2FCC91E86F9D212B4F60@phx.gbl>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<DUB128-W8003B02368394FD1594FDB4F60@phx.gbl>
	<CAG4opy-fX+k5F8BfMZxHgf3OCwrC_dW9Wen99-ihBECGDySacA@mail.gmail.com>
	<DUB128-W527A00F2FCC91E86F9D212B4F60@phx.gbl>
Date: Tue, 15 Jul 2014 11:36:22 +0100
Message-ID: <CAG4opy9M-yxqiL2xdeNrZ16PC209+M9-7JbTw5r6qmPWhv7Y7g@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

[ CC'ing mirageos-devel ]

On 15 July 2014 11:24, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
> Still have the same issue (on Cubieboard2) :
>
> I updated xen-hypervisor and xen-utils (hf, 4.4) and rebooted
>
> linaro@linaro-developer:~$ xl list
> ERROR:  Can't find version 4.4 of xen utils, bailing out!
>
> Perhaps I should wait until everything has been merged? I really wanted to
> get this working before moving onto libvirt.
>
> If  you can't think of anything off the top of your head, I'll switch back
> to my other sdcard with Anil's original image and play around with libvirt,
> and then wait for merging.

If you have a working image already then you can use that. The image
just contains a normal Xen installation. The Mirage stuff gets added
later.

[ I've filed a bug report at https://bugs.linaro.org/show_bug.cgi?id=189 ]

> Incidentally, I've been reading through the ARM Cortex-A's programming
> manual, chapter on bigLittle cores and task scheduling. I guess all of this
> is handled in Linux/Xen and not in minios? My interest is simply about
> switching on/off cores when there are many/few mirageos instances running.

I don't know, but presumably that's how it would work.

> Is this anther one for the lists?!

Probably best to keep all discussion on the list, as I'm sure other
people will find it helpful too.



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 15 10:42:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2014 10:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X70CE-0006RX-Rz; Tue, 15 Jul 2014 10:42:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X70CD-0006RS-Bc
	for mirageos-devel@lists.xenproject.org; Tue, 15 Jul 2014 10:42:53 +0000
Received: from [85.158.143.35:11080] by server-2.bemta-4.messagelabs.com id
	93/D3-26128-CA505C35; Tue, 15 Jul 2014 10:42:52 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1405420971!14368132!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32187 invoked from network); 15 Jul 2014 10:42:51 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-21.messagelabs.com with SMTP;
	15 Jul 2014 10:42:51 -0000
Received: (qmail 9692 invoked by uid 634); 15 Jul 2014 10:42:51 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from Unknown (HELO [10.207.230.1]) (31.55.58.252)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 15 Jul 2014 11:42:47 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9M-yxqiL2xdeNrZ16PC209+M9-7JbTw5r6qmPWhv7Y7g@mail.gmail.com>
Date: Tue, 15 Jul 2014 11:42:45 +0100
Message-Id: <AC0FB8FA-E8EB-4D72-B62A-BC8972FC6D1E@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<DUB128-W8003B02368394FD1594FDB4F60@phx.gbl>
	<CAG4opy-fX+k5F8BfMZxHgf3OCwrC_dW9Wen99-ihBECGDySacA@mail.gmail.com>
	<DUB128-W527A00F2FCC91E86F9D212B4F60@phx.gbl>
	<CAG4opy9M-yxqiL2xdeNrZ16PC209+M9-7JbTw5r6qmPWhv7Y7g@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 15 Jul 2014, at 11:36, Thomas Leonard <talex5@gmail.com> wrote:

> [ CC'ing mirageos-devel ]
> 
> On 15 July 2014 11:24, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
>> Still have the same issue (on Cubieboard2) :
>> 
>> I updated xen-hypervisor and xen-utils (hf, 4.4) and rebooted
>> 
>> linaro@linaro-developer:~$ xl list
>> ERROR:  Can't find version 4.4 of xen utils, bailing out!
>> 
>> Perhaps I should wait until everything has been merged? I really wanted to
>> get this working before moving onto libvirt.
>> 
>> If  you can't think of anything off the top of your head, I'll switch back
>> to my other sdcard with Anil's original image and play around with libvirt,
>> and then wait for merging.
> 
> If you have a working image already then you can use that. The image
> just contains a normal Xen installation. The Mirage stuff gets added
> later.

I wonder if it's worth compiling a custom 4.4 Xen with debug=y enabled
for this image.  It would make the serial console output more useful if
guest emergency console logs show up...

> 
> [ I've filed a bug report at https://bugs.linaro.org/show_bug.cgi?id=189 ]
> 
>> Incidentally, I've been reading through the ARM Cortex-A's programming
>> manual, chapter on bigLittle cores and task scheduling. I guess all of this
>> is handled in Linux/Xen and not in minios? My interest is simply about
>> switching on/off cores when there are many/few mirageos instances running.
> 
> I don't know, but presumably that's how it would work.
> 
>> Is this anther one for the lists?!
> 
> Probably best to keep all discussion on the list, as I'm sure other
> people will find it helpful too.

Please do keep discussions about ARM on the list -- I certainly learn a lot
from reading things like this.

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 15 10:42:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2014 10:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X70CE-0006RX-Rz; Tue, 15 Jul 2014 10:42:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X70CD-0006RS-Bc
	for mirageos-devel@lists.xenproject.org; Tue, 15 Jul 2014 10:42:53 +0000
Received: from [85.158.143.35:11080] by server-2.bemta-4.messagelabs.com id
	93/D3-26128-CA505C35; Tue, 15 Jul 2014 10:42:52 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1405420971!14368132!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32187 invoked from network); 15 Jul 2014 10:42:51 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-21.messagelabs.com with SMTP;
	15 Jul 2014 10:42:51 -0000
Received: (qmail 9692 invoked by uid 634); 15 Jul 2014 10:42:51 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from Unknown (HELO [10.207.230.1]) (31.55.58.252)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 15 Jul 2014 11:42:47 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9M-yxqiL2xdeNrZ16PC209+M9-7JbTw5r6qmPWhv7Y7g@mail.gmail.com>
Date: Tue, 15 Jul 2014 11:42:45 +0100
Message-Id: <AC0FB8FA-E8EB-4D72-B62A-BC8972FC6D1E@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<DUB128-W8003B02368394FD1594FDB4F60@phx.gbl>
	<CAG4opy-fX+k5F8BfMZxHgf3OCwrC_dW9Wen99-ihBECGDySacA@mail.gmail.com>
	<DUB128-W527A00F2FCC91E86F9D212B4F60@phx.gbl>
	<CAG4opy9M-yxqiL2xdeNrZ16PC209+M9-7JbTw5r6qmPWhv7Y7g@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 15 Jul 2014, at 11:36, Thomas Leonard <talex5@gmail.com> wrote:

> [ CC'ing mirageos-devel ]
> 
> On 15 July 2014 11:24, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
>> Still have the same issue (on Cubieboard2) :
>> 
>> I updated xen-hypervisor and xen-utils (hf, 4.4) and rebooted
>> 
>> linaro@linaro-developer:~$ xl list
>> ERROR:  Can't find version 4.4 of xen utils, bailing out!
>> 
>> Perhaps I should wait until everything has been merged? I really wanted to
>> get this working before moving onto libvirt.
>> 
>> If  you can't think of anything off the top of your head, I'll switch back
>> to my other sdcard with Anil's original image and play around with libvirt,
>> and then wait for merging.
> 
> If you have a working image already then you can use that. The image
> just contains a normal Xen installation. The Mirage stuff gets added
> later.

I wonder if it's worth compiling a custom 4.4 Xen with debug=y enabled
for this image.  It would make the serial console output more useful if
guest emergency console logs show up...

> 
> [ I've filed a bug report at https://bugs.linaro.org/show_bug.cgi?id=189 ]
> 
>> Incidentally, I've been reading through the ARM Cortex-A's programming
>> manual, chapter on bigLittle cores and task scheduling. I guess all of this
>> is handled in Linux/Xen and not in minios? My interest is simply about
>> switching on/off cores when there are many/few mirageos instances running.
> 
> I don't know, but presumably that's how it would work.
> 
>> Is this anther one for the lists?!
> 
> Probably best to keep all discussion on the list, as I'm sure other
> people will find it helpful too.

Please do keep discussions about ARM on the list -- I certainly learn a lot
from reading things like this.

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 16 11:51:40 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 16 Jul 2014 11:51:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7NkE-0008AN-Mu; Wed, 16 Jul 2014 11:51:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tom.jrbrown@yahoo.com>) id 1X7NkD-00089x-22
	for mirageos-devel@lists.xenproject.org; Wed, 16 Jul 2014 11:51:33 +0000
Received: from [85.158.143.35:4117] by server-3.bemta-4.messagelabs.com id
	83/26-09960-44766C35; Wed, 16 Jul 2014 11:51:32 +0000
X-Env-Sender: tom.jrbrown@yahoo.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1405511490!18072262!1
X-Originating-IP: [98.138.229.27]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_MESSAGE, ML_RADAR_SPEW_LINKS_12, ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7701 invoked from network); 16 Jul 2014 11:51:31 -0000
Received: from nm34.bullet.mail.ne1.yahoo.com (HELO
	nm34.bullet.mail.ne1.yahoo.com) (98.138.229.27)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 Jul 2014 11:51:31 -0000
Received: from [127.0.0.1] by nm34.bullet.mail.ne1.yahoo.com with NNFMP;
	16 Jul 2014 11:51:29 -0000
Received: from [98.138.100.111] by nm34.bullet.mail.ne1.yahoo.com with NNFMP;
	16 Jul 2014 11:48:46 -0000
Received: from [212.82.98.52] by tm100.bullet.mail.ne1.yahoo.com with NNFMP;
	16 Jul 2014 11:48:46 -0000
Received: from [212.82.98.88] by tm5.bullet.mail.ir2.yahoo.com with NNFMP;
	16 Jul 2014 11:48:46 -0000
Received: from [127.0.0.1] by omp1025.mail.ir2.yahoo.com with NNFMP;
	16 Jul 2014 11:48:46 -0000
X-Yahoo-Newman-Property: ymail-4
X-Yahoo-Newman-Id: 166134.9311.bm@omp1025.mail.ir2.yahoo.com
Received: (qmail 83642 invoked by uid 60001); 16 Jul 2014 11:48:46 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1405511326; bh=oCrCySV05y9Cm7pOYBgdjKoUeSyeVj9WZUZ8Y3D+Emk=;
	h=Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=EPy7QMCKSmx9v60oeBUQ0qEbXKWQFPzC11te8iNtUWj++sjoTF0AnYHkLCCPxXmTPtkYEXZBmwBPrbl9Eg0mxG5ptNrQouj9GrNnrLQ0a6QdnXNlCDGjVR64ZchmgHpnqY4XNH3i0KUuv7aY3YpHzzfRLdHtQyL9upw0rZrgHXY=
X-YMail-OSG: boCmQAEVM1lGX4fyu5ve3DmAI_sL9_2Mtj8oj0fDosj0pfX
	JehrvoYvMWoHYcJMQYHDjVUVmatUV4ghtwhlAfQ0oAY53hvQsskQH7WfPa73
	daI7kOdQUkGxN2rPfw6uXDNOJR0zQkTb.FOcUIpiTGGQDeKmGcMfkW5Bbjtd
	OG_B92I6dHGjhtRdWKRyUegDyJ7SGtoEzUByw8wOCPAnd0VpHGpSl4etrHxp
	9e_FWltE8e5GSoRB2oxsHdgN2Ql8QmhAeQsNlbDmZZa.UdUzr77woydpgb6T
	_PdPDONxtVqx.uMtP9FuVBhzkZBMnG_0B8X2P4b19DV1SmTMRZNjhtiJhixY
	n5bujoufLOAsKOoh84sYUFfzB3My.YYfcruGZVk7ac_5Yvb0LiJ.59.lHJV4
	R_Bw6EOBNn2FwNLGn_MJ4gzDI_LfZLPwkEVzgnehMesj7km7jsCTrJxZHJ.C
	zHgUFCxTQ0feSnlQ7F5Pv1J30KSiU3qQOSl.iiM28uzjQoQ5e4x12y47ffPf
	2hp1wH51kcvhrstFO9HhQC4c.tMruhBgS2p2NJkB1kjgkLSvt9D0Z9Oe9
Received: from [178.63.97.34] by web172005.mail.ir2.yahoo.com via HTTP;
	Wed, 16 Jul 2014 12:48:45 BST
X-Rocket-MIMEInfo: 002.001,
	SGkgYWxsLAoKSSByZWNlaXZlIHRoZSBmb2xsb3dpbmcgZXJyb3Igd2hlbiBJIGNvbXBpbGUgYSBNaXJhZ2UgYXBwbGljYXRpb24sIGV4YWN0bHkgb24gdGhlIGxpbmVzIHRoYXQgSSBoYXZlIGNzdHJ1Y3QgZGVmaW5pdGlvbnM6CgpQYXJzZSBlcnJvcjogW2xhYmVsX2V4cHJfbGlzdF0gb3IgW2V4cHIgbGV2ZWwgLl0gZXhwZWN0ZWQgYWZ0ZXIgInsiIChpbiBbZXhwcl0pClByZXByb2Nlc3NpbmcgZXJyb3Igb24gZmlsZSBsaWIvaW5wdXQubWwKRXJyb3Igd2hpbGUgcnVubmluZyBleHRlcm5hbCBwcmVwcm9jZXMBMAEBAQE-
X-Mailer: YahooMailWebService/0.8.194.680
Message-ID: <1405511325.69618.YahooMailNeo@web172005.mail.ir2.yahoo.com>
Date: Wed, 16 Jul 2014 12:48:45 +0100
From: Tom Brown <tom.jrbrown@yahoo.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
MIME-Version: 1.0
Subject: [MirageOS-devel] Compile error when using cstruct
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Tom Brown <tom.jrbrown@yahoo.com>
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0580158016907565688=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0580158016907565688==
Content-Type: multipart/alternative; boundary="-1829062554-2087767062-1405511325=:69618"

---1829062554-2087767062-1405511325=:69618
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Hi all,=0A=0AI receive the following error when I compile a Mirage applicat=
ion, exactly on the lines that I have cstruct definitions:=0A=0AParse error=
: [label_expr_list] or [expr level .] expected after "{" (in [expr])=0APrep=
rocessing error on file lib/input.ml=0AError while running external preproc=
essor=0ACommand line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/ocaml=
/.opam/system/lib/lwt' '-I' '/home/ocaml/.opam/system/lib/lwt' '-parser' 'o=
' '-parser' 'op' '-printer' 'p' 'lwt-syntax-options.cma' 'lwt-syntax.cma'=
=A0 'lib/input.ml' > /tmp/ocamlppf271c4=0A=0AWould you please help me in fi=
nding the problem?=0A=0AThanks.=0A
---1829062554-2087767062-1405511325=:69618
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;fo=
nt-size:12pt"><div style=3D"" class=3D"">Hi all,</div><div style=3D"" class=
=3D""><br style=3D"" class=3D""></div><div class=3D"" style=3D"color: rgb(0=
, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helveti=
ca,Arial,Lucida Grande,Sans-Serif; background-color: transparent; font-styl=
e: normal;">I receive the following error when I compile a Mirage applicati=
on, exactly on the lines that I have cstruct definitions:</div><div class=
=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: Helvetica=
Neue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-co=
lor: transparent; font-style: normal;"><br style=3D"" class=3D""></div><div=
 class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: Hel=
veticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; backgro=
und-color: transparent;
 font-style: normal;">Parse error: [label_expr_list] or [expr level .] expe=
cted after "{" (in [expr])<br style=3D"" class=3D"">Preprocessing error on =
file lib/input.ml<br style=3D"" class=3D"">Error while running external pre=
processor<br style=3D"" class=3D"">Command line: camlp4 '-I' '/usr/lib/ocam=
l/camlp4' '-I' '/home/ocaml/.opam/system/lib/lwt' '-I' '/home/ocaml/.opam/s=
ystem/lib/lwt' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'lwt-syntax-opti=
ons.cma' 'lwt-syntax.cma'&nbsp; 'lib/input.ml' &gt; /tmp/ocamlppf271c4</div=
><div class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family=
: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; ba=
ckground-color: transparent; font-style: normal;"><br></div><div class=3D""=
 style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,=
Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-color: =
transparent; font-style: normal;">Would you please help me in finding the
 problem?</div><div class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16p=
x; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,=
Sans-Serif; background-color: transparent; font-style: normal;"><br></div><=
div class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: =
HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; back=
ground-color: transparent; font-style: normal;">Thanks.<br style=3D"" class=
=3D""></div></div></body></html>
---1829062554-2087767062-1405511325=:69618--


--===============0580158016907565688==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0580158016907565688==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 16 11:51:40 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 16 Jul 2014 11:51:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7NkE-0008AN-Mu; Wed, 16 Jul 2014 11:51:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tom.jrbrown@yahoo.com>) id 1X7NkD-00089x-22
	for mirageos-devel@lists.xenproject.org; Wed, 16 Jul 2014 11:51:33 +0000
Received: from [85.158.143.35:4117] by server-3.bemta-4.messagelabs.com id
	83/26-09960-44766C35; Wed, 16 Jul 2014 11:51:32 +0000
X-Env-Sender: tom.jrbrown@yahoo.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1405511490!18072262!1
X-Originating-IP: [98.138.229.27]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_MESSAGE, ML_RADAR_SPEW_LINKS_12, ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7701 invoked from network); 16 Jul 2014 11:51:31 -0000
Received: from nm34.bullet.mail.ne1.yahoo.com (HELO
	nm34.bullet.mail.ne1.yahoo.com) (98.138.229.27)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 Jul 2014 11:51:31 -0000
Received: from [127.0.0.1] by nm34.bullet.mail.ne1.yahoo.com with NNFMP;
	16 Jul 2014 11:51:29 -0000
Received: from [98.138.100.111] by nm34.bullet.mail.ne1.yahoo.com with NNFMP;
	16 Jul 2014 11:48:46 -0000
Received: from [212.82.98.52] by tm100.bullet.mail.ne1.yahoo.com with NNFMP;
	16 Jul 2014 11:48:46 -0000
Received: from [212.82.98.88] by tm5.bullet.mail.ir2.yahoo.com with NNFMP;
	16 Jul 2014 11:48:46 -0000
Received: from [127.0.0.1] by omp1025.mail.ir2.yahoo.com with NNFMP;
	16 Jul 2014 11:48:46 -0000
X-Yahoo-Newman-Property: ymail-4
X-Yahoo-Newman-Id: 166134.9311.bm@omp1025.mail.ir2.yahoo.com
Received: (qmail 83642 invoked by uid 60001); 16 Jul 2014 11:48:46 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1405511326; bh=oCrCySV05y9Cm7pOYBgdjKoUeSyeVj9WZUZ8Y3D+Emk=;
	h=Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=EPy7QMCKSmx9v60oeBUQ0qEbXKWQFPzC11te8iNtUWj++sjoTF0AnYHkLCCPxXmTPtkYEXZBmwBPrbl9Eg0mxG5ptNrQouj9GrNnrLQ0a6QdnXNlCDGjVR64ZchmgHpnqY4XNH3i0KUuv7aY3YpHzzfRLdHtQyL9upw0rZrgHXY=
X-YMail-OSG: boCmQAEVM1lGX4fyu5ve3DmAI_sL9_2Mtj8oj0fDosj0pfX
	JehrvoYvMWoHYcJMQYHDjVUVmatUV4ghtwhlAfQ0oAY53hvQsskQH7WfPa73
	daI7kOdQUkGxN2rPfw6uXDNOJR0zQkTb.FOcUIpiTGGQDeKmGcMfkW5Bbjtd
	OG_B92I6dHGjhtRdWKRyUegDyJ7SGtoEzUByw8wOCPAnd0VpHGpSl4etrHxp
	9e_FWltE8e5GSoRB2oxsHdgN2Ql8QmhAeQsNlbDmZZa.UdUzr77woydpgb6T
	_PdPDONxtVqx.uMtP9FuVBhzkZBMnG_0B8X2P4b19DV1SmTMRZNjhtiJhixY
	n5bujoufLOAsKOoh84sYUFfzB3My.YYfcruGZVk7ac_5Yvb0LiJ.59.lHJV4
	R_Bw6EOBNn2FwNLGn_MJ4gzDI_LfZLPwkEVzgnehMesj7km7jsCTrJxZHJ.C
	zHgUFCxTQ0feSnlQ7F5Pv1J30KSiU3qQOSl.iiM28uzjQoQ5e4x12y47ffPf
	2hp1wH51kcvhrstFO9HhQC4c.tMruhBgS2p2NJkB1kjgkLSvt9D0Z9Oe9
Received: from [178.63.97.34] by web172005.mail.ir2.yahoo.com via HTTP;
	Wed, 16 Jul 2014 12:48:45 BST
X-Rocket-MIMEInfo: 002.001,
	SGkgYWxsLAoKSSByZWNlaXZlIHRoZSBmb2xsb3dpbmcgZXJyb3Igd2hlbiBJIGNvbXBpbGUgYSBNaXJhZ2UgYXBwbGljYXRpb24sIGV4YWN0bHkgb24gdGhlIGxpbmVzIHRoYXQgSSBoYXZlIGNzdHJ1Y3QgZGVmaW5pdGlvbnM6CgpQYXJzZSBlcnJvcjogW2xhYmVsX2V4cHJfbGlzdF0gb3IgW2V4cHIgbGV2ZWwgLl0gZXhwZWN0ZWQgYWZ0ZXIgInsiIChpbiBbZXhwcl0pClByZXByb2Nlc3NpbmcgZXJyb3Igb24gZmlsZSBsaWIvaW5wdXQubWwKRXJyb3Igd2hpbGUgcnVubmluZyBleHRlcm5hbCBwcmVwcm9jZXMBMAEBAQE-
X-Mailer: YahooMailWebService/0.8.194.680
Message-ID: <1405511325.69618.YahooMailNeo@web172005.mail.ir2.yahoo.com>
Date: Wed, 16 Jul 2014 12:48:45 +0100
From: Tom Brown <tom.jrbrown@yahoo.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
MIME-Version: 1.0
Subject: [MirageOS-devel] Compile error when using cstruct
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Tom Brown <tom.jrbrown@yahoo.com>
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0580158016907565688=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0580158016907565688==
Content-Type: multipart/alternative; boundary="-1829062554-2087767062-1405511325=:69618"

---1829062554-2087767062-1405511325=:69618
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Hi all,=0A=0AI receive the following error when I compile a Mirage applicat=
ion, exactly on the lines that I have cstruct definitions:=0A=0AParse error=
: [label_expr_list] or [expr level .] expected after "{" (in [expr])=0APrep=
rocessing error on file lib/input.ml=0AError while running external preproc=
essor=0ACommand line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/ocaml=
/.opam/system/lib/lwt' '-I' '/home/ocaml/.opam/system/lib/lwt' '-parser' 'o=
' '-parser' 'op' '-printer' 'p' 'lwt-syntax-options.cma' 'lwt-syntax.cma'=
=A0 'lib/input.ml' > /tmp/ocamlppf271c4=0A=0AWould you please help me in fi=
nding the problem?=0A=0AThanks.=0A
---1829062554-2087767062-1405511325=:69618
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;fo=
nt-size:12pt"><div style=3D"" class=3D"">Hi all,</div><div style=3D"" class=
=3D""><br style=3D"" class=3D""></div><div class=3D"" style=3D"color: rgb(0=
, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helveti=
ca,Arial,Lucida Grande,Sans-Serif; background-color: transparent; font-styl=
e: normal;">I receive the following error when I compile a Mirage applicati=
on, exactly on the lines that I have cstruct definitions:</div><div class=
=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: Helvetica=
Neue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-co=
lor: transparent; font-style: normal;"><br style=3D"" class=3D""></div><div=
 class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: Hel=
veticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; backgro=
und-color: transparent;
 font-style: normal;">Parse error: [label_expr_list] or [expr level .] expe=
cted after "{" (in [expr])<br style=3D"" class=3D"">Preprocessing error on =
file lib/input.ml<br style=3D"" class=3D"">Error while running external pre=
processor<br style=3D"" class=3D"">Command line: camlp4 '-I' '/usr/lib/ocam=
l/camlp4' '-I' '/home/ocaml/.opam/system/lib/lwt' '-I' '/home/ocaml/.opam/s=
ystem/lib/lwt' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'lwt-syntax-opti=
ons.cma' 'lwt-syntax.cma'&nbsp; 'lib/input.ml' &gt; /tmp/ocamlppf271c4</div=
><div class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family=
: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; ba=
ckground-color: transparent; font-style: normal;"><br></div><div class=3D""=
 style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,=
Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-color: =
transparent; font-style: normal;">Would you please help me in finding the
 problem?</div><div class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16p=
x; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,=
Sans-Serif; background-color: transparent; font-style: normal;"><br></div><=
div class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: =
HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; back=
ground-color: transparent; font-style: normal;">Thanks.<br style=3D"" class=
=3D""></div></div></body></html>
---1829062554-2087767062-1405511325=:69618--


--===============0580158016907565688==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0580158016907565688==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 16 12:01:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 16 Jul 2014 12:01:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7NtS-0000z0-Un; Wed, 16 Jul 2014 12:01:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X7NtS-0000yr-88
	for mirageos-devel@lists.xenproject.org; Wed, 16 Jul 2014 12:01:06 +0000
Received: from [85.158.143.35:33355] by server-3.bemta-4.messagelabs.com id
	49/92-09960-18966C35; Wed, 16 Jul 2014 12:01:05 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1405512065!10777333!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32360 invoked from network); 16 Jul 2014 12:01:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-13.tower-21.messagelabs.com with SMTP;
	16 Jul 2014 12:01:05 -0000
X-IronPort-AV: E=Sophos;i="5.01,671,1400025600"; d="scan'208";a="23161714"
Received: from unknown (HELO AMSPEX01CL01.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 16 Jul 2014 12:01:05 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL01.citrite.net ([169.254.6.105]) with mapi id 14.03.0181.006;
	Wed, 16 Jul 2014 14:01:04 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Tom Brown <tom.jrbrown@yahoo.com>
Thread-Topic: [MirageOS-devel] Compile error when using cstruct
Thread-Index: AQHPoOxNH/DljIFOKUyYwQySy323apuid9mA
Date: Wed, 16 Jul 2014 12:01:03 +0000
Message-ID: <79E83C09-07AF-43A9-999A-8AF27A3E37B2@citrix.com>
References: <1405511325.69618.YahooMailNeo@web172005.mail.ir2.yahoo.com>
In-Reply-To: <1405511325.69618.YahooMailNeo@web172005.mail.ir2.yahoo.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.107.78]
Content-ID: <54F10FC99904A44A8C570B6DB128D762@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compile error when using cstruct
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi,

On 16 Jul 2014, at 12:48, Tom Brown <tom.jrbrown@yahoo.com> wrote:

> Hi all,
> =

> I receive the following error when I compile a Mirage application, exactl=
y on the lines that I have cstruct definitions:
> =

> Parse error: [label_expr_list] or [expr level .] expected after "{" (in [=
expr])
> Preprocessing error on file lib/input.ml
> Error while running external preprocessor
> Command line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/ocaml/.opam=
/system/lib/lwt' '-I' '/home/ocaml/.opam/system/lib/lwt' '-parser' 'o' '-pa=
rser' 'op' '-printer' 'p' 'lwt-syntax-options.cma' 'lwt-syntax.cma'  'lib/i=
nput.ml' > /tmp/ocamlppf271c4
> =

> Would you please help me in finding the problem?

It looks like the cstruct.syntax extension isn=92t loaded. I normally add a=
 line to my _tags file at the bottom like this:

<foo.ml>: pkg_cstruct.syntax, syntax_camlp4o

HTH,
Dave
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 16 12:01:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 16 Jul 2014 12:01:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7NtS-0000z0-Un; Wed, 16 Jul 2014 12:01:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X7NtS-0000yr-88
	for mirageos-devel@lists.xenproject.org; Wed, 16 Jul 2014 12:01:06 +0000
Received: from [85.158.143.35:33355] by server-3.bemta-4.messagelabs.com id
	49/92-09960-18966C35; Wed, 16 Jul 2014 12:01:05 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1405512065!10777333!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32360 invoked from network); 16 Jul 2014 12:01:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-13.tower-21.messagelabs.com with SMTP;
	16 Jul 2014 12:01:05 -0000
X-IronPort-AV: E=Sophos;i="5.01,671,1400025600"; d="scan'208";a="23161714"
Received: from unknown (HELO AMSPEX01CL01.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 16 Jul 2014 12:01:05 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.89]) by
	AMSPEX01CL01.citrite.net ([169.254.6.105]) with mapi id 14.03.0181.006;
	Wed, 16 Jul 2014 14:01:04 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Tom Brown <tom.jrbrown@yahoo.com>
Thread-Topic: [MirageOS-devel] Compile error when using cstruct
Thread-Index: AQHPoOxNH/DljIFOKUyYwQySy323apuid9mA
Date: Wed, 16 Jul 2014 12:01:03 +0000
Message-ID: <79E83C09-07AF-43A9-999A-8AF27A3E37B2@citrix.com>
References: <1405511325.69618.YahooMailNeo@web172005.mail.ir2.yahoo.com>
In-Reply-To: <1405511325.69618.YahooMailNeo@web172005.mail.ir2.yahoo.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.107.78]
Content-ID: <54F10FC99904A44A8C570B6DB128D762@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compile error when using cstruct
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi,

On 16 Jul 2014, at 12:48, Tom Brown <tom.jrbrown@yahoo.com> wrote:

> Hi all,
> =

> I receive the following error when I compile a Mirage application, exactl=
y on the lines that I have cstruct definitions:
> =

> Parse error: [label_expr_list] or [expr level .] expected after "{" (in [=
expr])
> Preprocessing error on file lib/input.ml
> Error while running external preprocessor
> Command line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/ocaml/.opam=
/system/lib/lwt' '-I' '/home/ocaml/.opam/system/lib/lwt' '-parser' 'o' '-pa=
rser' 'op' '-printer' 'p' 'lwt-syntax-options.cma' 'lwt-syntax.cma'  'lib/i=
nput.ml' > /tmp/ocamlppf271c4
> =

> Would you please help me in finding the problem?

It looks like the cstruct.syntax extension isn=92t loaded. I normally add a=
 line to my _tags file at the bottom like this:

<foo.ml>: pkg_cstruct.syntax, syntax_camlp4o

HTH,
Dave
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 16 14:25:33 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 16 Jul 2014 14:25:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7Q98-0000zz-DY; Wed, 16 Jul 2014 14:25:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X7Q96-0000zk-O1
	for mirageos-devel@lists.xenproject.org; Wed, 16 Jul 2014 14:25:24 +0000
Received: from [193.109.254.147:29467] by server-13.bemta-14.messagelabs.com
	id D8/16-14699-45B86C35; Wed, 16 Jul 2014 14:25:24 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1405520723!17817481!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12399 invoked from network); 16 Jul 2014 14:25:23 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-27.messagelabs.com with SMTP;
	16 Jul 2014 14:25:23 -0000
Received: (qmail 22814 invoked by uid 634); 16 Jul 2014 14:25:22 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 16 Jul 2014 15:25:22 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <79E83C09-07AF-43A9-999A-8AF27A3E37B2@citrix.com>
Date: Wed, 16 Jul 2014 15:25:21 +0100
Message-Id: <65B2B9C8-47C7-4CB3-8EE4-7B067E1E50FE@recoil.org>
References: <1405511325.69618.YahooMailNeo@web172005.mail.ir2.yahoo.com>
	<79E83C09-07AF-43A9-999A-8AF27A3E37B2@citrix.com>
To: David Scott <Dave.Scott@citrix.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compile error when using cstruct
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 16 Jul 2014, at 13:01, Dave Scott <Dave.Scott@citrix.com> wrote:

> Hi,
> =

> On 16 Jul 2014, at 12:48, Tom Brown <tom.jrbrown@yahoo.com> wrote:
> =

>> Hi all,
>> =

>> I receive the following error when I compile a Mirage application, exact=
ly on the lines that I have cstruct definitions:
>> =

>> Parse error: [label_expr_list] or [expr level .] expected after "{" (in =
[expr])
>> Preprocessing error on file lib/input.ml
>> Error while running external preprocessor
>> Command line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/ocaml/.opa=
m/system/lib/lwt' '-I' '/home/ocaml/.opam/system/lib/lwt' '-parser' 'o' '-p=
arser' 'op' '-printer' 'p' 'lwt-syntax-options.cma' 'lwt-syntax.cma'  'lib/=
input.ml' > /tmp/ocamlppf271c4
>> =

>> Would you please help me in finding the problem?
> =

> It looks like the cstruct.syntax extension isn=92t loaded. I normally add=
 a line to my _tags file at the bottom like this:
> =

> <foo.ml>: pkg_cstruct.syntax, syntax_camlp4o

You don't have to edit the _tags file manually if using the `mirage` CLI to=
ol.  In the mirage/mirage-www/src/config.ml, we activate the `cow.syntax` X=
ML extension as follows:

let main =3D
  let libraries =3D [ "cow.syntax"; "cowabloga" ] in
  let packages =3D [ "cow"; "cowabloga" ] in
  foreign ~libraries ~packages "Dispatch.Main"
    (console @-> kv_ro @-> kv_ro @-> http @-> job)

let () =3D
  register "www" [
    main $ default_console $ fs $ tmpl $ server
  ]


You should be able to do the same with cstruct.  Just pass "cstruct.syntax"=
 for the libraries (which refers to the ocamlfind command-line), and "cstru=
ct" for the packages variable (which refers to OPAM packages, that usually =
contain multiple ocamlfind packages).

I've created https://github.com/mirage/mirage/issues/271 to track whether w=
e should activate cstruct by default from the CLI tool.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 16 14:25:33 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 16 Jul 2014 14:25:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7Q98-0000zz-DY; Wed, 16 Jul 2014 14:25:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X7Q96-0000zk-O1
	for mirageos-devel@lists.xenproject.org; Wed, 16 Jul 2014 14:25:24 +0000
Received: from [193.109.254.147:29467] by server-13.bemta-14.messagelabs.com
	id D8/16-14699-45B86C35; Wed, 16 Jul 2014 14:25:24 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1405520723!17817481!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12399 invoked from network); 16 Jul 2014 14:25:23 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-27.messagelabs.com with SMTP;
	16 Jul 2014 14:25:23 -0000
Received: (qmail 22814 invoked by uid 634); 16 Jul 2014 14:25:22 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 16 Jul 2014 15:25:22 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <79E83C09-07AF-43A9-999A-8AF27A3E37B2@citrix.com>
Date: Wed, 16 Jul 2014 15:25:21 +0100
Message-Id: <65B2B9C8-47C7-4CB3-8EE4-7B067E1E50FE@recoil.org>
References: <1405511325.69618.YahooMailNeo@web172005.mail.ir2.yahoo.com>
	<79E83C09-07AF-43A9-999A-8AF27A3E37B2@citrix.com>
To: David Scott <Dave.Scott@citrix.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compile error when using cstruct
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 16 Jul 2014, at 13:01, Dave Scott <Dave.Scott@citrix.com> wrote:

> Hi,
> =

> On 16 Jul 2014, at 12:48, Tom Brown <tom.jrbrown@yahoo.com> wrote:
> =

>> Hi all,
>> =

>> I receive the following error when I compile a Mirage application, exact=
ly on the lines that I have cstruct definitions:
>> =

>> Parse error: [label_expr_list] or [expr level .] expected after "{" (in =
[expr])
>> Preprocessing error on file lib/input.ml
>> Error while running external preprocessor
>> Command line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/ocaml/.opa=
m/system/lib/lwt' '-I' '/home/ocaml/.opam/system/lib/lwt' '-parser' 'o' '-p=
arser' 'op' '-printer' 'p' 'lwt-syntax-options.cma' 'lwt-syntax.cma'  'lib/=
input.ml' > /tmp/ocamlppf271c4
>> =

>> Would you please help me in finding the problem?
> =

> It looks like the cstruct.syntax extension isn=92t loaded. I normally add=
 a line to my _tags file at the bottom like this:
> =

> <foo.ml>: pkg_cstruct.syntax, syntax_camlp4o

You don't have to edit the _tags file manually if using the `mirage` CLI to=
ol.  In the mirage/mirage-www/src/config.ml, we activate the `cow.syntax` X=
ML extension as follows:

let main =3D
  let libraries =3D [ "cow.syntax"; "cowabloga" ] in
  let packages =3D [ "cow"; "cowabloga" ] in
  foreign ~libraries ~packages "Dispatch.Main"
    (console @-> kv_ro @-> kv_ro @-> http @-> job)

let () =3D
  register "www" [
    main $ default_console $ fs $ tmpl $ server
  ]


You should be able to do the same with cstruct.  Just pass "cstruct.syntax"=
 for the libraries (which refers to the ocamlfind command-line), and "cstru=
ct" for the packages variable (which refers to OPAM packages, that usually =
contain multiple ocamlfind packages).

I've created https://github.com/mirage/mirage/issues/271 to track whether w=
e should activate cstruct by default from the CLI tool.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 12:49:42 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 12:49:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7l7w-0007i2-NM; Thu, 17 Jul 2014 12:49:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>)
	id 1X7l7v-0007hu-6Q; Thu, 17 Jul 2014 12:49:35 +0000
Received: from [85.158.137.68:28848] by server-14.bemta-3.messagelabs.com id
	BE/E0-09441-E56C7C35; Thu, 17 Jul 2014 12:49:34 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1405601371!16520542!1
X-Originating-IP: [209.85.220.51]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_10_20, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16769 invoked from network); 17 Jul 2014 12:49:33 -0000
Received: from mail-pa0-f51.google.com (HELO mail-pa0-f51.google.com)
	(209.85.220.51)
	by server-11.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	17 Jul 2014 12:49:33 -0000
Received: by mail-pa0-f51.google.com with SMTP id ey11so3334032pad.10
	for <multiple recipients>; Thu, 17 Jul 2014 05:49:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=vn8Unnass49RyFe293DkQUIR7XxCphmVfcOUV3oJsyE=;
	b=eqiBEK+WyOdkZk9NeUICfmBugYiZjml00Td/9pHbxVO/Fa3pac/fZvvsK80KlXGa0a
	BelVVNSdTJrn4Wbz72CxqSs3LOVms90iqoDm0MUL6+prxRcNXKmDJYgTvDFJshJYEFrw
	5jfBZK9DIpewDcSzEOOzQFLOYmUES0yNMQXjMa8PBI/zgOx5zaYuOf7hkPsB5GiQJ7PT
	0YbiHssrKUJ6lzBILpI1W6UKPZDpKDUqRE9NTHvxGbJwolngT83wjKK7rHRaaXPf/zt4
	0LUSd1JSIJiqcCPHx6xA24g1fdWd9kBfT/H10SiJ9NEq6kJjz7M4bNtlcCaQRY+lBVAb
	4Cfg==
MIME-Version: 1.0
X-Received: by 10.68.252.7 with SMTP id zo7mr27899424pbc.102.1405601371305;
	Thu, 17 Jul 2014 05:49:31 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Thu, 17 Jul 2014 05:49:31 -0700 (PDT)
Date: Thu, 17 Jul 2014 13:49:31 +0100
Message-ID: <CAG_esB2FAw2pctiPjvhq5-LYsVfMr+u+3E2woTvgXyiS9O8ozg@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, xen-api@lists.xenproject.org
Subject: [MirageOS-devel] Xenstore (client) updates
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6193284372186640771=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6193284372186640771==
Content-Type: multipart/alternative; boundary=047d7b1630af6ebbb904fe631267

--047d7b1630af6ebbb904fe631267
Content-Type: text/plain; charset=UTF-8

Hi,

I've just merged updates to the Mirage Xenstore protocol and client
implementation to master (but not yet released). There are
backwards-incompatible API changes which I'd like to get right before
release, so feedback is welcome. Note the signatures are separate from the
Mirage V2_LWT ones -- this is an internal implementation library used for
Xen Mirage kernels only. I'll not release this code until (a) we're happy
with it; and (b) patches are available for all users in opam (typical users
include Mirage device drivers and Xen toolstacks)

The reasons I'm proposing backwards-incompatible changes are:

1. to hide the 'client' type from clients. Since there should only be one
real Xenstore connection per process (whether Unix domain sockets or shared
memory), this ended up being a singleton. There doesn't seem any point in
requesting the user 'create' and 'manage' these when the library was doing
it all anyway.

2. for transactions and watches, I've made this into a more monadic style.
The examples in the README.md show what I mean.

3. to move away from exceptions (I'm looking at you, ENOENT) and to use
option types. So we now have 'read' and 'read_exn'. Does anyone know of any
other functions whose signatures could be improved?

4. (for a crash-resistant Irmin Xenstore server): there's now control over
where we are in the shared memory ring. Previously a 'read' would 'consume'
data immediately, which would be lost if we crashed. Now 'read' should not
advance the stream, and the server must decide when is appropriate and call
an 'advance' function manually.

A couple of house-keeping items:

* The repo mirage/ocaml-xenstore which contains the Xenstore protocol
implementation and client code used to be a fork of djs55/ocaml-xenstore.
I've fixed this anomaly and now the mirage/ocaml-xenstore version is the
authoritative version.

* The license of the Xenstore protocol code and client is the Mirage
standard (ISC)

* The code has been re-indented with ocp-indent --syntax=lwt (Mirage
standard style?)

Cheers,
-- 
Dave Scott

--047d7b1630af6ebbb904fe631267
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I&#39;ve just merged updates to the=
 Mirage Xenstore protocol and client implementation to master (but not yet =
released). There are backwards-incompatible API changes which I&#39;d like =
to get right before release, so feedback is welcome. Note the signatures ar=
e separate from the Mirage V2_LWT ones -- this is an internal implementatio=
n library used for Xen Mirage kernels only. I&#39;ll not release this code =
until (a) we&#39;re happy with it; and (b) patches are available for all us=
ers in opam (typical users include Mirage device drivers and Xen toolstacks=
)</div>
<div><br></div><div>The reasons I&#39;m proposing backwards-incompatible ch=
anges are:</div><div><br></div><div>1. to hide the &#39;client&#39; type fr=
om clients. Since there should only be one real Xenstore connection per pro=
cess (whether Unix domain sockets or shared memory), this ended up being a =
singleton. There doesn&#39;t seem any point in requesting the user &#39;cre=
ate&#39; and &#39;manage&#39; these when the library was doing it all anywa=
y.</div>
<div><br></div><div>2. for transactions and watches, I&#39;ve made this int=
o a more monadic style. The examples in the README.md show what I mean.</di=
v><div><br></div><div>3. to move away from exceptions (I&#39;m looking at y=
ou, ENOENT) and to use option types. So we now have &#39;read&#39; and &#39=
;read_exn&#39;. Does anyone know of any other functions whose signatures co=
uld be improved?</div>
<div><br></div><div>4. (for a crash-resistant Irmin Xenstore server): there=
&#39;s now control over where we are in the shared memory ring. Previously =
a &#39;read&#39; would &#39;consume&#39; data immediately, which would be l=
ost if we crashed. Now &#39;read&#39; should not advance the stream, and th=
e server must decide when is appropriate and call an &#39;advance&#39; func=
tion manually.</div>
<div><br></div><div>A couple of house-keeping items:</div><div><br></div><d=
iv>* The repo mirage/ocaml-xenstore which contains the Xenstore protocol im=
plementation and client code used to be a fork of djs55/ocaml-xenstore. I&#=
39;ve fixed this anomaly and now the mirage/ocaml-xenstore version is the a=
uthoritative version.</div>
<div><br></div><div>* The license of the Xenstore protocol code and client =
is the Mirage standard (ISC)<br clear=3D"all"><div><br></div><div>* The cod=
e has been re-indented with ocp-indent --syntax=3Dlwt (Mirage standard styl=
e?)</div>
<div><br></div><div>Cheers,</div>-- <br>Dave Scott
</div></div>

--047d7b1630af6ebbb904fe631267--


--===============6193284372186640771==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6193284372186640771==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 12:49:42 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 12:49:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7l7w-0007i2-NM; Thu, 17 Jul 2014 12:49:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>)
	id 1X7l7v-0007hu-6Q; Thu, 17 Jul 2014 12:49:35 +0000
Received: from [85.158.137.68:28848] by server-14.bemta-3.messagelabs.com id
	BE/E0-09441-E56C7C35; Thu, 17 Jul 2014 12:49:34 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1405601371!16520542!1
X-Originating-IP: [209.85.220.51]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_10_20, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16769 invoked from network); 17 Jul 2014 12:49:33 -0000
Received: from mail-pa0-f51.google.com (HELO mail-pa0-f51.google.com)
	(209.85.220.51)
	by server-11.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	17 Jul 2014 12:49:33 -0000
Received: by mail-pa0-f51.google.com with SMTP id ey11so3334032pad.10
	for <multiple recipients>; Thu, 17 Jul 2014 05:49:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=vn8Unnass49RyFe293DkQUIR7XxCphmVfcOUV3oJsyE=;
	b=eqiBEK+WyOdkZk9NeUICfmBugYiZjml00Td/9pHbxVO/Fa3pac/fZvvsK80KlXGa0a
	BelVVNSdTJrn4Wbz72CxqSs3LOVms90iqoDm0MUL6+prxRcNXKmDJYgTvDFJshJYEFrw
	5jfBZK9DIpewDcSzEOOzQFLOYmUES0yNMQXjMa8PBI/zgOx5zaYuOf7hkPsB5GiQJ7PT
	0YbiHssrKUJ6lzBILpI1W6UKPZDpKDUqRE9NTHvxGbJwolngT83wjKK7rHRaaXPf/zt4
	0LUSd1JSIJiqcCPHx6xA24g1fdWd9kBfT/H10SiJ9NEq6kJjz7M4bNtlcCaQRY+lBVAb
	4Cfg==
MIME-Version: 1.0
X-Received: by 10.68.252.7 with SMTP id zo7mr27899424pbc.102.1405601371305;
	Thu, 17 Jul 2014 05:49:31 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Thu, 17 Jul 2014 05:49:31 -0700 (PDT)
Date: Thu, 17 Jul 2014 13:49:31 +0100
Message-ID: <CAG_esB2FAw2pctiPjvhq5-LYsVfMr+u+3E2woTvgXyiS9O8ozg@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, xen-api@lists.xenproject.org
Subject: [MirageOS-devel] Xenstore (client) updates
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6193284372186640771=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6193284372186640771==
Content-Type: multipart/alternative; boundary=047d7b1630af6ebbb904fe631267

--047d7b1630af6ebbb904fe631267
Content-Type: text/plain; charset=UTF-8

Hi,

I've just merged updates to the Mirage Xenstore protocol and client
implementation to master (but not yet released). There are
backwards-incompatible API changes which I'd like to get right before
release, so feedback is welcome. Note the signatures are separate from the
Mirage V2_LWT ones -- this is an internal implementation library used for
Xen Mirage kernels only. I'll not release this code until (a) we're happy
with it; and (b) patches are available for all users in opam (typical users
include Mirage device drivers and Xen toolstacks)

The reasons I'm proposing backwards-incompatible changes are:

1. to hide the 'client' type from clients. Since there should only be one
real Xenstore connection per process (whether Unix domain sockets or shared
memory), this ended up being a singleton. There doesn't seem any point in
requesting the user 'create' and 'manage' these when the library was doing
it all anyway.

2. for transactions and watches, I've made this into a more monadic style.
The examples in the README.md show what I mean.

3. to move away from exceptions (I'm looking at you, ENOENT) and to use
option types. So we now have 'read' and 'read_exn'. Does anyone know of any
other functions whose signatures could be improved?

4. (for a crash-resistant Irmin Xenstore server): there's now control over
where we are in the shared memory ring. Previously a 'read' would 'consume'
data immediately, which would be lost if we crashed. Now 'read' should not
advance the stream, and the server must decide when is appropriate and call
an 'advance' function manually.

A couple of house-keeping items:

* The repo mirage/ocaml-xenstore which contains the Xenstore protocol
implementation and client code used to be a fork of djs55/ocaml-xenstore.
I've fixed this anomaly and now the mirage/ocaml-xenstore version is the
authoritative version.

* The license of the Xenstore protocol code and client is the Mirage
standard (ISC)

* The code has been re-indented with ocp-indent --syntax=lwt (Mirage
standard style?)

Cheers,
-- 
Dave Scott

--047d7b1630af6ebbb904fe631267
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I&#39;ve just merged updates to the=
 Mirage Xenstore protocol and client implementation to master (but not yet =
released). There are backwards-incompatible API changes which I&#39;d like =
to get right before release, so feedback is welcome. Note the signatures ar=
e separate from the Mirage V2_LWT ones -- this is an internal implementatio=
n library used for Xen Mirage kernels only. I&#39;ll not release this code =
until (a) we&#39;re happy with it; and (b) patches are available for all us=
ers in opam (typical users include Mirage device drivers and Xen toolstacks=
)</div>
<div><br></div><div>The reasons I&#39;m proposing backwards-incompatible ch=
anges are:</div><div><br></div><div>1. to hide the &#39;client&#39; type fr=
om clients. Since there should only be one real Xenstore connection per pro=
cess (whether Unix domain sockets or shared memory), this ended up being a =
singleton. There doesn&#39;t seem any point in requesting the user &#39;cre=
ate&#39; and &#39;manage&#39; these when the library was doing it all anywa=
y.</div>
<div><br></div><div>2. for transactions and watches, I&#39;ve made this int=
o a more monadic style. The examples in the README.md show what I mean.</di=
v><div><br></div><div>3. to move away from exceptions (I&#39;m looking at y=
ou, ENOENT) and to use option types. So we now have &#39;read&#39; and &#39=
;read_exn&#39;. Does anyone know of any other functions whose signatures co=
uld be improved?</div>
<div><br></div><div>4. (for a crash-resistant Irmin Xenstore server): there=
&#39;s now control over where we are in the shared memory ring. Previously =
a &#39;read&#39; would &#39;consume&#39; data immediately, which would be l=
ost if we crashed. Now &#39;read&#39; should not advance the stream, and th=
e server must decide when is appropriate and call an &#39;advance&#39; func=
tion manually.</div>
<div><br></div><div>A couple of house-keeping items:</div><div><br></div><d=
iv>* The repo mirage/ocaml-xenstore which contains the Xenstore protocol im=
plementation and client code used to be a fork of djs55/ocaml-xenstore. I&#=
39;ve fixed this anomaly and now the mirage/ocaml-xenstore version is the a=
uthoritative version.</div>
<div><br></div><div>* The license of the Xenstore protocol code and client =
is the Mirage standard (ISC)<br clear=3D"all"><div><br></div><div>* The cod=
e has been re-indented with ocp-indent --syntax=3Dlwt (Mirage standard styl=
e?)</div>
<div><br></div><div>Cheers,</div>-- <br>Dave Scott
</div></div>

--047d7b1630af6ebbb904fe631267--


--===============6193284372186640771==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6193284372186640771==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 13:37:11 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 13:37:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7lrx-0003g2-DO; Thu, 17 Jul 2014 13:37:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X7lrw-0003fw-Og
	for mirageos-devel@lists.xenproject.org; Thu, 17 Jul 2014 13:37:08 +0000
Received: from [85.158.139.211:49287] by server-7.bemta-5.messagelabs.com id
	45/7D-30824-481D7C35; Thu, 17 Jul 2014 13:37:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-206.messagelabs.com!1405604227!13155622!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31140 invoked from network); 17 Jul 2014 13:37:07 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-206.messagelabs.com with SMTP;
	17 Jul 2014 13:37:07 -0000
Received: (qmail 23460 invoked by uid 634); 17 Jul 2014 13:37:00 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from global-1-27.nat.csx.cam.ac.uk (HELO
	dhcp-172-17-168-203.eduroam.wireless.private.cam.ac.uk)
	(131.111.184.27)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 17 Jul 2014 14:37:00 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG_esB2FAw2pctiPjvhq5-LYsVfMr+u+3E2woTvgXyiS9O8ozg@mail.gmail.com>
Date: Thu, 17 Jul 2014 14:36:59 +0100
Message-Id: <F6189C04-B125-4298-AB70-F9EF92CAB36D@recoil.org>
References: <CAG_esB2FAw2pctiPjvhq5-LYsVfMr+u+3E2woTvgXyiS9O8ozg@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: xen-api@lists.xenproject.org, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Xenstore (client) updates
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 17 Jul 2014, at 13:49, David Scott <scott.dj@gmail.com> wrote:

> Hi,
> 
> I've just merged updates to the Mirage Xenstore protocol and client implementation to master (but not yet released). There are backwards-incompatible API changes which I'd like to get right before release, so feedback is welcome. Note the signatures are separate from the Mirage V2_LWT ones -- this is an internal implementation library used for Xen Mirage kernels only. I'll not release this code until (a) we're happy with it; and (b) patches are available for all users in opam (typical users include Mirage device drivers and Xen toolstacks)
> 
> The reasons I'm proposing backwards-incompatible changes are:
> 
> 1. to hide the 'client' type from clients. Since there should only be one real Xenstore connection per process (whether Unix domain sockets or shared memory), this ended up being a singleton. There doesn't seem any point in requesting the user 'create' and 'manage' these when the library was doing it all anyway.
> 
> 2. for transactions and watches, I've made this into a more monadic style. The examples in the README.md show what I mean.
> 
> 3. to move away from exceptions (I'm looking at you, ENOENT) and to use option types. So we now have 'read' and 'read_exn'. Does anyone know of any other functions whose signatures could be improved?

Instead of option types, isn't the Or_error.t style better to avoid not losing the reason for the failure?  For example,

type 'a t =
  | Error of exn
  | Ok of 'a

> 
> 4. (for a crash-resistant Irmin Xenstore server): there's now control over where we are in the shared memory ring. Previously a 'read' would 'consume' data immediately, which would be lost if we crashed. Now 'read' should not advance the stream, and the server must decide when is appropriate and call an 'advance' function manually.

This is a significant improvement and probably relevant to other consumers of this style of RPC (e.g. a vchan2)!

> 
> A couple of house-keeping items:
> 
> * The repo mirage/ocaml-xenstore which contains the Xenstore protocol implementation and client code used to be a fork of djs55/ocaml-xenstore. I've fixed this anomaly and now the mirage/ocaml-xenstore version is the authoritative version.
> 
> * The license of the Xenstore protocol code and client is the Mirage standard (ISC)
> 
> * The code has been re-indented with ocp-indent --syntax=lwt (Mirage standard style?)

Yes, the `ocp-indent` defaults are becoming the defacto standard for indentation.  It doesn't tell you where to put newlines, so there's still some artistic style potential left for the individual programmer :-)

best,
Anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 13:37:11 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 13:37:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7lrx-0003g2-DO; Thu, 17 Jul 2014 13:37:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X7lrw-0003fw-Og
	for mirageos-devel@lists.xenproject.org; Thu, 17 Jul 2014 13:37:08 +0000
Received: from [85.158.139.211:49287] by server-7.bemta-5.messagelabs.com id
	45/7D-30824-481D7C35; Thu, 17 Jul 2014 13:37:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-206.messagelabs.com!1405604227!13155622!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31140 invoked from network); 17 Jul 2014 13:37:07 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-206.messagelabs.com with SMTP;
	17 Jul 2014 13:37:07 -0000
Received: (qmail 23460 invoked by uid 634); 17 Jul 2014 13:37:00 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from global-1-27.nat.csx.cam.ac.uk (HELO
	dhcp-172-17-168-203.eduroam.wireless.private.cam.ac.uk)
	(131.111.184.27)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 17 Jul 2014 14:37:00 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG_esB2FAw2pctiPjvhq5-LYsVfMr+u+3E2woTvgXyiS9O8ozg@mail.gmail.com>
Date: Thu, 17 Jul 2014 14:36:59 +0100
Message-Id: <F6189C04-B125-4298-AB70-F9EF92CAB36D@recoil.org>
References: <CAG_esB2FAw2pctiPjvhq5-LYsVfMr+u+3E2woTvgXyiS9O8ozg@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: xen-api@lists.xenproject.org, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Xenstore (client) updates
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 17 Jul 2014, at 13:49, David Scott <scott.dj@gmail.com> wrote:

> Hi,
> 
> I've just merged updates to the Mirage Xenstore protocol and client implementation to master (but not yet released). There are backwards-incompatible API changes which I'd like to get right before release, so feedback is welcome. Note the signatures are separate from the Mirage V2_LWT ones -- this is an internal implementation library used for Xen Mirage kernels only. I'll not release this code until (a) we're happy with it; and (b) patches are available for all users in opam (typical users include Mirage device drivers and Xen toolstacks)
> 
> The reasons I'm proposing backwards-incompatible changes are:
> 
> 1. to hide the 'client' type from clients. Since there should only be one real Xenstore connection per process (whether Unix domain sockets or shared memory), this ended up being a singleton. There doesn't seem any point in requesting the user 'create' and 'manage' these when the library was doing it all anyway.
> 
> 2. for transactions and watches, I've made this into a more monadic style. The examples in the README.md show what I mean.
> 
> 3. to move away from exceptions (I'm looking at you, ENOENT) and to use option types. So we now have 'read' and 'read_exn'. Does anyone know of any other functions whose signatures could be improved?

Instead of option types, isn't the Or_error.t style better to avoid not losing the reason for the failure?  For example,

type 'a t =
  | Error of exn
  | Ok of 'a

> 
> 4. (for a crash-resistant Irmin Xenstore server): there's now control over where we are in the shared memory ring. Previously a 'read' would 'consume' data immediately, which would be lost if we crashed. Now 'read' should not advance the stream, and the server must decide when is appropriate and call an 'advance' function manually.

This is a significant improvement and probably relevant to other consumers of this style of RPC (e.g. a vchan2)!

> 
> A couple of house-keeping items:
> 
> * The repo mirage/ocaml-xenstore which contains the Xenstore protocol implementation and client code used to be a fork of djs55/ocaml-xenstore. I've fixed this anomaly and now the mirage/ocaml-xenstore version is the authoritative version.
> 
> * The license of the Xenstore protocol code and client is the Mirage standard (ISC)
> 
> * The code has been re-indented with ocp-indent --syntax=lwt (Mirage standard style?)

Yes, the `ocp-indent` defaults are becoming the defacto standard for indentation.  It doesn't tell you where to put newlines, so there's still some artistic style potential left for the individual programmer :-)

best,
Anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 14:09:28 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 14:09:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7mNC-0005fu-4X; Thu, 17 Jul 2014 14:09:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>)
	id 1X7mNB-0005ej-1s; Thu, 17 Jul 2014 14:09:25 +0000
Received: from [85.158.139.211:13324] by server-5.bemta-5.messagelabs.com id
	52/CB-09027-419D7C35; Thu, 17 Jul 2014 14:09:24 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1405606161!16072269!1
X-Originating-IP: [209.85.220.44]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23988 invoked from network); 17 Jul 2014 14:09:22 -0000
Received: from mail-pa0-f44.google.com (HELO mail-pa0-f44.google.com)
	(209.85.220.44)
	by server-5.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	17 Jul 2014 14:09:22 -0000
Received: by mail-pa0-f44.google.com with SMTP id eu11so3460457pac.3
	for <multiple recipients>; Thu, 17 Jul 2014 07:09:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=jp53jUiHP69Mw1jajz93HOtUe5VyMYpPbqqvokbp8Hg=;
	b=dJt53vi1jAq9IJc1s83kMtPUGDFH+h2WIkRrGHS2SWQRHNg3SasCp73iJfrgm2aWav
	ixalw00HE0hHOfZy2HaNnyiwnQU/UhK14MlpP4tByjhaUkxcYAD2qwhViz+OGnGgUR35
	2M40lADqFOo6GUxVobT8dOOzvFqT4YuDtf5m48ZszI7oF5NeV7KouseqpUa3+Rrl/RTs
	MejCzknQs8Ohe8njf7hM6SJa5Rja4m37QTpzwrsVzp1i0e0d2R8/AG7f/69RWwCRlCv5
	kWLxGVs4RPtXeUaz5fwxxGM4p6hqQvtwro/aU47rk/oRCZWM4CFDkCKVbCieXQSZjkyP
	HxSA==
MIME-Version: 1.0
X-Received: by 10.70.137.103 with SMTP id qh7mr26037011pdb.69.1405606160806;
	Thu, 17 Jul 2014 07:09:20 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Thu, 17 Jul 2014 07:09:20 -0700 (PDT)
In-Reply-To: <F6189C04-B125-4298-AB70-F9EF92CAB36D@recoil.org>
References: <CAG_esB2FAw2pctiPjvhq5-LYsVfMr+u+3E2woTvgXyiS9O8ozg@mail.gmail.com>
	<F6189C04-B125-4298-AB70-F9EF92CAB36D@recoil.org>
Date: Thu, 17 Jul 2014 15:09:20 +0100
Message-ID: <CAG_esB3wK_Zrm-8XcDGcmqYCw_hf59taf=MrUQrwgqwaxD62hQ@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: xen-api@lists.xenproject.org, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Xenstore (client) updates
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0639090315503841440=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0639090315503841440==
Content-Type: multipart/alternative; boundary=001a1135ecb4e8b92c04fe642f59

--001a1135ecb4e8b92c04fe642f59
Content-Type: text/plain; charset=UTF-8

On Thu, Jul 17, 2014 at 2:36 PM, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 17 Jul 2014, at 13:49, David Scott <scott.dj@gmail.com> wrote:
>
> > Hi,
> >
> > I've just merged updates to the Mirage Xenstore protocol and client
> implementation to master (but not yet released). There are
> backwards-incompatible API changes which I'd like to get right before
> release, so feedback is welcome. Note the signatures are separate from the
> Mirage V2_LWT ones -- this is an internal implementation library used for
> Xen Mirage kernels only. I'll not release this code until (a) we're happy
> with it; and (b) patches are available for all users in opam (typical users
> include Mirage device drivers and Xen toolstacks)
> >
> > The reasons I'm proposing backwards-incompatible changes are:
> >
> > 1. to hide the 'client' type from clients. Since there should only be
> one real Xenstore connection per process (whether Unix domain sockets or
> shared memory), this ended up being a singleton. There doesn't seem any
> point in requesting the user 'create' and 'manage' these when the library
> was doing it all anyway.
> >
> > 2. for transactions and watches, I've made this into a more monadic
> style. The examples in the README.md show what I mean.
> >
> > 3. to move away from exceptions (I'm looking at you, ENOENT) and to use
> option types. So we now have 'read' and 'read_exn'. Does anyone know of any
> other functions whose signatures could be improved?
>
> Instead of option types, isn't the Or_error.t style better to avoid not
> losing the reason for the failure?  For example,
>
> type 'a t =
>   | Error of exn
>   | Ok of 'a
>

I think this is a good idea. I started by making 'read' return a 'string
option' because the 'None' case means 'key doesn't exist' and isn't really
an error-- it's so common client code is riddled with code that expects it.
For all the 'real' errors which are actually fatal (Einval, Equota, Eperm
etc etc) Or_error.t looks nice.


>
> > 4. (for a crash-resistant Irmin Xenstore server): there's now control
> over where we are in the shared memory ring. Previously a 'read' would
> 'consume' data immediately, which would be lost if we crashed. Now 'read'
> should not advance the stream, and the server must decide when is
> appropriate and call an 'advance' function manually.
>
> This is a significant improvement and probably relevant to other consumers
> of this style of RPC (e.g. a vchan2)!
>
> >
> > A couple of house-keeping items:
> >
> > * The repo mirage/ocaml-xenstore which contains the Xenstore protocol
> implementation and client code used to be a fork of djs55/ocaml-xenstore.
> I've fixed this anomaly and now the mirage/ocaml-xenstore version is the
> authoritative version.
> >
> > * The license of the Xenstore protocol code and client is the Mirage
> standard (ISC)
> >
> > * The code has been re-indented with ocp-indent --syntax=lwt (Mirage
> standard style?)
>
> Yes, the `ocp-indent` defaults are becoming the defacto standard for
> indentation.  It doesn't tell you where to put newlines, so there's still
> some artistic style potential left for the individual programmer :-)
>

Cheers,
Dave

--001a1135ecb4e8b92c04fe642f59
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><br><div class=3D"gmail=
_quote">On Thu, Jul 17, 2014 at 2:36 PM, Anil Madhavapeddy <span dir=3D"ltr=
">&lt;<a href=3D"mailto:anil@recoil.org" target=3D"_blank">anil@recoil.org<=
/a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div class=3D"">On 17 Jul 2014, at 13:49, Da=
vid Scott &lt;<a href=3D"mailto:scott.dj@gmail.com">scott.dj@gmail.com</a>&=
gt; wrote:<br>

<br>
&gt; Hi,<br>
&gt;<br>
&gt; I&#39;ve just merged updates to the Mirage Xenstore protocol and clien=
t implementation to master (but not yet released). There are backwards-inco=
mpatible API changes which I&#39;d like to get right before release, so fee=
dback is welcome. Note the signatures are separate from the Mirage V2_LWT o=
nes -- this is an internal implementation library used for Xen Mirage kerne=
ls only. I&#39;ll not release this code until (a) we&#39;re happy with it; =
and (b) patches are available for all users in opam (typical users include =
Mirage device drivers and Xen toolstacks)<br>

&gt;<br>
&gt; The reasons I&#39;m proposing backwards-incompatible changes are:<br>
&gt;<br>
&gt; 1. to hide the &#39;client&#39; type from clients. Since there should =
only be one real Xenstore connection per process (whether Unix domain socke=
ts or shared memory), this ended up being a singleton. There doesn&#39;t se=
em any point in requesting the user &#39;create&#39; and &#39;manage&#39; t=
hese when the library was doing it all anyway.<br>

&gt;<br>
&gt; 2. for transactions and watches, I&#39;ve made this into a more monadi=
c style. The examples in the README.md show what I mean.<br>
&gt;<br>
&gt; 3. to move away from exceptions (I&#39;m looking at you, ENOENT) and t=
o use option types. So we now have &#39;read&#39; and &#39;read_exn&#39;. D=
oes anyone know of any other functions whose signatures could be improved?<=
br>

<br>
</div>Instead of option types, isn&#39;t the Or_error.t style better to avo=
id not losing the reason for the failure? =C2=A0For example,<br>
<br>
type &#39;a t =3D<br>
=C2=A0 | Error of exn<br>
=C2=A0 | Ok of &#39;a<br></blockquote><div><br></div><div>I think this is a=
 good idea. I started by making &#39;read&#39; return a &#39;string option&=
#39; because the &#39;None&#39; case means &#39;key doesn&#39;t exist&#39; =
and isn&#39;t really an error-- it&#39;s so common client code is riddled w=
ith code that expects it. For all the &#39;real&#39; errors which are actua=
lly fatal (Einval, Equota, Eperm etc etc) Or_error.t looks nice.</div>
<div>=C2=A0</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=
=3D"">
&gt;<br>
&gt; 4. (for a crash-resistant Irmin Xenstore server): there&#39;s now cont=
rol over where we are in the shared memory ring. Previously a &#39;read&#39=
; would &#39;consume&#39; data immediately, which would be lost if we crash=
ed. Now &#39;read&#39; should not advance the stream, and the server must d=
ecide when is appropriate and call an &#39;advance&#39; function manually.<=
br>

<br>
</div>This is a significant improvement and probably relevant to other cons=
umers of this style of RPC (e.g. a vchan2)!<br>
<div class=3D""><br>
&gt;<br>
&gt; A couple of house-keeping items:<br>
&gt;<br>
&gt; * The repo mirage/ocaml-xenstore which contains the Xenstore protocol =
implementation and client code used to be a fork of djs55/ocaml-xenstore. I=
&#39;ve fixed this anomaly and now the mirage/ocaml-xenstore version is the=
 authoritative version.<br>

&gt;<br>
&gt; * The license of the Xenstore protocol code and client is the Mirage s=
tandard (ISC)<br>
&gt;<br>
&gt; * The code has been re-indented with ocp-indent --syntax=3Dlwt (Mirage=
 standard style?)<br>
<br>
</div>Yes, the `ocp-indent` defaults are becoming the defacto standard for =
indentation. =C2=A0It doesn&#39;t tell you where to put newlines, so there&=
#39;s still some artistic style potential left for the individual programme=
r :-)<br>
</blockquote><div><br></div><div>Cheers,</div><div>Dave</div></div></div></=
div>

--001a1135ecb4e8b92c04fe642f59--


--===============0639090315503841440==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0639090315503841440==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 14:09:28 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 14:09:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7mNC-0005fu-4X; Thu, 17 Jul 2014 14:09:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>)
	id 1X7mNB-0005ej-1s; Thu, 17 Jul 2014 14:09:25 +0000
Received: from [85.158.139.211:13324] by server-5.bemta-5.messagelabs.com id
	52/CB-09027-419D7C35; Thu, 17 Jul 2014 14:09:24 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1405606161!16072269!1
X-Originating-IP: [209.85.220.44]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23988 invoked from network); 17 Jul 2014 14:09:22 -0000
Received: from mail-pa0-f44.google.com (HELO mail-pa0-f44.google.com)
	(209.85.220.44)
	by server-5.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	17 Jul 2014 14:09:22 -0000
Received: by mail-pa0-f44.google.com with SMTP id eu11so3460457pac.3
	for <multiple recipients>; Thu, 17 Jul 2014 07:09:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=jp53jUiHP69Mw1jajz93HOtUe5VyMYpPbqqvokbp8Hg=;
	b=dJt53vi1jAq9IJc1s83kMtPUGDFH+h2WIkRrGHS2SWQRHNg3SasCp73iJfrgm2aWav
	ixalw00HE0hHOfZy2HaNnyiwnQU/UhK14MlpP4tByjhaUkxcYAD2qwhViz+OGnGgUR35
	2M40lADqFOo6GUxVobT8dOOzvFqT4YuDtf5m48ZszI7oF5NeV7KouseqpUa3+Rrl/RTs
	MejCzknQs8Ohe8njf7hM6SJa5Rja4m37QTpzwrsVzp1i0e0d2R8/AG7f/69RWwCRlCv5
	kWLxGVs4RPtXeUaz5fwxxGM4p6hqQvtwro/aU47rk/oRCZWM4CFDkCKVbCieXQSZjkyP
	HxSA==
MIME-Version: 1.0
X-Received: by 10.70.137.103 with SMTP id qh7mr26037011pdb.69.1405606160806;
	Thu, 17 Jul 2014 07:09:20 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Thu, 17 Jul 2014 07:09:20 -0700 (PDT)
In-Reply-To: <F6189C04-B125-4298-AB70-F9EF92CAB36D@recoil.org>
References: <CAG_esB2FAw2pctiPjvhq5-LYsVfMr+u+3E2woTvgXyiS9O8ozg@mail.gmail.com>
	<F6189C04-B125-4298-AB70-F9EF92CAB36D@recoil.org>
Date: Thu, 17 Jul 2014 15:09:20 +0100
Message-ID: <CAG_esB3wK_Zrm-8XcDGcmqYCw_hf59taf=MrUQrwgqwaxD62hQ@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: xen-api@lists.xenproject.org, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Xenstore (client) updates
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0639090315503841440=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0639090315503841440==
Content-Type: multipart/alternative; boundary=001a1135ecb4e8b92c04fe642f59

--001a1135ecb4e8b92c04fe642f59
Content-Type: text/plain; charset=UTF-8

On Thu, Jul 17, 2014 at 2:36 PM, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 17 Jul 2014, at 13:49, David Scott <scott.dj@gmail.com> wrote:
>
> > Hi,
> >
> > I've just merged updates to the Mirage Xenstore protocol and client
> implementation to master (but not yet released). There are
> backwards-incompatible API changes which I'd like to get right before
> release, so feedback is welcome. Note the signatures are separate from the
> Mirage V2_LWT ones -- this is an internal implementation library used for
> Xen Mirage kernels only. I'll not release this code until (a) we're happy
> with it; and (b) patches are available for all users in opam (typical users
> include Mirage device drivers and Xen toolstacks)
> >
> > The reasons I'm proposing backwards-incompatible changes are:
> >
> > 1. to hide the 'client' type from clients. Since there should only be
> one real Xenstore connection per process (whether Unix domain sockets or
> shared memory), this ended up being a singleton. There doesn't seem any
> point in requesting the user 'create' and 'manage' these when the library
> was doing it all anyway.
> >
> > 2. for transactions and watches, I've made this into a more monadic
> style. The examples in the README.md show what I mean.
> >
> > 3. to move away from exceptions (I'm looking at you, ENOENT) and to use
> option types. So we now have 'read' and 'read_exn'. Does anyone know of any
> other functions whose signatures could be improved?
>
> Instead of option types, isn't the Or_error.t style better to avoid not
> losing the reason for the failure?  For example,
>
> type 'a t =
>   | Error of exn
>   | Ok of 'a
>

I think this is a good idea. I started by making 'read' return a 'string
option' because the 'None' case means 'key doesn't exist' and isn't really
an error-- it's so common client code is riddled with code that expects it.
For all the 'real' errors which are actually fatal (Einval, Equota, Eperm
etc etc) Or_error.t looks nice.


>
> > 4. (for a crash-resistant Irmin Xenstore server): there's now control
> over where we are in the shared memory ring. Previously a 'read' would
> 'consume' data immediately, which would be lost if we crashed. Now 'read'
> should not advance the stream, and the server must decide when is
> appropriate and call an 'advance' function manually.
>
> This is a significant improvement and probably relevant to other consumers
> of this style of RPC (e.g. a vchan2)!
>
> >
> > A couple of house-keeping items:
> >
> > * The repo mirage/ocaml-xenstore which contains the Xenstore protocol
> implementation and client code used to be a fork of djs55/ocaml-xenstore.
> I've fixed this anomaly and now the mirage/ocaml-xenstore version is the
> authoritative version.
> >
> > * The license of the Xenstore protocol code and client is the Mirage
> standard (ISC)
> >
> > * The code has been re-indented with ocp-indent --syntax=lwt (Mirage
> standard style?)
>
> Yes, the `ocp-indent` defaults are becoming the defacto standard for
> indentation.  It doesn't tell you where to put newlines, so there's still
> some artistic style potential left for the individual programmer :-)
>

Cheers,
Dave

--001a1135ecb4e8b92c04fe642f59
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><br><div class=3D"gmail=
_quote">On Thu, Jul 17, 2014 at 2:36 PM, Anil Madhavapeddy <span dir=3D"ltr=
">&lt;<a href=3D"mailto:anil@recoil.org" target=3D"_blank">anil@recoil.org<=
/a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div class=3D"">On 17 Jul 2014, at 13:49, Da=
vid Scott &lt;<a href=3D"mailto:scott.dj@gmail.com">scott.dj@gmail.com</a>&=
gt; wrote:<br>

<br>
&gt; Hi,<br>
&gt;<br>
&gt; I&#39;ve just merged updates to the Mirage Xenstore protocol and clien=
t implementation to master (but not yet released). There are backwards-inco=
mpatible API changes which I&#39;d like to get right before release, so fee=
dback is welcome. Note the signatures are separate from the Mirage V2_LWT o=
nes -- this is an internal implementation library used for Xen Mirage kerne=
ls only. I&#39;ll not release this code until (a) we&#39;re happy with it; =
and (b) patches are available for all users in opam (typical users include =
Mirage device drivers and Xen toolstacks)<br>

&gt;<br>
&gt; The reasons I&#39;m proposing backwards-incompatible changes are:<br>
&gt;<br>
&gt; 1. to hide the &#39;client&#39; type from clients. Since there should =
only be one real Xenstore connection per process (whether Unix domain socke=
ts or shared memory), this ended up being a singleton. There doesn&#39;t se=
em any point in requesting the user &#39;create&#39; and &#39;manage&#39; t=
hese when the library was doing it all anyway.<br>

&gt;<br>
&gt; 2. for transactions and watches, I&#39;ve made this into a more monadi=
c style. The examples in the README.md show what I mean.<br>
&gt;<br>
&gt; 3. to move away from exceptions (I&#39;m looking at you, ENOENT) and t=
o use option types. So we now have &#39;read&#39; and &#39;read_exn&#39;. D=
oes anyone know of any other functions whose signatures could be improved?<=
br>

<br>
</div>Instead of option types, isn&#39;t the Or_error.t style better to avo=
id not losing the reason for the failure? =C2=A0For example,<br>
<br>
type &#39;a t =3D<br>
=C2=A0 | Error of exn<br>
=C2=A0 | Ok of &#39;a<br></blockquote><div><br></div><div>I think this is a=
 good idea. I started by making &#39;read&#39; return a &#39;string option&=
#39; because the &#39;None&#39; case means &#39;key doesn&#39;t exist&#39; =
and isn&#39;t really an error-- it&#39;s so common client code is riddled w=
ith code that expects it. For all the &#39;real&#39; errors which are actua=
lly fatal (Einval, Equota, Eperm etc etc) Or_error.t looks nice.</div>
<div>=C2=A0</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=
=3D"">
&gt;<br>
&gt; 4. (for a crash-resistant Irmin Xenstore server): there&#39;s now cont=
rol over where we are in the shared memory ring. Previously a &#39;read&#39=
; would &#39;consume&#39; data immediately, which would be lost if we crash=
ed. Now &#39;read&#39; should not advance the stream, and the server must d=
ecide when is appropriate and call an &#39;advance&#39; function manually.<=
br>

<br>
</div>This is a significant improvement and probably relevant to other cons=
umers of this style of RPC (e.g. a vchan2)!<br>
<div class=3D""><br>
&gt;<br>
&gt; A couple of house-keeping items:<br>
&gt;<br>
&gt; * The repo mirage/ocaml-xenstore which contains the Xenstore protocol =
implementation and client code used to be a fork of djs55/ocaml-xenstore. I=
&#39;ve fixed this anomaly and now the mirage/ocaml-xenstore version is the=
 authoritative version.<br>

&gt;<br>
&gt; * The license of the Xenstore protocol code and client is the Mirage s=
tandard (ISC)<br>
&gt;<br>
&gt; * The code has been re-indented with ocp-indent --syntax=3Dlwt (Mirage=
 standard style?)<br>
<br>
</div>Yes, the `ocp-indent` defaults are becoming the defacto standard for =
indentation. =C2=A0It doesn&#39;t tell you where to put newlines, so there&=
#39;s still some artistic style potential left for the individual programme=
r :-)<br>
</blockquote><div><br></div><div>Cheers,</div><div>Dave</div></div></div></=
div>

--001a1135ecb4e8b92c04fe642f59--


--===============0639090315503841440==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0639090315503841440==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 18:49:07 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 18:49:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7qjk-0000dJ-Ky; Thu, 17 Jul 2014 18:49:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jyotsna.prakash@gmail.com>) id 1X7qjj-0000dE-JR
	for mirageos-devel@lists.xenproject.org; Thu, 17 Jul 2014 18:48:59 +0000
Received: from [85.158.137.68:13628] by server-10.bemta-3.messagelabs.com id
	F1/BE-28313-A9A18C35; Thu, 17 Jul 2014 18:48:58 +0000
X-Env-Sender: jyotsna.prakash@gmail.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1405622936!12108658!1
X-Originating-IP: [209.85.213.182]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7439 invoked from network); 17 Jul 2014 18:48:58 -0000
Received: from mail-ig0-f182.google.com (HELO mail-ig0-f182.google.com)
	(209.85.213.182)
	by server-6.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	17 Jul 2014 18:48:58 -0000
Received: by mail-ig0-f182.google.com with SMTP id c1so3479515igq.9
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 17 Jul 2014 11:48:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=LUuKGivTCd2wm4C3iL2iWRb48WnzK4zMFnxWJoSBJMY=;
	b=y/rXekZxGoTWA90YGKoI2i/K/Y6VcpfkSWPOexOR9whafxEXthZ+ggjQNpFIHPQZeZ
	Xo7x0m+CId9/mNfjfxCWocP4pYQQTn+8VeRmbSqEewbBMmkKBprcR9QpSemn0c89iToS
	zy6ibYseJeVVBEd9Yda/8YKCRwTLJ1HqWKI21fz1LALRF/OHLLbSqQkLkxw4tlSTRP9h
	/ocTLrHqsxe25Qn0zCig/IR/W0PTIRrGmuBwW7gmGHwsPFGyct2FHdriIo48QtADB+Uv
	SKm7Okc8Y3HaladDW031FIl0s+TdkmcNu6ZCARfh+DDnwGMl5Q/R9NXIuAY4e/II75SU
	mUng==
MIME-Version: 1.0
X-Received: by 10.60.52.226 with SMTP id w2mr47714173oeo.3.1405622936352; Thu,
	17 Jul 2014 11:48:56 -0700 (PDT)
Received: by 10.202.197.146 with HTTP; Thu, 17 Jul 2014 11:48:56 -0700 (PDT)
Date: Thu, 17 Jul 2014 11:48:56 -0700
Message-ID: <CAMC0NwTT7PhJDw6wWagDggzhtXWQj1VcRm2goUBOnYcuONqX9A@mail.gmail.com>
From: Jyotsna Prakash <jyotsna.prakash@gmail.com>
To: mirageos-devel@lists.xenproject.org
Subject: [MirageOS-devel] OCaml bindings for EC2 API
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0727498423788204970=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0727498423788204970==
Content-Type: multipart/alternative; boundary=001a113339eacf3fb904fe6817dc

--001a113339eacf3fb904fe6817dc
Content-Type: text/plain; charset=UTF-8

Hi all,

For my GSoC project I've been working on OCaml bindings to the EC2 API. The
code is at https://github.com/moonlightdrive/ocaml-ec2

I've yet to launch a Mirage-backed VM without using the Amazon's CLI tools.
The process involves producing an xml manifest describing an image; the
manifest contains fields of RSA encrypted data. Problem is, I don't have
any way to take my public keys (pem files) and turn them into
`Cryptokit.RSA.key`s.

I would appreciate any feedback/comments you have on the bindings and/or my
RSA issue.

Thanks!
Jyotsna

--001a113339eacf3fb904fe6817dc
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<br><br>For my GSoC project I&#39;ve been working o=
n OCaml bindings to the EC2 API. The code is at <a href=3D"https://github.c=
om/moonlightdrive/ocaml-ec2">https://github.com/moonlightdrive/ocaml-ec2</a=
><br>
<br>I&#39;ve yet to launch a Mirage-backed VM without using the Amazon&#39;=
s CLI tools. The process involves producing an xml manifest describing an i=
mage; the manifest contains fields of RSA encrypted data. Problem is, I don=
&#39;t have any way to take my public keys (pem files) and turn them into `=
Cryptokit.RSA.key`s.<br>
<br>I would appreciate any feedback/comments you have on the bindings and/o=
r my RSA issue.<br><br>Thanks!<br>Jyotsna<br></div>

--001a113339eacf3fb904fe6817dc--


--===============0727498423788204970==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0727498423788204970==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 18:49:07 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 18:49:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7qjk-0000dJ-Ky; Thu, 17 Jul 2014 18:49:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jyotsna.prakash@gmail.com>) id 1X7qjj-0000dE-JR
	for mirageos-devel@lists.xenproject.org; Thu, 17 Jul 2014 18:48:59 +0000
Received: from [85.158.137.68:13628] by server-10.bemta-3.messagelabs.com id
	F1/BE-28313-A9A18C35; Thu, 17 Jul 2014 18:48:58 +0000
X-Env-Sender: jyotsna.prakash@gmail.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1405622936!12108658!1
X-Originating-IP: [209.85.213.182]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7439 invoked from network); 17 Jul 2014 18:48:58 -0000
Received: from mail-ig0-f182.google.com (HELO mail-ig0-f182.google.com)
	(209.85.213.182)
	by server-6.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	17 Jul 2014 18:48:58 -0000
Received: by mail-ig0-f182.google.com with SMTP id c1so3479515igq.9
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 17 Jul 2014 11:48:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=LUuKGivTCd2wm4C3iL2iWRb48WnzK4zMFnxWJoSBJMY=;
	b=y/rXekZxGoTWA90YGKoI2i/K/Y6VcpfkSWPOexOR9whafxEXthZ+ggjQNpFIHPQZeZ
	Xo7x0m+CId9/mNfjfxCWocP4pYQQTn+8VeRmbSqEewbBMmkKBprcR9QpSemn0c89iToS
	zy6ibYseJeVVBEd9Yda/8YKCRwTLJ1HqWKI21fz1LALRF/OHLLbSqQkLkxw4tlSTRP9h
	/ocTLrHqsxe25Qn0zCig/IR/W0PTIRrGmuBwW7gmGHwsPFGyct2FHdriIo48QtADB+Uv
	SKm7Okc8Y3HaladDW031FIl0s+TdkmcNu6ZCARfh+DDnwGMl5Q/R9NXIuAY4e/II75SU
	mUng==
MIME-Version: 1.0
X-Received: by 10.60.52.226 with SMTP id w2mr47714173oeo.3.1405622936352; Thu,
	17 Jul 2014 11:48:56 -0700 (PDT)
Received: by 10.202.197.146 with HTTP; Thu, 17 Jul 2014 11:48:56 -0700 (PDT)
Date: Thu, 17 Jul 2014 11:48:56 -0700
Message-ID: <CAMC0NwTT7PhJDw6wWagDggzhtXWQj1VcRm2goUBOnYcuONqX9A@mail.gmail.com>
From: Jyotsna Prakash <jyotsna.prakash@gmail.com>
To: mirageos-devel@lists.xenproject.org
Subject: [MirageOS-devel] OCaml bindings for EC2 API
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0727498423788204970=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0727498423788204970==
Content-Type: multipart/alternative; boundary=001a113339eacf3fb904fe6817dc

--001a113339eacf3fb904fe6817dc
Content-Type: text/plain; charset=UTF-8

Hi all,

For my GSoC project I've been working on OCaml bindings to the EC2 API. The
code is at https://github.com/moonlightdrive/ocaml-ec2

I've yet to launch a Mirage-backed VM without using the Amazon's CLI tools.
The process involves producing an xml manifest describing an image; the
manifest contains fields of RSA encrypted data. Problem is, I don't have
any way to take my public keys (pem files) and turn them into
`Cryptokit.RSA.key`s.

I would appreciate any feedback/comments you have on the bindings and/or my
RSA issue.

Thanks!
Jyotsna

--001a113339eacf3fb904fe6817dc
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<br><br>For my GSoC project I&#39;ve been working o=
n OCaml bindings to the EC2 API. The code is at <a href=3D"https://github.c=
om/moonlightdrive/ocaml-ec2">https://github.com/moonlightdrive/ocaml-ec2</a=
><br>
<br>I&#39;ve yet to launch a Mirage-backed VM without using the Amazon&#39;=
s CLI tools. The process involves producing an xml manifest describing an i=
mage; the manifest contains fields of RSA encrypted data. Problem is, I don=
&#39;t have any way to take my public keys (pem files) and turn them into `=
Cryptokit.RSA.key`s.<br>
<br>I would appreciate any feedback/comments you have on the bindings and/o=
r my RSA issue.<br><br>Thanks!<br>Jyotsna<br></div>

--001a113339eacf3fb904fe6817dc--


--===============0727498423788204970==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0727498423788204970==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 19:01:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 19:01:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7qvQ-00020O-Fz; Thu, 17 Jul 2014 19:01:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hannes@mehnert.org>) id 1X7qvO-000207-RY
	for mirageos-devel@lists.xenproject.org; Thu, 17 Jul 2014 19:01:03 +0000
Received: from [85.158.137.68:44415] by server-14.bemta-3.messagelabs.com id
	55/88-09441-E6D18C35; Thu, 17 Jul 2014 19:01:02 +0000
X-Env-Sender: hannes@mehnert.org
X-Msg-Ref: server-16.tower-31.messagelabs.com!1405623660!16550854!1
X-Originating-IP: [213.73.89.200]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14171 invoked from network); 17 Jul 2014 19:01:01 -0000
Received: from mail.mehnert.org (HELO mail.mehnert.org) (213.73.89.200)
	by server-16.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 Jul 2014 19:01:01 -0000
Received: from [192.168.1.5] (host-92-13-198-94.as43234.net [92.13.198.94])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (verified OK))
	by mail.mehnert.org (Postfix) with ESMTPS id 628803B6B
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 17 Jul 2014 21:00:59 +0200 (CEST)
Message-ID: <53C81D1E.4020102@mehnert.org>
Date: Thu, 17 Jul 2014 19:59:42 +0100
From: Hannes Mehnert <hannes@mehnert.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
References: <CAMC0NwTT7PhJDw6wWagDggzhtXWQj1VcRm2goUBOnYcuONqX9A@mail.gmail.com>
In-Reply-To: <CAMC0NwTT7PhJDw6wWagDggzhtXWQj1VcRm2goUBOnYcuONqX9A@mail.gmail.com>
Subject: Re: [MirageOS-devel] OCaml bindings for EC2 API
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384

Hi Jyotsna,

On 07/17/2014 19:48, Jyotsna Prakash wrote:
> For my GSoC project I've been working on OCaml bindings to the EC2
> API. The code is at https://github.com/moonlightdrive/ocaml-ec2

Awesome!

> I've yet to launch a Mirage-backed VM without using the Amazon's
> CLI tools. The process involves producing an xml manifest
> describing an image; the manifest contains fields of RSA encrypted
> data. Problem is, I don't have any way to take my public keys (pem
> files) and turn them into `Cryptokit.RSA.key`s.

AFAICS you're only using SHA256 from Cryptokit so far -- you might
want to use ocaml-sha (https://github.com/vincenthz/ocaml-sha) for that.

Also, David wrote ocaml-nocrypto
(https://github.com/mirleft/ocaml-nocrypto) and we further developed
ocaml-x509 (https://github.com/mirleft/ocaml-x509/) where you can
parse pem to get a certificate
(https://github.com/mirleft/ocaml-x509/blob/master/lib/x509.mli#L18)
or a private key (RSA)
https://github.com/mirleft/ocaml-x509/blob/master/lib/x509.mli#L30
(example usage:
https://github.com/mirleft/ocaml-tls/blob/master/lwt/x509_lwt.ml#L49)

What do you need to do with the RSA key? The nocrypto API is at
https://github.com/mirleft/ocaml-nocrypto/blob/master/src/rsa.mli


Cheers,

Hannes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBCQAGBQJTyB0eAAoJELyJZYjffCjuns8P/AnRdjFMIcs0PA0tdvUVuNDI
JbViUzCvhyQbDQYdVpLLoub/BZAz6A2WrVbHOuJ3DpaqB+qPLESB094hS9Fqds1/
xy20RthXkZwKOFYRKJ8flHBaRqaZV/ffXCb3qpEOpo8RrN4NutcV1OTBRi9ysOVM
eXD2qbLUq6CqAzenks3r8G7Rkk1uzKcu2pxixDygx60EU8JPBw0m50j3ZrOXpJYU
7iq6fsNuLYV4NyvZYizkLROL/6G0sfYTLjnPWmR5hAXypjqt1Ad5n1VYhq3oEt8d
PMSoQQtWTEGrfGyxKDQQfo0feQ2r5/lsqDVXcuCZhWDrguBDId08zc1tnmCej7EW
Eq9vw2pZ2tDbOkwDcIHtb/ACuNjXSP1XmP/1VcWSCHly8mSnLkbCKE6Nkz4e345k
pJoENKXAcap9ktW996QAPdhKgck/sVVQOxEZ3BkFMThL2pjrw6v6RRCJq3nNCroG
AP6SUCU6JzhJfoloTnfCDGao/JGBaG+2vq1fTArXhc7WHPd1OLuC+lAlxScoLJ4p
XHakfCuiMjAvk8WPBjhZXMi9ce0O4bv5CSFLYUlT5+H1XcXTpmibc5M3KxKdk25s
8WreBAVLdshBaOaOOcr8GOqgTxMrgIb6uipjChuYKmebl0EpsAN+h+p7S5YoQJYz
pgdhpVDaP3Ocu+kRpFEB
=zzgd
-----END PGP SIGNATURE-----

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 17 19:01:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2014 19:01:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X7qvQ-00020O-Fz; Thu, 17 Jul 2014 19:01:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hannes@mehnert.org>) id 1X7qvO-000207-RY
	for mirageos-devel@lists.xenproject.org; Thu, 17 Jul 2014 19:01:03 +0000
Received: from [85.158.137.68:44415] by server-14.bemta-3.messagelabs.com id
	55/88-09441-E6D18C35; Thu, 17 Jul 2014 19:01:02 +0000
X-Env-Sender: hannes@mehnert.org
X-Msg-Ref: server-16.tower-31.messagelabs.com!1405623660!16550854!1
X-Originating-IP: [213.73.89.200]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14171 invoked from network); 17 Jul 2014 19:01:01 -0000
Received: from mail.mehnert.org (HELO mail.mehnert.org) (213.73.89.200)
	by server-16.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 Jul 2014 19:01:01 -0000
Received: from [192.168.1.5] (host-92-13-198-94.as43234.net [92.13.198.94])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (verified OK))
	by mail.mehnert.org (Postfix) with ESMTPS id 628803B6B
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 17 Jul 2014 21:00:59 +0200 (CEST)
Message-ID: <53C81D1E.4020102@mehnert.org>
Date: Thu, 17 Jul 2014 19:59:42 +0100
From: Hannes Mehnert <hannes@mehnert.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
References: <CAMC0NwTT7PhJDw6wWagDggzhtXWQj1VcRm2goUBOnYcuONqX9A@mail.gmail.com>
In-Reply-To: <CAMC0NwTT7PhJDw6wWagDggzhtXWQj1VcRm2goUBOnYcuONqX9A@mail.gmail.com>
Subject: Re: [MirageOS-devel] OCaml bindings for EC2 API
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384

Hi Jyotsna,

On 07/17/2014 19:48, Jyotsna Prakash wrote:
> For my GSoC project I've been working on OCaml bindings to the EC2
> API. The code is at https://github.com/moonlightdrive/ocaml-ec2

Awesome!

> I've yet to launch a Mirage-backed VM without using the Amazon's
> CLI tools. The process involves producing an xml manifest
> describing an image; the manifest contains fields of RSA encrypted
> data. Problem is, I don't have any way to take my public keys (pem
> files) and turn them into `Cryptokit.RSA.key`s.

AFAICS you're only using SHA256 from Cryptokit so far -- you might
want to use ocaml-sha (https://github.com/vincenthz/ocaml-sha) for that.

Also, David wrote ocaml-nocrypto
(https://github.com/mirleft/ocaml-nocrypto) and we further developed
ocaml-x509 (https://github.com/mirleft/ocaml-x509/) where you can
parse pem to get a certificate
(https://github.com/mirleft/ocaml-x509/blob/master/lib/x509.mli#L18)
or a private key (RSA)
https://github.com/mirleft/ocaml-x509/blob/master/lib/x509.mli#L30
(example usage:
https://github.com/mirleft/ocaml-tls/blob/master/lwt/x509_lwt.ml#L49)

What do you need to do with the RSA key? The nocrypto API is at
https://github.com/mirleft/ocaml-nocrypto/blob/master/src/rsa.mli


Cheers,

Hannes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBCQAGBQJTyB0eAAoJELyJZYjffCjuns8P/AnRdjFMIcs0PA0tdvUVuNDI
JbViUzCvhyQbDQYdVpLLoub/BZAz6A2WrVbHOuJ3DpaqB+qPLESB094hS9Fqds1/
xy20RthXkZwKOFYRKJ8flHBaRqaZV/ffXCb3qpEOpo8RrN4NutcV1OTBRi9ysOVM
eXD2qbLUq6CqAzenks3r8G7Rkk1uzKcu2pxixDygx60EU8JPBw0m50j3ZrOXpJYU
7iq6fsNuLYV4NyvZYizkLROL/6G0sfYTLjnPWmR5hAXypjqt1Ad5n1VYhq3oEt8d
PMSoQQtWTEGrfGyxKDQQfo0feQ2r5/lsqDVXcuCZhWDrguBDId08zc1tnmCej7EW
Eq9vw2pZ2tDbOkwDcIHtb/ACuNjXSP1XmP/1VcWSCHly8mSnLkbCKE6Nkz4e345k
pJoENKXAcap9ktW996QAPdhKgck/sVVQOxEZ3BkFMThL2pjrw6v6RRCJq3nNCroG
AP6SUCU6JzhJfoloTnfCDGao/JGBaG+2vq1fTArXhc7WHPd1OLuC+lAlxScoLJ4p
XHakfCuiMjAvk8WPBjhZXMi9ce0O4bv5CSFLYUlT5+H1XcXTpmibc5M3KxKdk25s
8WreBAVLdshBaOaOOcr8GOqgTxMrgIb6uipjChuYKmebl0EpsAN+h+p7S5YoQJYz
pgdhpVDaP3Ocu+kRpFEB
=zzgd
-----END PGP SIGNATURE-----

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 18 16:41:43 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 18 Jul 2014 16:41:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8BE2-00019D-RH; Fri, 18 Jul 2014 16:41:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X8BE1-000197-4F
	for mirageos-devel@lists.xenproject.org; Fri, 18 Jul 2014 16:41:37 +0000
Received: from [85.158.139.211:6608] by server-4.bemta-5.messagelabs.com id
	03/4C-06276-04E49C35; Fri, 18 Jul 2014 16:41:36 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-206.messagelabs.com!1405701695!16311742!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2380 invoked from network); 18 Jul 2014 16:41:35 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-206.messagelabs.com with SMTP;
	18 Jul 2014 16:41:35 -0000
Received: (qmail 19254 invoked by uid 634); 18 Jul 2014 16:41:35 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Fri, 18 Jul 2014 17:41:34 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy_zBd_Bq-=2ySzNP3-6764dT3Jh3Tci5igCyTD04G_qPQ@mail.gmail.com>
Date: Fri, 18 Jul 2014 17:41:33 +0100
Message-Id: <2E8E68DD-35BB-439E-91D0-0665F2B987FF@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
	<1518A9BE-8AE2-46AC-9828-C6EC1F86070C@recoil.org>
	<CAG4opy_zBd_Bq-=2ySzNP3-6764dT3Jh3Tci5igCyTD04G_qPQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 13 Jul 2014, at 12:25, Thomas Leonard <talex5@gmail.com> wrote:

> On 12 July 2014 19:08, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 12 Jul 2014, at 16:44, Anil Madhavapeddy <anil@recoil.org> wrote:
>> 
>>>> 
>>>> 
>>>> If you're using a hard-float dom0 (the default), you'll also need the
>>>> latest Git version of libminios:
>>>> 
>>>>  $ git clone https://github.com/talex5/xen.git
>>>>  $ git checkout -b devel origin/devel
>>>>  $ cd extras/mini-os
>>>>  $ export PREFIX=`opam config var prefix`
>>>>  $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include
>>> 
>>> Could you tag this one, so I can update the xen-minios package (in
>>> mirage/mirage-xen-libs, which I will shortly rename to mirage/mirage-xen-minios
>>> before submitting an OPAM package).
> 
> I'll try to get this done tomorrow.

And this is now all done.  There's a release tarball generator in the
archive, and the repository has been renamed to:

  https://github.com/mirage/mirage-xen-minios

The OPAM package is called "mirage-xen-minios" and is being tested in:
https://github.com/ocaml/opam-repository/pull/2371

cheers,
Anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 18 16:41:43 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 18 Jul 2014 16:41:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8BE2-00019D-RH; Fri, 18 Jul 2014 16:41:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X8BE1-000197-4F
	for mirageos-devel@lists.xenproject.org; Fri, 18 Jul 2014 16:41:37 +0000
Received: from [85.158.139.211:6608] by server-4.bemta-5.messagelabs.com id
	03/4C-06276-04E49C35; Fri, 18 Jul 2014 16:41:36 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-206.messagelabs.com!1405701695!16311742!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2380 invoked from network); 18 Jul 2014 16:41:35 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-206.messagelabs.com with SMTP;
	18 Jul 2014 16:41:35 -0000
Received: (qmail 19254 invoked by uid 634); 18 Jul 2014 16:41:35 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from volstagg-0.srg.cl.cam.ac.uk (HELO flick.office) (128.232.32.232)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Fri, 18 Jul 2014 17:41:34 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy_zBd_Bq-=2ySzNP3-6764dT3Jh3Tci5igCyTD04G_qPQ@mail.gmail.com>
Date: Fri, 18 Jul 2014 17:41:33 +0100
Message-Id: <2E8E68DD-35BB-439E-91D0-0665F2B987FF@recoil.org>
References: <CAG4opy_ZVBkHqBBhTS2G2vE8JXTNA5mwa5Z-3gZWmkTgBiSJdQ@mail.gmail.com>
	<0E5144F9-5E31-44B6-A926-8E7F51B7AACB@recoil.org>
	<1518A9BE-8AE2-46AC-9828-C6EC1F86070C@recoil.org>
	<CAG4opy_zBd_Bq-=2ySzNP3-6764dT3Jh3Tci5igCyTD04G_qPQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage Xen/ARM update
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 13 Jul 2014, at 12:25, Thomas Leonard <talex5@gmail.com> wrote:

> On 12 July 2014 19:08, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 12 Jul 2014, at 16:44, Anil Madhavapeddy <anil@recoil.org> wrote:
>> 
>>>> 
>>>> 
>>>> If you're using a hard-float dom0 (the default), you'll also need the
>>>> latest Git version of libminios:
>>>> 
>>>>  $ git clone https://github.com/talex5/xen.git
>>>>  $ git checkout -b devel origin/devel
>>>>  $ cd extras/mini-os
>>>>  $ export PREFIX=`opam config var prefix`
>>>>  $ make install LIBDIR=${PREFIX}/lib INCLUDEDIR=${PREFIX}/include
>>> 
>>> Could you tag this one, so I can update the xen-minios package (in
>>> mirage/mirage-xen-libs, which I will shortly rename to mirage/mirage-xen-minios
>>> before submitting an OPAM package).
> 
> I'll try to get this done tomorrow.

And this is now all done.  There's a release tarball generator in the
archive, and the repository has been renamed to:

  https://github.com/mirage/mirage-xen-minios

The OPAM package is called "mirage-xen-minios" and is being tested in:
https://github.com/ocaml/opam-repository/pull/2371

cheers,
Anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 19 15:26:30 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 19 Jul 2014 15:26:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8WWl-0006vE-If; Sat, 19 Jul 2014 15:26:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tom.jrbrown@yahoo.com>) id 1X8WWk-0006v9-2O
	for mirageos-devel@lists.xenproject.org; Sat, 19 Jul 2014 15:26:22 +0000
Received: from [193.109.254.147:48718] by server-1.bemta-14.messagelabs.com id
	4C/B4-24760-D1E8AC35; Sat, 19 Jul 2014 15:26:21 +0000
X-Env-Sender: tom.jrbrown@yahoo.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1405783577!18361138!1
X-Originating-IP: [98.138.229.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_12,ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3908 invoked from network); 19 Jul 2014 15:26:18 -0000
Received: from nm31.bullet.mail.ne1.yahoo.com (HELO
	nm31.bullet.mail.ne1.yahoo.com) (98.138.229.24)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 19 Jul 2014 15:26:18 -0000
Received: from [127.0.0.1] by nm31.bullet.mail.ne1.yahoo.com with NNFMP;
	19 Jul 2014 15:26:17 -0000
Received: from [98.138.101.132] by nm31.bullet.mail.ne1.yahoo.com with NNFMP;
	19 Jul 2014 15:23:26 -0000
Received: from [212.82.98.60] by tm20.bullet.mail.ne1.yahoo.com with NNFMP;
	19 Jul 2014 15:22:26 -0000
Received: from [212.82.98.81] by tm13.bullet.mail.ir2.yahoo.com with NNFMP;
	19 Jul 2014 15:22:25 -0000
Received: from [127.0.0.1] by omp1018.mail.ir2.yahoo.com with NNFMP;
	19 Jul 2014 15:22:25 -0000
X-Yahoo-Newman-Property: ymail-4
X-Yahoo-Newman-Id: 871019.11323.bm@omp1018.mail.ir2.yahoo.com
Received: (qmail 58911 invoked by uid 60001); 19 Jul 2014 15:22:25 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1405783345; bh=E80hBSrXr3C9wIoeZ7N4N1dCzbqWlER6EEfuQlQ7Mt4=;
	h=Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=N2qOsvUdnskHTjKJ81OormthrVZlWXwH2G8+1Ci6S9KULbk/bbpTeqkvhaqgxrVp3UW6g2VI0qA2zFkISzFj8N24csoQxQUEliu+M9X8PL9qN0RPWCrSwgWZmDRqQmiY1IBnvjO5E/gQXqH3yd8VhZFBJ/DX6dcOZtYlqdHwaxs=
X-YMail-OSG: kVWYYFYVM1nCvjI.l2AO06Ip24b5.Hkhp2PHh3J2.Eq7E8j
	zdfbXatOdOHAuHYqgfYxdM8q9zkvHBy1xzCBo7_hk889SKJ.vLHdj1Av5x4r
	qkvSGL6bwIVr2bprS0tbxZ6m4ywN008xNft7wrv7VGrX0NWeeQTW11KoVFiC
	XQTar3h7JAjM.2wfUzSdca.OoAa0fctOUCC0IQ6de9brNEhGiSSDedUARxPA
	i3nKq7I2hC1L2mcWuPFva9SBL91uuGyJx2AFgYg6IUrX9hRvrwUbum1h2wvV
	Oizg31.MMKqESTcbEnkVhajzwfJLcQraFf5zvx_6zrpw7N0j.TI8ntPLn3On
	Ls6_gsPvD4CW22ZBJAD.vPAWI4c4v.r8TNfAYQaikCtvzQcAHfITTvOMJTLL
	.sc2sKAMH3iOsVEGzgIqxkD5ntfYbg2AsUnl95N1GDkYxIRkyiZ0_INcq6WJ
	KWuWornN6wqMuxRU8t6lDnPv3ZDaEpa.k.611AJqPV9T.K8bP0HGbdDUYyeM
	AXvV.RZa3BorZOkpij625
Received: from [109.163.235.243] by web172002.mail.ir2.yahoo.com via HTTP;
	Sat, 19 Jul 2014 16:22:25 BST
X-Rocket-MIMEInfo: 002.001,
	SGksCgpXaGVuIHVzaW5nIG1vZHVsZSBUY3BpcF9jaGVja3N1bSAodGhlIHJldmlzZWQgdmVyc2lvbiBvZiBDaGVja3N1bT8pLCBJIHJlY2VpdmUgdGhlIGZvbGxvd2luZyBlcnJvcjoKCkZpbGUgIl9ub25lXyIsIGxpbmUgMToKRXJyb3I6IEZpbGVzIC9ob21lL3VzZXIvLm9wYW0vc3lzdGVtL2xpYi90Y3BpcC9ldGhpZi5jbXhhCsKgwqDCoMKgwqDCoCBhbmQgL2hvbWUvdXNlci8ub3BhbS9zeXN0ZW0vbGliL3RjcGlwL2lwdjQuY214YQrCoMKgwqDCoMKgwqAgYm90aCBkZWZpbmUgYSBtb2R1bGUgbmFtZWQgVGMBMAEBAQE-
X-Mailer: YahooMailWebService/0.8.195.680
Message-ID: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
Date: Sat, 19 Jul 2014 16:22:25 +0100
From: Tom Brown <tom.jrbrown@yahoo.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
MIME-Version: 1.0
Subject: [MirageOS-devel] Tcpip_checksum error
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Tom Brown <tom.jrbrown@yahoo.com>
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7994233877398004157=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============7994233877398004157==
Content-Type: multipart/alternative; boundary="1253303424-341554711-1405783345=:38503"

--1253303424-341554711-1405783345=:38503
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,=0A=0AWhen using module Tcpip_checksum (the revised version of Checksum?=
), I receive the following error:=0A=0AFile "_none_", line 1:=0AError: File=
s /home/user/.opam/system/lib/tcpip/ethif.cmxa=0A=A0=A0=A0=A0=A0=A0 and /ho=
me/user/.opam/system/lib/tcpip/ipv4.cmxa=0A=A0=A0=A0=A0=A0=A0 both define a=
 module named Tcpip_checksum=0A=0AAny suggestion to fix this problem?=0A=0A=
Thanks.=0A
--1253303424-341554711-1405783345=:38503
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;fo=
nt-size:12pt"><div style=3D"" class=3D"">Hi,</div><div style=3D"" class=3D"=
"><br style=3D"" class=3D""></div><div class=3D"" style=3D"color: rgb(0, 0,=
 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,A=
rial,Lucida Grande,Sans-Serif; background-color: transparent; font-style: n=
ormal;">When using module Tcpip_checksum (the revised version of Checksum?)=
, I receive the following error:</div><div class=3D"" style=3D"color: rgb(0=
, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helveti=
ca,Arial,Lucida Grande,Sans-Serif; background-color: transparent; font-styl=
e: normal;"><br style=3D"" class=3D""></div><div class=3D"" style=3D"color:=
 rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,H=
elvetica,Arial,Lucida Grande,Sans-Serif; background-color: transparent; fon=
t-style: normal;">File
 "_none_", line 1:<br style=3D"" class=3D"">Error: Files /home/user/.opam/s=
ystem/lib/tcpip/ethif.cmxa<br style=3D"" class=3D"">&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; and /home/user/.opam/system/lib/tcpip/ipv4.cmxa<br style=3D""=
 class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; both define a module named=
 Tcpip_checksum</div><div class=3D"" style=3D"color: rgb(0, 0, 0); font-siz=
e: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida G=
rande,Sans-Serif; background-color: transparent; font-style: normal;"><br><=
/div><div class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-fa=
mily: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif=
; background-color: transparent; font-style: normal;">Any suggestion to fix=
 this problem?</div><div class=3D"" style=3D"color: rgb(0, 0, 0); font-size=
: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Gr=
ande,Sans-Serif; background-color: transparent; font-style: normal;"><br></=
div><div class=3D""
 style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,=
Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-color: =
transparent; font-style: normal;">Thanks.<br style=3D"" class=3D""></div></=
div></body></html>
--1253303424-341554711-1405783345=:38503--


--===============7994233877398004157==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============7994233877398004157==--


From mirageos-devel-bounces@lists.xenproject.org Sat Jul 19 15:26:30 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 19 Jul 2014 15:26:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8WWl-0006vE-If; Sat, 19 Jul 2014 15:26:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tom.jrbrown@yahoo.com>) id 1X8WWk-0006v9-2O
	for mirageos-devel@lists.xenproject.org; Sat, 19 Jul 2014 15:26:22 +0000
Received: from [193.109.254.147:48718] by server-1.bemta-14.messagelabs.com id
	4C/B4-24760-D1E8AC35; Sat, 19 Jul 2014 15:26:21 +0000
X-Env-Sender: tom.jrbrown@yahoo.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1405783577!18361138!1
X-Originating-IP: [98.138.229.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_12,ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3908 invoked from network); 19 Jul 2014 15:26:18 -0000
Received: from nm31.bullet.mail.ne1.yahoo.com (HELO
	nm31.bullet.mail.ne1.yahoo.com) (98.138.229.24)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 19 Jul 2014 15:26:18 -0000
Received: from [127.0.0.1] by nm31.bullet.mail.ne1.yahoo.com with NNFMP;
	19 Jul 2014 15:26:17 -0000
Received: from [98.138.101.132] by nm31.bullet.mail.ne1.yahoo.com with NNFMP;
	19 Jul 2014 15:23:26 -0000
Received: from [212.82.98.60] by tm20.bullet.mail.ne1.yahoo.com with NNFMP;
	19 Jul 2014 15:22:26 -0000
Received: from [212.82.98.81] by tm13.bullet.mail.ir2.yahoo.com with NNFMP;
	19 Jul 2014 15:22:25 -0000
Received: from [127.0.0.1] by omp1018.mail.ir2.yahoo.com with NNFMP;
	19 Jul 2014 15:22:25 -0000
X-Yahoo-Newman-Property: ymail-4
X-Yahoo-Newman-Id: 871019.11323.bm@omp1018.mail.ir2.yahoo.com
Received: (qmail 58911 invoked by uid 60001); 19 Jul 2014 15:22:25 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1405783345; bh=E80hBSrXr3C9wIoeZ7N4N1dCzbqWlER6EEfuQlQ7Mt4=;
	h=Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=N2qOsvUdnskHTjKJ81OormthrVZlWXwH2G8+1Ci6S9KULbk/bbpTeqkvhaqgxrVp3UW6g2VI0qA2zFkISzFj8N24csoQxQUEliu+M9X8PL9qN0RPWCrSwgWZmDRqQmiY1IBnvjO5E/gQXqH3yd8VhZFBJ/DX6dcOZtYlqdHwaxs=
X-YMail-OSG: kVWYYFYVM1nCvjI.l2AO06Ip24b5.Hkhp2PHh3J2.Eq7E8j
	zdfbXatOdOHAuHYqgfYxdM8q9zkvHBy1xzCBo7_hk889SKJ.vLHdj1Av5x4r
	qkvSGL6bwIVr2bprS0tbxZ6m4ywN008xNft7wrv7VGrX0NWeeQTW11KoVFiC
	XQTar3h7JAjM.2wfUzSdca.OoAa0fctOUCC0IQ6de9brNEhGiSSDedUARxPA
	i3nKq7I2hC1L2mcWuPFva9SBL91uuGyJx2AFgYg6IUrX9hRvrwUbum1h2wvV
	Oizg31.MMKqESTcbEnkVhajzwfJLcQraFf5zvx_6zrpw7N0j.TI8ntPLn3On
	Ls6_gsPvD4CW22ZBJAD.vPAWI4c4v.r8TNfAYQaikCtvzQcAHfITTvOMJTLL
	.sc2sKAMH3iOsVEGzgIqxkD5ntfYbg2AsUnl95N1GDkYxIRkyiZ0_INcq6WJ
	KWuWornN6wqMuxRU8t6lDnPv3ZDaEpa.k.611AJqPV9T.K8bP0HGbdDUYyeM
	AXvV.RZa3BorZOkpij625
Received: from [109.163.235.243] by web172002.mail.ir2.yahoo.com via HTTP;
	Sat, 19 Jul 2014 16:22:25 BST
X-Rocket-MIMEInfo: 002.001,
	SGksCgpXaGVuIHVzaW5nIG1vZHVsZSBUY3BpcF9jaGVja3N1bSAodGhlIHJldmlzZWQgdmVyc2lvbiBvZiBDaGVja3N1bT8pLCBJIHJlY2VpdmUgdGhlIGZvbGxvd2luZyBlcnJvcjoKCkZpbGUgIl9ub25lXyIsIGxpbmUgMToKRXJyb3I6IEZpbGVzIC9ob21lL3VzZXIvLm9wYW0vc3lzdGVtL2xpYi90Y3BpcC9ldGhpZi5jbXhhCsKgwqDCoMKgwqDCoCBhbmQgL2hvbWUvdXNlci8ub3BhbS9zeXN0ZW0vbGliL3RjcGlwL2lwdjQuY214YQrCoMKgwqDCoMKgwqAgYm90aCBkZWZpbmUgYSBtb2R1bGUgbmFtZWQgVGMBMAEBAQE-
X-Mailer: YahooMailWebService/0.8.195.680
Message-ID: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
Date: Sat, 19 Jul 2014 16:22:25 +0100
From: Tom Brown <tom.jrbrown@yahoo.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
MIME-Version: 1.0
Subject: [MirageOS-devel] Tcpip_checksum error
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Tom Brown <tom.jrbrown@yahoo.com>
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7994233877398004157=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============7994233877398004157==
Content-Type: multipart/alternative; boundary="1253303424-341554711-1405783345=:38503"

--1253303424-341554711-1405783345=:38503
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,=0A=0AWhen using module Tcpip_checksum (the revised version of Checksum?=
), I receive the following error:=0A=0AFile "_none_", line 1:=0AError: File=
s /home/user/.opam/system/lib/tcpip/ethif.cmxa=0A=A0=A0=A0=A0=A0=A0 and /ho=
me/user/.opam/system/lib/tcpip/ipv4.cmxa=0A=A0=A0=A0=A0=A0=A0 both define a=
 module named Tcpip_checksum=0A=0AAny suggestion to fix this problem?=0A=0A=
Thanks.=0A
--1253303424-341554711-1405783345=:38503
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;fo=
nt-size:12pt"><div style=3D"" class=3D"">Hi,</div><div style=3D"" class=3D"=
"><br style=3D"" class=3D""></div><div class=3D"" style=3D"color: rgb(0, 0,=
 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,A=
rial,Lucida Grande,Sans-Serif; background-color: transparent; font-style: n=
ormal;">When using module Tcpip_checksum (the revised version of Checksum?)=
, I receive the following error:</div><div class=3D"" style=3D"color: rgb(0=
, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helveti=
ca,Arial,Lucida Grande,Sans-Serif; background-color: transparent; font-styl=
e: normal;"><br style=3D"" class=3D""></div><div class=3D"" style=3D"color:=
 rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,H=
elvetica,Arial,Lucida Grande,Sans-Serif; background-color: transparent; fon=
t-style: normal;">File
 "_none_", line 1:<br style=3D"" class=3D"">Error: Files /home/user/.opam/s=
ystem/lib/tcpip/ethif.cmxa<br style=3D"" class=3D"">&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; and /home/user/.opam/system/lib/tcpip/ipv4.cmxa<br style=3D""=
 class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; both define a module named=
 Tcpip_checksum</div><div class=3D"" style=3D"color: rgb(0, 0, 0); font-siz=
e: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida G=
rande,Sans-Serif; background-color: transparent; font-style: normal;"><br><=
/div><div class=3D"" style=3D"color: rgb(0, 0, 0); font-size: 16px; font-fa=
mily: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif=
; background-color: transparent; font-style: normal;">Any suggestion to fix=
 this problem?</div><div class=3D"" style=3D"color: rgb(0, 0, 0); font-size=
: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Gr=
ande,Sans-Serif; background-color: transparent; font-style: normal;"><br></=
div><div class=3D""
 style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,=
Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-color: =
transparent; font-style: normal;">Thanks.<br style=3D"" class=3D""></div></=
div></body></html>
--1253303424-341554711-1405783345=:38503--


--===============7994233877398004157==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============7994233877398004157==--


From mirageos-devel-bounces@lists.xenproject.org Sat Jul 19 18:03:07 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 19 Jul 2014 18:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8YyN-0005he-Oq; Sat, 19 Jul 2014 18:03:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andy.ray@ujamjar.com>) id 1X8YyN-0005hZ-5A
	for mirageos-devel@lists.xenproject.org; Sat, 19 Jul 2014 18:03:03 +0000
Received: from [85.158.137.68:9154] by server-1.bemta-3.messagelabs.com id
	00/69-30185-6D2BAC35; Sat, 19 Jul 2014 18:03:02 +0000
X-Env-Sender: andy.ray@ujamjar.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1405792981!16750355!1
X-Originating-IP: [31.172.243.2]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5999 invoked from network); 19 Jul 2014 18:03:01 -0000
Received: from vm12460.vps.tagadab.com (HELO www.ujamjar.com) (31.172.243.2)
	by server-15.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 19 Jul 2014 18:03:01 -0000
Received: from mail-we0-f182.google.com (mail-we0-f182.google.com
	[74.125.82.182]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
	(No client certificate requested)
	by www.ujamjar.com (Postfix) with ESMTPSA id 52DFE124388
	for <mirageos-devel@lists.xenproject.org>;
	Sat, 19 Jul 2014 19:02:46 +0100 (BST)
Received: by mail-we0-f182.google.com with SMTP id k48so4619425wev.41
	for <mirageos-devel@lists.xenproject.org>;
	Sat, 19 Jul 2014 11:02:40 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.194.243.200 with SMTP id xa8mr6863766wjc.97.1405792960721;
	Sat, 19 Jul 2014 11:02:40 -0700 (PDT)
Received: by 10.180.106.8 with HTTP; Sat, 19 Jul 2014 11:02:40 -0700 (PDT)
In-Reply-To: <1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
Date: Sat, 19 Jul 2014 19:02:40 +0100
Message-ID: <CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
From: Andy Ray <andy.ray@ujamjar.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On Tue, Apr 29, 2014 at 3:39 PM, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 29 Apr 2014, at 15:28, Andy Ray <andy.ray@ujamjar.com> wrote:
>>>
>>> The reasoning behind the FreeBSD/kernel approach is to give us a nice
>>> cocoon in which to leverage existing device drivers and slowly move
>>> our way down the stack, while retaining the ability to benchmark CPU
>>> and memory usage against the existing (mature and optimized) FreeBSD
>>> drivers.
>>
>>
>> I will be starting to port the x86 kernel prototype to arm by the end
>> of the week.  Then I'm away on holiday for a bit so it may be a while
>> before I have it working.


So after various distractions I finally got back to looking at this
stuff this week.

I've been trying to get the x86 prototype working to start with which
has not proved to be so easy.  Long story short I decided to bite the
bullet and start to update everything to the latest mirage version.

https://github.com/andrewray/opam-mirage-kfreebsd

> opam remote add opam-mirage-kfreebsd https://github.com/andrewray/opam-mirage-kfreebsd
> opam update
> opam switch 4.01.0beta1+mirage-kfreebsd
> eval `opam config env`
> opam install mirage-kfreebsd mirage mirage-console-kfreebsd
(I think thats right - I'll reinstall clean and check soon).

I've dealt with a few things so far;

* FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
fixed (mainly harsher warnings as errors from clang)
* natdynlink/pic is unavailable - various packages are patched to
remove cmxs generation
* native code exes=>byte code exes if they dynlink (mirage, I'm looking at you)

Further, the older mirari with kfreebsd app with some support libs is
also updated as a (not working now but used to) reference point.

The main point of progress is in this project;

https://github.com/andrewray/kfreebsd-console

> gmake _build/main.ko
> sudo kldload _build/main.ko

This is a hack which used

> mirage configure -unix

on the mirage-skeleton/console project then studied mirari output and
hacked various bits together to end up with

> dmesg
[mir-app] Kernel module is about to load.
[mir-app] Memory limit: 32 MB
Fatal error: exception Assert_failure("filename.ml", 189, 9)
[mir-app] Function 'OS.Main.run' could not be found.

So it doesn't work, but that looks very much like an OCaml program to
me which is most encouraging.

For now its time for the pub but the next steps are to try and get
this simple app to work properly and then fix the mirage application
to generate the build scripts appropriately.

Cheers,
Andy

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 19 18:03:07 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 19 Jul 2014 18:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8YyN-0005he-Oq; Sat, 19 Jul 2014 18:03:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andy.ray@ujamjar.com>) id 1X8YyN-0005hZ-5A
	for mirageos-devel@lists.xenproject.org; Sat, 19 Jul 2014 18:03:03 +0000
Received: from [85.158.137.68:9154] by server-1.bemta-3.messagelabs.com id
	00/69-30185-6D2BAC35; Sat, 19 Jul 2014 18:03:02 +0000
X-Env-Sender: andy.ray@ujamjar.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1405792981!16750355!1
X-Originating-IP: [31.172.243.2]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5999 invoked from network); 19 Jul 2014 18:03:01 -0000
Received: from vm12460.vps.tagadab.com (HELO www.ujamjar.com) (31.172.243.2)
	by server-15.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 19 Jul 2014 18:03:01 -0000
Received: from mail-we0-f182.google.com (mail-we0-f182.google.com
	[74.125.82.182]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
	(No client certificate requested)
	by www.ujamjar.com (Postfix) with ESMTPSA id 52DFE124388
	for <mirageos-devel@lists.xenproject.org>;
	Sat, 19 Jul 2014 19:02:46 +0100 (BST)
Received: by mail-we0-f182.google.com with SMTP id k48so4619425wev.41
	for <mirageos-devel@lists.xenproject.org>;
	Sat, 19 Jul 2014 11:02:40 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.194.243.200 with SMTP id xa8mr6863766wjc.97.1405792960721;
	Sat, 19 Jul 2014 11:02:40 -0700 (PDT)
Received: by 10.180.106.8 with HTTP; Sat, 19 Jul 2014 11:02:40 -0700 (PDT)
In-Reply-To: <1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
Date: Sat, 19 Jul 2014 19:02:40 +0100
Message-ID: <CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
From: Andy Ray <andy.ray@ujamjar.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On Tue, Apr 29, 2014 at 3:39 PM, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 29 Apr 2014, at 15:28, Andy Ray <andy.ray@ujamjar.com> wrote:
>>>
>>> The reasoning behind the FreeBSD/kernel approach is to give us a nice
>>> cocoon in which to leverage existing device drivers and slowly move
>>> our way down the stack, while retaining the ability to benchmark CPU
>>> and memory usage against the existing (mature and optimized) FreeBSD
>>> drivers.
>>
>>
>> I will be starting to port the x86 kernel prototype to arm by the end
>> of the week.  Then I'm away on holiday for a bit so it may be a while
>> before I have it working.


So after various distractions I finally got back to looking at this
stuff this week.

I've been trying to get the x86 prototype working to start with which
has not proved to be so easy.  Long story short I decided to bite the
bullet and start to update everything to the latest mirage version.

https://github.com/andrewray/opam-mirage-kfreebsd

> opam remote add opam-mirage-kfreebsd https://github.com/andrewray/opam-mirage-kfreebsd
> opam update
> opam switch 4.01.0beta1+mirage-kfreebsd
> eval `opam config env`
> opam install mirage-kfreebsd mirage mirage-console-kfreebsd
(I think thats right - I'll reinstall clean and check soon).

I've dealt with a few things so far;

* FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
fixed (mainly harsher warnings as errors from clang)
* natdynlink/pic is unavailable - various packages are patched to
remove cmxs generation
* native code exes=>byte code exes if they dynlink (mirage, I'm looking at you)

Further, the older mirari with kfreebsd app with some support libs is
also updated as a (not working now but used to) reference point.

The main point of progress is in this project;

https://github.com/andrewray/kfreebsd-console

> gmake _build/main.ko
> sudo kldload _build/main.ko

This is a hack which used

> mirage configure -unix

on the mirage-skeleton/console project then studied mirari output and
hacked various bits together to end up with

> dmesg
[mir-app] Kernel module is about to load.
[mir-app] Memory limit: 32 MB
Fatal error: exception Assert_failure("filename.ml", 189, 9)
[mir-app] Function 'OS.Main.run' could not be found.

So it doesn't work, but that looks very much like an OCaml program to
me which is most encouraging.

For now its time for the pub but the next steps are to try and get
this simple app to work properly and then fix the mirage application
to generate the build scripts appropriately.

Cheers,
Andy

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 19 19:57:14 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 19 Jul 2014 19:57:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8ako-0001uo-SO; Sat, 19 Jul 2014 19:57:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X8akn-0001uj-Mr
	for mirageos-devel@lists.xenproject.org; Sat, 19 Jul 2014 19:57:09 +0000
Received: from [85.158.137.68:56579] by server-1.bemta-3.messagelabs.com id
	E4/AB-30185-49DCAC35; Sat, 19 Jul 2014 19:57:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-9.tower-31.messagelabs.com!1405799827!13151591!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=HTML_60_70,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27665 invoked from network); 19 Jul 2014 19:57:07 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-9.tower-31.messagelabs.com with SMTP;
	19 Jul 2014 19:57:07 -0000
Received: (qmail 19289 invoked by uid 634); 19 Jul 2014 19:57:06 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.94]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 19 Jul 2014 20:57:06 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
Date: Sat, 19 Jul 2014 20:57:04 +0100
Message-Id: <97755A48-AAA5-42D7-B3DD-68A2C839533F@recoil.org>
References: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
To: Tom Brown <tom.jrbrown@yahoo.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Tcpip_checksum error
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7493071426350921727=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============7493071426350921727==
Content-Type: multipart/alternative; boundary="Apple-Mail=_CE840BD8-D878-4286-A9F5-06D1CF1234CA"


--Apple-Mail=_CE840BD8-D878-4286-A9F5-06D1CF1234CA
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

This looks like a bug to me. Could you try out the fix in=20
https://github.com/mirage/mirage-tcpip/pull/60
by any chance?  `opam pin tcpip =
git://github.com/avsm/mirage-tcpip#fix-checksum-modules`

The module was exposed twice by mistake in both modules, hence the =
clash.  The fix just moves it to the toplevel `tcpip` library.

Out of interest, is the test application you are using for this =
available anywhere?  It didn't show up in normal use of the library =
since it requires linking specifically to it.

-anil

On 19 Jul 2014, at 16:22, Tom Brown <tom.jrbrown@yahoo.com> wrote:

> Hi,
>=20
> When using module Tcpip_checksum (the revised version of Checksum?), I =
receive the following error:
>=20
> File "_none_", line 1:
> Error: Files /home/user/.opam/system/lib/tcpip/ethif.cmxa
>        and /home/user/.opam/system/lib/tcpip/ipv4.cmxa
>        both define a module named Tcpip_checksum
>=20
> Any suggestion to fix this problem?
>=20
> Thanks.
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_CE840BD8-D878-4286-A9F5-06D1CF1234CA
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">This =
looks like a bug to me. Could you try out the fix in&nbsp;<div><a =
href=3D"https://github.com/mirage/mirage-tcpip/pull/60">https://github.com=
/mirage/mirage-tcpip/pull/60</a></div><div>by any chance? &nbsp;`opam =
pin tcpip <a =
href=3D"git://github.com/avsm/mirage-tcpip#fix-checksum-modules">git://git=
hub.com/avsm/mirage-tcpip#fix-checksum-modules</a>`</div><div><br></div><d=
iv>The module was exposed twice by mistake in both modules, hence the =
clash. &nbsp;The fix just moves it to the toplevel `tcpip` =
library.</div><div><br></div><div>Out of interest, is the test =
application you are using for this available anywhere? &nbsp;It didn't =
show up in normal use of the library since it requires linking =
specifically to =
it.</div><div><br></div><div>-anil</div><div><br></div><div><div><div>On =
19 Jul 2014, at 16:22, Tom Brown &lt;<a =
href=3D"mailto:tom.jrbrown@yahoo.com">tom.jrbrown@yahoo.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div><div style=3D"background-color: rgb(255, 255, 255); =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; font-size: 12pt;"><div style=3D"" =
class=3D"">Hi,</div><div style=3D"" class=3D""><br style=3D"" =
class=3D""></div><div class=3D"" style=3D"font-size: 16px; font-family: =
HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', =
sans-serif; background-color: transparent; font-style: normal;">When =
using module Tcpip_checksum (the revised version of Checksum?), I =
receive the following error:</div><div class=3D"" style=3D"font-size: =
16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, =
'Lucida Grande', sans-serif; background-color: transparent; font-style: =
normal;"><br style=3D"" class=3D""></div><div class=3D"" =
style=3D"font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: =
transparent; font-style: normal;">File
 "_none_", line 1:<br style=3D"" class=3D"">Error: Files =
/home/user/.opam/system/lib/tcpip/ethif.cmxa<br style=3D"" =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and =
/home/user/.opam/system/lib/tcpip/ipv4.cmxa<br style=3D"" =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; both define a module =
named Tcpip_checksum</div><div class=3D"" style=3D"font-size: 16px; =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; background-color: transparent; font-style: =
normal;"><br></div><div class=3D"" style=3D"font-size: 16px; =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; background-color: transparent; font-style: =
normal;">Any suggestion to fix this problem?</div><div class=3D"" =
style=3D"font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: =
transparent; font-style: normal;"><br></div><div class=3D"" =
style=3D"font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: =
transparent; font-style: normal;">Thanks.<br style=3D"" =
class=3D""></div></div></div>_____________________________________________=
__<br>MirageOS-devel mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br></div></body></html>=

--Apple-Mail=_CE840BD8-D878-4286-A9F5-06D1CF1234CA--


--===============7493071426350921727==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============7493071426350921727==--


From mirageos-devel-bounces@lists.xenproject.org Sat Jul 19 19:57:14 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 19 Jul 2014 19:57:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8ako-0001uo-SO; Sat, 19 Jul 2014 19:57:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X8akn-0001uj-Mr
	for mirageos-devel@lists.xenproject.org; Sat, 19 Jul 2014 19:57:09 +0000
Received: from [85.158.137.68:56579] by server-1.bemta-3.messagelabs.com id
	E4/AB-30185-49DCAC35; Sat, 19 Jul 2014 19:57:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-9.tower-31.messagelabs.com!1405799827!13151591!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=HTML_60_70,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27665 invoked from network); 19 Jul 2014 19:57:07 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-9.tower-31.messagelabs.com with SMTP;
	19 Jul 2014 19:57:07 -0000
Received: (qmail 19289 invoked by uid 634); 19 Jul 2014 19:57:06 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.94]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 19 Jul 2014 20:57:06 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
Date: Sat, 19 Jul 2014 20:57:04 +0100
Message-Id: <97755A48-AAA5-42D7-B3DD-68A2C839533F@recoil.org>
References: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
To: Tom Brown <tom.jrbrown@yahoo.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Tcpip_checksum error
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7493071426350921727=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============7493071426350921727==
Content-Type: multipart/alternative; boundary="Apple-Mail=_CE840BD8-D878-4286-A9F5-06D1CF1234CA"


--Apple-Mail=_CE840BD8-D878-4286-A9F5-06D1CF1234CA
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

This looks like a bug to me. Could you try out the fix in=20
https://github.com/mirage/mirage-tcpip/pull/60
by any chance?  `opam pin tcpip =
git://github.com/avsm/mirage-tcpip#fix-checksum-modules`

The module was exposed twice by mistake in both modules, hence the =
clash.  The fix just moves it to the toplevel `tcpip` library.

Out of interest, is the test application you are using for this =
available anywhere?  It didn't show up in normal use of the library =
since it requires linking specifically to it.

-anil

On 19 Jul 2014, at 16:22, Tom Brown <tom.jrbrown@yahoo.com> wrote:

> Hi,
>=20
> When using module Tcpip_checksum (the revised version of Checksum?), I =
receive the following error:
>=20
> File "_none_", line 1:
> Error: Files /home/user/.opam/system/lib/tcpip/ethif.cmxa
>        and /home/user/.opam/system/lib/tcpip/ipv4.cmxa
>        both define a module named Tcpip_checksum
>=20
> Any suggestion to fix this problem?
>=20
> Thanks.
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_CE840BD8-D878-4286-A9F5-06D1CF1234CA
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">This =
looks like a bug to me. Could you try out the fix in&nbsp;<div><a =
href=3D"https://github.com/mirage/mirage-tcpip/pull/60">https://github.com=
/mirage/mirage-tcpip/pull/60</a></div><div>by any chance? &nbsp;`opam =
pin tcpip <a =
href=3D"git://github.com/avsm/mirage-tcpip#fix-checksum-modules">git://git=
hub.com/avsm/mirage-tcpip#fix-checksum-modules</a>`</div><div><br></div><d=
iv>The module was exposed twice by mistake in both modules, hence the =
clash. &nbsp;The fix just moves it to the toplevel `tcpip` =
library.</div><div><br></div><div>Out of interest, is the test =
application you are using for this available anywhere? &nbsp;It didn't =
show up in normal use of the library since it requires linking =
specifically to =
it.</div><div><br></div><div>-anil</div><div><br></div><div><div><div>On =
19 Jul 2014, at 16:22, Tom Brown &lt;<a =
href=3D"mailto:tom.jrbrown@yahoo.com">tom.jrbrown@yahoo.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div><div style=3D"background-color: rgb(255, 255, 255); =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; font-size: 12pt;"><div style=3D"" =
class=3D"">Hi,</div><div style=3D"" class=3D""><br style=3D"" =
class=3D""></div><div class=3D"" style=3D"font-size: 16px; font-family: =
HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', =
sans-serif; background-color: transparent; font-style: normal;">When =
using module Tcpip_checksum (the revised version of Checksum?), I =
receive the following error:</div><div class=3D"" style=3D"font-size: =
16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, =
'Lucida Grande', sans-serif; background-color: transparent; font-style: =
normal;"><br style=3D"" class=3D""></div><div class=3D"" =
style=3D"font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: =
transparent; font-style: normal;">File
 "_none_", line 1:<br style=3D"" class=3D"">Error: Files =
/home/user/.opam/system/lib/tcpip/ethif.cmxa<br style=3D"" =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and =
/home/user/.opam/system/lib/tcpip/ipv4.cmxa<br style=3D"" =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; both define a module =
named Tcpip_checksum</div><div class=3D"" style=3D"font-size: 16px; =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; background-color: transparent; font-style: =
normal;"><br></div><div class=3D"" style=3D"font-size: 16px; =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; background-color: transparent; font-style: =
normal;">Any suggestion to fix this problem?</div><div class=3D"" =
style=3D"font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: =
transparent; font-style: normal;"><br></div><div class=3D"" =
style=3D"font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: =
transparent; font-style: normal;">Thanks.<br style=3D"" =
class=3D""></div></div></div>_____________________________________________=
__<br>MirageOS-devel mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br></div></body></html>=

--Apple-Mail=_CE840BD8-D878-4286-A9F5-06D1CF1234CA--


--===============7493071426350921727==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============7493071426350921727==--


From mirageos-devel-bounces@lists.xenproject.org Sat Jul 19 22:36:48 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 19 Jul 2014 22:36:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8dFF-0000GW-GS; Sat, 19 Jul 2014 22:36:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X8dFD-0000GP-UZ
	for mirageos-devel@lists.xenproject.org; Sat, 19 Jul 2014 22:36:44 +0000
Received: from [193.109.254.147:2429] by server-10.bemta-14.messagelabs.com id
	50/EB-06615-BF2FAC35; Sat, 19 Jul 2014 22:36:43 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1405809400!13011065!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4827 invoked from network); 19 Jul 2014 22:36:40 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-27.messagelabs.com with SMTP;
	19 Jul 2014 22:36:40 -0000
Received: (qmail 30328 invoked by uid 634); 19 Jul 2014 22:36:39 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.94]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 19 Jul 2014 23:36:36 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
Date: Sat, 19 Jul 2014 23:36:35 +0100
Message-Id: <A78B8B16-3A4A-44AA-A5E9-B12050634515@recoil.org>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
To: Andy Ray <andy.ray@ujamjar.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 19 Jul 2014, at 19:02, Andy Ray <andy.ray@ujamjar.com> wrote:

> On Tue, Apr 29, 2014 at 3:39 PM, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 29 Apr 2014, at 15:28, Andy Ray <andy.ray@ujamjar.com> wrote:
>>>> 
>>>> The reasoning behind the FreeBSD/kernel approach is to give us a nice
>>>> cocoon in which to leverage existing device drivers and slowly move
>>>> our way down the stack, while retaining the ability to benchmark CPU
>>>> and memory usage against the existing (mature and optimized) FreeBSD
>>>> drivers.
>>> 
>>> 
>>> I will be starting to port the x86 kernel prototype to arm by the end
>>> of the week.  Then I'm away on holiday for a bit so it may be a while
>>> before I have it working.
> 
> 
> So after various distractions I finally got back to looking at this
> stuff this week.

Fantastic!

> 
> I've been trying to get the x86 prototype working to start with which
> has not proved to be so easy.  Long story short I decided to bite the
> bullet and start to update everything to the latest mirage version.
> 
> https://github.com/andrewray/opam-mirage-kfreebsd
> 
>> opam remote add opam-mirage-kfreebsd https://github.com/andrewray/opam-mirage-kfreebsd
>> opam update
>> opam switch 4.01.0beta1+mirage-kfreebsd
>> eval `opam config env`
>> opam install mirage-kfreebsd mirage mirage-console-kfreebsd
> (I think thats right - I'll reinstall clean and check soon).
> 
> I've dealt with a few things so far;
> 
> * FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
> fixed (mainly harsher warnings as errors from clang)
> * natdynlink/pic is unavailable - various packages are patched to
> remove cmxs generation

Erk, are these changes necessary because the build fails if natdynlink
isn't available?  That's a bad OASIS bug if so...

The Lwt base-threads/unix seems to be a bug in trunk as well (build
fails on my Mac).

> * native code exes=>byte code exes if they dynlink (mirage, I'm looking at you)
> 
> Further, the older mirari with kfreebsd app with some support libs is
> also updated as a (not working now but used to) reference point.
> 
> The main point of progress is in this project;
> 
> https://github.com/andrewray/kfreebsd-console
> 
>> gmake _build/main.ko
>> sudo kldload _build/main.ko
> 
> This is a hack which used
> 
>> mirage configure -unix
> 
> on the mirage-skeleton/console project then studied mirari output and
> hacked various bits together to end up with
> 
>> dmesg
> [mir-app] Kernel module is about to load.
> [mir-app] Memory limit: 32 MB
> Fatal error: exception Assert_failure("filename.ml", 189, 9)
> [mir-app] Function 'OS.Main.run' could not be found.
> 
> So it doesn't work, but that looks very much like an OCaml program to
> me which is most encouraging.
> 
> For now its time for the pub but the next steps are to try and get
> this simple app to work properly and then fix the mirage application
> to generate the build scripts appropriately.

This looks very promising.  Have you looked at the new MiniOS layout
in mirage/mirage-xen-minios?  All of this has been lifted out of the
mirage-platform repo now to be a separate library.

This should make it easier for kFreeBSD, since if you provide similar
C symbols, we can massage the bindings in mirage-platform/kFreeBSD
to satisfy the relevant OCaml module types.

I'm flying to OSCON tomorrow so may be latent on replies, but am also
refreshing the FreeBSD VM on my laptop to test this out as it develops!

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 19 22:36:48 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 19 Jul 2014 22:36:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8dFF-0000GW-GS; Sat, 19 Jul 2014 22:36:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X8dFD-0000GP-UZ
	for mirageos-devel@lists.xenproject.org; Sat, 19 Jul 2014 22:36:44 +0000
Received: from [193.109.254.147:2429] by server-10.bemta-14.messagelabs.com id
	50/EB-06615-BF2FAC35; Sat, 19 Jul 2014 22:36:43 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1405809400!13011065!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4827 invoked from network); 19 Jul 2014 22:36:40 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-27.messagelabs.com with SMTP;
	19 Jul 2014 22:36:40 -0000
Received: (qmail 30328 invoked by uid 634); 19 Jul 2014 22:36:39 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginm.net (HELO
	[192.168.1.94]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 19 Jul 2014 23:36:36 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
Date: Sat, 19 Jul 2014 23:36:35 +0100
Message-Id: <A78B8B16-3A4A-44AA-A5E9-B12050634515@recoil.org>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
To: Andy Ray <andy.ray@ujamjar.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 19 Jul 2014, at 19:02, Andy Ray <andy.ray@ujamjar.com> wrote:

> On Tue, Apr 29, 2014 at 3:39 PM, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 29 Apr 2014, at 15:28, Andy Ray <andy.ray@ujamjar.com> wrote:
>>>> 
>>>> The reasoning behind the FreeBSD/kernel approach is to give us a nice
>>>> cocoon in which to leverage existing device drivers and slowly move
>>>> our way down the stack, while retaining the ability to benchmark CPU
>>>> and memory usage against the existing (mature and optimized) FreeBSD
>>>> drivers.
>>> 
>>> 
>>> I will be starting to port the x86 kernel prototype to arm by the end
>>> of the week.  Then I'm away on holiday for a bit so it may be a while
>>> before I have it working.
> 
> 
> So after various distractions I finally got back to looking at this
> stuff this week.

Fantastic!

> 
> I've been trying to get the x86 prototype working to start with which
> has not proved to be so easy.  Long story short I decided to bite the
> bullet and start to update everything to the latest mirage version.
> 
> https://github.com/andrewray/opam-mirage-kfreebsd
> 
>> opam remote add opam-mirage-kfreebsd https://github.com/andrewray/opam-mirage-kfreebsd
>> opam update
>> opam switch 4.01.0beta1+mirage-kfreebsd
>> eval `opam config env`
>> opam install mirage-kfreebsd mirage mirage-console-kfreebsd
> (I think thats right - I'll reinstall clean and check soon).
> 
> I've dealt with a few things so far;
> 
> * FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
> fixed (mainly harsher warnings as errors from clang)
> * natdynlink/pic is unavailable - various packages are patched to
> remove cmxs generation

Erk, are these changes necessary because the build fails if natdynlink
isn't available?  That's a bad OASIS bug if so...

The Lwt base-threads/unix seems to be a bug in trunk as well (build
fails on my Mac).

> * native code exes=>byte code exes if they dynlink (mirage, I'm looking at you)
> 
> Further, the older mirari with kfreebsd app with some support libs is
> also updated as a (not working now but used to) reference point.
> 
> The main point of progress is in this project;
> 
> https://github.com/andrewray/kfreebsd-console
> 
>> gmake _build/main.ko
>> sudo kldload _build/main.ko
> 
> This is a hack which used
> 
>> mirage configure -unix
> 
> on the mirage-skeleton/console project then studied mirari output and
> hacked various bits together to end up with
> 
>> dmesg
> [mir-app] Kernel module is about to load.
> [mir-app] Memory limit: 32 MB
> Fatal error: exception Assert_failure("filename.ml", 189, 9)
> [mir-app] Function 'OS.Main.run' could not be found.
> 
> So it doesn't work, but that looks very much like an OCaml program to
> me which is most encouraging.
> 
> For now its time for the pub but the next steps are to try and get
> this simple app to work properly and then fix the mirage application
> to generate the build scripts appropriately.

This looks very promising.  Have you looked at the new MiniOS layout
in mirage/mirage-xen-minios?  All of this has been lifted out of the
mirage-platform repo now to be a separate library.

This should make it easier for kFreeBSD, since if you provide similar
C symbols, we can massage the bindings in mirage-platform/kFreeBSD
to satisfy the relevant OCaml module types.

I'm flying to OSCON tomorrow so may be latent on replies, but am also
refreshing the FreeBSD VM on my laptop to test this out as it develops!

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 07:38:28 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 07:38:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8lhP-0002xg-IE; Sun, 20 Jul 2014 07:38:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X8lhN-0002xb-PJ
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 07:38:21 +0000
Received: from [85.158.137.68:22352] by server-5.bemta-3.messagelabs.com id
	3C/CE-30889-CE17BC35; Sun, 20 Jul 2014 07:38:20 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-8.tower-31.messagelabs.com!1405841900!16921011!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6357 invoked from network); 20 Jul 2014 07:38:20 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-8.tower-31.messagelabs.com with SMTP;
	20 Jul 2014 07:38:20 -0000
Received: (qmail 4534 invoked from network); 20 Jul 2014 07:38:18 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 20 Jul 2014 07:38:18 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 02977-06 for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 08:38:11 +0100 (BST)
Received: (qmail 4485 invoked by uid 599); 20 Jul 2014 07:38:11 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Sun, 20 Jul 2014 08:38:11 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X8lhD-000756-K3
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 08:38:11 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Sun, 20 Jul 2014 08:38:08 +0100
Thread-Topic: coreboot
Thread-Index: Ac+j7Y6Dpy+Nmop6SzyMEBBHAvsHMg==
Message-ID: <33C0DC9C-636E-4AFB-BB79-C929B1CB6A19@nottingham.ac.uk>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Subject: [MirageOS-devel] coreboot
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5958156448961130552=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============5958156448961130552==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_2F0F3389-62D7-40D9-90D6-12EB1658606D";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_2F0F3389-62D7-40D9-90D6-12EB1658606D
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

may be of interest if not seen before -- free software BIOS replacement, =
"currently supports over 230 mainboards".

http://www.coreboot.org/Welcome_to_coreboot

(mind you, i have no idea how many mainboards there are... :)

--=20
Cheers,

R.





--Apple-Mail=_2F0F3389-62D7-40D9-90D6-12EB1658606D
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTy3HgAAoJEOLF27JWwSg3cMoQAIWVmlmOWqotsYPEx/qmJqHF
YxWG1Z4ouu9Lj2ffPxD8sjiY1w8yJBYmRe7xpve4p5qOd7SUjiXsklctVowQGxqw
A5sw6135L9329J+08f7H/RfOOTNNGzgm/HAh7JAEjUuSBkpAlKqfKc61wUClaANR
oj54ODjARjArtso1EsDeMxgo4NrDgzHeQDGRTojdPOXnuIuZSmY6sQNAZcR/oLy8
7zgngLKip6ZjLCLBE7cA3rVv5RxfzACXYRhOleCG3BQHBZJ5tDLcYiXrkbUorfJ5
1Yw5C1KN53ez3mbBU4+/5Shni+WMuiScILDh/oiaNewaeIsioR/E6exwYgaJkiKB
zejndCjbUzO3rHKLLc1eMS42qMqLtmDcNJpHp86TW0AFlordhHeENUIjHv286wP1
IBgsfS3wAf469ON2LwCTaWwGZiSSeQnCbeQNdo94zY9kwOngLJy4gRCMfjwfc2Eh
27wFQK7lujPxCBNSfRBq/WzEUUpTdobDNuBsXM3exYxbaTUybcCcCUwXqi5W1eeR
xZbcrEcS9vzViQe9h26gCHNOTwk7Z9aHb3NM0In99Ob/eKqHxJuYteteWdk2WGAT
QXaB6ckhrkweOijCZVG4gYyRczCJFWWmwv2rM27CV0XHVlxWb+Rq+54b/2iT5F2F
GUhZBQSPRdMzlQA863H7
=wscs
-----END PGP SIGNATURE-----

--Apple-Mail=_2F0F3389-62D7-40D9-90D6-12EB1658606D--


--===============5958156448961130552==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============5958156448961130552==--


From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 07:38:28 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 07:38:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8lhP-0002xg-IE; Sun, 20 Jul 2014 07:38:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X8lhN-0002xb-PJ
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 07:38:21 +0000
Received: from [85.158.137.68:22352] by server-5.bemta-3.messagelabs.com id
	3C/CE-30889-CE17BC35; Sun, 20 Jul 2014 07:38:20 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-8.tower-31.messagelabs.com!1405841900!16921011!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6357 invoked from network); 20 Jul 2014 07:38:20 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-8.tower-31.messagelabs.com with SMTP;
	20 Jul 2014 07:38:20 -0000
Received: (qmail 4534 invoked from network); 20 Jul 2014 07:38:18 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 20 Jul 2014 07:38:18 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 02977-06 for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 08:38:11 +0100 (BST)
Received: (qmail 4485 invoked by uid 599); 20 Jul 2014 07:38:11 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Sun, 20 Jul 2014 08:38:11 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X8lhD-000756-K3
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 08:38:11 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Sun, 20 Jul 2014 08:38:08 +0100
Thread-Topic: coreboot
Thread-Index: Ac+j7Y6Dpy+Nmop6SzyMEBBHAvsHMg==
Message-ID: <33C0DC9C-636E-4AFB-BB79-C929B1CB6A19@nottingham.ac.uk>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Subject: [MirageOS-devel] coreboot
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5958156448961130552=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============5958156448961130552==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_2F0F3389-62D7-40D9-90D6-12EB1658606D";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_2F0F3389-62D7-40D9-90D6-12EB1658606D
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

may be of interest if not seen before -- free software BIOS replacement, =
"currently supports over 230 mainboards".

http://www.coreboot.org/Welcome_to_coreboot

(mind you, i have no idea how many mainboards there are... :)

--=20
Cheers,

R.





--Apple-Mail=_2F0F3389-62D7-40D9-90D6-12EB1658606D
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTy3HgAAoJEOLF27JWwSg3cMoQAIWVmlmOWqotsYPEx/qmJqHF
YxWG1Z4ouu9Lj2ffPxD8sjiY1w8yJBYmRe7xpve4p5qOd7SUjiXsklctVowQGxqw
A5sw6135L9329J+08f7H/RfOOTNNGzgm/HAh7JAEjUuSBkpAlKqfKc61wUClaANR
oj54ODjARjArtso1EsDeMxgo4NrDgzHeQDGRTojdPOXnuIuZSmY6sQNAZcR/oLy8
7zgngLKip6ZjLCLBE7cA3rVv5RxfzACXYRhOleCG3BQHBZJ5tDLcYiXrkbUorfJ5
1Yw5C1KN53ez3mbBU4+/5Shni+WMuiScILDh/oiaNewaeIsioR/E6exwYgaJkiKB
zejndCjbUzO3rHKLLc1eMS42qMqLtmDcNJpHp86TW0AFlordhHeENUIjHv286wP1
IBgsfS3wAf469ON2LwCTaWwGZiSSeQnCbeQNdo94zY9kwOngLJy4gRCMfjwfc2Eh
27wFQK7lujPxCBNSfRBq/WzEUUpTdobDNuBsXM3exYxbaTUybcCcCUwXqi5W1eeR
xZbcrEcS9vzViQe9h26gCHNOTwk7Z9aHb3NM0In99Ob/eKqHxJuYteteWdk2WGAT
QXaB6ckhrkweOijCZVG4gYyRczCJFWWmwv2rM27CV0XHVlxWb+Rq+54b/2iT5F2F
GUhZBQSPRdMzlQA863H7
=wscs
-----END PGP SIGNATURE-----

--Apple-Mail=_2F0F3389-62D7-40D9-90D6-12EB1658606D--


--===============5958156448961130552==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============5958156448961130552==--


From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 08:08:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 08:08:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8mAc-0004fr-94; Sun, 20 Jul 2014 08:08:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X8mAb-0004fm-RA
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 08:08:33 +0000
Received: from [85.158.139.211:22231] by server-17.bemta-5.messagelabs.com id
	A8/72-08085-1097BC35; Sun, 20 Jul 2014 08:08:33 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1405843710!13121184!1
X-Originating-IP: [209.85.218.46]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8856 invoked from network); 20 Jul 2014 08:08:32 -0000
Received: from mail-oi0-f46.google.com (HELO mail-oi0-f46.google.com)
	(209.85.218.46)
	by server-15.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	20 Jul 2014 08:08:32 -0000
Received: by mail-oi0-f46.google.com with SMTP id i138so2678685oig.5
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 01:08:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=/9/bvR7cPaQv+Hy1w71sjuNZeQzXHYAavlT8j0Yfu+8=;
	b=m2gT+dJRxGmxv2DQ6hNaOkFEV2T5rb8MhY14jej2cufQXDH3jeRP/gGZTKjR81GUo+
	8KizB+yiytXyuyb6Iq4GQiQmmrYvVxqrC0atnclKCrRZhpCL6T4xNI8epWbBhKG69BRT
	muzUvIIgin9yOeH0N15I6LAijdfePkpt9nDPPzvZFrx7vSaPrL/W0Nprpdf41+qFr268
	W/FisplX/FDNLcQ/AjefcKHc62rXyT9Od150eDSLirHnMrkcWaij1YvKyIZaw1KrQn/q
	eC0cyNGpBPGRJvxkYKjelU6mNh7vS+c248jM/2BoLtHvugGoXKUlQi2cPVd6roWNLrkV
	GJMg==
MIME-Version: 1.0
X-Received: by 10.182.98.194 with SMTP id ek2mr23670730obb.5.1405843710491;
	Sun, 20 Jul 2014 01:08:30 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Sun, 20 Jul 2014 01:08:30 -0700 (PDT)
Date: Sun, 20 Jul 2014 09:08:30 +0100
Message-ID: <CAG4opy94qzfm+=3RfAg5+Qmv5Ha=h7Mb8z5soTY462ssGPZ7Jw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Pre-built Xen images for Cubieboard/CubieTruck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I've uploaded some pre-built images here:

http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2 (Cubieboard 2)
http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2 (CubieTruck)

(built from current https://github.com/mirage/xen-arm-builder)

I'd be interested to hear from anyone with these devices whether they
work for you. To test:

1. Download and unpack the image for your board.

2. Copy to the SDcard, e.g.
    dd if=cubie.img of=/dev/mmcblk0

3. Boot the device. It should get an IP address by DHCP.

The devices announce a .local name using mDNS, so you should be able
to ssh to $BOARD.local, e.g.

  ssh mirage@cubieboard2.local.

(password: mirage)

You should now have a working Xen host ("xl list" to list current VMs,
"lvcreate" to create guest disks).

To install the ARM version of mirage:

$ opam init
$ wget https://github.com/mirage/mirage-xen-minios/releases/download/v0.2/mirage-xen-minios-v0.2.tar.bz2
$ tar xjf mirage-xen-minios-v0.2.tar.bz2
$ cd mirage-xen-minios
$ make
$ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
$ opam pin mirage-xen https://github.com/mirage/mirage-platform
$ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
$ opam install mirage

You should now be able to follow the rest of the Mirage tutorial:

  http://openmirage.org/wiki/hello-world

Notes:

1. On my network, the mDNS name is only available briefly. I think my
router may be blocking queries. If so, you might want to assign a
fixed IP address soon after connecting.

2. If you try to build a unikernel with an HTTP server, it may
complain that it can't link -lssl (and other libraries). For now, you
can edit the Makefile to remove the extra libraries.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 08:08:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 08:08:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8mAc-0004fr-94; Sun, 20 Jul 2014 08:08:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X8mAb-0004fm-RA
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 08:08:33 +0000
Received: from [85.158.139.211:22231] by server-17.bemta-5.messagelabs.com id
	A8/72-08085-1097BC35; Sun, 20 Jul 2014 08:08:33 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1405843710!13121184!1
X-Originating-IP: [209.85.218.46]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8856 invoked from network); 20 Jul 2014 08:08:32 -0000
Received: from mail-oi0-f46.google.com (HELO mail-oi0-f46.google.com)
	(209.85.218.46)
	by server-15.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	20 Jul 2014 08:08:32 -0000
Received: by mail-oi0-f46.google.com with SMTP id i138so2678685oig.5
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 01:08:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=/9/bvR7cPaQv+Hy1w71sjuNZeQzXHYAavlT8j0Yfu+8=;
	b=m2gT+dJRxGmxv2DQ6hNaOkFEV2T5rb8MhY14jej2cufQXDH3jeRP/gGZTKjR81GUo+
	8KizB+yiytXyuyb6Iq4GQiQmmrYvVxqrC0atnclKCrRZhpCL6T4xNI8epWbBhKG69BRT
	muzUvIIgin9yOeH0N15I6LAijdfePkpt9nDPPzvZFrx7vSaPrL/W0Nprpdf41+qFr268
	W/FisplX/FDNLcQ/AjefcKHc62rXyT9Od150eDSLirHnMrkcWaij1YvKyIZaw1KrQn/q
	eC0cyNGpBPGRJvxkYKjelU6mNh7vS+c248jM/2BoLtHvugGoXKUlQi2cPVd6roWNLrkV
	GJMg==
MIME-Version: 1.0
X-Received: by 10.182.98.194 with SMTP id ek2mr23670730obb.5.1405843710491;
	Sun, 20 Jul 2014 01:08:30 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Sun, 20 Jul 2014 01:08:30 -0700 (PDT)
Date: Sun, 20 Jul 2014 09:08:30 +0100
Message-ID: <CAG4opy94qzfm+=3RfAg5+Qmv5Ha=h7Mb8z5soTY462ssGPZ7Jw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Pre-built Xen images for Cubieboard/CubieTruck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I've uploaded some pre-built images here:

http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2 (Cubieboard 2)
http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2 (CubieTruck)

(built from current https://github.com/mirage/xen-arm-builder)

I'd be interested to hear from anyone with these devices whether they
work for you. To test:

1. Download and unpack the image for your board.

2. Copy to the SDcard, e.g.
    dd if=cubie.img of=/dev/mmcblk0

3. Boot the device. It should get an IP address by DHCP.

The devices announce a .local name using mDNS, so you should be able
to ssh to $BOARD.local, e.g.

  ssh mirage@cubieboard2.local.

(password: mirage)

You should now have a working Xen host ("xl list" to list current VMs,
"lvcreate" to create guest disks).

To install the ARM version of mirage:

$ opam init
$ wget https://github.com/mirage/mirage-xen-minios/releases/download/v0.2/mirage-xen-minios-v0.2.tar.bz2
$ tar xjf mirage-xen-minios-v0.2.tar.bz2
$ cd mirage-xen-minios
$ make
$ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
$ opam pin mirage-xen https://github.com/mirage/mirage-platform
$ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
$ opam install mirage

You should now be able to follow the rest of the Mirage tutorial:

  http://openmirage.org/wiki/hello-world

Notes:

1. On my network, the mDNS name is only available briefly. I think my
router may be blocking queries. If so, you might want to assign a
fixed IP address soon after connecting.

2. If you try to build a unikernel with an HTTP server, it may
complain that it can't link -lssl (and other libraries). For now, you
can edit the Makefile to remove the extra libraries.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:06:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:06:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8o10-0001Lb-1Y; Sun, 20 Jul 2014 10:06:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X8o0y-0001LW-7c
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:06:44 +0000
Received: from [85.158.139.211:10829] by server-16.bemta-5.messagelabs.com id
	9B/77-31885-3B49BC35; Sun, 20 Jul 2014 10:06:43 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1405850802!16537906!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15992 invoked from network); 20 Jul 2014 10:06:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-7.tower-206.messagelabs.com with SMTP;
	20 Jul 2014 10:06:42 -0000
X-IronPort-AV: E=Sophos;i="5.01,695,1400025600"; d="scan'208";a="23268551"
Received: from unknown (HELO AMSPEX01CL01.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 20 Jul 2014 10:06:41 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.210]) by
	AMSPEX01CL01.citrite.net ([169.254.6.75]) with mapi id 14.03.0181.006;
	Sun, 20 Jul 2014 12:06:41 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Andy Ray <andy.ray@ujamjar.com>
Thread-Topic: [MirageOS-devel] Mirage ARM port
Thread-Index: AQHPVNNAWkpkgcFV0EqwakuL0o112psoj4aAgAAPaICAAARpAIAAAwWAgH+FuQCAAQ1WAA==
Date: Sun, 20 Jul 2014 10:06:41 +0000
Message-ID: <535C1B9F-41A7-4744-AF91-4AF9C302CB7F@citrix.com>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
In-Reply-To: <CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <E2302699C6BF06408178A5BA19518F33@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 19 Jul 2014, at 19:02, Andy Ray <andy.ray@ujamjar.com> wrote:

> On Tue, Apr 29, 2014 at 3:39 PM, Anil Madhavapeddy <anil@recoil.org> wrot=
e:
>> On 29 Apr 2014, at 15:28, Andy Ray <andy.ray@ujamjar.com> wrote:
>>>> =

>>>> The reasoning behind the FreeBSD/kernel approach is to give us a nice
>>>> cocoon in which to leverage existing device drivers and slowly move
>>>> our way down the stack, while retaining the ability to benchmark CPU
>>>> and memory usage against the existing (mature and optimized) FreeBSD
>>>> drivers.
>>> =

>>> =

>>> I will be starting to port the x86 kernel prototype to arm by the end
>>> of the week.  Then I'm away on holiday for a bit so it may be a while
>>> before I have it working.
> =

> =

> So after various distractions I finally got back to looking at this
> stuff this week.
> =

> I've been trying to get the x86 prototype working to start with which
> has not proved to be so easy.  Long story short I decided to bite the
> bullet and start to update everything to the latest mirage version.
> =

> https://github.com/andrewray/opam-mirage-kfreebsd
> =

>> opam remote add opam-mirage-kfreebsd https://github.com/andrewray/opam-m=
irage-kfreebsd
>> opam update
>> opam switch 4.01.0beta1+mirage-kfreebsd
>> eval `opam config env`
>> opam install mirage-kfreebsd mirage mirage-console-kfreebsd
> (I think thats right - I'll reinstall clean and check soon).
> =

> I've dealt with a few things so far;
> =

> * FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
> fixed (mainly harsher warnings as errors from clang)
> * natdynlink/pic is unavailable - various packages are patched to
> remove cmxs generation
> * native code exes=3D>byte code exes if they dynlink (mirage, I'm looking=
 at you)
> =

> Further, the older mirari with kfreebsd app with some support libs is
> also updated as a (not working now but used to) reference point.
> =

> The main point of progress is in this project;
> =

> https://github.com/andrewray/kfreebsd-console
> =

>> gmake _build/main.ko
>> sudo kldload _build/main.ko
> =

> This is a hack which used
> =

>> mirage configure -unix
> =

> on the mirage-skeleton/console project then studied mirari output and
> hacked various bits together to end up with
> =

>> dmesg
> [mir-app] Kernel module is about to load.
> [mir-app] Memory limit: 32 MB
> Fatal error: exception Assert_failure("filename.ml", 189, 9)

This looks like a problem I hit before, where a top-level binding in Filena=
me expects Sys.os_version to be =93Unix=94 (previously we called ourselves =
=93xen=94):

https://github.com/mirage/mirage-platform/commit/5a2297587c2452758bc0b0d8ba=
ea7f136d183eb7

Cheers,
Dave

> [mir-app] Function 'OS.Main.run' could not be found.
> =

> So it doesn't work, but that looks very much like an OCaml program to
> me which is most encouraging.
> =

> For now its time for the pub but the next steps are to try and get
> this simple app to work properly and then fix the mirage application
> to generate the build scripts appropriately.
> =

> Cheers,
> Andy
> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:06:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:06:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8o10-0001Lb-1Y; Sun, 20 Jul 2014 10:06:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X8o0y-0001LW-7c
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:06:44 +0000
Received: from [85.158.139.211:10829] by server-16.bemta-5.messagelabs.com id
	9B/77-31885-3B49BC35; Sun, 20 Jul 2014 10:06:43 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1405850802!16537906!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15992 invoked from network); 20 Jul 2014 10:06:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-7.tower-206.messagelabs.com with SMTP;
	20 Jul 2014 10:06:42 -0000
X-IronPort-AV: E=Sophos;i="5.01,695,1400025600"; d="scan'208";a="23268551"
Received: from unknown (HELO AMSPEX01CL01.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 20 Jul 2014 10:06:41 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.210]) by
	AMSPEX01CL01.citrite.net ([169.254.6.75]) with mapi id 14.03.0181.006;
	Sun, 20 Jul 2014 12:06:41 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Andy Ray <andy.ray@ujamjar.com>
Thread-Topic: [MirageOS-devel] Mirage ARM port
Thread-Index: AQHPVNNAWkpkgcFV0EqwakuL0o112psoj4aAgAAPaICAAARpAIAAAwWAgH+FuQCAAQ1WAA==
Date: Sun, 20 Jul 2014 10:06:41 +0000
Message-ID: <535C1B9F-41A7-4744-AF91-4AF9C302CB7F@citrix.com>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
In-Reply-To: <CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <E2302699C6BF06408178A5BA19518F33@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 19 Jul 2014, at 19:02, Andy Ray <andy.ray@ujamjar.com> wrote:

> On Tue, Apr 29, 2014 at 3:39 PM, Anil Madhavapeddy <anil@recoil.org> wrot=
e:
>> On 29 Apr 2014, at 15:28, Andy Ray <andy.ray@ujamjar.com> wrote:
>>>> =

>>>> The reasoning behind the FreeBSD/kernel approach is to give us a nice
>>>> cocoon in which to leverage existing device drivers and slowly move
>>>> our way down the stack, while retaining the ability to benchmark CPU
>>>> and memory usage against the existing (mature and optimized) FreeBSD
>>>> drivers.
>>> =

>>> =

>>> I will be starting to port the x86 kernel prototype to arm by the end
>>> of the week.  Then I'm away on holiday for a bit so it may be a while
>>> before I have it working.
> =

> =

> So after various distractions I finally got back to looking at this
> stuff this week.
> =

> I've been trying to get the x86 prototype working to start with which
> has not proved to be so easy.  Long story short I decided to bite the
> bullet and start to update everything to the latest mirage version.
> =

> https://github.com/andrewray/opam-mirage-kfreebsd
> =

>> opam remote add opam-mirage-kfreebsd https://github.com/andrewray/opam-m=
irage-kfreebsd
>> opam update
>> opam switch 4.01.0beta1+mirage-kfreebsd
>> eval `opam config env`
>> opam install mirage-kfreebsd mirage mirage-console-kfreebsd
> (I think thats right - I'll reinstall clean and check soon).
> =

> I've dealt with a few things so far;
> =

> * FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
> fixed (mainly harsher warnings as errors from clang)
> * natdynlink/pic is unavailable - various packages are patched to
> remove cmxs generation
> * native code exes=3D>byte code exes if they dynlink (mirage, I'm looking=
 at you)
> =

> Further, the older mirari with kfreebsd app with some support libs is
> also updated as a (not working now but used to) reference point.
> =

> The main point of progress is in this project;
> =

> https://github.com/andrewray/kfreebsd-console
> =

>> gmake _build/main.ko
>> sudo kldload _build/main.ko
> =

> This is a hack which used
> =

>> mirage configure -unix
> =

> on the mirage-skeleton/console project then studied mirari output and
> hacked various bits together to end up with
> =

>> dmesg
> [mir-app] Kernel module is about to load.
> [mir-app] Memory limit: 32 MB
> Fatal error: exception Assert_failure("filename.ml", 189, 9)

This looks like a problem I hit before, where a top-level binding in Filena=
me expects Sys.os_version to be =93Unix=94 (previously we called ourselves =
=93xen=94):

https://github.com/mirage/mirage-platform/commit/5a2297587c2452758bc0b0d8ba=
ea7f136d183eb7

Cheers,
Dave

> [mir-app] Function 'OS.Main.run' could not be found.
> =

> So it doesn't work, but that looks very much like an OCaml program to
> me which is most encouraging.
> =

> For now its time for the pub but the next steps are to try and get
> this simple app to work properly and then fix the mirage application
> to generate the build scripts appropriately.
> =

> Cheers,
> Andy
> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:07:53 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:07:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8o25-0001NA-7G; Sun, 20 Jul 2014 10:07:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X8o24-0001N5-8R
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:07:52 +0000
Received: from [85.158.139.211:7552] by server-12.bemta-5.messagelabs.com id
	B2/21-11323-7F49BC35; Sun, 20 Jul 2014 10:07:51 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-206.messagelabs.com!1405850870!16512975!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18777 invoked from network); 20 Jul 2014 10:07:50 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-206.messagelabs.com with SMTP;
	20 Jul 2014 10:07:50 -0000
Received: (qmail 11817 invoked by uid 634); 20 Jul 2014 10:07:50 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from no-dns-yet.convergencegroup.co.uk (HELO [10.12.21.122])
	(37.205.61.203)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 20 Jul 2014 11:07:49 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy94qzfm+=3RfAg5+Qmv5Ha=h7Mb8z5soTY462ssGPZ7Jw@mail.gmail.com>
Date: Sun, 20 Jul 2014 11:07:48 +0100
Message-Id: <977EECB5-9654-4008-8376-E6F3781A7940@recoil.org>
References: <CAG4opy94qzfm+=3RfAg5+Qmv5Ha=h7Mb8z5soTY462ssGPZ7Jw@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Pre-built Xen images for Cubieboard/CubieTruck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 20 Jul 2014, at 09:08, Thomas Leonard <talex5@gmail.com> wrote:

> I've uploaded some pre-built images here:
> 
> http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2 (Cubieboard 2)
> http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2 (CubieTruck)
> 
> (built from current https://github.com/mirage/xen-arm-builder)
> 
> I'd be interested to hear from anyone with these devices whether they
> work for you. To test:
> 
> 1. Download and unpack the image for your board.
> 
> 2. Copy to the SDcard, e.g.
>    dd if=cubie.img of=/dev/mmcblk0
> 
> 3. Boot the device. It should get an IP address by DHCP.

On MacOS X, the dd instructions are:

1. Find the disk device of the card you inserted
   sudo diskutil list
   (e.g. disk2)

2. unmount the disk images 
   sudo diskutil unmountDIsk /dev/diskN

3. sudo dd if=cubie.img of=/dev/rdiskN bs=64k

Without the 'rdisk' in the output file, the copying will be extremely slow
due to buffering.

> 
> The devices announce a .local name using mDNS, so you should be able
> to ssh to $BOARD.local, e.g.
> 
>  ssh mirage@cubieboard2.local.
> 
> (password: mirage)
> 
> You should now have a working Xen host ("xl list" to list current VMs,
> "lvcreate" to create guest disks).
> 
> To install the ARM version of mirage:
> 
> $ opam init
> $ wget https://github.com/mirage/mirage-xen-minios/releases/download/v0.2/mirage-xen-minios-v0.2.tar.bz2
> $ tar xjf mirage-xen-minios-v0.2.tar.bz2
> $ cd mirage-xen-minios
> $ make
> $ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
> $ opam pin mirage-xen https://github.com/mirage/mirage-platform
> $ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
> $ opam install mirage
> 

Minor improvement now, since `mirage-xen-minios` has been integrated upstream into OPAM.


$ opam install mirage-minios-xen
$ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
$ opam pin mirage-xen https://github.com/mirage/mirage-platform
$ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
$ opam install mirage


> You should now be able to follow the rest of the Mirage tutorial:
> 
>  http://openmirage.org/wiki/hello-world
> 
> Notes:
> 
> 1. On my network, the mDNS name is only available briefly. I think my
> router may be blocking queries. If so, you might want to assign a
> fixed IP address soon after connecting.
> 
> 2. If you try to build a unikernel with an HTTP server, it may
> complain that it can't link -lssl (and other libraries). For now, you
> can edit the Makefile to remove the extra libraries.

This was due to an incorrect Unix dependency sneaking into Cohttp_lwt.
I've put a candidate fix in:
   https://github.com/mirage/ocaml-cohttp/pull/152

cheers,
Anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:07:53 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:07:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8o25-0001NA-7G; Sun, 20 Jul 2014 10:07:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X8o24-0001N5-8R
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:07:52 +0000
Received: from [85.158.139.211:7552] by server-12.bemta-5.messagelabs.com id
	B2/21-11323-7F49BC35; Sun, 20 Jul 2014 10:07:51 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-206.messagelabs.com!1405850870!16512975!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18777 invoked from network); 20 Jul 2014 10:07:50 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-206.messagelabs.com with SMTP;
	20 Jul 2014 10:07:50 -0000
Received: (qmail 11817 invoked by uid 634); 20 Jul 2014 10:07:50 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from no-dns-yet.convergencegroup.co.uk (HELO [10.12.21.122])
	(37.205.61.203)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 20 Jul 2014 11:07:49 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy94qzfm+=3RfAg5+Qmv5Ha=h7Mb8z5soTY462ssGPZ7Jw@mail.gmail.com>
Date: Sun, 20 Jul 2014 11:07:48 +0100
Message-Id: <977EECB5-9654-4008-8376-E6F3781A7940@recoil.org>
References: <CAG4opy94qzfm+=3RfAg5+Qmv5Ha=h7Mb8z5soTY462ssGPZ7Jw@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Pre-built Xen images for Cubieboard/CubieTruck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 20 Jul 2014, at 09:08, Thomas Leonard <talex5@gmail.com> wrote:

> I've uploaded some pre-built images here:
> 
> http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2 (Cubieboard 2)
> http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2 (CubieTruck)
> 
> (built from current https://github.com/mirage/xen-arm-builder)
> 
> I'd be interested to hear from anyone with these devices whether they
> work for you. To test:
> 
> 1. Download and unpack the image for your board.
> 
> 2. Copy to the SDcard, e.g.
>    dd if=cubie.img of=/dev/mmcblk0
> 
> 3. Boot the device. It should get an IP address by DHCP.

On MacOS X, the dd instructions are:

1. Find the disk device of the card you inserted
   sudo diskutil list
   (e.g. disk2)

2. unmount the disk images 
   sudo diskutil unmountDIsk /dev/diskN

3. sudo dd if=cubie.img of=/dev/rdiskN bs=64k

Without the 'rdisk' in the output file, the copying will be extremely slow
due to buffering.

> 
> The devices announce a .local name using mDNS, so you should be able
> to ssh to $BOARD.local, e.g.
> 
>  ssh mirage@cubieboard2.local.
> 
> (password: mirage)
> 
> You should now have a working Xen host ("xl list" to list current VMs,
> "lvcreate" to create guest disks).
> 
> To install the ARM version of mirage:
> 
> $ opam init
> $ wget https://github.com/mirage/mirage-xen-minios/releases/download/v0.2/mirage-xen-minios-v0.2.tar.bz2
> $ tar xjf mirage-xen-minios-v0.2.tar.bz2
> $ cd mirage-xen-minios
> $ make
> $ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
> $ opam pin mirage-xen https://github.com/mirage/mirage-platform
> $ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
> $ opam install mirage
> 

Minor improvement now, since `mirage-xen-minios` has been integrated upstream into OPAM.


$ opam install mirage-minios-xen
$ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
$ opam pin mirage-xen https://github.com/mirage/mirage-platform
$ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
$ opam install mirage


> You should now be able to follow the rest of the Mirage tutorial:
> 
>  http://openmirage.org/wiki/hello-world
> 
> Notes:
> 
> 1. On my network, the mDNS name is only available briefly. I think my
> router may be blocking queries. If so, you might want to assign a
> fixed IP address soon after connecting.
> 
> 2. If you try to build a unikernel with an HTTP server, it may
> complain that it can't link -lssl (and other libraries). For now, you
> can edit the Makefile to remove the extra libraries.

This was due to an incorrect Unix dependency sneaking into Cohttp_lwt.
I've put a candidate fix in:
   https://github.com/mirage/ocaml-cohttp/pull/152

cheers,
Anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:42:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8oZx-0002v9-Dp; Sun, 20 Jul 2014 10:42:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andy.ray@ujamjar.com>) id 1X8oZw-0002v4-J9
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:42:52 +0000
Received: from [85.158.139.211:23827] by server-12.bemta-5.messagelabs.com id
	1B/62-11323-B2D9BC35; Sun, 20 Jul 2014 10:42:51 +0000
X-Env-Sender: andy.ray@ujamjar.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1405852970!11107916!1
X-Originating-IP: [31.172.243.2]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18850 invoked from network); 20 Jul 2014 10:42:50 -0000
Received: from vm12460.vps.tagadab.com (HELO www.ujamjar.com) (31.172.243.2)
	by server-14.tower-206.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 20 Jul 2014 10:42:50 -0000
Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com
	[209.85.212.179]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
	(No client certificate requested)
	by www.ujamjar.com (Postfix) with ESMTPSA id 8B09C124388
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 11:42:35 +0100 (BST)
Received: by mail-wi0-f179.google.com with SMTP id f8so2713973wiw.0
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 03:42:30 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.194.243.200 with SMTP id xa8mr11863692wjc.97.1405852949994; 
	Sun, 20 Jul 2014 03:42:29 -0700 (PDT)
Received: by 10.180.106.8 with HTTP; Sun, 20 Jul 2014 03:42:29 -0700 (PDT)
In-Reply-To: <535C1B9F-41A7-4744-AF91-4AF9C302CB7F@citrix.com>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
	<535C1B9F-41A7-4744-AF91-4AF9C302CB7F@citrix.com>
Date: Sun, 20 Jul 2014 11:42:29 +0100
Message-ID: <CAHYOizHbLCdqK6qLyt+2B7GWjtbHC6wkcSpO-x=8N4qDav5tGw@mail.gmail.com>
From: Andy Ray <andy.ray@ujamjar.com>
To: Dave Scott <Dave.Scott@citrix.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

VGhhbmtzIERhdmUgLSBrRnJlZUJTRCBsaXZlcyEKCj4gZG1lc2cKW21pci1hcHBdIEtlcm5lbCBt
b2R1bGUgaXMgYWJvdXQgdG8gbG9hZC4KW21pci1hcHBdIE1lbW9yeSBsaW1pdDogMzIgTUIKaGVs
bG8Kd29ybGQKaGVsbG8Kd29ybGQKaGVsbG8Kd29ybGQKaGVsbG8Kd29ybGQKaGVsbG8Kd29ybGQK
Ck9uIFN1biwgSnVsIDIwLCAyMDE0IGF0IDExOjA2IEFNLCBEYXZlIFNjb3R0IDxEYXZlLlNjb3R0
QGNpdHJpeC5jb20+IHdyb3RlOgo+Cj4gT24gMTkgSnVsIDIwMTQsIGF0IDE5OjAyLCBBbmR5IFJh
eSA8YW5keS5yYXlAdWphbWphci5jb20+IHdyb3RlOgo+Cj4+IE9uIFR1ZSwgQXByIDI5LCAyMDE0
IGF0IDM6MzkgUE0sIEFuaWwgTWFkaGF2YXBlZGR5IDxhbmlsQHJlY29pbC5vcmc+IHdyb3RlOgo+
Pj4gT24gMjkgQXByIDIwMTQsIGF0IDE1OjI4LCBBbmR5IFJheSA8YW5keS5yYXlAdWphbWphci5j
b20+IHdyb3RlOgo+Pj4+Pgo+Pj4+PiBUaGUgcmVhc29uaW5nIGJlaGluZCB0aGUgRnJlZUJTRC9r
ZXJuZWwgYXBwcm9hY2ggaXMgdG8gZ2l2ZSB1cyBhIG5pY2UKPj4+Pj4gY29jb29uIGluIHdoaWNo
IHRvIGxldmVyYWdlIGV4aXN0aW5nIGRldmljZSBkcml2ZXJzIGFuZCBzbG93bHkgbW92ZQo+Pj4+
PiBvdXIgd2F5IGRvd24gdGhlIHN0YWNrLCB3aGlsZSByZXRhaW5pbmcgdGhlIGFiaWxpdHkgdG8g
YmVuY2htYXJrIENQVQo+Pj4+PiBhbmQgbWVtb3J5IHVzYWdlIGFnYWluc3QgdGhlIGV4aXN0aW5n
IChtYXR1cmUgYW5kIG9wdGltaXplZCkgRnJlZUJTRAo+Pj4+PiBkcml2ZXJzLgo+Pj4+Cj4+Pj4K
Pj4+PiBJIHdpbGwgYmUgc3RhcnRpbmcgdG8gcG9ydCB0aGUgeDg2IGtlcm5lbCBwcm90b3R5cGUg
dG8gYXJtIGJ5IHRoZSBlbmQKPj4+PiBvZiB0aGUgd2Vlay4gIFRoZW4gSSdtIGF3YXkgb24gaG9s
aWRheSBmb3IgYSBiaXQgc28gaXQgbWF5IGJlIGEgd2hpbGUKPj4+PiBiZWZvcmUgSSBoYXZlIGl0
IHdvcmtpbmcuCj4+Cj4+Cj4+IFNvIGFmdGVyIHZhcmlvdXMgZGlzdHJhY3Rpb25zIEkgZmluYWxs
eSBnb3QgYmFjayB0byBsb29raW5nIGF0IHRoaXMKPj4gc3R1ZmYgdGhpcyB3ZWVrLgo+Pgo+PiBJ
J3ZlIGJlZW4gdHJ5aW5nIHRvIGdldCB0aGUgeDg2IHByb3RvdHlwZSB3b3JraW5nIHRvIHN0YXJ0
IHdpdGggd2hpY2gKPj4gaGFzIG5vdCBwcm92ZWQgdG8gYmUgc28gZWFzeS4gIExvbmcgc3Rvcnkg
c2hvcnQgSSBkZWNpZGVkIHRvIGJpdGUgdGhlCj4+IGJ1bGxldCBhbmQgc3RhcnQgdG8gdXBkYXRl
IGV2ZXJ5dGhpbmcgdG8gdGhlIGxhdGVzdCBtaXJhZ2UgdmVyc2lvbi4KPj4KPj4gaHR0cHM6Ly9n
aXRodWIuY29tL2FuZHJld3JheS9vcGFtLW1pcmFnZS1rZnJlZWJzZAo+Pgo+Pj4gb3BhbSByZW1v
dGUgYWRkIG9wYW0tbWlyYWdlLWtmcmVlYnNkIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyZXdyYXkv
b3BhbS1taXJhZ2Uta2ZyZWVic2QKPj4+IG9wYW0gdXBkYXRlCj4+PiBvcGFtIHN3aXRjaCA0LjAx
LjBiZXRhMSttaXJhZ2Uta2ZyZWVic2QKPj4+IGV2YWwgYG9wYW0gY29uZmlnIGVudmAKPj4+IG9w
YW0gaW5zdGFsbCBtaXJhZ2Uta2ZyZWVic2QgbWlyYWdlIG1pcmFnZS1jb25zb2xlLWtmcmVlYnNk
Cj4+IChJIHRoaW5rIHRoYXRzIHJpZ2h0IC0gSSdsbCByZWluc3RhbGwgY2xlYW4gYW5kIGNoZWNr
IHNvb24pLgo+Pgo+PiBJJ3ZlIGRlYWx0IHdpdGggYSBmZXcgdGhpbmdzIHNvIGZhcjsKPj4KPj4g
KiBGcmVlQlNEMTAgLSB1c2VzIGNsYW5nIC0gc29tZSBrZnJlZXNiZCBvY2FtbCBydW50aW1lIGlz
c3VlcyBuZWVkZWQKPj4gZml4ZWQgKG1haW5seSBoYXJzaGVyIHdhcm5pbmdzIGFzIGVycm9ycyBm
cm9tIGNsYW5nKQo+PiAqIG5hdGR5bmxpbmsvcGljIGlzIHVuYXZhaWxhYmxlIC0gdmFyaW91cyBw
YWNrYWdlcyBhcmUgcGF0Y2hlZCB0bwo+PiByZW1vdmUgY214cyBnZW5lcmF0aW9uCj4+ICogbmF0
aXZlIGNvZGUgZXhlcz0+Ynl0ZSBjb2RlIGV4ZXMgaWYgdGhleSBkeW5saW5rIChtaXJhZ2UsIEkn
bSBsb29raW5nIGF0IHlvdSkKPj4KPj4gRnVydGhlciwgdGhlIG9sZGVyIG1pcmFyaSB3aXRoIGtm
cmVlYnNkIGFwcCB3aXRoIHNvbWUgc3VwcG9ydCBsaWJzIGlzCj4+IGFsc28gdXBkYXRlZCBhcyBh
IChub3Qgd29ya2luZyBub3cgYnV0IHVzZWQgdG8pIHJlZmVyZW5jZSBwb2ludC4KPj4KPj4gVGhl
IG1haW4gcG9pbnQgb2YgcHJvZ3Jlc3MgaXMgaW4gdGhpcyBwcm9qZWN0Owo+Pgo+PiBodHRwczov
L2dpdGh1Yi5jb20vYW5kcmV3cmF5L2tmcmVlYnNkLWNvbnNvbGUKPj4KPj4+IGdtYWtlIF9idWls
ZC9tYWluLmtvCj4+PiBzdWRvIGtsZGxvYWQgX2J1aWxkL21haW4ua28KPj4KPj4gVGhpcyBpcyBh
IGhhY2sgd2hpY2ggdXNlZAo+Pgo+Pj4gbWlyYWdlIGNvbmZpZ3VyZSAtdW5peAo+Pgo+PiBvbiB0
aGUgbWlyYWdlLXNrZWxldG9uL2NvbnNvbGUgcHJvamVjdCB0aGVuIHN0dWRpZWQgbWlyYXJpIG91
dHB1dCBhbmQKPj4gaGFja2VkIHZhcmlvdXMgYml0cyB0b2dldGhlciB0byBlbmQgdXAgd2l0aAo+
Pgo+Pj4gZG1lc2cKPj4gW21pci1hcHBdIEtlcm5lbCBtb2R1bGUgaXMgYWJvdXQgdG8gbG9hZC4K
Pj4gW21pci1hcHBdIE1lbW9yeSBsaW1pdDogMzIgTUIKPj4gRmF0YWwgZXJyb3I6IGV4Y2VwdGlv
biBBc3NlcnRfZmFpbHVyZSgiZmlsZW5hbWUubWwiLCAxODksIDkpCj4KPiBUaGlzIGxvb2tzIGxp
a2UgYSBwcm9ibGVtIEkgaGl0IGJlZm9yZSwgd2hlcmUgYSB0b3AtbGV2ZWwgYmluZGluZyBpbiBG
aWxlbmFtZSBleHBlY3RzIFN5cy5vc192ZXJzaW9uIHRvIGJlIOKAnFVuaXjigJ0gKHByZXZpb3Vz
bHkgd2UgY2FsbGVkIG91cnNlbHZlcyDigJx4ZW7igJ0pOgo+Cj4gaHR0cHM6Ly9naXRodWIuY29t
L21pcmFnZS9taXJhZ2UtcGxhdGZvcm0vY29tbWl0LzVhMjI5NzU4N2MyNDUyNzU4YmMwYjBkOGJh
ZWE3ZjEzNmQxODNlYjcKPgo+IENoZWVycywKPiBEYXZlCj4KPj4gW21pci1hcHBdIEZ1bmN0aW9u
ICdPUy5NYWluLnJ1bicgY291bGQgbm90IGJlIGZvdW5kLgo+Pgo+PiBTbyBpdCBkb2Vzbid0IHdv
cmssIGJ1dCB0aGF0IGxvb2tzIHZlcnkgbXVjaCBsaWtlIGFuIE9DYW1sIHByb2dyYW0gdG8KPj4g
bWUgd2hpY2ggaXMgbW9zdCBlbmNvdXJhZ2luZy4KPj4KPj4gRm9yIG5vdyBpdHMgdGltZSBmb3Ig
dGhlIHB1YiBidXQgdGhlIG5leHQgc3RlcHMgYXJlIHRvIHRyeSBhbmQgZ2V0Cj4+IHRoaXMgc2lt
cGxlIGFwcCB0byB3b3JrIHByb3Blcmx5IGFuZCB0aGVuIGZpeCB0aGUgbWlyYWdlIGFwcGxpY2F0
aW9uCj4+IHRvIGdlbmVyYXRlIHRoZSBidWlsZCBzY3JpcHRzIGFwcHJvcHJpYXRlbHkuCj4+Cj4+
IENoZWVycywKPj4gQW5keQo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwo+PiBNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gTWlyYWdlT1Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKPj4gaHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZlbAo+CgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cDovL2xpc3RzLnhl
bnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:42:55 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8oZx-0002v9-Dp; Sun, 20 Jul 2014 10:42:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andy.ray@ujamjar.com>) id 1X8oZw-0002v4-J9
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:42:52 +0000
Received: from [85.158.139.211:23827] by server-12.bemta-5.messagelabs.com id
	1B/62-11323-B2D9BC35; Sun, 20 Jul 2014 10:42:51 +0000
X-Env-Sender: andy.ray@ujamjar.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1405852970!11107916!1
X-Originating-IP: [31.172.243.2]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18850 invoked from network); 20 Jul 2014 10:42:50 -0000
Received: from vm12460.vps.tagadab.com (HELO www.ujamjar.com) (31.172.243.2)
	by server-14.tower-206.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 20 Jul 2014 10:42:50 -0000
Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com
	[209.85.212.179]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
	(No client certificate requested)
	by www.ujamjar.com (Postfix) with ESMTPSA id 8B09C124388
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 11:42:35 +0100 (BST)
Received: by mail-wi0-f179.google.com with SMTP id f8so2713973wiw.0
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 03:42:30 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.194.243.200 with SMTP id xa8mr11863692wjc.97.1405852949994; 
	Sun, 20 Jul 2014 03:42:29 -0700 (PDT)
Received: by 10.180.106.8 with HTTP; Sun, 20 Jul 2014 03:42:29 -0700 (PDT)
In-Reply-To: <535C1B9F-41A7-4744-AF91-4AF9C302CB7F@citrix.com>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
	<535C1B9F-41A7-4744-AF91-4AF9C302CB7F@citrix.com>
Date: Sun, 20 Jul 2014 11:42:29 +0100
Message-ID: <CAHYOizHbLCdqK6qLyt+2B7GWjtbHC6wkcSpO-x=8N4qDav5tGw@mail.gmail.com>
From: Andy Ray <andy.ray@ujamjar.com>
To: Dave Scott <Dave.Scott@citrix.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

VGhhbmtzIERhdmUgLSBrRnJlZUJTRCBsaXZlcyEKCj4gZG1lc2cKW21pci1hcHBdIEtlcm5lbCBt
b2R1bGUgaXMgYWJvdXQgdG8gbG9hZC4KW21pci1hcHBdIE1lbW9yeSBsaW1pdDogMzIgTUIKaGVs
bG8Kd29ybGQKaGVsbG8Kd29ybGQKaGVsbG8Kd29ybGQKaGVsbG8Kd29ybGQKaGVsbG8Kd29ybGQK
Ck9uIFN1biwgSnVsIDIwLCAyMDE0IGF0IDExOjA2IEFNLCBEYXZlIFNjb3R0IDxEYXZlLlNjb3R0
QGNpdHJpeC5jb20+IHdyb3RlOgo+Cj4gT24gMTkgSnVsIDIwMTQsIGF0IDE5OjAyLCBBbmR5IFJh
eSA8YW5keS5yYXlAdWphbWphci5jb20+IHdyb3RlOgo+Cj4+IE9uIFR1ZSwgQXByIDI5LCAyMDE0
IGF0IDM6MzkgUE0sIEFuaWwgTWFkaGF2YXBlZGR5IDxhbmlsQHJlY29pbC5vcmc+IHdyb3RlOgo+
Pj4gT24gMjkgQXByIDIwMTQsIGF0IDE1OjI4LCBBbmR5IFJheSA8YW5keS5yYXlAdWphbWphci5j
b20+IHdyb3RlOgo+Pj4+Pgo+Pj4+PiBUaGUgcmVhc29uaW5nIGJlaGluZCB0aGUgRnJlZUJTRC9r
ZXJuZWwgYXBwcm9hY2ggaXMgdG8gZ2l2ZSB1cyBhIG5pY2UKPj4+Pj4gY29jb29uIGluIHdoaWNo
IHRvIGxldmVyYWdlIGV4aXN0aW5nIGRldmljZSBkcml2ZXJzIGFuZCBzbG93bHkgbW92ZQo+Pj4+
PiBvdXIgd2F5IGRvd24gdGhlIHN0YWNrLCB3aGlsZSByZXRhaW5pbmcgdGhlIGFiaWxpdHkgdG8g
YmVuY2htYXJrIENQVQo+Pj4+PiBhbmQgbWVtb3J5IHVzYWdlIGFnYWluc3QgdGhlIGV4aXN0aW5n
IChtYXR1cmUgYW5kIG9wdGltaXplZCkgRnJlZUJTRAo+Pj4+PiBkcml2ZXJzLgo+Pj4+Cj4+Pj4K
Pj4+PiBJIHdpbGwgYmUgc3RhcnRpbmcgdG8gcG9ydCB0aGUgeDg2IGtlcm5lbCBwcm90b3R5cGUg
dG8gYXJtIGJ5IHRoZSBlbmQKPj4+PiBvZiB0aGUgd2Vlay4gIFRoZW4gSSdtIGF3YXkgb24gaG9s
aWRheSBmb3IgYSBiaXQgc28gaXQgbWF5IGJlIGEgd2hpbGUKPj4+PiBiZWZvcmUgSSBoYXZlIGl0
IHdvcmtpbmcuCj4+Cj4+Cj4+IFNvIGFmdGVyIHZhcmlvdXMgZGlzdHJhY3Rpb25zIEkgZmluYWxs
eSBnb3QgYmFjayB0byBsb29raW5nIGF0IHRoaXMKPj4gc3R1ZmYgdGhpcyB3ZWVrLgo+Pgo+PiBJ
J3ZlIGJlZW4gdHJ5aW5nIHRvIGdldCB0aGUgeDg2IHByb3RvdHlwZSB3b3JraW5nIHRvIHN0YXJ0
IHdpdGggd2hpY2gKPj4gaGFzIG5vdCBwcm92ZWQgdG8gYmUgc28gZWFzeS4gIExvbmcgc3Rvcnkg
c2hvcnQgSSBkZWNpZGVkIHRvIGJpdGUgdGhlCj4+IGJ1bGxldCBhbmQgc3RhcnQgdG8gdXBkYXRl
IGV2ZXJ5dGhpbmcgdG8gdGhlIGxhdGVzdCBtaXJhZ2UgdmVyc2lvbi4KPj4KPj4gaHR0cHM6Ly9n
aXRodWIuY29tL2FuZHJld3JheS9vcGFtLW1pcmFnZS1rZnJlZWJzZAo+Pgo+Pj4gb3BhbSByZW1v
dGUgYWRkIG9wYW0tbWlyYWdlLWtmcmVlYnNkIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyZXdyYXkv
b3BhbS1taXJhZ2Uta2ZyZWVic2QKPj4+IG9wYW0gdXBkYXRlCj4+PiBvcGFtIHN3aXRjaCA0LjAx
LjBiZXRhMSttaXJhZ2Uta2ZyZWVic2QKPj4+IGV2YWwgYG9wYW0gY29uZmlnIGVudmAKPj4+IG9w
YW0gaW5zdGFsbCBtaXJhZ2Uta2ZyZWVic2QgbWlyYWdlIG1pcmFnZS1jb25zb2xlLWtmcmVlYnNk
Cj4+IChJIHRoaW5rIHRoYXRzIHJpZ2h0IC0gSSdsbCByZWluc3RhbGwgY2xlYW4gYW5kIGNoZWNr
IHNvb24pLgo+Pgo+PiBJJ3ZlIGRlYWx0IHdpdGggYSBmZXcgdGhpbmdzIHNvIGZhcjsKPj4KPj4g
KiBGcmVlQlNEMTAgLSB1c2VzIGNsYW5nIC0gc29tZSBrZnJlZXNiZCBvY2FtbCBydW50aW1lIGlz
c3VlcyBuZWVkZWQKPj4gZml4ZWQgKG1haW5seSBoYXJzaGVyIHdhcm5pbmdzIGFzIGVycm9ycyBm
cm9tIGNsYW5nKQo+PiAqIG5hdGR5bmxpbmsvcGljIGlzIHVuYXZhaWxhYmxlIC0gdmFyaW91cyBw
YWNrYWdlcyBhcmUgcGF0Y2hlZCB0bwo+PiByZW1vdmUgY214cyBnZW5lcmF0aW9uCj4+ICogbmF0
aXZlIGNvZGUgZXhlcz0+Ynl0ZSBjb2RlIGV4ZXMgaWYgdGhleSBkeW5saW5rIChtaXJhZ2UsIEkn
bSBsb29raW5nIGF0IHlvdSkKPj4KPj4gRnVydGhlciwgdGhlIG9sZGVyIG1pcmFyaSB3aXRoIGtm
cmVlYnNkIGFwcCB3aXRoIHNvbWUgc3VwcG9ydCBsaWJzIGlzCj4+IGFsc28gdXBkYXRlZCBhcyBh
IChub3Qgd29ya2luZyBub3cgYnV0IHVzZWQgdG8pIHJlZmVyZW5jZSBwb2ludC4KPj4KPj4gVGhl
IG1haW4gcG9pbnQgb2YgcHJvZ3Jlc3MgaXMgaW4gdGhpcyBwcm9qZWN0Owo+Pgo+PiBodHRwczov
L2dpdGh1Yi5jb20vYW5kcmV3cmF5L2tmcmVlYnNkLWNvbnNvbGUKPj4KPj4+IGdtYWtlIF9idWls
ZC9tYWluLmtvCj4+PiBzdWRvIGtsZGxvYWQgX2J1aWxkL21haW4ua28KPj4KPj4gVGhpcyBpcyBh
IGhhY2sgd2hpY2ggdXNlZAo+Pgo+Pj4gbWlyYWdlIGNvbmZpZ3VyZSAtdW5peAo+Pgo+PiBvbiB0
aGUgbWlyYWdlLXNrZWxldG9uL2NvbnNvbGUgcHJvamVjdCB0aGVuIHN0dWRpZWQgbWlyYXJpIG91
dHB1dCBhbmQKPj4gaGFja2VkIHZhcmlvdXMgYml0cyB0b2dldGhlciB0byBlbmQgdXAgd2l0aAo+
Pgo+Pj4gZG1lc2cKPj4gW21pci1hcHBdIEtlcm5lbCBtb2R1bGUgaXMgYWJvdXQgdG8gbG9hZC4K
Pj4gW21pci1hcHBdIE1lbW9yeSBsaW1pdDogMzIgTUIKPj4gRmF0YWwgZXJyb3I6IGV4Y2VwdGlv
biBBc3NlcnRfZmFpbHVyZSgiZmlsZW5hbWUubWwiLCAxODksIDkpCj4KPiBUaGlzIGxvb2tzIGxp
a2UgYSBwcm9ibGVtIEkgaGl0IGJlZm9yZSwgd2hlcmUgYSB0b3AtbGV2ZWwgYmluZGluZyBpbiBG
aWxlbmFtZSBleHBlY3RzIFN5cy5vc192ZXJzaW9uIHRvIGJlIOKAnFVuaXjigJ0gKHByZXZpb3Vz
bHkgd2UgY2FsbGVkIG91cnNlbHZlcyDigJx4ZW7igJ0pOgo+Cj4gaHR0cHM6Ly9naXRodWIuY29t
L21pcmFnZS9taXJhZ2UtcGxhdGZvcm0vY29tbWl0LzVhMjI5NzU4N2MyNDUyNzU4YmMwYjBkOGJh
ZWE3ZjEzNmQxODNlYjcKPgo+IENoZWVycywKPiBEYXZlCj4KPj4gW21pci1hcHBdIEZ1bmN0aW9u
ICdPUy5NYWluLnJ1bicgY291bGQgbm90IGJlIGZvdW5kLgo+Pgo+PiBTbyBpdCBkb2Vzbid0IHdv
cmssIGJ1dCB0aGF0IGxvb2tzIHZlcnkgbXVjaCBsaWtlIGFuIE9DYW1sIHByb2dyYW0gdG8KPj4g
bWUgd2hpY2ggaXMgbW9zdCBlbmNvdXJhZ2luZy4KPj4KPj4gRm9yIG5vdyBpdHMgdGltZSBmb3Ig
dGhlIHB1YiBidXQgdGhlIG5leHQgc3RlcHMgYXJlIHRvIHRyeSBhbmQgZ2V0Cj4+IHRoaXMgc2lt
cGxlIGFwcCB0byB3b3JrIHByb3Blcmx5IGFuZCB0aGVuIGZpeCB0aGUgbWlyYWdlIGFwcGxpY2F0
aW9uCj4+IHRvIGdlbmVyYXRlIHRoZSBidWlsZCBzY3JpcHRzIGFwcHJvcHJpYXRlbHkuCj4+Cj4+
IENoZWVycywKPj4gQW5keQo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwo+PiBNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gTWlyYWdlT1Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKPj4gaHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZlbAo+CgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cDovL2xpc3RzLnhl
bnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:48:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:48:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8of7-0002xS-2Y; Sun, 20 Jul 2014 10:48:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X8of6-0002xN-Hi
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:48:12 +0000
Received: from [193.109.254.147:32334] by server-7.bemta-14.messagelabs.com id
	C7/39-13362-B6E9BC35; Sun, 20 Jul 2014 10:48:11 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1405853290!18432092!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7189 invoked from network); 20 Jul 2014 10:48:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-7.tower-27.messagelabs.com with SMTP;
	20 Jul 2014 10:48:10 -0000
X-IronPort-AV: E=Sophos;i="5.01,695,1400025600"; d="scan'208";a="23268948"
Received: from unknown (HELO AMSPEX01CL01.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 20 Jul 2014 10:48:11 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.210]) by
	AMSPEX01CL01.citrite.net ([169.254.6.75]) with mapi id 14.03.0181.006;
	Sun, 20 Jul 2014 12:48:10 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Andy Ray <andy.ray@ujamjar.com>
Thread-Topic: [MirageOS-devel] Mirage ARM port
Thread-Index: AQHPVNNAWkpkgcFV0EqwakuL0o112psoj4aAgAAPaICAAARpAIAAAwWAgH+FuQCAAQ1WAIAACgKAgAABkYA=
Date: Sun, 20 Jul 2014 10:48:09 +0000
Message-ID: <5A52C696-29F6-48BD-9CAF-953960F04623@citrix.com>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
	<535C1B9F-41A7-4744-AF91-4AF9C302CB7F@citrix.com>
	<CAHYOizHbLCdqK6qLyt+2B7GWjtbHC6wkcSpO-x=8N4qDav5tGw@mail.gmail.com>
In-Reply-To: <CAHYOizHbLCdqK6qLyt+2B7GWjtbHC6wkcSpO-x=8N4qDav5tGw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <E022386C9C8F534888B0A75F2B7F9F69@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 20 Jul 2014, at 11:42, Andy Ray <andy.ray@ujamjar.com> wrote:

> Thanks Dave - kFreeBSD lives!
> =

>> dmesg
> [mir-app] Kernel module is about to load.
> [mir-app] Memory limit: 32 MB
> hello
> world
> hello
> world
> hello
> world
> hello
> world
> hello
> world

Fantastic!

Dave

> =

> On Sun, Jul 20, 2014 at 11:06 AM, Dave Scott <Dave.Scott@citrix.com> wrot=
e:
>> =

>> On 19 Jul 2014, at 19:02, Andy Ray <andy.ray@ujamjar.com> wrote:
>> =

>>> On Tue, Apr 29, 2014 at 3:39 PM, Anil Madhavapeddy <anil@recoil.org> wr=
ote:
>>>> On 29 Apr 2014, at 15:28, Andy Ray <andy.ray@ujamjar.com> wrote:
>>>>>> =

>>>>>> The reasoning behind the FreeBSD/kernel approach is to give us a nice
>>>>>> cocoon in which to leverage existing device drivers and slowly move
>>>>>> our way down the stack, while retaining the ability to benchmark CPU
>>>>>> and memory usage against the existing (mature and optimized) FreeBSD
>>>>>> drivers.
>>>>> =

>>>>> =

>>>>> I will be starting to port the x86 kernel prototype to arm by the end
>>>>> of the week.  Then I'm away on holiday for a bit so it may be a while
>>>>> before I have it working.
>>> =

>>> =

>>> So after various distractions I finally got back to looking at this
>>> stuff this week.
>>> =

>>> I've been trying to get the x86 prototype working to start with which
>>> has not proved to be so easy.  Long story short I decided to bite the
>>> bullet and start to update everything to the latest mirage version.
>>> =

>>> https://github.com/andrewray/opam-mirage-kfreebsd
>>> =

>>>> opam remote add opam-mirage-kfreebsd https://github.com/andrewray/opam=
-mirage-kfreebsd
>>>> opam update
>>>> opam switch 4.01.0beta1+mirage-kfreebsd
>>>> eval `opam config env`
>>>> opam install mirage-kfreebsd mirage mirage-console-kfreebsd
>>> (I think thats right - I'll reinstall clean and check soon).
>>> =

>>> I've dealt with a few things so far;
>>> =

>>> * FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
>>> fixed (mainly harsher warnings as errors from clang)
>>> * natdynlink/pic is unavailable - various packages are patched to
>>> remove cmxs generation
>>> * native code exes=3D>byte code exes if they dynlink (mirage, I'm looki=
ng at you)
>>> =

>>> Further, the older mirari with kfreebsd app with some support libs is
>>> also updated as a (not working now but used to) reference point.
>>> =

>>> The main point of progress is in this project;
>>> =

>>> https://github.com/andrewray/kfreebsd-console
>>> =

>>>> gmake _build/main.ko
>>>> sudo kldload _build/main.ko
>>> =

>>> This is a hack which used
>>> =

>>>> mirage configure -unix
>>> =

>>> on the mirage-skeleton/console project then studied mirari output and
>>> hacked various bits together to end up with
>>> =

>>>> dmesg
>>> [mir-app] Kernel module is about to load.
>>> [mir-app] Memory limit: 32 MB
>>> Fatal error: exception Assert_failure("filename.ml", 189, 9)
>> =

>> This looks like a problem I hit before, where a top-level binding in Fil=
ename expects Sys.os_version to be =93Unix=94 (previously we called ourselv=
es =93xen=94):
>> =

>> https://github.com/mirage/mirage-platform/commit/5a2297587c2452758bc0b0d=
8baea7f136d183eb7
>> =

>> Cheers,
>> Dave
>> =

>>> [mir-app] Function 'OS.Main.run' could not be found.
>>> =

>>> So it doesn't work, but that looks very much like an OCaml program to
>>> me which is most encouraging.
>>> =

>>> For now its time for the pub but the next steps are to try and get
>>> this simple app to work properly and then fix the mirage application
>>> to generate the build scripts appropriately.
>>> =

>>> Cheers,
>>> Andy
>>> =

>>> _______________________________________________
>>> MirageOS-devel mailing list
>>> MirageOS-devel@lists.xenproject.org
>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>> =



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:48:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:48:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8of7-0002xS-2Y; Sun, 20 Jul 2014 10:48:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X8of6-0002xN-Hi
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:48:12 +0000
Received: from [193.109.254.147:32334] by server-7.bemta-14.messagelabs.com id
	C7/39-13362-B6E9BC35; Sun, 20 Jul 2014 10:48:11 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1405853290!18432092!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7189 invoked from network); 20 Jul 2014 10:48:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-7.tower-27.messagelabs.com with SMTP;
	20 Jul 2014 10:48:10 -0000
X-IronPort-AV: E=Sophos;i="5.01,695,1400025600"; d="scan'208";a="23268948"
Received: from unknown (HELO AMSPEX01CL01.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 20 Jul 2014 10:48:11 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.210]) by
	AMSPEX01CL01.citrite.net ([169.254.6.75]) with mapi id 14.03.0181.006;
	Sun, 20 Jul 2014 12:48:10 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Andy Ray <andy.ray@ujamjar.com>
Thread-Topic: [MirageOS-devel] Mirage ARM port
Thread-Index: AQHPVNNAWkpkgcFV0EqwakuL0o112psoj4aAgAAPaICAAARpAIAAAwWAgH+FuQCAAQ1WAIAACgKAgAABkYA=
Date: Sun, 20 Jul 2014 10:48:09 +0000
Message-ID: <5A52C696-29F6-48BD-9CAF-953960F04623@citrix.com>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
	<535C1B9F-41A7-4744-AF91-4AF9C302CB7F@citrix.com>
	<CAHYOizHbLCdqK6qLyt+2B7GWjtbHC6wkcSpO-x=8N4qDav5tGw@mail.gmail.com>
In-Reply-To: <CAHYOizHbLCdqK6qLyt+2B7GWjtbHC6wkcSpO-x=8N4qDav5tGw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <E022386C9C8F534888B0A75F2B7F9F69@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 20 Jul 2014, at 11:42, Andy Ray <andy.ray@ujamjar.com> wrote:

> Thanks Dave - kFreeBSD lives!
> =

>> dmesg
> [mir-app] Kernel module is about to load.
> [mir-app] Memory limit: 32 MB
> hello
> world
> hello
> world
> hello
> world
> hello
> world
> hello
> world

Fantastic!

Dave

> =

> On Sun, Jul 20, 2014 at 11:06 AM, Dave Scott <Dave.Scott@citrix.com> wrot=
e:
>> =

>> On 19 Jul 2014, at 19:02, Andy Ray <andy.ray@ujamjar.com> wrote:
>> =

>>> On Tue, Apr 29, 2014 at 3:39 PM, Anil Madhavapeddy <anil@recoil.org> wr=
ote:
>>>> On 29 Apr 2014, at 15:28, Andy Ray <andy.ray@ujamjar.com> wrote:
>>>>>> =

>>>>>> The reasoning behind the FreeBSD/kernel approach is to give us a nice
>>>>>> cocoon in which to leverage existing device drivers and slowly move
>>>>>> our way down the stack, while retaining the ability to benchmark CPU
>>>>>> and memory usage against the existing (mature and optimized) FreeBSD
>>>>>> drivers.
>>>>> =

>>>>> =

>>>>> I will be starting to port the x86 kernel prototype to arm by the end
>>>>> of the week.  Then I'm away on holiday for a bit so it may be a while
>>>>> before I have it working.
>>> =

>>> =

>>> So after various distractions I finally got back to looking at this
>>> stuff this week.
>>> =

>>> I've been trying to get the x86 prototype working to start with which
>>> has not proved to be so easy.  Long story short I decided to bite the
>>> bullet and start to update everything to the latest mirage version.
>>> =

>>> https://github.com/andrewray/opam-mirage-kfreebsd
>>> =

>>>> opam remote add opam-mirage-kfreebsd https://github.com/andrewray/opam=
-mirage-kfreebsd
>>>> opam update
>>>> opam switch 4.01.0beta1+mirage-kfreebsd
>>>> eval `opam config env`
>>>> opam install mirage-kfreebsd mirage mirage-console-kfreebsd
>>> (I think thats right - I'll reinstall clean and check soon).
>>> =

>>> I've dealt with a few things so far;
>>> =

>>> * FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
>>> fixed (mainly harsher warnings as errors from clang)
>>> * natdynlink/pic is unavailable - various packages are patched to
>>> remove cmxs generation
>>> * native code exes=3D>byte code exes if they dynlink (mirage, I'm looki=
ng at you)
>>> =

>>> Further, the older mirari with kfreebsd app with some support libs is
>>> also updated as a (not working now but used to) reference point.
>>> =

>>> The main point of progress is in this project;
>>> =

>>> https://github.com/andrewray/kfreebsd-console
>>> =

>>>> gmake _build/main.ko
>>>> sudo kldload _build/main.ko
>>> =

>>> This is a hack which used
>>> =

>>>> mirage configure -unix
>>> =

>>> on the mirage-skeleton/console project then studied mirari output and
>>> hacked various bits together to end up with
>>> =

>>>> dmesg
>>> [mir-app] Kernel module is about to load.
>>> [mir-app] Memory limit: 32 MB
>>> Fatal error: exception Assert_failure("filename.ml", 189, 9)
>> =

>> This looks like a problem I hit before, where a top-level binding in Fil=
ename expects Sys.os_version to be =93Unix=94 (previously we called ourselv=
es =93xen=94):
>> =

>> https://github.com/mirage/mirage-platform/commit/5a2297587c2452758bc0b0d=
8baea7f136d183eb7
>> =

>> Cheers,
>> Dave
>> =

>>> [mir-app] Function 'OS.Main.run' could not be found.
>>> =

>>> So it doesn't work, but that looks very much like an OCaml program to
>>> me which is most encouraging.
>>> =

>>> For now its time for the pub but the next steps are to try and get
>>> this simple app to work properly and then fix the mirage application
>>> to generate the build scripts appropriately.
>>> =

>>> Cheers,
>>> Andy
>>> =

>>> _______________________________________________
>>> MirageOS-devel mailing list
>>> MirageOS-devel@lists.xenproject.org
>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>> =



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:57:09 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:57:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8onj-0003LH-Vw; Sun, 20 Jul 2014 10:57:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X8onj-0003L9-72
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:57:07 +0000
Received: from [85.158.143.35:60036] by server-3.bemta-4.messagelabs.com id
	E6/1A-09960-280ABC35; Sun, 20 Jul 2014 10:57:06 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1405853823!18896242!1
X-Originating-IP: [209.85.219.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18777 invoked from network); 20 Jul 2014 10:57:04 -0000
Received: from mail-oa0-f50.google.com (HELO mail-oa0-f50.google.com)
	(209.85.219.50)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	20 Jul 2014 10:57:04 -0000
Received: by mail-oa0-f50.google.com with SMTP id g18so5842128oah.37
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 03:57:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=zOBUlnzUatHy3tDR7uZWcexMuppY0GmYJfJmkpJo5bQ=;
	b=dkvCQzjsdBLvW9f0Fhd0ds2wdzeHUU55L3lt3GhcbS1d63S6SJjmphnedLDxlL5vE3
	zMcz+wrtCcb8T2fllXwSnfrSB2VqdDPKCQA6c71cnFvJoLZ9WZkRpLrB/RLsParIIRNS
	+K682XQp1eKhIWr0sWhhQwbmqDsZTt4kqZluehvznC8H4tJ+TxIVS+F5+CNo0othPKNo
	sXSszdABluJm92gzoCocbG4VV145Ncj6uSuxe/P2GH2T3JxYNAEQbh5lF1dZLbvMTWzT
	vijzc7XY+N+dqnLkvjNSZGMDYiZEnMdQBz3jKv+tfZOVsOwmNe56bUsE0cGOb5NLYCMP
	+UEw==
MIME-Version: 1.0
X-Received: by 10.60.176.134 with SMTP id ci6mr3415797oec.85.1405853823375;
	Sun, 20 Jul 2014 03:57:03 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Sun, 20 Jul 2014 03:57:03 -0700 (PDT)
In-Reply-To: <977EECB5-9654-4008-8376-E6F3781A7940@recoil.org>
References: <CAG4opy94qzfm+=3RfAg5+Qmv5Ha=h7Mb8z5soTY462ssGPZ7Jw@mail.gmail.com>
	<977EECB5-9654-4008-8376-E6F3781A7940@recoil.org>
Date: Sun, 20 Jul 2014 11:57:03 +0100
Message-ID: <CAG4opy8_SxREm3w+VLKP9dE_3wA7sFBwvo=r1=aUsFcGrkPjXw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Pre-built Xen images for Cubieboard/CubieTruck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 20 July 2014 11:07, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 20 Jul 2014, at 09:08, Thomas Leonard <talex5@gmail.com> wrote:
>
>> I've uploaded some pre-built images here:
>>
>> http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2 (Cubieboard 2)
>> http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2 (CubieTruck)
>>
>> (built from current https://github.com/mirage/xen-arm-builder)
>>
>> I'd be interested to hear from anyone with these devices whether they
>> work for you. To test:
>>
>> 1. Download and unpack the image for your board.
>>
>> 2. Copy to the SDcard, e.g.
>>    dd if=cubie.img of=/dev/mmcblk0
>>
>> 3. Boot the device. It should get an IP address by DHCP.
>
> On MacOS X, the dd instructions are:
>
> 1. Find the disk device of the card you inserted
>    sudo diskutil list
>    (e.g. disk2)
>
> 2. unmount the disk images
>    sudo diskutil unmountDIsk /dev/diskN
>
> 3. sudo dd if=cubie.img of=/dev/rdiskN bs=64k
>
> Without the 'rdisk' in the output file, the copying will be extremely slow
> due to buffering.
>
>>
>> The devices announce a .local name using mDNS, so you should be able
>> to ssh to $BOARD.local, e.g.
>>
>>  ssh mirage@cubieboard2.local.
>>
>> (password: mirage)
>>
>> You should now have a working Xen host ("xl list" to list current VMs,
>> "lvcreate" to create guest disks).
>>
>> To install the ARM version of mirage:
>>
>> $ opam init
>> $ wget https://github.com/mirage/mirage-xen-minios/releases/download/v0.2/mirage-xen-minios-v0.2.tar.bz2
>> $ tar xjf mirage-xen-minios-v0.2.tar.bz2
>> $ cd mirage-xen-minios
>> $ make
>> $ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
>> $ opam pin mirage-xen https://github.com/mirage/mirage-platform
>> $ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
>> $ opam install mirage
>>
>
> Minor improvement now, since `mirage-xen-minios` has been integrated upstream into OPAM.
>
>
> $ opam install mirage-minios-xen

Note: looks like it's actually:

$ opam install mirage-xen-minios

> $ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
> $ opam pin mirage-xen https://github.com/mirage/mirage-platform
> $ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
> $ opam install mirage
>
>> You should now be able to follow the rest of the Mirage tutorial:
>>
>>  http://openmirage.org/wiki/hello-world
>>
>> Notes:
>>
>> 1. On my network, the mDNS name is only available briefly. I think my
>> router may be blocking queries. If so, you might want to assign a
>> fixed IP address soon after connecting.
>>
>> 2. If you try to build a unikernel with an HTTP server, it may
>> complain that it can't link -lssl (and other libraries). For now, you
>> can edit the Makefile to remove the extra libraries.
>
> This was due to an incorrect Unix dependency sneaking into Cohttp_lwt.
> I've put a candidate fix in:
>    https://github.com/mirage/ocaml-cohttp/pull/152

Thanks!


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 10:57:09 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 10:57:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8onj-0003LH-Vw; Sun, 20 Jul 2014 10:57:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X8onj-0003L9-72
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 10:57:07 +0000
Received: from [85.158.143.35:60036] by server-3.bemta-4.messagelabs.com id
	E6/1A-09960-280ABC35; Sun, 20 Jul 2014 10:57:06 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1405853823!18896242!1
X-Originating-IP: [209.85.219.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18777 invoked from network); 20 Jul 2014 10:57:04 -0000
Received: from mail-oa0-f50.google.com (HELO mail-oa0-f50.google.com)
	(209.85.219.50)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	20 Jul 2014 10:57:04 -0000
Received: by mail-oa0-f50.google.com with SMTP id g18so5842128oah.37
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 03:57:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=zOBUlnzUatHy3tDR7uZWcexMuppY0GmYJfJmkpJo5bQ=;
	b=dkvCQzjsdBLvW9f0Fhd0ds2wdzeHUU55L3lt3GhcbS1d63S6SJjmphnedLDxlL5vE3
	zMcz+wrtCcb8T2fllXwSnfrSB2VqdDPKCQA6c71cnFvJoLZ9WZkRpLrB/RLsParIIRNS
	+K682XQp1eKhIWr0sWhhQwbmqDsZTt4kqZluehvznC8H4tJ+TxIVS+F5+CNo0othPKNo
	sXSszdABluJm92gzoCocbG4VV145Ncj6uSuxe/P2GH2T3JxYNAEQbh5lF1dZLbvMTWzT
	vijzc7XY+N+dqnLkvjNSZGMDYiZEnMdQBz3jKv+tfZOVsOwmNe56bUsE0cGOb5NLYCMP
	+UEw==
MIME-Version: 1.0
X-Received: by 10.60.176.134 with SMTP id ci6mr3415797oec.85.1405853823375;
	Sun, 20 Jul 2014 03:57:03 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Sun, 20 Jul 2014 03:57:03 -0700 (PDT)
In-Reply-To: <977EECB5-9654-4008-8376-E6F3781A7940@recoil.org>
References: <CAG4opy94qzfm+=3RfAg5+Qmv5Ha=h7Mb8z5soTY462ssGPZ7Jw@mail.gmail.com>
	<977EECB5-9654-4008-8376-E6F3781A7940@recoil.org>
Date: Sun, 20 Jul 2014 11:57:03 +0100
Message-ID: <CAG4opy8_SxREm3w+VLKP9dE_3wA7sFBwvo=r1=aUsFcGrkPjXw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Pre-built Xen images for Cubieboard/CubieTruck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 20 July 2014 11:07, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 20 Jul 2014, at 09:08, Thomas Leonard <talex5@gmail.com> wrote:
>
>> I've uploaded some pre-built images here:
>>
>> http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2 (Cubieboard 2)
>> http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2 (CubieTruck)
>>
>> (built from current https://github.com/mirage/xen-arm-builder)
>>
>> I'd be interested to hear from anyone with these devices whether they
>> work for you. To test:
>>
>> 1. Download and unpack the image for your board.
>>
>> 2. Copy to the SDcard, e.g.
>>    dd if=cubie.img of=/dev/mmcblk0
>>
>> 3. Boot the device. It should get an IP address by DHCP.
>
> On MacOS X, the dd instructions are:
>
> 1. Find the disk device of the card you inserted
>    sudo diskutil list
>    (e.g. disk2)
>
> 2. unmount the disk images
>    sudo diskutil unmountDIsk /dev/diskN
>
> 3. sudo dd if=cubie.img of=/dev/rdiskN bs=64k
>
> Without the 'rdisk' in the output file, the copying will be extremely slow
> due to buffering.
>
>>
>> The devices announce a .local name using mDNS, so you should be able
>> to ssh to $BOARD.local, e.g.
>>
>>  ssh mirage@cubieboard2.local.
>>
>> (password: mirage)
>>
>> You should now have a working Xen host ("xl list" to list current VMs,
>> "lvcreate" to create guest disks).
>>
>> To install the ARM version of mirage:
>>
>> $ opam init
>> $ wget https://github.com/mirage/mirage-xen-minios/releases/download/v0.2/mirage-xen-minios-v0.2.tar.bz2
>> $ tar xjf mirage-xen-minios-v0.2.tar.bz2
>> $ cd mirage-xen-minios
>> $ make
>> $ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
>> $ opam pin mirage-xen https://github.com/mirage/mirage-platform
>> $ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
>> $ opam install mirage
>>
>
> Minor improvement now, since `mirage-xen-minios` has been integrated upstream into OPAM.
>
>
> $ opam install mirage-minios-xen

Note: looks like it's actually:

$ opam install mirage-xen-minios

> $ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
> $ opam pin mirage-xen https://github.com/mirage/mirage-platform
> $ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
> $ opam install mirage
>
>> You should now be able to follow the rest of the Mirage tutorial:
>>
>>  http://openmirage.org/wiki/hello-world
>>
>> Notes:
>>
>> 1. On my network, the mDNS name is only available briefly. I think my
>> router may be blocking queries. If so, you might want to assign a
>> fixed IP address soon after connecting.
>>
>> 2. If you try to build a unikernel with an HTTP server, it may
>> complain that it can't link -lssl (and other libraries). For now, you
>> can edit the Makefile to remove the extra libraries.
>
> This was due to an incorrect Unix dependency sneaking into Cohttp_lwt.
> I've put a candidate fix in:
>    https://github.com/mirage/ocaml-cohttp/pull/152

Thanks!


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 15:22:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 15:22:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8swk-0005vS-Gv; Sun, 20 Jul 2014 15:22:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tom.jrbrown@yahoo.com>) id 1X8swi-0005vM-Uz
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 15:22:41 +0000
Received: from [85.158.139.211:32615] by server-15.bemta-5.messagelabs.com id
	C6/67-07751-0CEDBC35; Sun, 20 Jul 2014 15:22:40 +0000
X-Env-Sender: tom.jrbrown@yahoo.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1405869757!8958038!1
X-Originating-IP: [98.138.120.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_12,ML_RADAR_SPEW_LINKS_14,ML_RADAR_SPEW_LINKS_5,
	ML_RADAR_SPEW_LINKS_6,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28968 invoked from network); 20 Jul 2014 15:22:38 -0000
Received: from nm45.bullet.mail.ne1.yahoo.com (HELO
	nm45.bullet.mail.ne1.yahoo.com) (98.138.120.52)
	by server-3.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 20 Jul 2014 15:22:38 -0000
Received: from [127.0.0.1] by nm45.bullet.mail.ne1.yahoo.com with NNFMP;
	20 Jul 2014 15:22:36 -0000
Received: from [98.138.101.129] by nm45.bullet.mail.ne1.yahoo.com with NNFMP;
	20 Jul 2014 15:19:48 -0000
Received: from [212.82.98.51] by tm17.bullet.mail.ne1.yahoo.com with NNFMP;
	20 Jul 2014 15:19:48 -0000
Received: from [212.82.98.91] by tm4.bullet.mail.ir2.yahoo.com with NNFMP;
	20 Jul 2014 15:19:47 -0000
Received: from [127.0.0.1] by omp1028.mail.ir2.yahoo.com with NNFMP;
	20 Jul 2014 15:19:47 -0000
X-Yahoo-Newman-Property: ymail-4
X-Yahoo-Newman-Id: 874114.29272.bm@omp1028.mail.ir2.yahoo.com
Received: (qmail 23694 invoked by uid 60001); 20 Jul 2014 15:19:47 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1405869587; bh=M4tcP/WaL3CPwD6oaX/v/IUsq80ca2WRYVX7W+aBfbM=;
	h=References:Message-ID:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type;
	b=IL5CJeNCMDqO5WMmMChh/LYxwQRTFGWTkKupnjyAOd+VcpCzahFrkD86OgjMHptMrRJH1U+1cM8D8mXS9mS+Xq0Z4eG50ksXdWEMrehLPj8e6MrHeoM9cQrO9P82CcdOnCdiwEPNL1RVWpICM70aGaj+GVRCJGDvQkUprYAM3vc=
X-YMail-OSG: 1e7EdDQVM1muwfw04MdCKYdDy9Ug8czYgFYw1yBqqQbgwcG
	9XeOFbp3_YKbIsTzQBXAGhEgRaH3oj_Fjp3o3fn5sNRh7BHSZagI0lQVj1MI
	zn.KdRzUTHBZ16MZH09lvZ0iSvQ.uvx.AK3of35QXqCGUm9ybkY7XKBD_iLy
	4d1C_wY4KRAzfjdHIzH777yy7RpnJlTTc9QCJ._Ih0QpV5CeAjIp4gyiA5QH
	7cViB55emaM74rke_e_XGzoFb73C9.jx9Uf2MJUgjBHmjxShGrUIKW1i3HyL
	A.zuydxW74yjYnmTzY7R_JT2TWYeZCrglJN7HWPt7CogI4L93GwYT4Uv_RFz
	a_QkyKK5mnkAti.AIo1ofMvZsz_qbW2mrFMBf8Zsr_7cUtRqfuT31KVVPYiN
	ZTOnru.l8GUIEc63I0e6ACLE3jWpXBU4qJoSWskxpvu_B6Jng8JA0risCl8X
	LWjuc.QRMMYsMomm01_UxEdFAbuCBgtH97tX1qVYhoZoO4FuwNc8fQk12qKe
	3JTlyvUz7CgXSo2my1fmkgaQaIHS1KWysZch9McaND1KulUuw8Z2adWEzRiZ
	m673TfliaIFKdOPecy0ubNcGPJdOjyCKhNlB5Mws-
Received: from [171.25.193.20] by web172006.mail.ir2.yahoo.com via HTTP;
	Sun, 20 Jul 2014 16:19:47 BST
X-Rocket-MIMEInfo: 002.001,
	QXdlc29tZSEgUGF0Y2ggd29ya2VkIGZpbmUsIHRoYW5rcyBBbmlsLgoKCgoKT24gU2F0dXJkYXksIDE5IEp1bHkgMjAxNCwgMTk6NTcsIEFuaWwgTWFkaGF2YXBlZGR5IDxhbmlsQHJlY29pbC5vcmc.IHdyb3RlOgogCgoKVGhpcyBsb29rcyBsaWtlIGEgYnVnIHRvIG1lLiBDb3VsZCB5b3UgdHJ5IG91dCB0aGUgZml4IGluwqAKaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9taXJhZ2UtdGNwaXAvcHVsbC82MApieSBhbnkgY2hhbmNlPyDCoGBvcGFtIHBpbiB0Y3BpcCBnaXQ6Ly9naXRodWIuY29tL2F2c20vbWkBMAEBAQE-
X-Mailer: YahooMailWebService/0.8.195.680
References: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
	<97755A48-AAA5-42D7-B3DD-68A2C839533F@recoil.org>
Message-ID: <1405869587.48411.YahooMailNeo@web172006.mail.ir2.yahoo.com>
Date: Sun, 20 Jul 2014 16:19:47 +0100
From: Tom Brown <tom.jrbrown@yahoo.com>
To: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <97755A48-AAA5-42D7-B3DD-68A2C839533F@recoil.org>
MIME-Version: 1.0
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Tcpip_checksum error
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Tom Brown <tom.jrbrown@yahoo.com>
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6204904363706910675=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6204904363706910675==
Content-Type: multipart/alternative; boundary="-1282842291-668927159-1405869587=:48411"

---1282842291-668927159-1405869587=:48411
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Awesome! Patch worked fine, thanks Anil.=0A=0A=0A=0A=0AOn Saturday, 19 July=
 2014, 19:57, Anil Madhavapeddy <anil@recoil.org> wrote:=0A =0A=0A=0AThis l=
ooks like a bug to me. Could you try out the fix in=A0=0Ahttps://github.com=
/mirage/mirage-tcpip/pull/60=0Aby any chance? =A0`opam pin tcpip git://gith=
ub.com/avsm/mirage-tcpip#fix-checksum-modules`=0A=0AThe module was exposed =
twice by mistake in both modules, hence the clash. =A0The fix just moves it=
 to the toplevel `tcpip` library.=0A=0AOut of interest, is the test applica=
tion you are using for this available anywhere? =A0It didn't show up in nor=
mal use of the library since it requires linking specifically to it.=0A=0A-=
anil=0A=0AOn 19 Jul 2014, at 16:22, Tom Brown <tom.jrbrown@yahoo.com> wrote=
:=0A=0AHi,=0A>=0A>=0A>When using module Tcpip_checksum (the revised version=
 of Checksum?), I receive the following error:=0A>=0A>=0A>File "_none_", li=
ne 1:=0A>Error: Files /home/user/.opam/system/lib/tcpip/ethif.cmxa=0A>=A0=
=A0=A0=A0=A0=A0 and /home/user/.opam/system/lib/tcpip/ipv4.cmxa=0A>=A0=A0=
=A0=A0=A0=A0 both define a module named Tcpip_checksum=0A>=0A>=0A>Any sugge=
stion to fix this problem?=0A>=0A>=0A>Thanks.=0A>__________________________=
_____________________=0A>MirageOS-devel mailing list=0A>MirageOS-devel@list=
s.xenproject.org=0A>http://lists.xenproject.org/cgi-bin/mailman/listinfo/mi=
rageos-devel=0A>
---1282842291-668927159-1405869587=:48411
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;fo=
nt-size:12pt"><div><span>Awesome! Patch worked fine, thanks Anil.</span></d=
iv><div style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: Helveti=
caNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-=
color: transparent; font-style: normal;"><br><span></span></div><br><div cl=
ass=3D"qtdSeparateBR"><br><br></div><div style=3D"display: block;" class=3D=
"yahoo_quoted"> <div style=3D"font-family: HelveticaNeue, Helvetica Neue, H=
elvetica, Arial, Lucida Grande, Sans-Serif; font-size: 12pt;"> <div style=
=3D"font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Gr=
ande, Sans-Serif; font-size: 12pt;"> <div dir=3D"ltr"> <font face=3D"Arial"=
 size=3D"2"> On Saturday, 19 July 2014, 19:57, Anil Madhavapeddy &lt;anil@r=
ecoil.org&gt; wrote:<br> </font> </div>  <br><br> <div class=3D"y_msg_conta=
iner"><div
 id=3D"yiv7603830387"><div>This looks like a bug to me. Could you try out t=
he fix in&nbsp;<div><a rel=3D"nofollow" shape=3D"rect" target=3D"_blank" hr=
ef=3D"https://github.com/mirage/mirage-tcpip/pull/60">https://github.com/mi=
rage/mirage-tcpip/pull/60</a></div><div>by any chance? &nbsp;`opam pin tcpi=
p <a href=3D"" rel=3D"nofollow" shape=3D"rect">git://github.com/avsm/mirage=
-tcpip#fix-checksum-modules</a>`</div><div><br clear=3D"none"></div><div>Th=
e module was exposed twice by mistake in both modules, hence the clash. &nb=
sp;The fix just moves it to the toplevel `tcpip` library.</div><div><br cle=
ar=3D"none"></div><div>Out of interest, is the test application you are usi=
ng for this available anywhere? &nbsp;It didn't show up in normal use of th=
e library since it requires linking specifically to it.</div><div><br clear=
=3D"none"></div><div>-anil</div><div><br clear=3D"none"></div><div><div><di=
v class=3D"yiv7603830387yqt4370782769" id=3D"yiv7603830387yqt98666"><div>On=
 19 Jul 2014, at
 16:22, Tom Brown &lt;<a rel=3D"nofollow" shape=3D"rect" ymailto=3D"mailto:=
tom.jrbrown@yahoo.com" target=3D"_blank" href=3D"mailto:tom.jrbrown@yahoo.c=
om">tom.jrbrown@yahoo.com</a>&gt; wrote:</div><br class=3D"yiv7603830387App=
le-interchange-newline" clear=3D"none"><blockquote type=3D"cite"><div><div =
style=3D"background-color:rgb(255, 255, 255);font-family:HelveticaNeue, 'He=
lvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:12pt=
;"><div class=3D"yiv7603830387" style=3D"">Hi,</div><div class=3D"yiv760383=
0387" style=3D""><br class=3D"yiv7603830387" style=3D"" clear=3D"none"></di=
v><div class=3D"yiv7603830387" style=3D"font-size:16px;font-family:Helvetic=
aNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;back=
ground-color:transparent;font-style:normal;">When using module Tcpip_checks=
um (the revised version of Checksum?), I receive the following error:</div>=
<div class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaN=
eue, 'Helvetica Neue', Helvetica,
 Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style=
:normal;"><br class=3D"yiv7603830387" style=3D"" clear=3D"none"></div><div =
class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaNeue, =
'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-=
color:transparent;font-style:normal;">File=0A "_none_", line 1:<br class=3D=
"yiv7603830387" style=3D"" clear=3D"none">Error: Files /home/user/.opam/sys=
tem/lib/tcpip/ethif.cmxa<br class=3D"yiv7603830387" style=3D"" clear=3D"non=
e">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and /home/user/.opam/system/lib/tcp=
ip/ipv4.cmxa<br class=3D"yiv7603830387" style=3D"" clear=3D"none">&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; both define a module named Tcpip_checksum</div>=
<div class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaN=
eue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;backgr=
ound-color:transparent;font-style:normal;"><br clear=3D"none"></div><div cl=
ass=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaNeue, 'H=
elvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-co=
lor:transparent;font-style:normal;">Any suggestion to fix this problem?</di=
v><div class=3D"yiv7603830387" style=3D"font-size:16px;font-family:Helvetic=
aNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande',
 sans-serif;background-color:transparent;font-style:normal;"><br clear=3D"n=
one"></div><div class=3D"yiv7603830387" style=3D"font-size:16px;font-family=
:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-s=
erif;background-color:transparent;font-style:normal;">Thanks.<br class=3D"y=
iv7603830387" style=3D"" clear=3D"none"></div></div></div>_________________=
______________________________<br clear=3D"none">MirageOS-devel mailing lis=
t<br clear=3D"none"><a rel=3D"nofollow" shape=3D"rect" ymailto=3D"mailto:Mi=
rageOS-devel@lists.xenproject.org" target=3D"_blank" href=3D"mailto:MirageO=
S-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a><br cl=
ear=3D"none">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-=
devel<br clear=3D"none"></blockquote></div></div><br clear=3D"none"></div><=
/div></div><br><br></div>  </div> </div>  </div> </div></body></html>
---1282842291-668927159-1405869587=:48411--


--===============6204904363706910675==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6204904363706910675==--


From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 15:22:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 15:22:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X8swk-0005vS-Gv; Sun, 20 Jul 2014 15:22:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tom.jrbrown@yahoo.com>) id 1X8swi-0005vM-Uz
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 15:22:41 +0000
Received: from [85.158.139.211:32615] by server-15.bemta-5.messagelabs.com id
	C6/67-07751-0CEDBC35; Sun, 20 Jul 2014 15:22:40 +0000
X-Env-Sender: tom.jrbrown@yahoo.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1405869757!8958038!1
X-Originating-IP: [98.138.120.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_12,ML_RADAR_SPEW_LINKS_14,ML_RADAR_SPEW_LINKS_5,
	ML_RADAR_SPEW_LINKS_6,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28968 invoked from network); 20 Jul 2014 15:22:38 -0000
Received: from nm45.bullet.mail.ne1.yahoo.com (HELO
	nm45.bullet.mail.ne1.yahoo.com) (98.138.120.52)
	by server-3.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 20 Jul 2014 15:22:38 -0000
Received: from [127.0.0.1] by nm45.bullet.mail.ne1.yahoo.com with NNFMP;
	20 Jul 2014 15:22:36 -0000
Received: from [98.138.101.129] by nm45.bullet.mail.ne1.yahoo.com with NNFMP;
	20 Jul 2014 15:19:48 -0000
Received: from [212.82.98.51] by tm17.bullet.mail.ne1.yahoo.com with NNFMP;
	20 Jul 2014 15:19:48 -0000
Received: from [212.82.98.91] by tm4.bullet.mail.ir2.yahoo.com with NNFMP;
	20 Jul 2014 15:19:47 -0000
Received: from [127.0.0.1] by omp1028.mail.ir2.yahoo.com with NNFMP;
	20 Jul 2014 15:19:47 -0000
X-Yahoo-Newman-Property: ymail-4
X-Yahoo-Newman-Id: 874114.29272.bm@omp1028.mail.ir2.yahoo.com
Received: (qmail 23694 invoked by uid 60001); 20 Jul 2014 15:19:47 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1405869587; bh=M4tcP/WaL3CPwD6oaX/v/IUsq80ca2WRYVX7W+aBfbM=;
	h=References:Message-ID:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type;
	b=IL5CJeNCMDqO5WMmMChh/LYxwQRTFGWTkKupnjyAOd+VcpCzahFrkD86OgjMHptMrRJH1U+1cM8D8mXS9mS+Xq0Z4eG50ksXdWEMrehLPj8e6MrHeoM9cQrO9P82CcdOnCdiwEPNL1RVWpICM70aGaj+GVRCJGDvQkUprYAM3vc=
X-YMail-OSG: 1e7EdDQVM1muwfw04MdCKYdDy9Ug8czYgFYw1yBqqQbgwcG
	9XeOFbp3_YKbIsTzQBXAGhEgRaH3oj_Fjp3o3fn5sNRh7BHSZagI0lQVj1MI
	zn.KdRzUTHBZ16MZH09lvZ0iSvQ.uvx.AK3of35QXqCGUm9ybkY7XKBD_iLy
	4d1C_wY4KRAzfjdHIzH777yy7RpnJlTTc9QCJ._Ih0QpV5CeAjIp4gyiA5QH
	7cViB55emaM74rke_e_XGzoFb73C9.jx9Uf2MJUgjBHmjxShGrUIKW1i3HyL
	A.zuydxW74yjYnmTzY7R_JT2TWYeZCrglJN7HWPt7CogI4L93GwYT4Uv_RFz
	a_QkyKK5mnkAti.AIo1ofMvZsz_qbW2mrFMBf8Zsr_7cUtRqfuT31KVVPYiN
	ZTOnru.l8GUIEc63I0e6ACLE3jWpXBU4qJoSWskxpvu_B6Jng8JA0risCl8X
	LWjuc.QRMMYsMomm01_UxEdFAbuCBgtH97tX1qVYhoZoO4FuwNc8fQk12qKe
	3JTlyvUz7CgXSo2my1fmkgaQaIHS1KWysZch9McaND1KulUuw8Z2adWEzRiZ
	m673TfliaIFKdOPecy0ubNcGPJdOjyCKhNlB5Mws-
Received: from [171.25.193.20] by web172006.mail.ir2.yahoo.com via HTTP;
	Sun, 20 Jul 2014 16:19:47 BST
X-Rocket-MIMEInfo: 002.001,
	QXdlc29tZSEgUGF0Y2ggd29ya2VkIGZpbmUsIHRoYW5rcyBBbmlsLgoKCgoKT24gU2F0dXJkYXksIDE5IEp1bHkgMjAxNCwgMTk6NTcsIEFuaWwgTWFkaGF2YXBlZGR5IDxhbmlsQHJlY29pbC5vcmc.IHdyb3RlOgogCgoKVGhpcyBsb29rcyBsaWtlIGEgYnVnIHRvIG1lLiBDb3VsZCB5b3UgdHJ5IG91dCB0aGUgZml4IGluwqAKaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9taXJhZ2UtdGNwaXAvcHVsbC82MApieSBhbnkgY2hhbmNlPyDCoGBvcGFtIHBpbiB0Y3BpcCBnaXQ6Ly9naXRodWIuY29tL2F2c20vbWkBMAEBAQE-
X-Mailer: YahooMailWebService/0.8.195.680
References: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
	<97755A48-AAA5-42D7-B3DD-68A2C839533F@recoil.org>
Message-ID: <1405869587.48411.YahooMailNeo@web172006.mail.ir2.yahoo.com>
Date: Sun, 20 Jul 2014 16:19:47 +0100
From: Tom Brown <tom.jrbrown@yahoo.com>
To: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <97755A48-AAA5-42D7-B3DD-68A2C839533F@recoil.org>
MIME-Version: 1.0
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Tcpip_checksum error
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Tom Brown <tom.jrbrown@yahoo.com>
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6204904363706910675=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6204904363706910675==
Content-Type: multipart/alternative; boundary="-1282842291-668927159-1405869587=:48411"

---1282842291-668927159-1405869587=:48411
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Awesome! Patch worked fine, thanks Anil.=0A=0A=0A=0A=0AOn Saturday, 19 July=
 2014, 19:57, Anil Madhavapeddy <anil@recoil.org> wrote:=0A =0A=0A=0AThis l=
ooks like a bug to me. Could you try out the fix in=A0=0Ahttps://github.com=
/mirage/mirage-tcpip/pull/60=0Aby any chance? =A0`opam pin tcpip git://gith=
ub.com/avsm/mirage-tcpip#fix-checksum-modules`=0A=0AThe module was exposed =
twice by mistake in both modules, hence the clash. =A0The fix just moves it=
 to the toplevel `tcpip` library.=0A=0AOut of interest, is the test applica=
tion you are using for this available anywhere? =A0It didn't show up in nor=
mal use of the library since it requires linking specifically to it.=0A=0A-=
anil=0A=0AOn 19 Jul 2014, at 16:22, Tom Brown <tom.jrbrown@yahoo.com> wrote=
:=0A=0AHi,=0A>=0A>=0A>When using module Tcpip_checksum (the revised version=
 of Checksum?), I receive the following error:=0A>=0A>=0A>File "_none_", li=
ne 1:=0A>Error: Files /home/user/.opam/system/lib/tcpip/ethif.cmxa=0A>=A0=
=A0=A0=A0=A0=A0 and /home/user/.opam/system/lib/tcpip/ipv4.cmxa=0A>=A0=A0=
=A0=A0=A0=A0 both define a module named Tcpip_checksum=0A>=0A>=0A>Any sugge=
stion to fix this problem?=0A>=0A>=0A>Thanks.=0A>__________________________=
_____________________=0A>MirageOS-devel mailing list=0A>MirageOS-devel@list=
s.xenproject.org=0A>http://lists.xenproject.org/cgi-bin/mailman/listinfo/mi=
rageos-devel=0A>
---1282842291-668927159-1405869587=:48411
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;fo=
nt-size:12pt"><div><span>Awesome! Patch worked fine, thanks Anil.</span></d=
iv><div style=3D"color: rgb(0, 0, 0); font-size: 16px; font-family: Helveti=
caNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-=
color: transparent; font-style: normal;"><br><span></span></div><br><div cl=
ass=3D"qtdSeparateBR"><br><br></div><div style=3D"display: block;" class=3D=
"yahoo_quoted"> <div style=3D"font-family: HelveticaNeue, Helvetica Neue, H=
elvetica, Arial, Lucida Grande, Sans-Serif; font-size: 12pt;"> <div style=
=3D"font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Gr=
ande, Sans-Serif; font-size: 12pt;"> <div dir=3D"ltr"> <font face=3D"Arial"=
 size=3D"2"> On Saturday, 19 July 2014, 19:57, Anil Madhavapeddy &lt;anil@r=
ecoil.org&gt; wrote:<br> </font> </div>  <br><br> <div class=3D"y_msg_conta=
iner"><div
 id=3D"yiv7603830387"><div>This looks like a bug to me. Could you try out t=
he fix in&nbsp;<div><a rel=3D"nofollow" shape=3D"rect" target=3D"_blank" hr=
ef=3D"https://github.com/mirage/mirage-tcpip/pull/60">https://github.com/mi=
rage/mirage-tcpip/pull/60</a></div><div>by any chance? &nbsp;`opam pin tcpi=
p <a href=3D"" rel=3D"nofollow" shape=3D"rect">git://github.com/avsm/mirage=
-tcpip#fix-checksum-modules</a>`</div><div><br clear=3D"none"></div><div>Th=
e module was exposed twice by mistake in both modules, hence the clash. &nb=
sp;The fix just moves it to the toplevel `tcpip` library.</div><div><br cle=
ar=3D"none"></div><div>Out of interest, is the test application you are usi=
ng for this available anywhere? &nbsp;It didn't show up in normal use of th=
e library since it requires linking specifically to it.</div><div><br clear=
=3D"none"></div><div>-anil</div><div><br clear=3D"none"></div><div><div><di=
v class=3D"yiv7603830387yqt4370782769" id=3D"yiv7603830387yqt98666"><div>On=
 19 Jul 2014, at
 16:22, Tom Brown &lt;<a rel=3D"nofollow" shape=3D"rect" ymailto=3D"mailto:=
tom.jrbrown@yahoo.com" target=3D"_blank" href=3D"mailto:tom.jrbrown@yahoo.c=
om">tom.jrbrown@yahoo.com</a>&gt; wrote:</div><br class=3D"yiv7603830387App=
le-interchange-newline" clear=3D"none"><blockquote type=3D"cite"><div><div =
style=3D"background-color:rgb(255, 255, 255);font-family:HelveticaNeue, 'He=
lvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:12pt=
;"><div class=3D"yiv7603830387" style=3D"">Hi,</div><div class=3D"yiv760383=
0387" style=3D""><br class=3D"yiv7603830387" style=3D"" clear=3D"none"></di=
v><div class=3D"yiv7603830387" style=3D"font-size:16px;font-family:Helvetic=
aNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;back=
ground-color:transparent;font-style:normal;">When using module Tcpip_checks=
um (the revised version of Checksum?), I receive the following error:</div>=
<div class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaN=
eue, 'Helvetica Neue', Helvetica,
 Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style=
:normal;"><br class=3D"yiv7603830387" style=3D"" clear=3D"none"></div><div =
class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaNeue, =
'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-=
color:transparent;font-style:normal;">File=0A "_none_", line 1:<br class=3D=
"yiv7603830387" style=3D"" clear=3D"none">Error: Files /home/user/.opam/sys=
tem/lib/tcpip/ethif.cmxa<br class=3D"yiv7603830387" style=3D"" clear=3D"non=
e">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and /home/user/.opam/system/lib/tcp=
ip/ipv4.cmxa<br class=3D"yiv7603830387" style=3D"" clear=3D"none">&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; both define a module named Tcpip_checksum</div>=
<div class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaN=
eue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;backgr=
ound-color:transparent;font-style:normal;"><br clear=3D"none"></div><div cl=
ass=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaNeue, 'H=
elvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-co=
lor:transparent;font-style:normal;">Any suggestion to fix this problem?</di=
v><div class=3D"yiv7603830387" style=3D"font-size:16px;font-family:Helvetic=
aNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande',
 sans-serif;background-color:transparent;font-style:normal;"><br clear=3D"n=
one"></div><div class=3D"yiv7603830387" style=3D"font-size:16px;font-family=
:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-s=
erif;background-color:transparent;font-style:normal;">Thanks.<br class=3D"y=
iv7603830387" style=3D"" clear=3D"none"></div></div></div>_________________=
______________________________<br clear=3D"none">MirageOS-devel mailing lis=
t<br clear=3D"none"><a rel=3D"nofollow" shape=3D"rect" ymailto=3D"mailto:Mi=
rageOS-devel@lists.xenproject.org" target=3D"_blank" href=3D"mailto:MirageO=
S-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a><br cl=
ear=3D"none">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-=
devel<br clear=3D"none"></blockquote></div></div><br clear=3D"none"></div><=
/div></div><br><br></div>  </div> </div>  </div> </div></body></html>
---1282842291-668927159-1405869587=:48411--


--===============6204904363706910675==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6204904363706910675==--


From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 22:56:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 22:56:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9023-0006nf-Qt; Sun, 20 Jul 2014 22:56:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9022-0006na-J2
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 22:56:38 +0000
Received: from [85.158.143.35:25645] by server-2.bemta-4.messagelabs.com id
	3B/FD-26128-5294CC35; Sun, 20 Jul 2014 22:56:37 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-21.messagelabs.com!1405896996!18907724!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8444 invoked from network); 20 Jul 2014 22:56:36 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-21.messagelabs.com with SMTP;
	20 Jul 2014 22:56:36 -0000
Received: (qmail 11722 invoked by uid 634); 20 Jul 2014 22:56:35 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from Unknown (HELO [172.31.109.145]) (216.9.110.5)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 20 Jul 2014 23:56:35 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <1405869587.48411.YahooMailNeo@web172006.mail.ir2.yahoo.com>
Date: Sun, 20 Jul 2014 15:56:31 -0700
Message-Id: <87DD3AEE-DDD7-4AF5-960F-C7302ACF86E1@recoil.org>
References: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
	<97755A48-AAA5-42D7-B3DD-68A2C839533F@recoil.org>
	<1405869587.48411.YahooMailNeo@web172006.mail.ir2.yahoo.com>
To: Tom Brown <tom.jrbrown@yahoo.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Tcpip_checksum error
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0983399933065879349=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============0983399933065879349==
Content-Type: multipart/alternative; boundary="Apple-Mail=_53097B65-EA26-43FB-A453-6D73CB8BAA51"


--Apple-Mail=_53097B65-EA26-43FB-A453-6D73CB8BAA51
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

Excellent -- the fix will be in OPAM soon as tcpip-1.1.6:
https://github.com/mirage/mirage-tcpip/releases/tag/v1.1.6
https://github.com/ocaml/opam-repository/pull/2377

(This release also includes Mindy's recent fixes to improve TCP option =
parsing)

-anil

On 20 Jul 2014, at 08:19, Tom Brown <tom.jrbrown@yahoo.com> wrote:

> Awesome! Patch worked fine, thanks Anil.
>=20
>=20
>=20
>=20
> On Saturday, 19 July 2014, 19:57, Anil Madhavapeddy <anil@recoil.org> =
wrote:
>=20
>=20
> This looks like a bug to me. Could you try out the fix in=20
> https://github.com/mirage/mirage-tcpip/pull/60
> by any chance?  `opam pin tcpip =
git://github.com/avsm/mirage-tcpip#fix-checksum-modules`
>=20
> The module was exposed twice by mistake in both modules, hence the =
clash.  The fix just moves it to the toplevel `tcpip` library.
>=20
> Out of interest, is the test application you are using for this =
available anywhere?  It didn't show up in normal use of the library =
since it requires linking specifically to it.
>=20
> -anil
>=20
> On 19 Jul 2014, at 16:22, Tom Brown <tom.jrbrown@yahoo.com> wrote:
>=20
>> Hi,
>>=20
>> When using module Tcpip_checksum (the revised version of Checksum?), =
I receive the following error:
>>=20
>> File "_none_", line 1:
>> Error: Files /home/user/.opam/system/lib/tcpip/ethif.cmxa
>>        and /home/user/.opam/system/lib/tcpip/ipv4.cmxa
>>        both define a module named Tcpip_checksum
>>=20
>> Any suggestion to fix this problem?
>>=20
>> Thanks.
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>=20
>=20
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_53097B65-EA26-43FB-A453-6D73CB8BAA51
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space;">Excellent -- the fix will be in OPAM soon as =
tcpip-1.1.6:<div><a =
href=3D"https://github.com/mirage/mirage-tcpip/releases/tag/v1.1.6">https:=
//github.com/mirage/mirage-tcpip/releases/tag/v1.1.6</a></div><div><a =
href=3D"https://github.com/ocaml/opam-repository/pull/2377">https://github=
.com/ocaml/opam-repository/pull/2377</a></div><div><br></div><div>(This =
release also includes Mindy's recent fixes to improve TCP option =
parsing)</div><div><br></div><div>-anil</div><div><br><div><div>On 20 =
Jul 2014, at 08:19, Tom Brown &lt;<a =
href=3D"mailto:tom.jrbrown@yahoo.com">tom.jrbrown@yahoo.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div><div style=3D"background-color: rgb(255, 255, 255); =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; font-size: 12pt;"><div><span>Awesome! Patch worked =
fine, thanks Anil.</span></div><div style=3D"font-size: 16px; =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; background-color: transparent; font-style: =
normal;"><br><span></span></div><br><div =
class=3D"qtdSeparateBR"><br><br></div><div style=3D"display: block;" =
class=3D"yahoo_quoted"> <div style=3D"font-family: HelveticaNeue, =
Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: =
12pt;"> <div style=3D"font-family: HelveticaNeue, Helvetica Neue, =
Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 12pt;"> <div =
dir=3D"ltr"> <font face=3D"Arial" size=3D"2"> On Saturday, 19 July 2014, =
19:57, Anil Madhavapeddy &lt;<a =
href=3D"mailto:anil@recoil.org">anil@recoil.org</a>&gt; wrote:<br> =
</font> </div>  <br><br> <div class=3D"y_msg_container"><div =
id=3D"yiv7603830387">This looks like a bug to me. Could you try out the =
fix in&nbsp;<div><a rel=3D"nofollow" shape=3D"rect" target=3D"_blank" =
href=3D"https://github.com/mirage/mirage-tcpip/pull/60">https://github.com=
/mirage/mirage-tcpip/pull/60</a></div><div>by any chance? &nbsp;`opam =
pin tcpip <a href=3D"" rel=3D"nofollow" =
shape=3D"rect">git://github.com/avsm/mirage-tcpip#fix-checksum-modules</a>=
`</div><div><br clear=3D"none"></div><div>The module was exposed twice =
by mistake in both modules, hence the clash. &nbsp;The fix just moves it =
to the toplevel `tcpip` library.</div><div><br =
clear=3D"none"></div><div>Out of interest, is the test application you =
are using for this available anywhere? &nbsp;It didn't show up in normal =
use of the library since it requires linking specifically to =
it.</div><div><br clear=3D"none"></div><div>-anil</div><div><br =
clear=3D"none"></div><div><div><div class=3D"yiv7603830387yqt4370782769" =
id=3D"yiv7603830387yqt98666"><div>On 19 Jul 2014, at
 16:22, Tom Brown &lt;<a rel=3D"nofollow" shape=3D"rect" =
ymailto=3D"mailto:tom.jrbrown@yahoo.com" target=3D"_blank" =
href=3D"mailto:tom.jrbrown@yahoo.com">tom.jrbrown@yahoo.com</a>&gt; =
wrote:</div><br class=3D"yiv7603830387Apple-interchange-newline" =
clear=3D"none"><blockquote type=3D"cite"><div><div =
style=3D"background-color:rgb(255, 255, 255);font-family:HelveticaNeue, =
'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', =
sans-serif;font-size:12pt;"><div class=3D"yiv7603830387" =
style=3D"">Hi,</div><div class=3D"yiv7603830387" style=3D""><br =
class=3D"yiv7603830387" style=3D"" clear=3D"none"></div><div =
class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaNeue,=
 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;">When using =
module Tcpip_checksum (the revised version of Checksum?), I receive the =
following error:</div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica,
 Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;"><br =
class=3D"yiv7603830387" style=3D"" clear=3D"none"></div><div =
class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaNeue,=
 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;">File
 "_none_", line 1:<br class=3D"yiv7603830387" style=3D"" =
clear=3D"none">Error: Files =
/home/user/.opam/system/lib/tcpip/ethif.cmxa<br class=3D"yiv7603830387" =
style=3D"" clear=3D"none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and =
/home/user/.opam/system/lib/tcpip/ipv4.cmxa<br class=3D"yiv7603830387" =
style=3D"" clear=3D"none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; both =
define a module named Tcpip_checksum</div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;"><br =
clear=3D"none"></div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;">Any =
suggestion to fix this problem?</div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande',
 sans-serif;background-color:transparent;font-style:normal;"><br =
clear=3D"none"></div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;">Thanks.<br =
class=3D"yiv7603830387" style=3D"" =
clear=3D"none"></div></div></div>_________________________________________=
______<br clear=3D"none">MirageOS-devel mailing list<br clear=3D"none"><a =
rel=3D"nofollow" shape=3D"rect" =
ymailto=3D"mailto:MirageOS-devel@lists.xenproject.org" target=3D"_blank" =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br clear=3D"none"><a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>=
<br clear=3D"none"></blockquote></div></div><br =
clear=3D"none"></div></div><br><br></div>  </div> </div>  </div> =
</div></div>_______________________________________________<br>MirageOS-de=
vel mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br></div></body></html>=

--Apple-Mail=_53097B65-EA26-43FB-A453-6D73CB8BAA51--


--===============0983399933065879349==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0983399933065879349==--


From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 22:56:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 22:56:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9023-0006nf-Qt; Sun, 20 Jul 2014 22:56:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9022-0006na-J2
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 22:56:38 +0000
Received: from [85.158.143.35:25645] by server-2.bemta-4.messagelabs.com id
	3B/FD-26128-5294CC35; Sun, 20 Jul 2014 22:56:37 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-21.messagelabs.com!1405896996!18907724!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8444 invoked from network); 20 Jul 2014 22:56:36 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-21.messagelabs.com with SMTP;
	20 Jul 2014 22:56:36 -0000
Received: (qmail 11722 invoked by uid 634); 20 Jul 2014 22:56:35 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from Unknown (HELO [172.31.109.145]) (216.9.110.5)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sun, 20 Jul 2014 23:56:35 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <1405869587.48411.YahooMailNeo@web172006.mail.ir2.yahoo.com>
Date: Sun, 20 Jul 2014 15:56:31 -0700
Message-Id: <87DD3AEE-DDD7-4AF5-960F-C7302ACF86E1@recoil.org>
References: <1405783345.38503.YahooMailNeo@web172002.mail.ir2.yahoo.com>
	<97755A48-AAA5-42D7-B3DD-68A2C839533F@recoil.org>
	<1405869587.48411.YahooMailNeo@web172006.mail.ir2.yahoo.com>
To: Tom Brown <tom.jrbrown@yahoo.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Tcpip_checksum error
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0983399933065879349=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============0983399933065879349==
Content-Type: multipart/alternative; boundary="Apple-Mail=_53097B65-EA26-43FB-A453-6D73CB8BAA51"


--Apple-Mail=_53097B65-EA26-43FB-A453-6D73CB8BAA51
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

Excellent -- the fix will be in OPAM soon as tcpip-1.1.6:
https://github.com/mirage/mirage-tcpip/releases/tag/v1.1.6
https://github.com/ocaml/opam-repository/pull/2377

(This release also includes Mindy's recent fixes to improve TCP option =
parsing)

-anil

On 20 Jul 2014, at 08:19, Tom Brown <tom.jrbrown@yahoo.com> wrote:

> Awesome! Patch worked fine, thanks Anil.
>=20
>=20
>=20
>=20
> On Saturday, 19 July 2014, 19:57, Anil Madhavapeddy <anil@recoil.org> =
wrote:
>=20
>=20
> This looks like a bug to me. Could you try out the fix in=20
> https://github.com/mirage/mirage-tcpip/pull/60
> by any chance?  `opam pin tcpip =
git://github.com/avsm/mirage-tcpip#fix-checksum-modules`
>=20
> The module was exposed twice by mistake in both modules, hence the =
clash.  The fix just moves it to the toplevel `tcpip` library.
>=20
> Out of interest, is the test application you are using for this =
available anywhere?  It didn't show up in normal use of the library =
since it requires linking specifically to it.
>=20
> -anil
>=20
> On 19 Jul 2014, at 16:22, Tom Brown <tom.jrbrown@yahoo.com> wrote:
>=20
>> Hi,
>>=20
>> When using module Tcpip_checksum (the revised version of Checksum?), =
I receive the following error:
>>=20
>> File "_none_", line 1:
>> Error: Files /home/user/.opam/system/lib/tcpip/ethif.cmxa
>>        and /home/user/.opam/system/lib/tcpip/ipv4.cmxa
>>        both define a module named Tcpip_checksum
>>=20
>> Any suggestion to fix this problem?
>>=20
>> Thanks.
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>=20
>=20
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_53097B65-EA26-43FB-A453-6D73CB8BAA51
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space;">Excellent -- the fix will be in OPAM soon as =
tcpip-1.1.6:<div><a =
href=3D"https://github.com/mirage/mirage-tcpip/releases/tag/v1.1.6">https:=
//github.com/mirage/mirage-tcpip/releases/tag/v1.1.6</a></div><div><a =
href=3D"https://github.com/ocaml/opam-repository/pull/2377">https://github=
.com/ocaml/opam-repository/pull/2377</a></div><div><br></div><div>(This =
release also includes Mindy's recent fixes to improve TCP option =
parsing)</div><div><br></div><div>-anil</div><div><br><div><div>On 20 =
Jul 2014, at 08:19, Tom Brown &lt;<a =
href=3D"mailto:tom.jrbrown@yahoo.com">tom.jrbrown@yahoo.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div><div style=3D"background-color: rgb(255, 255, 255); =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; font-size: 12pt;"><div><span>Awesome! Patch worked =
fine, thanks Anil.</span></div><div style=3D"font-size: 16px; =
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida =
Grande', sans-serif; background-color: transparent; font-style: =
normal;"><br><span></span></div><br><div =
class=3D"qtdSeparateBR"><br><br></div><div style=3D"display: block;" =
class=3D"yahoo_quoted"> <div style=3D"font-family: HelveticaNeue, =
Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: =
12pt;"> <div style=3D"font-family: HelveticaNeue, Helvetica Neue, =
Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 12pt;"> <div =
dir=3D"ltr"> <font face=3D"Arial" size=3D"2"> On Saturday, 19 July 2014, =
19:57, Anil Madhavapeddy &lt;<a =
href=3D"mailto:anil@recoil.org">anil@recoil.org</a>&gt; wrote:<br> =
</font> </div>  <br><br> <div class=3D"y_msg_container"><div =
id=3D"yiv7603830387">This looks like a bug to me. Could you try out the =
fix in&nbsp;<div><a rel=3D"nofollow" shape=3D"rect" target=3D"_blank" =
href=3D"https://github.com/mirage/mirage-tcpip/pull/60">https://github.com=
/mirage/mirage-tcpip/pull/60</a></div><div>by any chance? &nbsp;`opam =
pin tcpip <a href=3D"" rel=3D"nofollow" =
shape=3D"rect">git://github.com/avsm/mirage-tcpip#fix-checksum-modules</a>=
`</div><div><br clear=3D"none"></div><div>The module was exposed twice =
by mistake in both modules, hence the clash. &nbsp;The fix just moves it =
to the toplevel `tcpip` library.</div><div><br =
clear=3D"none"></div><div>Out of interest, is the test application you =
are using for this available anywhere? &nbsp;It didn't show up in normal =
use of the library since it requires linking specifically to =
it.</div><div><br clear=3D"none"></div><div>-anil</div><div><br =
clear=3D"none"></div><div><div><div class=3D"yiv7603830387yqt4370782769" =
id=3D"yiv7603830387yqt98666"><div>On 19 Jul 2014, at
 16:22, Tom Brown &lt;<a rel=3D"nofollow" shape=3D"rect" =
ymailto=3D"mailto:tom.jrbrown@yahoo.com" target=3D"_blank" =
href=3D"mailto:tom.jrbrown@yahoo.com">tom.jrbrown@yahoo.com</a>&gt; =
wrote:</div><br class=3D"yiv7603830387Apple-interchange-newline" =
clear=3D"none"><blockquote type=3D"cite"><div><div =
style=3D"background-color:rgb(255, 255, 255);font-family:HelveticaNeue, =
'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', =
sans-serif;font-size:12pt;"><div class=3D"yiv7603830387" =
style=3D"">Hi,</div><div class=3D"yiv7603830387" style=3D""><br =
class=3D"yiv7603830387" style=3D"" clear=3D"none"></div><div =
class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaNeue,=
 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;">When using =
module Tcpip_checksum (the revised version of Checksum?), I receive the =
following error:</div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica,
 Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;"><br =
class=3D"yiv7603830387" style=3D"" clear=3D"none"></div><div =
class=3D"yiv7603830387" style=3D"font-size:16px;font-family:HelveticaNeue,=
 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;">File
 "_none_", line 1:<br class=3D"yiv7603830387" style=3D"" =
clear=3D"none">Error: Files =
/home/user/.opam/system/lib/tcpip/ethif.cmxa<br class=3D"yiv7603830387" =
style=3D"" clear=3D"none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and =
/home/user/.opam/system/lib/tcpip/ipv4.cmxa<br class=3D"yiv7603830387" =
style=3D"" clear=3D"none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; both =
define a module named Tcpip_checksum</div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;"><br =
clear=3D"none"></div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;">Any =
suggestion to fix this problem?</div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande',
 sans-serif;background-color:transparent;font-style:normal;"><br =
clear=3D"none"></div><div class=3D"yiv7603830387" =
style=3D"font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', =
Helvetica, Arial, 'Lucida Grande', =
sans-serif;background-color:transparent;font-style:normal;">Thanks.<br =
class=3D"yiv7603830387" style=3D"" =
clear=3D"none"></div></div></div>_________________________________________=
______<br clear=3D"none">MirageOS-devel mailing list<br clear=3D"none"><a =
rel=3D"nofollow" shape=3D"rect" =
ymailto=3D"mailto:MirageOS-devel@lists.xenproject.org" target=3D"_blank" =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br clear=3D"none"><a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>=
<br clear=3D"none"></blockquote></div></div><br =
clear=3D"none"></div></div><br><br></div>  </div> </div>  </div> =
</div></div>_______________________________________________<br>MirageOS-de=
vel mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br></div></body></html>=

--Apple-Mail=_53097B65-EA26-43FB-A453-6D73CB8BAA51--


--===============0983399933065879349==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0983399933065879349==--


From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 23:08:10 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 23:08:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X90DA-00078e-U9; Sun, 20 Jul 2014 23:08:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andy.ray@ujamjar.com>) id 1X90DA-00078W-34
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 23:08:08 +0000
Received: from [85.158.143.35:21471] by server-3.bemta-4.messagelabs.com id
	F5/26-09960-7DB4CC35; Sun, 20 Jul 2014 23:08:07 +0000
X-Env-Sender: andy.ray@ujamjar.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1405897686!18894823!1
X-Originating-IP: [31.172.243.2]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21015 invoked from network); 20 Jul 2014 23:08:06 -0000
Received: from vm12460.vps.tagadab.com (HELO www.ujamjar.com) (31.172.243.2)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 20 Jul 2014 23:08:06 -0000
Received: from mail-we0-f178.google.com (mail-we0-f178.google.com
	[74.125.82.178]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
	(No client certificate requested)
	by www.ujamjar.com (Postfix) with ESMTPSA id 6436D12437A
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 00:07:51 +0100 (BST)
Received: by mail-we0-f178.google.com with SMTP id w61so6750887wes.23
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 16:07:45 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.180.100.193 with SMTP id fa1mr11614593wib.16.1405897665883; 
	Sun, 20 Jul 2014 16:07:45 -0700 (PDT)
Received: by 10.180.106.8 with HTTP; Sun, 20 Jul 2014 16:07:45 -0700 (PDT)
In-Reply-To: <A78B8B16-3A4A-44AA-A5E9-B12050634515@recoil.org>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
	<A78B8B16-3A4A-44AA-A5E9-B12050634515@recoil.org>
Date: Mon, 21 Jul 2014 00:07:45 +0100
Message-ID: <CAHYOizHNRT1_08tVib-qgWw2sziCbQDV4Js+Pp4H29RKLe152w@mail.gmail.com>
From: Andy Ray <andy.ray@ujamjar.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

>> * FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
>> fixed (mainly harsher warnings as errors from clang)
>> * natdynlink/pic is unavailable - various packages are patched to
>> remove cmxs generation
>
> Erk, are these changes necessary because the build fails if natdynlink
> isn't available?  That's a bad OASIS bug if so...



Not too sure how oasis detects these things, but it might be
complicated by the fact that the compiler is capable of natdynlink but
it's turned off through non-standard environment variables.

Also, its not just oasis.  A whole raft of different packages with
different build systems need patched.

I believe opam will get a flag in 1.2 to help control this.



> The Lwt base-threads/unix seems to be a bug in trunk as well (build
> fails on my Mac).


I think I squished that problem - the compiler now installs those
packages properly.  I haven't looked into building the compiler on
anything other than FreeBSD so there may be other problems also.



> This looks very promising.  Have you looked at the new MiniOS layout
> in mirage/mirage-xen-minios?  All of this has been lifted out of the
> mirage-platform repo now to be a separate library.
>
> This should make it easier for kFreeBSD, since if you provide similar
> C symbols, we can massage the bindings in mirage-platform/kFreeBSD
> to satisfy the relevant OCaml module types.
>


I had a quick look at mirage-xen-minios but I'm not too sure what its
related too.  Are you planning to move the backends out of the
mirage-platform project?

Anyway, I did a recompile of everything and there are a few minor
nitpicks.  You need to build the compiler then;

> opam install xenstore
> opam install mirage-kfreebsd mirage mirage-console-kfreebsd

I've also just noticed that kldunload of the kernel module will crash
FreeBSD which is not very pleasant.  That will need sorted.

-Andy

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 20 23:08:10 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 20 Jul 2014 23:08:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X90DA-00078e-U9; Sun, 20 Jul 2014 23:08:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andy.ray@ujamjar.com>) id 1X90DA-00078W-34
	for mirageos-devel@lists.xenproject.org; Sun, 20 Jul 2014 23:08:08 +0000
Received: from [85.158.143.35:21471] by server-3.bemta-4.messagelabs.com id
	F5/26-09960-7DB4CC35; Sun, 20 Jul 2014 23:08:07 +0000
X-Env-Sender: andy.ray@ujamjar.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1405897686!18894823!1
X-Originating-IP: [31.172.243.2]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21015 invoked from network); 20 Jul 2014 23:08:06 -0000
Received: from vm12460.vps.tagadab.com (HELO www.ujamjar.com) (31.172.243.2)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 20 Jul 2014 23:08:06 -0000
Received: from mail-we0-f178.google.com (mail-we0-f178.google.com
	[74.125.82.178]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
	(No client certificate requested)
	by www.ujamjar.com (Postfix) with ESMTPSA id 6436D12437A
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 00:07:51 +0100 (BST)
Received: by mail-we0-f178.google.com with SMTP id w61so6750887wes.23
	for <mirageos-devel@lists.xenproject.org>;
	Sun, 20 Jul 2014 16:07:45 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.180.100.193 with SMTP id fa1mr11614593wib.16.1405897665883; 
	Sun, 20 Jul 2014 16:07:45 -0700 (PDT)
Received: by 10.180.106.8 with HTTP; Sun, 20 Jul 2014 16:07:45 -0700 (PDT)
In-Reply-To: <A78B8B16-3A4A-44AA-A5E9-B12050634515@recoil.org>
References: <CAHYOizHkYdMHFnewTbeithYU92L_vhNMkGdn82rM3C38=j1NPQ@mail.gmail.com>
	<20140429131720.GA28340@frosties>
	<148C1016-1206-43AC-8230-75A043429231@recoil.org>
	<CAHYOizGRgeyVchsJe=k9zgOMvQzeEeGtWMcWWWPgzwGa3mPNeA@mail.gmail.com>
	<1A84C18A-E792-4A05-8701-5ED6AA2BA74A@recoil.org>
	<CAHYOizF4T08V9WrdyQA3YRTdvVbZ=VNE7xN6xEDq9MkQ-YdPPg@mail.gmail.com>
	<A78B8B16-3A4A-44AA-A5E9-B12050634515@recoil.org>
Date: Mon, 21 Jul 2014 00:07:45 +0100
Message-ID: <CAHYOizHNRT1_08tVib-qgWw2sziCbQDV4Js+Pp4H29RKLe152w@mail.gmail.com>
From: Andy Ray <andy.ray@ujamjar.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage ARM port
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

>> * FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
>> fixed (mainly harsher warnings as errors from clang)
>> * natdynlink/pic is unavailable - various packages are patched to
>> remove cmxs generation
>
> Erk, are these changes necessary because the build fails if natdynlink
> isn't available?  That's a bad OASIS bug if so...



Not too sure how oasis detects these things, but it might be
complicated by the fact that the compiler is capable of natdynlink but
it's turned off through non-standard environment variables.

Also, its not just oasis.  A whole raft of different packages with
different build systems need patched.

I believe opam will get a flag in 1.2 to help control this.



> The Lwt base-threads/unix seems to be a bug in trunk as well (build
> fails on my Mac).


I think I squished that problem - the compiler now installs those
packages properly.  I haven't looked into building the compiler on
anything other than FreeBSD so there may be other problems also.



> This looks very promising.  Have you looked at the new MiniOS layout
> in mirage/mirage-xen-minios?  All of this has been lifted out of the
> mirage-platform repo now to be a separate library.
>
> This should make it easier for kFreeBSD, since if you provide similar
> C symbols, we can massage the bindings in mirage-platform/kFreeBSD
> to satisfy the relevant OCaml module types.
>


I had a quick look at mirage-xen-minios but I'm not too sure what its
related too.  Are you planning to move the backends out of the
mirage-platform project?

Anyway, I did a recompile of everything and there are a few minor
nitpicks.  You need to build the compiler then;

> opam install xenstore
> opam install mirage-kfreebsd mirage mirage-console-kfreebsd

I've also just noticed that kldunload of the kernel module will crash
FreeBSD which is not very pleasant.  That will need sorted.

-Andy

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 08:43:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 08:43:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X99CB-0007m2-7H; Mon, 21 Jul 2014 08:43:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X99C9-0007lx-J1
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 08:43:41 +0000
Received: from [85.158.137.68:53480] by server-2.bemta-3.messagelabs.com id
	2A/0C-09149-CB2DCC35; Mon, 21 Jul 2014 08:43:40 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1405932219!13083643!1
X-Originating-IP: [74.125.82.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22571 invoked from network); 21 Jul 2014 08:43:40 -0000
Received: from mail-we0-f169.google.com (HELO mail-we0-f169.google.com)
	(74.125.82.169)
	by server-7.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 08:43:40 -0000
Received: by mail-we0-f169.google.com with SMTP id u56so7209790wes.0
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 01:43:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:from:content-type:content-transfer-encoding:subject
	:message-id:date:to:mime-version;
	bh=RKZi/TBl00Q1XDdH+354VOnuBsVp2dSbC9/GbwSv35E=;
	b=gBBoNbj3gkHRAfnJDv9B+V9Wy1HOj89W0T+llSccQzsbCYMI3VR4BY/YLZCdmFZM2F
	U8lfEzDc1aLeufDBbkCe+l88fD4PR9TTeUqdy2OLYZPfAiPlDRrrfvy1x1mgH7dCAwjI
	7miylsuerxrcYPTQSS53HV4mNeg3X2D3/pKkNmV7fdFDL4z6qk+sWrSeen9U7LJsWa0g
	CD2EyObvL8/jQha+jA2perbnhrUTKdhRiiZrbQL5L3WVqr/+ZzN+3DJMtaee7v7m/B2Y
	EbN89Rbfh8c22gVU7day4fM+sswo+t2CJxH0UpLeRx/ZB7X250FrANDlebZ6dgO8xtEH
	ZIyg==
X-Received: by 10.194.78.68 with SMTP id z4mr11486186wjw.126.1405932219361;
	Mon, 21 Jul 2014 01:43:39 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122]) by mx.google.com with ESMTPSA id
	cd1sm35966825wjc.19.2014.07.21.01.43.38
	for <mirageos-devel@lists.xenproject.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 21 Jul 2014 01:43:38 -0700 (PDT)
From: Thomas Gazagnaire <thomas@gazagnaire.org>
Message-Id: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
Date: Mon, 21 Jul 2014 09:43:37 +0100
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
X-Mailer: Apple Mail (2.1878.6)
Subject: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi,

For those who haven't seen it yet, we've published a blog post on Irmin last friday:

http://openmirage.org/blog/introducing-irmin

the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687

Best,
Thomas


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 08:43:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 08:43:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X99CB-0007m2-7H; Mon, 21 Jul 2014 08:43:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X99C9-0007lx-J1
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 08:43:41 +0000
Received: from [85.158.137.68:53480] by server-2.bemta-3.messagelabs.com id
	2A/0C-09149-CB2DCC35; Mon, 21 Jul 2014 08:43:40 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1405932219!13083643!1
X-Originating-IP: [74.125.82.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22571 invoked from network); 21 Jul 2014 08:43:40 -0000
Received: from mail-we0-f169.google.com (HELO mail-we0-f169.google.com)
	(74.125.82.169)
	by server-7.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 08:43:40 -0000
Received: by mail-we0-f169.google.com with SMTP id u56so7209790wes.0
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 01:43:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:from:content-type:content-transfer-encoding:subject
	:message-id:date:to:mime-version;
	bh=RKZi/TBl00Q1XDdH+354VOnuBsVp2dSbC9/GbwSv35E=;
	b=gBBoNbj3gkHRAfnJDv9B+V9Wy1HOj89W0T+llSccQzsbCYMI3VR4BY/YLZCdmFZM2F
	U8lfEzDc1aLeufDBbkCe+l88fD4PR9TTeUqdy2OLYZPfAiPlDRrrfvy1x1mgH7dCAwjI
	7miylsuerxrcYPTQSS53HV4mNeg3X2D3/pKkNmV7fdFDL4z6qk+sWrSeen9U7LJsWa0g
	CD2EyObvL8/jQha+jA2perbnhrUTKdhRiiZrbQL5L3WVqr/+ZzN+3DJMtaee7v7m/B2Y
	EbN89Rbfh8c22gVU7day4fM+sswo+t2CJxH0UpLeRx/ZB7X250FrANDlebZ6dgO8xtEH
	ZIyg==
X-Received: by 10.194.78.68 with SMTP id z4mr11486186wjw.126.1405932219361;
	Mon, 21 Jul 2014 01:43:39 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122]) by mx.google.com with ESMTPSA id
	cd1sm35966825wjc.19.2014.07.21.01.43.38
	for <mirageos-devel@lists.xenproject.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 21 Jul 2014 01:43:38 -0700 (PDT)
From: Thomas Gazagnaire <thomas@gazagnaire.org>
Message-Id: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
Date: Mon, 21 Jul 2014 09:43:37 +0100
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
X-Mailer: Apple Mail (2.1878.6)
Subject: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi,

For those who haven't seen it yet, we've published a blog post on Irmin last friday:

http://openmirage.org/blog/introducing-irmin

the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687

Best,
Thomas


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 10:19:54 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 10:19:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9AhC-0003qe-6N; Mon, 21 Jul 2014 10:19:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9AhA-0003qO-Mh
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 10:19:48 +0000
Received: from [85.158.143.35:62969] by server-3.bemta-4.messagelabs.com id
	B6/6E-09960-449ECC35; Mon, 21 Jul 2014 10:19:48 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1405937986!19046652!1
X-Originating-IP: [209.85.219.42]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26110 invoked from network); 21 Jul 2014 10:19:47 -0000
Received: from mail-oa0-f42.google.com (HELO mail-oa0-f42.google.com)
	(209.85.219.42)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 10:19:47 -0000
Received: by mail-oa0-f42.google.com with SMTP id n16so7128364oag.29
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 03:19:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=aplGLrWhRZeWuFyTp/p/2ujyzZAWpIUwKFh3HGH/Y6k=;
	b=sADa4lBe42KWWM/P4kq5yxh7aAdh02xdVfe4CAtcxqVZMmuD0B0d6prTGYOf30sVsS
	5ItlBnCNJ7KcISn0HMaaaS87vb5grNIZRS2uLQ7geG9cLhbDW1r5mSwkOx6CDxIXr6pZ
	YuNSbPn+Vj94ZnG9RBHqHo2vmctQjdKCJW2+BaV4PbWDuh76R3sJF/rDDa/ADHJOUGjd
	z+xqoHLNXzewSMM3hXc/wucteJSsqvb4mtF+kuauI3DWnYNtYpqeLz9qSrI5pF7qsg/p
	4uKgdvEPapPwZVBa2kFfwElECTYaMDvowBXcXzjk8HoMLRBCOzL10l2CSjkbM/zDsN19
	lOnw==
MIME-Version: 1.0
X-Received: by 10.182.104.104 with SMTP id gd8mr35040557obb.17.1405937985441; 
	Mon, 21 Jul 2014 03:19:45 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 03:19:45 -0700 (PDT)
Date: Mon, 21 Jul 2014 11:19:45 +0100
Message-ID: <CAG4opy9pD5831GeESpqF8P25cVW_Q+QVnjPkTxWsfmn82KAwbg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Purpose of CAML_ENTRYPOINT, "OS.Main.run"?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Looking through the mirage-xen code, I'm wondering what the purpose of
CAML_ENTRYPOINT is. The code seems to work as follows:

1. main.c calls caml_startup(), which runs main.ml.
2. main.ml calls OS.Main.run, which registers the callback
"OS.Main.run" and returns.
3. main.c looks up this callback and calls it in a loop until it returns true.

Why do we go back to C for this? Why doesn't the OCaml OS.Main.run
just run the main loop itself? I tried it, and it seemed to work:

https://github.com/talex5/mirage-platform/commit/f4fede966ab4f0f9fb7f9ae4db5b9e09efdc9a4f


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 10:19:54 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 10:19:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9AhC-0003qe-6N; Mon, 21 Jul 2014 10:19:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9AhA-0003qO-Mh
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 10:19:48 +0000
Received: from [85.158.143.35:62969] by server-3.bemta-4.messagelabs.com id
	B6/6E-09960-449ECC35; Mon, 21 Jul 2014 10:19:48 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1405937986!19046652!1
X-Originating-IP: [209.85.219.42]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26110 invoked from network); 21 Jul 2014 10:19:47 -0000
Received: from mail-oa0-f42.google.com (HELO mail-oa0-f42.google.com)
	(209.85.219.42)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 10:19:47 -0000
Received: by mail-oa0-f42.google.com with SMTP id n16so7128364oag.29
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 03:19:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=aplGLrWhRZeWuFyTp/p/2ujyzZAWpIUwKFh3HGH/Y6k=;
	b=sADa4lBe42KWWM/P4kq5yxh7aAdh02xdVfe4CAtcxqVZMmuD0B0d6prTGYOf30sVsS
	5ItlBnCNJ7KcISn0HMaaaS87vb5grNIZRS2uLQ7geG9cLhbDW1r5mSwkOx6CDxIXr6pZ
	YuNSbPn+Vj94ZnG9RBHqHo2vmctQjdKCJW2+BaV4PbWDuh76R3sJF/rDDa/ADHJOUGjd
	z+xqoHLNXzewSMM3hXc/wucteJSsqvb4mtF+kuauI3DWnYNtYpqeLz9qSrI5pF7qsg/p
	4uKgdvEPapPwZVBa2kFfwElECTYaMDvowBXcXzjk8HoMLRBCOzL10l2CSjkbM/zDsN19
	lOnw==
MIME-Version: 1.0
X-Received: by 10.182.104.104 with SMTP id gd8mr35040557obb.17.1405937985441; 
	Mon, 21 Jul 2014 03:19:45 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 03:19:45 -0700 (PDT)
Date: Mon, 21 Jul 2014 11:19:45 +0100
Message-ID: <CAG4opy9pD5831GeESpqF8P25cVW_Q+QVnjPkTxWsfmn82KAwbg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: [MirageOS-devel] Purpose of CAML_ENTRYPOINT, "OS.Main.run"?
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Looking through the mirage-xen code, I'm wondering what the purpose of
CAML_ENTRYPOINT is. The code seems to work as follows:

1. main.c calls caml_startup(), which runs main.ml.
2. main.ml calls OS.Main.run, which registers the callback
"OS.Main.run" and returns.
3. main.c looks up this callback and calls it in a loop until it returns true.

Why do we go back to C for this? Why doesn't the OCaml OS.Main.run
just run the main loop itself? I tried it, and it seemed to work:

https://github.com/talex5/mirage-platform/commit/f4fede966ab4f0f9fb7f9ae4db5b9e09efdc9a4f


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 10:54:36 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 10:54:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9BEq-00006k-Hl; Mon, 21 Jul 2014 10:54:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BEp-00006W-J1
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 10:54:35 +0000
Received: from [85.158.137.68:54862] by server-10.bemta-3.messagelabs.com id
	C8/1E-28313-A61FCC35; Mon, 21 Jul 2014 10:54:34 +0000
X-Env-Sender: masoud.koleini@nottingham.ac.uk
X-Msg-Ref: server-10.tower-31.messagelabs.com!1405940074!17040489!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31090 invoked from network); 21 Jul 2014 10:54:34 -0000
Received: from engine03-20433-10.icritical.com (HELO
	engine03-20433-10.icritical.com) (93.159.202.52)
	by server-10.tower-31.messagelabs.com with SMTP;
	21 Jul 2014 10:54:34 -0000
Received: (qmail 23171 invoked from network); 21 Jul 2014 10:54:30 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-10.icritical.com with SMTP; 21 Jul 2014 10:54:30 -0000
Received: from engine03-20433-10.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-10.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 21185-10 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 11:54:26 +0100 (BST)
Received: (qmail 23110 invoked by uid 599); 21 Jul 2014 10:54:26 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-10.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 11:54:26 +0100
Received: from cirrus.cs.nott.ac.uk ([128.243.23.185])
	by smtp3.nottingham.ac.uk with esmtp (Exim 4.77)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BEi-0000A0-FW
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 11:54:28 +0100
Message-ID: <53CCF164.8090306@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 11:54:28 +0100
From: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
X-Virus-Scanned: by iCritical at engine03-20433-10.icritical.com
Subject: [MirageOS-devel] Passing a list of devices to the Main module
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi all,

How a list of network devices with arbitrary length, for example [tap0, 
tap1, tap2], that is defined in config, can be passed as a parameter to 
the Main module in unikernel.ml?

Thanks.
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 10:54:36 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 10:54:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9BEq-00006k-Hl; Mon, 21 Jul 2014 10:54:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BEp-00006W-J1
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 10:54:35 +0000
Received: from [85.158.137.68:54862] by server-10.bemta-3.messagelabs.com id
	C8/1E-28313-A61FCC35; Mon, 21 Jul 2014 10:54:34 +0000
X-Env-Sender: masoud.koleini@nottingham.ac.uk
X-Msg-Ref: server-10.tower-31.messagelabs.com!1405940074!17040489!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31090 invoked from network); 21 Jul 2014 10:54:34 -0000
Received: from engine03-20433-10.icritical.com (HELO
	engine03-20433-10.icritical.com) (93.159.202.52)
	by server-10.tower-31.messagelabs.com with SMTP;
	21 Jul 2014 10:54:34 -0000
Received: (qmail 23171 invoked from network); 21 Jul 2014 10:54:30 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-10.icritical.com with SMTP; 21 Jul 2014 10:54:30 -0000
Received: from engine03-20433-10.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-10.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 21185-10 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 11:54:26 +0100 (BST)
Received: (qmail 23110 invoked by uid 599); 21 Jul 2014 10:54:26 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-10.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 11:54:26 +0100
Received: from cirrus.cs.nott.ac.uk ([128.243.23.185])
	by smtp3.nottingham.ac.uk with esmtp (Exim 4.77)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BEi-0000A0-FW
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 11:54:28 +0100
Message-ID: <53CCF164.8090306@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 11:54:28 +0100
From: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
X-Virus-Scanned: by iCritical at engine03-20433-10.icritical.com
Subject: [MirageOS-devel] Passing a list of devices to the Main module
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi all,

How a list of network devices with arbitrary length, for example [tap0, 
tap1, tap2], that is defined in config, can be passed as a parameter to 
the Main module in unikernel.ml?

Thanks.
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 10:59:38 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 10:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9BJh-0000eV-Vf; Mon, 21 Jul 2014 10:59:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BJg-0000dp-6j
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 10:59:36 +0000
Received: from [85.158.143.35:32039] by server-3.bemta-4.messagelabs.com id
	30/16-09960-792FCC35; Mon, 21 Jul 2014 10:59:35 +0000
X-Env-Sender: masoud.koleini@nottingham.ac.uk
X-Msg-Ref: server-15.tower-21.messagelabs.com!1405940374!19003377!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14447 invoked from network); 21 Jul 2014 10:59:34 -0000
Received: from engine03-20433-10.icritical.com (HELO
	engine03-20433-10.icritical.com) (93.159.202.52)
	by server-15.tower-21.messagelabs.com with SMTP;
	21 Jul 2014 10:59:34 -0000
Received: (qmail 32140 invoked from network); 21 Jul 2014 10:59:31 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-10.icritical.com with SMTP; 21 Jul 2014 10:59:31 -0000
Received: from engine03-20433-10.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-10.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 29778-01 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 11:58:52 +0100 (BST)
Received: (qmail 29839 invoked by uid 599); 21 Jul 2014 10:58:52 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-10.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 11:58:52 +0100
Received: from cirrus.cs.nott.ac.uk ([128.243.23.185])
	by smtp3.nottingham.ac.uk with esmtp (Exim 4.77)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BJ0-0000Qi-6T
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 11:58:54 +0100
Message-ID: <53CCF26E.5090508@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 11:58:54 +0100
From: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
References: <53CCF164.8090306@nottingham.ac.uk>
In-Reply-To: <53CCF164.8090306@nottingham.ac.uk>
X-Virus-Scanned: by iCritical at engine03-20433-10.icritical.com
Subject: Re: [MirageOS-devel] Passing a list of devices to the Main module
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Just a fix in the example: [tap0; tap1; tap2]

On 21/07/14 11:54, Masoud Koleini wrote:
> Hi all,
>
> How a list of network devices with arbitrary length, for example [tap0,
> tap1, tap2], that is defined in config, can be passed as a parameter to
> the Main module in unikernel.ml?
>
> Thanks.
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>
>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 10:59:38 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 10:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9BJh-0000eV-Vf; Mon, 21 Jul 2014 10:59:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BJg-0000dp-6j
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 10:59:36 +0000
Received: from [85.158.143.35:32039] by server-3.bemta-4.messagelabs.com id
	30/16-09960-792FCC35; Mon, 21 Jul 2014 10:59:35 +0000
X-Env-Sender: masoud.koleini@nottingham.ac.uk
X-Msg-Ref: server-15.tower-21.messagelabs.com!1405940374!19003377!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14447 invoked from network); 21 Jul 2014 10:59:34 -0000
Received: from engine03-20433-10.icritical.com (HELO
	engine03-20433-10.icritical.com) (93.159.202.52)
	by server-15.tower-21.messagelabs.com with SMTP;
	21 Jul 2014 10:59:34 -0000
Received: (qmail 32140 invoked from network); 21 Jul 2014 10:59:31 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-10.icritical.com with SMTP; 21 Jul 2014 10:59:31 -0000
Received: from engine03-20433-10.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-10.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 29778-01 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 11:58:52 +0100 (BST)
Received: (qmail 29839 invoked by uid 599); 21 Jul 2014 10:58:52 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-10.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 11:58:52 +0100
Received: from cirrus.cs.nott.ac.uk ([128.243.23.185])
	by smtp3.nottingham.ac.uk with esmtp (Exim 4.77)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BJ0-0000Qi-6T
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 11:58:54 +0100
Message-ID: <53CCF26E.5090508@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 11:58:54 +0100
From: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
References: <53CCF164.8090306@nottingham.ac.uk>
In-Reply-To: <53CCF164.8090306@nottingham.ac.uk>
X-Virus-Scanned: by iCritical at engine03-20433-10.icritical.com
Subject: Re: [MirageOS-devel] Passing a list of devices to the Main module
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Just a fix in the example: [tap0; tap1; tap2]

On 21/07/14 11:54, Masoud Koleini wrote:
> Hi all,
>
> How a list of network devices with arbitrary length, for example [tap0,
> tap1, tap2], that is defined in config, can be passed as a parameter to
> the Main module in unikernel.ml?
>
> Thanks.
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>
>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 11:02:58 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 11:02:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9BMv-00011l-R4; Mon, 21 Jul 2014 11:02:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BMu-00011Z-AX
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 11:02:56 +0000
Received: from [193.109.254.147:37331] by server-8.bemta-14.messagelabs.com id
	0E/B7-07074-F53FCC35; Mon, 21 Jul 2014 11:02:55 +0000
X-Env-Sender: masoud.koleini@nottingham.ac.uk
X-Msg-Ref: server-6.tower-27.messagelabs.com!1405940574!18623418!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13962 invoked from network); 21 Jul 2014 11:02:54 -0000
Received: from engine03-20433-10.icritical.com (HELO
	engine03-20433-10.icritical.com) (93.159.202.52)
	by server-6.tower-27.messagelabs.com with SMTP;
	21 Jul 2014 11:02:54 -0000
Received: (qmail 8221 invoked from network); 21 Jul 2014 11:02:51 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-10.icritical.com with SMTP; 21 Jul 2014 11:02:51 -0000
Received: from engine03-20433-10.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-10.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 07178-06 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 12:02:47 +0100 (BST)
Received: (qmail 29839 invoked by uid 599); 21 Jul 2014 10:58:52 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-10.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 11:58:52 +0100
Received: from cirrus.cs.nott.ac.uk ([128.243.23.185])
	by smtp3.nottingham.ac.uk with esmtp (Exim 4.77)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BJ0-0000Qi-6T
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 11:58:54 +0100
Message-ID: <53CCF26E.5090508@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 11:58:54 +0100
From: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
References: <53CCF164.8090306@nottingham.ac.uk>
In-Reply-To: <53CCF164.8090306@nottingham.ac.uk>
X-Virus-Scanned: by iCritical at engine03-20433-10.icritical.com
Subject: Re: [MirageOS-devel] Passing a list of devices to the Main module
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Just a fix in the example: [tap0; tap1; tap2]

On 21/07/14 11:54, Masoud Koleini wrote:
> Hi all,
>
> How a list of network devices with arbitrary length, for example [tap0,
> tap1, tap2], that is defined in config, can be passed as a parameter to
> the Main module in unikernel.ml?
>
> Thanks.
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>
>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 11:02:58 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 11:02:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9BMv-00011l-R4; Mon, 21 Jul 2014 11:02:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BMu-00011Z-AX
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 11:02:56 +0000
Received: from [193.109.254.147:37331] by server-8.bemta-14.messagelabs.com id
	0E/B7-07074-F53FCC35; Mon, 21 Jul 2014 11:02:55 +0000
X-Env-Sender: masoud.koleini@nottingham.ac.uk
X-Msg-Ref: server-6.tower-27.messagelabs.com!1405940574!18623418!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13962 invoked from network); 21 Jul 2014 11:02:54 -0000
Received: from engine03-20433-10.icritical.com (HELO
	engine03-20433-10.icritical.com) (93.159.202.52)
	by server-6.tower-27.messagelabs.com with SMTP;
	21 Jul 2014 11:02:54 -0000
Received: (qmail 8221 invoked from network); 21 Jul 2014 11:02:51 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-10.icritical.com with SMTP; 21 Jul 2014 11:02:51 -0000
Received: from engine03-20433-10.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-10.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 07178-06 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 12:02:47 +0100 (BST)
Received: (qmail 29839 invoked by uid 599); 21 Jul 2014 10:58:52 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-10.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 11:58:52 +0100
Received: from cirrus.cs.nott.ac.uk ([128.243.23.185])
	by smtp3.nottingham.ac.uk with esmtp (Exim 4.77)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1X9BJ0-0000Qi-6T
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 11:58:54 +0100
Message-ID: <53CCF26E.5090508@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 11:58:54 +0100
From: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
References: <53CCF164.8090306@nottingham.ac.uk>
In-Reply-To: <53CCF164.8090306@nottingham.ac.uk>
X-Virus-Scanned: by iCritical at engine03-20433-10.icritical.com
Subject: Re: [MirageOS-devel] Passing a list of devices to the Main module
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Just a fix in the example: [tap0; tap1; tap2]

On 21/07/14 11:54, Masoud Koleini wrote:
> Hi all,
>
> How a list of network devices with arbitrary length, for example [tap0,
> tap1, tap2], that is defined in config, can be passed as a parameter to
> the Main module in unikernel.ml?
>
> Thanks.
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>
>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 12:24:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 12:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Ce1-0007V0-Ku; Mon, 21 Jul 2014 12:24:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X9Ce0-0007UZ-68
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 12:24:40 +0000
Received: from [193.109.254.147:5107] by server-14.bemta-14.messagelabs.com id
	37/56-02763-7860DC35; Mon, 21 Jul 2014 12:24:39 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1405945478!18617221!1
X-Originating-IP: [209.85.212.172]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27169 invoked from network); 21 Jul 2014 12:24:38 -0000
Received: from mail-wi0-f172.google.com (HELO mail-wi0-f172.google.com)
	(209.85.212.172)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 12:24:38 -0000
Received: by mail-wi0-f172.google.com with SMTP id n3so4019603wiv.17
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 05:24:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=8ym8beyD1KCp/jfAUYe8BYZ4cidL8uy9ev6pTmBpN10=;
	b=OOHaVl/RlVE0FcbOKa3huQ3RSJ97yuReHb9OLnspzFJgSFBI769W6glkxl1RTuFEix
	ChrUiwhwN0BnZTs+T1+C13jMIo1uTNYbTi+XDjxXCnrZA99sdFpdPeepMWA9Qnr3RKtZ
	8QOZ0MLZCZoPEXU+RPVHRmWjkkFHSAMMtg30zad/P1P6qtUu9bVatGvJwW6Zu9rlft4E
	GIfEiWeTOKG5zLMTOw3EgQQHF0gMw/SSpge7meAcQbdL1VzyOZ7B6+tD6PHtw5wdpbk7
	9fd0Or5iwfyYgj6CZB8IzxW1Hl4FtZslRYq8VvIXrAF8pOPJz+s0huw10/4IGCgjCDC7
	N9oQ==
X-Received: by 10.194.200.3 with SMTP id jo3mr22717195wjc.110.1405945477604;
	Mon, 21 Jul 2014 05:24:37 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122]) by mx.google.com with ESMTPSA id
	u10sm37261471wjz.43.2014.07.21.05.24.35 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 21 Jul 2014 05:24:35 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <53CCF26E.5090508@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 13:24:32 +0100
Message-Id: <59DFD360-69DA-4A7C-A25E-3B20E4EDF0C1@gazagnaire.org>
References: <53CCF164.8090306@nottingham.ac.uk>
	<53CCF26E.5090508@nottingham.ac.uk>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.6)
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Passing a list of devices to the Main module
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

>> How a list of network devices with arbitrary length, for example [tap0,
>> tap1, tap2], that is defined in config, can be passed as a parameter to
>> the Main module in unikernel.ml?

You cannot do this with the mirage tool unfortunately (you can only pass fixed-lenght lists, ie. tuples).

I'd recommend generating the boilerplate code using tuples and and edit it manually. Would be good to have a combinator for lists as well 

I'm tracking this in https://github.com/mirage/mirage/issues/273

Best,
Thomas


>> 
>> Thanks.
>> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>> 
>> This message has been checked for viruses but the contents of an attachment
>> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
> 
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
> 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 12:24:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 12:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Ce1-0007V0-Ku; Mon, 21 Jul 2014 12:24:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X9Ce0-0007UZ-68
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 12:24:40 +0000
Received: from [193.109.254.147:5107] by server-14.bemta-14.messagelabs.com id
	37/56-02763-7860DC35; Mon, 21 Jul 2014 12:24:39 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1405945478!18617221!1
X-Originating-IP: [209.85.212.172]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27169 invoked from network); 21 Jul 2014 12:24:38 -0000
Received: from mail-wi0-f172.google.com (HELO mail-wi0-f172.google.com)
	(209.85.212.172)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 12:24:38 -0000
Received: by mail-wi0-f172.google.com with SMTP id n3so4019603wiv.17
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 05:24:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=8ym8beyD1KCp/jfAUYe8BYZ4cidL8uy9ev6pTmBpN10=;
	b=OOHaVl/RlVE0FcbOKa3huQ3RSJ97yuReHb9OLnspzFJgSFBI769W6glkxl1RTuFEix
	ChrUiwhwN0BnZTs+T1+C13jMIo1uTNYbTi+XDjxXCnrZA99sdFpdPeepMWA9Qnr3RKtZ
	8QOZ0MLZCZoPEXU+RPVHRmWjkkFHSAMMtg30zad/P1P6qtUu9bVatGvJwW6Zu9rlft4E
	GIfEiWeTOKG5zLMTOw3EgQQHF0gMw/SSpge7meAcQbdL1VzyOZ7B6+tD6PHtw5wdpbk7
	9fd0Or5iwfyYgj6CZB8IzxW1Hl4FtZslRYq8VvIXrAF8pOPJz+s0huw10/4IGCgjCDC7
	N9oQ==
X-Received: by 10.194.200.3 with SMTP id jo3mr22717195wjc.110.1405945477604;
	Mon, 21 Jul 2014 05:24:37 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122]) by mx.google.com with ESMTPSA id
	u10sm37261471wjz.43.2014.07.21.05.24.35 for <multiple recipients>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 21 Jul 2014 05:24:35 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <53CCF26E.5090508@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 13:24:32 +0100
Message-Id: <59DFD360-69DA-4A7C-A25E-3B20E4EDF0C1@gazagnaire.org>
References: <53CCF164.8090306@nottingham.ac.uk>
	<53CCF26E.5090508@nottingham.ac.uk>
To: Masoud Koleini <Masoud.Koleini@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1878.6)
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Passing a list of devices to the Main module
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

>> How a list of network devices with arbitrary length, for example [tap0,
>> tap1, tap2], that is defined in config, can be passed as a parameter to
>> the Main module in unikernel.ml?

You cannot do this with the mirage tool unfortunately (you can only pass fixed-lenght lists, ie. tuples).

I'd recommend generating the boilerplate code using tuples and and edit it manually. Would be good to have a combinator for lists as well 

I'm tracking this in https://github.com/mirage/mirage/issues/273

Best,
Thomas


>> 
>> Thanks.
>> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>> 
>> This message has been checked for viruses but the contents of an attachment
>> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
> 
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
> 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 13:13:06 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 13:13:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9DOr-0002gv-HB; Mon, 21 Jul 2014 13:13:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9DOq-0002g3-1w
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 13:13:04 +0000
Received: from [85.158.143.35:59277] by server-1.bemta-4.messagelabs.com id
	DB/54-30046-FD11DC35; Mon, 21 Jul 2014 13:13:03 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-21.messagelabs.com!1405948382!19032629!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8010 invoked from network); 21 Jul 2014 13:13:02 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-21.messagelabs.com with SMTP;
	21 Jul 2014 13:13:02 -0000
Received: (qmail 2821 invoked by uid 634); 21 Jul 2014 13:13:01 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-98-210-179-111.hsd1.ca.comcast.net (HELO [192.168.1.129])
	(98.210.179.111)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 21 Jul 2014 14:13:01 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
Date: Mon, 21 Jul 2014 06:12:58 -0700
Message-Id: <26E76ECE-F622-41EB-B8FF-C2BD40ED342E@recoil.org>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 21 Jul 2014, at 01:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
> Hi,
> 
> For those who haven't seen it yet, we've published a blog post on Irmin last friday:
> 
> http://openmirage.org/blog/introducing-irmin
> 
> the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687
> 

And a followup just went live by Dave on his use of Irmin in Xenstore (perhaps
not the simplest one to start with, but hey, it's a pretty darn "real world" use
case).  Perhaps something more gentle like calendar sync next though :-)

http://openmirage.org/blog/introducing-irmin-in-xenstore

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 13:13:06 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 13:13:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9DOr-0002gv-HB; Mon, 21 Jul 2014 13:13:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9DOq-0002g3-1w
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 13:13:04 +0000
Received: from [85.158.143.35:59277] by server-1.bemta-4.messagelabs.com id
	DB/54-30046-FD11DC35; Mon, 21 Jul 2014 13:13:03 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-21.messagelabs.com!1405948382!19032629!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8010 invoked from network); 21 Jul 2014 13:13:02 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-21.messagelabs.com with SMTP;
	21 Jul 2014 13:13:02 -0000
Received: (qmail 2821 invoked by uid 634); 21 Jul 2014 13:13:01 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-98-210-179-111.hsd1.ca.comcast.net (HELO [192.168.1.129])
	(98.210.179.111)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 21 Jul 2014 14:13:01 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
Date: Mon, 21 Jul 2014 06:12:58 -0700
Message-Id: <26E76ECE-F622-41EB-B8FF-C2BD40ED342E@recoil.org>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 21 Jul 2014, at 01:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
> Hi,
> 
> For those who haven't seen it yet, we've published a blog post on Irmin last friday:
> 
> http://openmirage.org/blog/introducing-irmin
> 
> the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687
> 

And a followup just went live by Dave on his use of Irmin in Xenstore (perhaps
not the simplest one to start with, but hey, it's a pretty darn "real world" use
case).  Perhaps something more gentle like calendar sync next though :-)

http://openmirage.org/blog/introducing-irmin-in-xenstore

-anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 13:41:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 13:41:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Dpv-0004IL-ER; Mon, 21 Jul 2014 13:41:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X9Dps-0004IF-6h
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 13:41:00 +0000
Received: from [193.109.254.147:10273] by server-2.bemta-14.messagelabs.com id
	D0/A1-09196-B681DC35; Mon, 21 Jul 2014 13:40:59 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1405950058!18674767!1
X-Originating-IP: [74.125.82.170]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23501 invoked from network); 21 Jul 2014 13:40:58 -0000
Received: from mail-we0-f170.google.com (HELO mail-we0-f170.google.com)
	(74.125.82.170)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 13:40:58 -0000
Received: by mail-we0-f170.google.com with SMTP id w62so7646075wes.29
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 06:40:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date
	:content-transfer-encoding:message-id:references:to;
	bh=Jw0Ml0X4x1cRHBFQxVe0xvEmK1hLtDXtj6crLB4WrIA=;
	b=g6pRGY7/PtLg45KD9yOuM7uce/niDNfiXzmO1AGw8HGX3QnH72czDncUiCwLsD0GHV
	WnF7kjPWjJ6bmsfmodpUKurmD8GWpP0VwweAATlK8jLLBh6viRYFvo9LvZULLGTVKXkW
	mknS795wxyjF5liV/agTNd5fi/I1GmKxoxzGVIszcT5KzFsxIWRt6JZ1ko0TXDsW/ota
	PkZeYnDkhuHEn1MhKKEIOi1Jj43NnDt/QjopY7p2rIvbPxqMe1TMBebNz0J+18quaAgN
	7FG207a9hzGh4Qz/2DUpwWVZTF+5HwDcheh5k9AoJF8HPXptOsAZncgj+YMg4YxOj+Zt
	V7aQ==
X-Received: by 10.180.20.228 with SMTP id q4mr4543973wie.74.1405950058478;
	Mon, 21 Jul 2014 06:40:58 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122]) by mx.google.com with ESMTPSA id
	ub11sm42174877wib.1.2014.07.21.06.40.55
	for <mirageos-devel@lists.xenproject.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 21 Jul 2014 06:40:56 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
Date: Mon, 21 Jul 2014 14:40:53 +0100
Message-Id: <CD4DA27E-5071-4F23-B94C-60F3170944BF@gazagnaire.org>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
X-Mailer: Apple Mail (2.1878.6)
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

btw, following the HN post, the number of "stars" on Github for Irmin increased from ~40 to 114 (now half the number of mirage/mirage)
 
On 21 Jul 2014, at 09:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:

> Hi,
> 
> For those who haven't seen it yet, we've published a blog post on Irmin last friday:
> 
> http://openmirage.org/blog/introducing-irmin
> 
> the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687
> 
> Best,
> Thomas
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 13:41:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 13:41:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Dpv-0004IL-ER; Mon, 21 Jul 2014 13:41:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1X9Dps-0004IF-6h
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 13:41:00 +0000
Received: from [193.109.254.147:10273] by server-2.bemta-14.messagelabs.com id
	D0/A1-09196-B681DC35; Mon, 21 Jul 2014 13:40:59 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1405950058!18674767!1
X-Originating-IP: [74.125.82.170]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23501 invoked from network); 21 Jul 2014 13:40:58 -0000
Received: from mail-we0-f170.google.com (HELO mail-we0-f170.google.com)
	(74.125.82.170)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 13:40:58 -0000
Received: by mail-we0-f170.google.com with SMTP id w62so7646075wes.29
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 06:40:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:subject:from:in-reply-to:date
	:content-transfer-encoding:message-id:references:to;
	bh=Jw0Ml0X4x1cRHBFQxVe0xvEmK1hLtDXtj6crLB4WrIA=;
	b=g6pRGY7/PtLg45KD9yOuM7uce/niDNfiXzmO1AGw8HGX3QnH72czDncUiCwLsD0GHV
	WnF7kjPWjJ6bmsfmodpUKurmD8GWpP0VwweAATlK8jLLBh6viRYFvo9LvZULLGTVKXkW
	mknS795wxyjF5liV/agTNd5fi/I1GmKxoxzGVIszcT5KzFsxIWRt6JZ1ko0TXDsW/ota
	PkZeYnDkhuHEn1MhKKEIOi1Jj43NnDt/QjopY7p2rIvbPxqMe1TMBebNz0J+18quaAgN
	7FG207a9hzGh4Qz/2DUpwWVZTF+5HwDcheh5k9AoJF8HPXptOsAZncgj+YMg4YxOj+Zt
	V7aQ==
X-Received: by 10.180.20.228 with SMTP id q4mr4543973wie.74.1405950058478;
	Mon, 21 Jul 2014 06:40:58 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122]) by mx.google.com with ESMTPSA id
	ub11sm42174877wib.1.2014.07.21.06.40.55
	for <mirageos-devel@lists.xenproject.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Mon, 21 Jul 2014 06:40:56 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Thomas Gazagnaire <thomas@gazagnaire.org>
In-Reply-To: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
Date: Mon, 21 Jul 2014 14:40:53 +0100
Message-Id: <CD4DA27E-5071-4F23-B94C-60F3170944BF@gazagnaire.org>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
X-Mailer: Apple Mail (2.1878.6)
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

btw, following the HN post, the number of "stars" on Github for Irmin increased from ~40 to 114 (now half the number of mirage/mirage)
 
On 21 Jul 2014, at 09:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:

> Hi,
> 
> For those who haven't seen it yet, we've published a blog post on Irmin last friday:
> 
> http://openmirage.org/blog/introducing-irmin
> 
> the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687
> 
> Best,
> Thomas
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 14:15:57 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 14:15:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9ENf-0005i8-RK; Mon, 21 Jul 2014 14:15:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X9ENe-0005hy-Ln
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 14:15:54 +0000
Received: from [85.158.139.211:16815] by server-9.bemta-5.messagelabs.com id
	F8/18-26293-A902DC35; Mon, 21 Jul 2014 14:15:54 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1405952113!16710935!1
X-Originating-IP: [209.85.220.48]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_50_60,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7331 invoked from network); 21 Jul 2014 14:15:15 -0000
Received: from mail-pa0-f48.google.com (HELO mail-pa0-f48.google.com)
	(209.85.220.48)
	by server-4.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 14:15:15 -0000
Received: by mail-pa0-f48.google.com with SMTP id et14so9808840pad.7
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 07:15:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=7FAOtmr8+r928YHkEP9OeC+atz8KlNse4bEX5z1u30s=;
	b=qUPuGxF7WnK38UHt9ba+KcpA7H8H6/E+ZfRNFR0y/1+531JFIJe0QhO57ub8fqBj3G
	123u7dy3IDPI9GGlixLYWpY1Hw2qsA+0lqwUgsY3S3jrvdWBuWg2ucn/UNmWNr42uxNW
	pteTQCFjd6bPcLSyWLL6mZ9Vf5XJg+zTAwR2+MeoHz/AoSaRkwLaH9eFZI5b6wCrt/62
	NSRNvGu9eDhlxJCi1mwgGkFVGsEMbvx+dS40Jujk4vKxTM/d1xFUe9oqsUS00w2l18c+
	Qb4SUH3vgkXMtZev/FDGKJfI8XoumpZv1E57k/DN63DtwgYwRxrNgmYW6aQ3dRS0vYmS
	355Q==
MIME-Version: 1.0
X-Received: by 10.66.250.161 with SMTP id zd1mr25155788pac.61.1405952113048;
	Mon, 21 Jul 2014 07:15:13 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Mon, 21 Jul 2014 07:15:12 -0700 (PDT)
In-Reply-To: <CD4DA27E-5071-4F23-B94C-60F3170944BF@gazagnaire.org>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
	<CD4DA27E-5071-4F23-B94C-60F3170944BF@gazagnaire.org>
Date: Mon, 21 Jul 2014 15:15:12 +0100
Message-ID: <CAG_esB0Y_iezJymskpeARRY+XRBUaAJ8PumD3HbT0-k=mCfKAQ@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
Cc: mirageos-devel <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6987595068435218555=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6987595068435218555==
Content-Type: multipart/alternative; boundary=047d7b15ac9f45056c04feb4bce7

--047d7b15ac9f45056c04feb4bce7
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Mirage: an Irmin Project=E2=84=A2


On Mon, Jul 21, 2014 at 2:40 PM, Thomas Gazagnaire <thomas@gazagnaire.org>
wrote:

> btw, following the HN post, the number of "stars" on Github for Irmin
> increased from ~40 to 114 (now half the number of mirage/mirage)
>
> On 21 Jul 2014, at 09:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote=
:
>
> > Hi,
> >
> > For those who haven't seen it yet, we've published a blog post on Irmin
> last friday:
> >
> > http://openmirage.org/blog/introducing-irmin
> >
> > the thread on HN with interesting comments:
> https://news.ycombinator.com/item?id=3D8053687
> >
> > Best,
> > Thomas
> >
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>



--=20
Dave Scott

--047d7b15ac9f45056c04feb4bce7
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Mirage: an Irmin Project=E2=84=A2</div><div class=3D"gmail=
_extra"><br><br><div class=3D"gmail_quote">On Mon, Jul 21, 2014 at 2:40 PM,=
 Thomas Gazagnaire <span dir=3D"ltr">&lt;<a href=3D"mailto:thomas@gazagnair=
e.org" target=3D"_blank">thomas@gazagnaire.org</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">btw, following the HN post, the number of &q=
uot;stars&quot; on Github for Irmin increased from ~40 to 114 (now half the=
 number of mirage/mirage)<br>

<div class=3D"HOEnZb"><div class=3D"h5"><br>
On 21 Jul 2014, at 09:43, Thomas Gazagnaire &lt;<a href=3D"mailto:thomas@ga=
zagnaire.org">thomas@gazagnaire.org</a>&gt; wrote:<br>
<br>
&gt; Hi,<br>
&gt;<br>
&gt; For those who haven&#39;t seen it yet, we&#39;ve published a blog post=
 on Irmin last friday:<br>
&gt;<br>
&gt; <a href=3D"http://openmirage.org/blog/introducing-irmin" target=3D"_bl=
ank">http://openmirage.org/blog/introducing-irmin</a><br>
&gt;<br>
&gt; the thread on HN with interesting comments: <a href=3D"https://news.yc=
ombinator.com/item?id=3D8053687" target=3D"_blank">https://news.ycombinator=
.com/item?id=3D8053687</a><br>
&gt;<br>
&gt; Best,<br>
&gt; Thomas<br>
&gt;<br>
<br>
<br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Dave Scott
</div>

--047d7b15ac9f45056c04feb4bce7--


--===============6987595068435218555==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6987595068435218555==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 14:15:57 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 14:15:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9ENf-0005i8-RK; Mon, 21 Jul 2014 14:15:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X9ENe-0005hy-Ln
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 14:15:54 +0000
Received: from [85.158.139.211:16815] by server-9.bemta-5.messagelabs.com id
	F8/18-26293-A902DC35; Mon, 21 Jul 2014 14:15:54 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1405952113!16710935!1
X-Originating-IP: [209.85.220.48]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_50_60,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7331 invoked from network); 21 Jul 2014 14:15:15 -0000
Received: from mail-pa0-f48.google.com (HELO mail-pa0-f48.google.com)
	(209.85.220.48)
	by server-4.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 14:15:15 -0000
Received: by mail-pa0-f48.google.com with SMTP id et14so9808840pad.7
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 07:15:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=7FAOtmr8+r928YHkEP9OeC+atz8KlNse4bEX5z1u30s=;
	b=qUPuGxF7WnK38UHt9ba+KcpA7H8H6/E+ZfRNFR0y/1+531JFIJe0QhO57ub8fqBj3G
	123u7dy3IDPI9GGlixLYWpY1Hw2qsA+0lqwUgsY3S3jrvdWBuWg2ucn/UNmWNr42uxNW
	pteTQCFjd6bPcLSyWLL6mZ9Vf5XJg+zTAwR2+MeoHz/AoSaRkwLaH9eFZI5b6wCrt/62
	NSRNvGu9eDhlxJCi1mwgGkFVGsEMbvx+dS40Jujk4vKxTM/d1xFUe9oqsUS00w2l18c+
	Qb4SUH3vgkXMtZev/FDGKJfI8XoumpZv1E57k/DN63DtwgYwRxrNgmYW6aQ3dRS0vYmS
	355Q==
MIME-Version: 1.0
X-Received: by 10.66.250.161 with SMTP id zd1mr25155788pac.61.1405952113048;
	Mon, 21 Jul 2014 07:15:13 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Mon, 21 Jul 2014 07:15:12 -0700 (PDT)
In-Reply-To: <CD4DA27E-5071-4F23-B94C-60F3170944BF@gazagnaire.org>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
	<CD4DA27E-5071-4F23-B94C-60F3170944BF@gazagnaire.org>
Date: Mon, 21 Jul 2014 15:15:12 +0100
Message-ID: <CAG_esB0Y_iezJymskpeARRY+XRBUaAJ8PumD3HbT0-k=mCfKAQ@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Thomas Gazagnaire <thomas@gazagnaire.org>
Cc: mirageos-devel <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6987595068435218555=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6987595068435218555==
Content-Type: multipart/alternative; boundary=047d7b15ac9f45056c04feb4bce7

--047d7b15ac9f45056c04feb4bce7
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Mirage: an Irmin Project=E2=84=A2


On Mon, Jul 21, 2014 at 2:40 PM, Thomas Gazagnaire <thomas@gazagnaire.org>
wrote:

> btw, following the HN post, the number of "stars" on Github for Irmin
> increased from ~40 to 114 (now half the number of mirage/mirage)
>
> On 21 Jul 2014, at 09:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote=
:
>
> > Hi,
> >
> > For those who haven't seen it yet, we've published a blog post on Irmin
> last friday:
> >
> > http://openmirage.org/blog/introducing-irmin
> >
> > the thread on HN with interesting comments:
> https://news.ycombinator.com/item?id=3D8053687
> >
> > Best,
> > Thomas
> >
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>



--=20
Dave Scott

--047d7b15ac9f45056c04feb4bce7
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Mirage: an Irmin Project=E2=84=A2</div><div class=3D"gmail=
_extra"><br><br><div class=3D"gmail_quote">On Mon, Jul 21, 2014 at 2:40 PM,=
 Thomas Gazagnaire <span dir=3D"ltr">&lt;<a href=3D"mailto:thomas@gazagnair=
e.org" target=3D"_blank">thomas@gazagnaire.org</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">btw, following the HN post, the number of &q=
uot;stars&quot; on Github for Irmin increased from ~40 to 114 (now half the=
 number of mirage/mirage)<br>

<div class=3D"HOEnZb"><div class=3D"h5"><br>
On 21 Jul 2014, at 09:43, Thomas Gazagnaire &lt;<a href=3D"mailto:thomas@ga=
zagnaire.org">thomas@gazagnaire.org</a>&gt; wrote:<br>
<br>
&gt; Hi,<br>
&gt;<br>
&gt; For those who haven&#39;t seen it yet, we&#39;ve published a blog post=
 on Irmin last friday:<br>
&gt;<br>
&gt; <a href=3D"http://openmirage.org/blog/introducing-irmin" target=3D"_bl=
ank">http://openmirage.org/blog/introducing-irmin</a><br>
&gt;<br>
&gt; the thread on HN with interesting comments: <a href=3D"https://news.yc=
ombinator.com/item?id=3D8053687" target=3D"_blank">https://news.ycombinator=
.com/item?id=3D8053687</a><br>
&gt;<br>
&gt; Best,<br>
&gt; Thomas<br>
&gt;<br>
<br>
<br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Dave Scott
</div>

--047d7b15ac9f45056c04feb4bce7--


--===============6987595068435218555==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6987595068435218555==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 14:23:26 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 14:23:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9EUv-0006PX-GZ; Mon, 21 Jul 2014 14:23:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X9EUu-0006PQ-R9
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 14:23:24 +0000
Received: from [193.109.254.147:22176] by server-7.bemta-14.messagelabs.com id
	CC/3A-13362-C522DC35; Mon, 21 Jul 2014 14:23:24 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-10.tower-27.messagelabs.com!1405952603!18622132!1
X-Originating-IP: [131.111.8.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MCA9PiAxNDk0MDU=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27040 invoked from network); 21 Jul 2014 14:23:23 -0000
Received: from ppsw-50.csi.cam.ac.uk (HELO ppsw-50.csi.cam.ac.uk)
	(131.111.8.150)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 Jul 2014 14:23:23 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from gw-eduroam.dar.cam.ac.uk ([131.111.194.10]:65373
	helo=[192.168.99.208])
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X9EUr-0002MP-sZ (Exim 4.82_3-c0e5623)
	(return-path <amc79@cam.ac.uk>); Mon, 21 Jul 2014 15:23:21 +0100
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Amir Chaudhry <amc79@cam.ac.uk>
In-Reply-To: <CAG_esB0Y_iezJymskpeARRY+XRBUaAJ8PumD3HbT0-k=mCfKAQ@mail.gmail.com>
Date: Mon, 21 Jul 2014 15:23:21 +0100
Message-Id: <0983CCDB-9489-4C04-932A-F5382489F2A4@cam.ac.uk>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
	<CD4DA27E-5071-4F23-B94C-60F3170944BF@gazagnaire.org>
	<CAG_esB0Y_iezJymskpeARRY+XRBUaAJ8PumD3HbT0-k=mCfKAQ@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1510)
Cc: Thomas Gazagnaire <thomas@gazagnaire.org>,
	mirageos-devel <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

It's all about the delicious and healthy MISO

:-P

On 21 Jul 2014, at 15:15, David Scott <scott.dj@gmail.com> wrote:

> Mirage: an Irmin Project=99
> =

> =

> On Mon, Jul 21, 2014 at 2:40 PM, Thomas Gazagnaire <thomas@gazagnaire.org=
> wrote:
> btw, following the HN post, the number of "stars" on Github for Irmin inc=
reased from ~40 to 114 (now half the number of mirage/mirage)
> =

> On 21 Jul 2014, at 09:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
> =

> > Hi,
> >
> > For those who haven't seen it yet, we've published a blog post on Irmin=
 last friday:
> >
> > http://openmirage.org/blog/introducing-irmin
> >
> > the thread on HN with interesting comments: https://news.ycombinator.co=
m/item?id=3D8053687
> >
> > Best,
> > Thomas
> >
> =

> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> =

> =

> =

> -- =

> Dave Scott
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 14:23:26 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 14:23:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9EUv-0006PX-GZ; Mon, 21 Jul 2014 14:23:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X9EUu-0006PQ-R9
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 14:23:24 +0000
Received: from [193.109.254.147:22176] by server-7.bemta-14.messagelabs.com id
	CC/3A-13362-C522DC35; Mon, 21 Jul 2014 14:23:24 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-10.tower-27.messagelabs.com!1405952603!18622132!1
X-Originating-IP: [131.111.8.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MCA9PiAxNDk0MDU=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27040 invoked from network); 21 Jul 2014 14:23:23 -0000
Received: from ppsw-50.csi.cam.ac.uk (HELO ppsw-50.csi.cam.ac.uk)
	(131.111.8.150)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 Jul 2014 14:23:23 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from gw-eduroam.dar.cam.ac.uk ([131.111.194.10]:65373
	helo=[192.168.99.208])
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X9EUr-0002MP-sZ (Exim 4.82_3-c0e5623)
	(return-path <amc79@cam.ac.uk>); Mon, 21 Jul 2014 15:23:21 +0100
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Amir Chaudhry <amc79@cam.ac.uk>
In-Reply-To: <CAG_esB0Y_iezJymskpeARRY+XRBUaAJ8PumD3HbT0-k=mCfKAQ@mail.gmail.com>
Date: Mon, 21 Jul 2014 15:23:21 +0100
Message-Id: <0983CCDB-9489-4C04-932A-F5382489F2A4@cam.ac.uk>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
	<CD4DA27E-5071-4F23-B94C-60F3170944BF@gazagnaire.org>
	<CAG_esB0Y_iezJymskpeARRY+XRBUaAJ8PumD3HbT0-k=mCfKAQ@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1510)
Cc: Thomas Gazagnaire <thomas@gazagnaire.org>,
	mirageos-devel <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

It's all about the delicious and healthy MISO

:-P

On 21 Jul 2014, at 15:15, David Scott <scott.dj@gmail.com> wrote:

> Mirage: an Irmin Project=99
> =

> =

> On Mon, Jul 21, 2014 at 2:40 PM, Thomas Gazagnaire <thomas@gazagnaire.org=
> wrote:
> btw, following the HN post, the number of "stars" on Github for Irmin inc=
reased from ~40 to 114 (now half the number of mirage/mirage)
> =

> On 21 Jul 2014, at 09:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
> =

> > Hi,
> >
> > For those who haven't seen it yet, we've published a blog post on Irmin=
 last friday:
> >
> > http://openmirage.org/blog/introducing-irmin
> >
> > the thread on HN with interesting comments: https://news.ycombinator.co=
m/item?id=3D8053687
> >
> > Best,
> > Thomas
> >
> =

> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> =

> =

> =

> -- =

> Dave Scott
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 14:45:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 14:45:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9EqM-0007NQ-R7; Mon, 21 Jul 2014 14:45:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mmatalka@gmail.com>) id 1X9EqL-0007NK-TS
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 14:45:34 +0000
Received: from [193.109.254.147:60444] by server-14.bemta-14.messagelabs.com
	id 12/6D-02763-D872DC35; Mon, 21 Jul 2014 14:45:33 +0000
X-Env-Sender: mmatalka@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1405953932!13266391!1
X-Originating-IP: [74.125.82.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21955 invoked from network); 21 Jul 2014 14:45:32 -0000
Received: from mail-we0-f181.google.com (HELO mail-we0-f181.google.com)
	(74.125.82.181)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 14:45:32 -0000
Received: by mail-we0-f181.google.com with SMTP id k48so6590598wev.12
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 07:45:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=from:to:cc:subject:references:date:in-reply-to:message-id
	:user-agent:mime-version:content-type;
	bh=xeSV8AHSoOBdDCDYfI8F/snIR4fLH+Df13hrm6u5I90=;
	b=zl1dpPZs6kuxOcNU+WciUTpZQUmfbAwZJ5x04Qe8CqTi4IylFTUKe1dT0/uWvLi8eY
	r3DMMsNSFAYFbd4ZVlZa3E9h600RivJk/2hqa5zlXSfAF5NjJSSAgkyhciKdKODUHBXt
	qxy9DBNq6bn70KgZKMTzWSDN0ZmoZKncS6tY6jojXhMuLc1JFqAL2hHEV+wJwnx3+x/z
	cZWOS+2ciYGzMywO7K+qvqAaFcVjORJiDhAQD2cf2sy4eaVb4FsCEDo4cKDzOJAnLj6O
	26OuTZp/UAr+ahrFiYy3lEUiblt9QKOEeVKpbnWQo+Gmfzz0FypjdXwLgMnwdIUfFIqx
	pKaQ==
X-Received: by 10.180.98.130 with SMTP id ei2mr5151019wib.24.1405953931638;
	Mon, 21 Jul 2014 07:45:31 -0700 (PDT)
Received: from localhost ([2a01:7e00::f03c:91ff:fe70:2696])
	by mx.google.com with ESMTPSA id
	au7sm38109009wjc.41.2014.07.21.07.45.30 for <multiple recipients>
	(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
	Mon, 21 Jul 2014 07:45:30 -0700 (PDT)
From: Malcolm Matalka <mmatalka@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
	<26E76ECE-F622-41EB-B8FF-C2BD40ED342E@recoil.org>
Date: Mon, 21 Jul 2014 14:45:29 +0000
In-Reply-To: <26E76ECE-F622-41EB-B8FF-C2BD40ED342E@recoil.org> (Anil
	Madhavapeddy's message of "Mon, 21 Jul 2014 06:12:58 -0700")
Message-ID: <871ttelqie.fsf@gmail.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
MIME-Version: 1.0
Cc: Thomas Gazagnaire <thomas@gazagnaire.org>,
	mirageos-devel <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

In the blog post it says merge's are always done as a 3-way merge.  Does
that mean it's not possible to create the same key concurrently,
producing a situation where you have conflicting values but no 'old'
value?

Anil Madhavapeddy <anil@recoil.org> writes:

> On 21 Jul 2014, at 01:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
>> Hi,
>> 
>> For those who haven't seen it yet, we've published a blog post on Irmin last friday:
>> 
>> http://openmirage.org/blog/introducing-irmin
>> 
>> the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687
>> 
>
> And a followup just went live by Dave on his use of Irmin in Xenstore (perhaps
> not the simplest one to start with, but hey, it's a pretty darn "real world" use
> case).  Perhaps something more gentle like calendar sync next though :-)
>
> http://openmirage.org/blog/introducing-irmin-in-xenstore
>
> -anil
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 14:45:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 14:45:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9EqM-0007NQ-R7; Mon, 21 Jul 2014 14:45:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mmatalka@gmail.com>) id 1X9EqL-0007NK-TS
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 14:45:34 +0000
Received: from [193.109.254.147:60444] by server-14.bemta-14.messagelabs.com
	id 12/6D-02763-D872DC35; Mon, 21 Jul 2014 14:45:33 +0000
X-Env-Sender: mmatalka@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1405953932!13266391!1
X-Originating-IP: [74.125.82.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21955 invoked from network); 21 Jul 2014 14:45:32 -0000
Received: from mail-we0-f181.google.com (HELO mail-we0-f181.google.com)
	(74.125.82.181)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 14:45:32 -0000
Received: by mail-we0-f181.google.com with SMTP id k48so6590598wev.12
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 07:45:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=from:to:cc:subject:references:date:in-reply-to:message-id
	:user-agent:mime-version:content-type;
	bh=xeSV8AHSoOBdDCDYfI8F/snIR4fLH+Df13hrm6u5I90=;
	b=zl1dpPZs6kuxOcNU+WciUTpZQUmfbAwZJ5x04Qe8CqTi4IylFTUKe1dT0/uWvLi8eY
	r3DMMsNSFAYFbd4ZVlZa3E9h600RivJk/2hqa5zlXSfAF5NjJSSAgkyhciKdKODUHBXt
	qxy9DBNq6bn70KgZKMTzWSDN0ZmoZKncS6tY6jojXhMuLc1JFqAL2hHEV+wJwnx3+x/z
	cZWOS+2ciYGzMywO7K+qvqAaFcVjORJiDhAQD2cf2sy4eaVb4FsCEDo4cKDzOJAnLj6O
	26OuTZp/UAr+ahrFiYy3lEUiblt9QKOEeVKpbnWQo+Gmfzz0FypjdXwLgMnwdIUfFIqx
	pKaQ==
X-Received: by 10.180.98.130 with SMTP id ei2mr5151019wib.24.1405953931638;
	Mon, 21 Jul 2014 07:45:31 -0700 (PDT)
Received: from localhost ([2a01:7e00::f03c:91ff:fe70:2696])
	by mx.google.com with ESMTPSA id
	au7sm38109009wjc.41.2014.07.21.07.45.30 for <multiple recipients>
	(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
	Mon, 21 Jul 2014 07:45:30 -0700 (PDT)
From: Malcolm Matalka <mmatalka@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
References: <778A6C1B-950F-40AF-B7DF-88FE1D480702@gazagnaire.org>
	<26E76ECE-F622-41EB-B8FF-C2BD40ED342E@recoil.org>
Date: Mon, 21 Jul 2014 14:45:29 +0000
In-Reply-To: <26E76ECE-F622-41EB-B8FF-C2BD40ED342E@recoil.org> (Anil
	Madhavapeddy's message of "Mon, 21 Jul 2014 06:12:58 -0700")
Message-ID: <871ttelqie.fsf@gmail.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
MIME-Version: 1.0
Cc: Thomas Gazagnaire <thomas@gazagnaire.org>,
	mirageos-devel <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

In the blog post it says merge's are always done as a 3-way merge.  Does
that mean it's not possible to create the same key concurrently,
producing a situation where you have conflicting values but no 'old'
value?

Anil Madhavapeddy <anil@recoil.org> writes:

> On 21 Jul 2014, at 01:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
>> Hi,
>> 
>> For those who haven't seen it yet, we've published a blog post on Irmin last friday:
>> 
>> http://openmirage.org/blog/introducing-irmin
>> 
>> the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687
>> 
>
> And a followup just went live by Dave on his use of Irmin in Xenstore (perhaps
> not the simplest one to start with, but hey, it's a pretty darn "real world" use
> case).  Perhaps something more gentle like calendar sync next though :-)
>
> http://openmirage.org/blog/introducing-irmin-in-xenstore
>
> -anil
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 14:49:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 14:49:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9EuU-0007el-9Y; Mon, 21 Jul 2014 14:49:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X9EuS-0007ba-Px
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 14:49:48 +0000
Received: from [85.158.139.211:27029] by server-17.bemta-5.messagelabs.com id
	50/0C-08085-C882DC35; Mon, 21 Jul 2014 14:49:48 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-3.tower-206.messagelabs.com!1405954187!9136069!1
X-Originating-IP: [131.111.8.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MCA9PiAxNDk0MDU=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18852 invoked from network); 21 Jul 2014 14:49:47 -0000
Received: from ppsw-50.csi.cam.ac.uk (HELO ppsw-50.csi.cam.ac.uk)
	(131.111.8.150)
	by server-3.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 Jul 2014 14:49:47 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from gw-eduroam.dar.cam.ac.uk ([131.111.194.10]:49245
	helo=[192.168.99.208])
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X9EuR-0002Ak-q5 (Exim 4.82_3-c0e5623) for
	mirageos-devel@lists.xenproject.org
	(return-path <amc79@cam.ac.uk>); Mon, 21 Jul 2014 15:49:47 +0100
From: Amir Chaudhry <amc79@cam.ac.uk>
Message-Id: <D05974B2-BAC2-4B78-BE1E-78ABD2770020@cam.ac.uk>
Date: Mon, 21 Jul 2014 15:49:46 +0100
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
X-Mailer: Apple Mail (2.1510)
Subject: [MirageOS-devel] Pinning and reordering repos on the Mirage GitHub
	org
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

FYI - I'd like to arrange the repos on the Mirage org so that the `mirage` repo is always at the top.
I asked GitHub support about this and they said they'd add it to their feature request list for consideration (message below).

This email is just to let you know.

Best wishes,
Amir

> From: "James Dennes (GitHub Staff)"
> Subject: Re: Can we 'pin' and reorder repositories to show at the top?
> Date: 21 July 2014 15:38:11 BST
> To: Amir Chaudhry
> 
> Hi Amir,
> 
>> I want to highlight specific/important repos in my org by pinning and ordering them at the top. Can I do this? If not now, when?
> 
> Thanks for the suggestion. This functionality isn't available, however I'll add your request to our internal Feature Request List for consideration.
> 
> We can't promise if we may add something like this, however your feedback is definitely appreciated.
> 
> Thanks,
> James


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 14:49:50 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 14:49:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9EuU-0007el-9Y; Mon, 21 Jul 2014 14:49:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X9EuS-0007ba-Px
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 14:49:48 +0000
Received: from [85.158.139.211:27029] by server-17.bemta-5.messagelabs.com id
	50/0C-08085-C882DC35; Mon, 21 Jul 2014 14:49:48 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-3.tower-206.messagelabs.com!1405954187!9136069!1
X-Originating-IP: [131.111.8.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MCA9PiAxNDk0MDU=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18852 invoked from network); 21 Jul 2014 14:49:47 -0000
Received: from ppsw-50.csi.cam.ac.uk (HELO ppsw-50.csi.cam.ac.uk)
	(131.111.8.150)
	by server-3.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 Jul 2014 14:49:47 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from gw-eduroam.dar.cam.ac.uk ([131.111.194.10]:49245
	helo=[192.168.99.208])
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X9EuR-0002Ak-q5 (Exim 4.82_3-c0e5623) for
	mirageos-devel@lists.xenproject.org
	(return-path <amc79@cam.ac.uk>); Mon, 21 Jul 2014 15:49:47 +0100
From: Amir Chaudhry <amc79@cam.ac.uk>
Message-Id: <D05974B2-BAC2-4B78-BE1E-78ABD2770020@cam.ac.uk>
Date: Mon, 21 Jul 2014 15:49:46 +0100
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
X-Mailer: Apple Mail (2.1510)
Subject: [MirageOS-devel] Pinning and reordering repos on the Mirage GitHub
	org
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

FYI - I'd like to arrange the repos on the Mirage org so that the `mirage` repo is always at the top.
I asked GitHub support about this and they said they'd add it to their feature request list for consideration (message below).

This email is just to let you know.

Best wishes,
Amir

> From: "James Dennes (GitHub Staff)"
> Subject: Re: Can we 'pin' and reorder repositories to show at the top?
> Date: 21 July 2014 15:38:11 BST
> To: Amir Chaudhry
> 
> Hi Amir,
> 
>> I want to highlight specific/important repos in my org by pinning and ordering them at the top. Can I do this? If not now, when?
> 
> Thanks for the suggestion. This functionality isn't available, however I'll add your request to our internal Feature Request List for consideration.
> 
> We can't promise if we may add something like this, however your feedback is definitely appreciated.
> 
> Thanks,
> James


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 17:00:41 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 17:00:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Gx1-0003d4-LU; Mon, 21 Jul 2014 17:00:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X9Gx0-0003cz-72
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 17:00:34 +0000
Received: from [85.158.137.68:52255] by server-14.bemta-3.messagelabs.com id
	F4/85-09441-1374DC35; Mon, 21 Jul 2014 17:00:33 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-4.tower-31.messagelabs.com!1405962032!17107678!1
X-Originating-IP: [131.111.8.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MCA9PiAxNDk0MDU=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19310 invoked from network); 21 Jul 2014 17:00:32 -0000
Received: from ppsw-50.csi.cam.ac.uk (HELO ppsw-50.csi.cam.ac.uk)
	(131.111.8.150)
	by server-4.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 Jul 2014 17:00:32 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from gw-eduroam.dar.cam.ac.uk ([131.111.194.10]:50143
	helo=[192.168.99.208])
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X9Gwy-0003Ay-qa (Exim 4.82_3-c0e5623) for
	mirageos-devel@lists.xenproject.org
	(return-path <amc79@cam.ac.uk>); Mon, 21 Jul 2014 18:00:32 +0100
From: Amir Chaudhry <amc79@cam.ac.uk>
Message-Id: <4CD74B39-69F5-4E1C-AC92-595311A50D5E@cam.ac.uk>
Date: Mon, 21 Jul 2014 18:00:31 +0100
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
X-Mailer: Apple Mail (2.1510)
Subject: [MirageOS-devel] Mirage fortnightly call,
	Wednesday 23rd at 4pm BST (== GMT + 1)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Dear all,

The Mirage call will take place on *Wednesday 23rd* at 4pm BST (== GMT + 1).  Note the change of day for this week!

If you have points you'd like to discuss, please do add them to the agenda at https://github.com/mirage/mirage-www/wiki/Call-Agenda - I'll structure them shortly before the call.

1.  Please join my meeting.
https://www1.gotomeeting.com/join/591890401

Note the dial-in numbers seem to have changed. The new ones are visible if you join the meeting online but I believe the US one is:

+1 (213) 493-0008

Thanks,
Amir

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 17:00:41 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 17:00:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Gx1-0003d4-LU; Mon, 21 Jul 2014 17:00:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1X9Gx0-0003cz-72
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 17:00:34 +0000
Received: from [85.158.137.68:52255] by server-14.bemta-3.messagelabs.com id
	F4/85-09441-1374DC35; Mon, 21 Jul 2014 17:00:33 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-4.tower-31.messagelabs.com!1405962032!17107678!1
X-Originating-IP: [131.111.8.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MCA9PiAxNDk0MDU=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19310 invoked from network); 21 Jul 2014 17:00:32 -0000
Received: from ppsw-50.csi.cam.ac.uk (HELO ppsw-50.csi.cam.ac.uk)
	(131.111.8.150)
	by server-4.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 Jul 2014 17:00:32 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from gw-eduroam.dar.cam.ac.uk ([131.111.194.10]:50143
	helo=[192.168.99.208])
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1X9Gwy-0003Ay-qa (Exim 4.82_3-c0e5623) for
	mirageos-devel@lists.xenproject.org
	(return-path <amc79@cam.ac.uk>); Mon, 21 Jul 2014 18:00:32 +0100
From: Amir Chaudhry <amc79@cam.ac.uk>
Message-Id: <4CD74B39-69F5-4E1C-AC92-595311A50D5E@cam.ac.uk>
Date: Mon, 21 Jul 2014 18:00:31 +0100
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
X-Mailer: Apple Mail (2.1510)
Subject: [MirageOS-devel] Mirage fortnightly call,
	Wednesday 23rd at 4pm BST (== GMT + 1)
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Dear all,

The Mirage call will take place on *Wednesday 23rd* at 4pm BST (== GMT + 1).  Note the change of day for this week!

If you have points you'd like to discuss, please do add them to the agenda at https://github.com/mirage/mirage-www/wiki/Call-Agenda - I'll structure them shortly before the call.

1.  Please join my meeting.
https://www1.gotomeeting.com/join/591890401

Note the dial-in numbers seem to have changed. The new ones are visible if you join the meeting online but I believe the US one is:

+1 (213) 493-0008

Thanks,
Amir

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 19:57:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 19:57:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Jhs-0005YP-GB; Mon, 21 Jul 2014 19:57:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9Jhr-0005YH-5D
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 19:57:07 +0000
Received: from [85.158.137.68:26773] by server-9.bemta-3.messagelabs.com id
	93/CD-30790-2907DC35; Mon, 21 Jul 2014 19:57:06 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-5.tower-31.messagelabs.com!1405972625!17186606!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22556 invoked from network); 21 Jul 2014 19:57:05 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-5.tower-31.messagelabs.com with SMTP;
	21 Jul 2014 19:57:05 -0000
Received: (qmail 6164 invoked from network); 21 Jul 2014 19:57:01 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 21 Jul 2014 19:57:01 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 02669-05 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 20:56:54 +0100 (BST)
Received: (qmail 6096 invoked by uid 599); 21 Jul 2014 19:56:54 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 20:56:54 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9Jhi-0002Sw-EA; Mon, 21 Jul 2014 20:56:58 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Thomas Leonard <talex5@gmail.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Date: Mon, 21 Jul 2014 20:56:57 +0100
Thread-Topic: wireshark capture of failed download from mirage-www on ARM
Thread-Index: Ac+lHe12RH2fyf+cToiZN8zOqPN7WA==
Message-ID: <53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
In-Reply-To: <CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6704306254280403394=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6704306254280403394==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_939CABCA-02B7-4B57-AD47-A9544CF49B4B";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_939CABCA-02B7-4B57-AD47-A9544CF49B4B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

[ context for list: thomas' observation of failed download, and lots of =
retransmissions generally, while bringing up mirage-www on ARM ]

On 21 Jul 2014, at 09:27, Thomas Leonard <talex5@gmail.com> wrote:

> On 21 July 2014 17:08, Richard Mortier =
<Richard.Mortier@nottingham.ac.uk> wrote:
>=20

>> On 21 Jul 2014, at 09:01, Thomas Leonard <talex5@gmail.com> wrote:
>>=20
>>> Here's the wireshark capture of a failed download. It does indeed =
say
>>> the TCP checksum is wrong. Any idea what's going on?
>>>=20
>>> Note that on ARM it uses a different function to calculate this =
(which
>>> I took from mirage-unix). It's in the #else block here:
>>>=20
>>> =
https://github.com/talex5/mirage-tcpip/blob/checksum/lib/checksum_stubs.c
>>=20
>> ack; will take a look after breakfast :)
>>=20
>> just to be clear -- the ARM version is using the code from L247 =
marked "generic implementation"?
>=20
> Yes. The x86 version crashes on ARM because the 64-bit values aren't =
aligned.
>=20
>> two immediate questions -- is the checksum field definitely treated =
as all zeros in the computation across the header?  and is the segment =
padded with zeros to be N*16 bits for the purposes of the computation =
(but the pad not transmitted)?
>=20
> No idea. I haven't changed any code around there.

this is weird-- wireshark says that the first transmission of that =
segment (frame#13) has an invalid checksum while the retransmission =
(#17) has a valid checksum. but the two checksums are the same!  however =
#13 appears to have almost no valid data in it -- after the first 74 =
bytes (which are the same in both #13 and #17), the payload in #13 is =
zeroed out.

so i guess the cstruct buffer is being recycled too soon (after the =
checksum calculation but before the data is actually transmitted) or =
something? =20

anil, balraj (or anyone else!)-- has that part of the stack been changed =
recently?

--=20
Cheers,

R.





--Apple-Mail=_939CABCA-02B7-4B57-AD47-A9544CF49B4B
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTzW1wAAoJEOLF27JWwSg3wPUQAIQMuUOnDt3E/YypR3Ph53eD
683pfsCDKNQU/Sybr5NR4YhiPWdMn5kOYc/Mx35MxmnmxW5Pv0pBCO8u3V7LnsPV
l7LawjWRKXsIj21NDv8LzTibzjagbaEV6WVFQ+K6h6uSl6H72u3fWH4IypqIFOVm
BosQvGtitl5Pw5wQ9GfUs+nwjDNTzvJGlFob6r9Ot7Qkzd0HLSoy9k1prrX0KDO7
8GDkquJ7JoWad8VR+FYuxn03Y80wWLGYebvdubi7B9WemcBHsLfCIqSnnoZ8Dypm
y8PHOGuZ95jvJNrJI6MmZ4S7yMUYrCSCnxpgO3lnWycjUichUuWw0GqEbfFgD8aX
/Yi0hu7W19ACWgElqCo+at9Qc1vXvG1lL8FzfVDSPrrN01eA7+txO/HybBvlF36T
SRXAUZ9eh9jmgw7nmWri5827Fr6WEJ1FaE6XnVAMqr3pHG5WlC9faGVybjxLM8rZ
+s+BpHe5w0tevp6uDnsFbQFsSE/xLgnI8J9Y43jiu+pMmiT8Uy0DKrr2gsQ1rpa/
Pb99zmqgGLMjIMzm0lfeY8bzrDYkqKRoPLZvJaauNYoetrpFhcZvFhq1ti+Saqxw
UQy8hjyAmEUVGSFlt4LAE2QQjFOwIZPm3S/NJoQoYr3dKMXjWlMfKclk4m8oJJeR
nDQy+pnm+UUBZ3EsoGGX
=w6iw
-----END PGP SIGNATURE-----

--Apple-Mail=_939CABCA-02B7-4B57-AD47-A9544CF49B4B--


--===============6704306254280403394==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6704306254280403394==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 19:57:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 19:57:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Jhs-0005YP-GB; Mon, 21 Jul 2014 19:57:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9Jhr-0005YH-5D
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 19:57:07 +0000
Received: from [85.158.137.68:26773] by server-9.bemta-3.messagelabs.com id
	93/CD-30790-2907DC35; Mon, 21 Jul 2014 19:57:06 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-5.tower-31.messagelabs.com!1405972625!17186606!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22556 invoked from network); 21 Jul 2014 19:57:05 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-5.tower-31.messagelabs.com with SMTP;
	21 Jul 2014 19:57:05 -0000
Received: (qmail 6164 invoked from network); 21 Jul 2014 19:57:01 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 21 Jul 2014 19:57:01 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 02669-05 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 20:56:54 +0100 (BST)
Received: (qmail 6096 invoked by uid 599); 21 Jul 2014 19:56:54 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 20:56:54 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9Jhi-0002Sw-EA; Mon, 21 Jul 2014 20:56:58 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Thomas Leonard <talex5@gmail.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Date: Mon, 21 Jul 2014 20:56:57 +0100
Thread-Topic: wireshark capture of failed download from mirage-www on ARM
Thread-Index: Ac+lHe12RH2fyf+cToiZN8zOqPN7WA==
Message-ID: <53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
In-Reply-To: <CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6704306254280403394=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6704306254280403394==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_939CABCA-02B7-4B57-AD47-A9544CF49B4B";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_939CABCA-02B7-4B57-AD47-A9544CF49B4B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

[ context for list: thomas' observation of failed download, and lots of =
retransmissions generally, while bringing up mirage-www on ARM ]

On 21 Jul 2014, at 09:27, Thomas Leonard <talex5@gmail.com> wrote:

> On 21 July 2014 17:08, Richard Mortier =
<Richard.Mortier@nottingham.ac.uk> wrote:
>=20

>> On 21 Jul 2014, at 09:01, Thomas Leonard <talex5@gmail.com> wrote:
>>=20
>>> Here's the wireshark capture of a failed download. It does indeed =
say
>>> the TCP checksum is wrong. Any idea what's going on?
>>>=20
>>> Note that on ARM it uses a different function to calculate this =
(which
>>> I took from mirage-unix). It's in the #else block here:
>>>=20
>>> =
https://github.com/talex5/mirage-tcpip/blob/checksum/lib/checksum_stubs.c
>>=20
>> ack; will take a look after breakfast :)
>>=20
>> just to be clear -- the ARM version is using the code from L247 =
marked "generic implementation"?
>=20
> Yes. The x86 version crashes on ARM because the 64-bit values aren't =
aligned.
>=20
>> two immediate questions -- is the checksum field definitely treated =
as all zeros in the computation across the header?  and is the segment =
padded with zeros to be N*16 bits for the purposes of the computation =
(but the pad not transmitted)?
>=20
> No idea. I haven't changed any code around there.

this is weird-- wireshark says that the first transmission of that =
segment (frame#13) has an invalid checksum while the retransmission =
(#17) has a valid checksum. but the two checksums are the same!  however =
#13 appears to have almost no valid data in it -- after the first 74 =
bytes (which are the same in both #13 and #17), the payload in #13 is =
zeroed out.

so i guess the cstruct buffer is being recycled too soon (after the =
checksum calculation but before the data is actually transmitted) or =
something? =20

anil, balraj (or anyone else!)-- has that part of the stack been changed =
recently?

--=20
Cheers,

R.





--Apple-Mail=_939CABCA-02B7-4B57-AD47-A9544CF49B4B
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTzW1wAAoJEOLF27JWwSg3wPUQAIQMuUOnDt3E/YypR3Ph53eD
683pfsCDKNQU/Sybr5NR4YhiPWdMn5kOYc/Mx35MxmnmxW5Pv0pBCO8u3V7LnsPV
l7LawjWRKXsIj21NDv8LzTibzjagbaEV6WVFQ+K6h6uSl6H72u3fWH4IypqIFOVm
BosQvGtitl5Pw5wQ9GfUs+nwjDNTzvJGlFob6r9Ot7Qkzd0HLSoy9k1prrX0KDO7
8GDkquJ7JoWad8VR+FYuxn03Y80wWLGYebvdubi7B9WemcBHsLfCIqSnnoZ8Dypm
y8PHOGuZ95jvJNrJI6MmZ4S7yMUYrCSCnxpgO3lnWycjUichUuWw0GqEbfFgD8aX
/Yi0hu7W19ACWgElqCo+at9Qc1vXvG1lL8FzfVDSPrrN01eA7+txO/HybBvlF36T
SRXAUZ9eh9jmgw7nmWri5827Fr6WEJ1FaE6XnVAMqr3pHG5WlC9faGVybjxLM8rZ
+s+BpHe5w0tevp6uDnsFbQFsSE/xLgnI8J9Y43jiu+pMmiT8Uy0DKrr2gsQ1rpa/
Pb99zmqgGLMjIMzm0lfeY8bzrDYkqKRoPLZvJaauNYoetrpFhcZvFhq1ti+Saqxw
UQy8hjyAmEUVGSFlt4LAE2QQjFOwIZPm3S/NJoQoYr3dKMXjWlMfKclk4m8oJJeR
nDQy+pnm+UUBZ3EsoGGX
=w6iw
-----END PGP SIGNATURE-----

--Apple-Mail=_939CABCA-02B7-4B57-AD47-A9544CF49B4B--


--===============6704306254280403394==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6704306254280403394==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 19:57:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 19:57:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9JiL-0005Ze-Jg; Mon, 21 Jul 2014 19:57:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9JiK-0005ZU-AQ
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 19:57:36 +0000
Received: from [85.158.139.211:25763] by server-16.bemta-5.messagelabs.com id
	80/07-31885-FA07DC35; Mon, 21 Jul 2014 19:57:35 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-12.tower-206.messagelabs.com!1405972654!16729785!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17207 invoked from network); 21 Jul 2014 19:57:34 -0000
Received: from engine03-20433-10.icritical.com (HELO
	engine03-20433-10.icritical.com) (93.159.202.52)
	by server-12.tower-206.messagelabs.com with SMTP;
	21 Jul 2014 19:57:34 -0000
Received: (qmail 15268 invoked from network); 21 Jul 2014 19:57:34 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-10.icritical.com with SMTP; 21 Jul 2014 19:57:34 -0000
Received: from engine03-20433-10.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-10.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 14244-03 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 20:57:26 +0100 (BST)
Received: (qmail 15196 invoked by uid 599); 21 Jul 2014 19:57:26 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-10.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 20:57:26 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9Ji8-0002Td-QQ; Mon, 21 Jul 2014 20:57:25 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Thomas Leonard <talex5@gmail.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Date: Mon, 21 Jul 2014 20:57:19 +0100
Thread-Topic: wireshark capture of failed download from mirage-www on ARM
Thread-Index: Ac+lHf0yG/X+J1TESpGsoGfF9eS63A==
Message-ID: <620E669D-6AFA-4E5B-B9D3-B3B87BA91AF0@nottingham.ac.uk>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
In-Reply-To: <CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine03-20433-10.icritical.com
Cc: Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2775177434164945888=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============2775177434164945888==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_7C19CC55-2A20-4401-A17D-AA84319E08B4";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_7C19CC55-2A20-4401-A17D-AA84319E08B4
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

[ context for list: thomas' observation of failed download, and lots of =
retransmissions generally, while bringing up mirage-www on ARM ]

On 21 Jul 2014, at 09:27, Thomas Leonard <talex5@gmail.com> wrote:

> On 21 July 2014 17:08, Richard Mortier =
<Richard.Mortier@nottingham.ac.uk> wrote:
>=20

>> On 21 Jul 2014, at 09:01, Thomas Leonard <talex5@gmail.com> wrote:
>>=20
>>> Here's the wireshark capture of a failed download. It does indeed =
say
>>> the TCP checksum is wrong. Any idea what's going on?
>>>=20
>>> Note that on ARM it uses a different function to calculate this =
(which
>>> I took from mirage-unix). It's in the #else block here:
>>>=20
>>> =
https://github.com/talex5/mirage-tcpip/blob/checksum/lib/checksum_stubs.c
>>=20
>> ack; will take a look after breakfast :)
>>=20
>> just to be clear -- the ARM version is using the code from L247 =
marked "generic implementation"?
>=20
> Yes. The x86 version crashes on ARM because the 64-bit values aren't =
aligned.
>=20
>> two immediate questions -- is the checksum field definitely treated =
as all zeros in the computation across the header?  and is the segment =
padded with zeros to be N*16 bits for the purposes of the computation =
(but the pad not transmitted)?
>=20
> No idea. I haven't changed any code around there.

this is weird-- wireshark says that the first transmission of that =
segment (frame#13) has an invalid checksum while the retransmission =
(#17) has a valid checksum. but the two checksums are the same!  however =
#13 appears to have almost no valid data in it -- after the first 74 =
bytes (which are the same in both #13 and #17), the payload in #13 is =
zeroed out.

so i guess the cstruct buffer is being recycled too soon (after the =
checksum calculation but before the data is actually transmitted) or =
something? =20

anil, balraj (or anyone else!)-- has that part of the stack been changed =
recently?

--=20
Cheers,

R.





--Apple-Mail=_7C19CC55-2A20-4401-A17D-AA84319E08B4
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTzXCgAAoJEOLF27JWwSg3qL0QAMyFTNfpHnG1j4bmwhMaHN1Z
bA42ihLwQzvjux8jF7aIk3ZZpk71yR07fUrhx7qJrehgT/pvfl5o4aRM/+JBsLdV
53O21XNFsiciAISfOuO47aRV+IriRW3Ht32d4eTmHtg0jcsKEJLLnL4PsD4MAyYZ
LgtQNmDOgqyk++dnTVqTjeu7xphmec0X89suzAq8Lj6up5Bud324dMRfG7uRSXTE
Fk6wCbc2i/jGkb+Aq764SJuHKgB9lt9b7Z4dcws2K/IRbQ6ab0ih0nDgqWz5KVAp
m8kOJLl9mRe8UgucFWYKegY+qagaz+sATyu2h+5rZvKSaNrA8e6uP/Eu7IPfKsB2
l6IQmvkWSM9/KSxzlfDLH6izwuMnzHeLAMKCDlW045fMSWYRdNPUqgFLOkRxqh87
yBQJqcWgxL6rNMyYFS8S645i8R+I0rj8d99ZzigzHglNwBgopBK2rIYtd00tnM+E
GKe0yTsTSGwTxDoZEz09nlwv63mTIVgHVGN6XdjAyrUFkDFQdSw5acZfEuxziVzO
Lsd6pQhD2Qi0CDCyQJUB9KuKrwW3x+gy/lcWjCa1PNncV/WFRYd3A4mjjQ6Yr0QK
FVJcLLw2TXu5BHFMybCs/6DBy1K1UOcCB1d9ozqqJ0Ej2agy8j3fRr0ZTyGJzSnB
fpn9yDkG8f4rnR7VfB8r
=/2W7
-----END PGP SIGNATURE-----

--Apple-Mail=_7C19CC55-2A20-4401-A17D-AA84319E08B4--


--===============2775177434164945888==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2775177434164945888==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 19:57:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 19:57:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9JiL-0005Ze-Jg; Mon, 21 Jul 2014 19:57:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9JiK-0005ZU-AQ
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 19:57:36 +0000
Received: from [85.158.139.211:25763] by server-16.bemta-5.messagelabs.com id
	80/07-31885-FA07DC35; Mon, 21 Jul 2014 19:57:35 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-12.tower-206.messagelabs.com!1405972654!16729785!1
X-Originating-IP: [93.159.202.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17207 invoked from network); 21 Jul 2014 19:57:34 -0000
Received: from engine03-20433-10.icritical.com (HELO
	engine03-20433-10.icritical.com) (93.159.202.52)
	by server-12.tower-206.messagelabs.com with SMTP;
	21 Jul 2014 19:57:34 -0000
Received: (qmail 15268 invoked from network); 21 Jul 2014 19:57:34 -0000
Received: from localhost (127.0.0.1)
	by engine03-20433-10.icritical.com with SMTP; 21 Jul 2014 19:57:34 -0000
Received: from engine03-20433-10.icritical.com ([127.0.0.1])
	by localhost (engine03-20433-10.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 14244-03 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 20:57:26 +0100 (BST)
Received: (qmail 15196 invoked by uid 599); 21 Jul 2014 19:57:26 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine03-20433-10.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 20:57:26 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9Ji8-0002Td-QQ; Mon, 21 Jul 2014 20:57:25 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Thomas Leonard <talex5@gmail.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Date: Mon, 21 Jul 2014 20:57:19 +0100
Thread-Topic: wireshark capture of failed download from mirage-www on ARM
Thread-Index: Ac+lHf0yG/X+J1TESpGsoGfF9eS63A==
Message-ID: <620E669D-6AFA-4E5B-B9D3-B3B87BA91AF0@nottingham.ac.uk>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
In-Reply-To: <CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine03-20433-10.icritical.com
Cc: Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2775177434164945888=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============2775177434164945888==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_7C19CC55-2A20-4401-A17D-AA84319E08B4";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_7C19CC55-2A20-4401-A17D-AA84319E08B4
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

[ context for list: thomas' observation of failed download, and lots of =
retransmissions generally, while bringing up mirage-www on ARM ]

On 21 Jul 2014, at 09:27, Thomas Leonard <talex5@gmail.com> wrote:

> On 21 July 2014 17:08, Richard Mortier =
<Richard.Mortier@nottingham.ac.uk> wrote:
>=20

>> On 21 Jul 2014, at 09:01, Thomas Leonard <talex5@gmail.com> wrote:
>>=20
>>> Here's the wireshark capture of a failed download. It does indeed =
say
>>> the TCP checksum is wrong. Any idea what's going on?
>>>=20
>>> Note that on ARM it uses a different function to calculate this =
(which
>>> I took from mirage-unix). It's in the #else block here:
>>>=20
>>> =
https://github.com/talex5/mirage-tcpip/blob/checksum/lib/checksum_stubs.c
>>=20
>> ack; will take a look after breakfast :)
>>=20
>> just to be clear -- the ARM version is using the code from L247 =
marked "generic implementation"?
>=20
> Yes. The x86 version crashes on ARM because the 64-bit values aren't =
aligned.
>=20
>> two immediate questions -- is the checksum field definitely treated =
as all zeros in the computation across the header?  and is the segment =
padded with zeros to be N*16 bits for the purposes of the computation =
(but the pad not transmitted)?
>=20
> No idea. I haven't changed any code around there.

this is weird-- wireshark says that the first transmission of that =
segment (frame#13) has an invalid checksum while the retransmission =
(#17) has a valid checksum. but the two checksums are the same!  however =
#13 appears to have almost no valid data in it -- after the first 74 =
bytes (which are the same in both #13 and #17), the payload in #13 is =
zeroed out.

so i guess the cstruct buffer is being recycled too soon (after the =
checksum calculation but before the data is actually transmitted) or =
something? =20

anil, balraj (or anyone else!)-- has that part of the stack been changed =
recently?

--=20
Cheers,

R.





--Apple-Mail=_7C19CC55-2A20-4401-A17D-AA84319E08B4
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTzXCgAAoJEOLF27JWwSg3qL0QAMyFTNfpHnG1j4bmwhMaHN1Z
bA42ihLwQzvjux8jF7aIk3ZZpk71yR07fUrhx7qJrehgT/pvfl5o4aRM/+JBsLdV
53O21XNFsiciAISfOuO47aRV+IriRW3Ht32d4eTmHtg0jcsKEJLLnL4PsD4MAyYZ
LgtQNmDOgqyk++dnTVqTjeu7xphmec0X89suzAq8Lj6up5Bud324dMRfG7uRSXTE
Fk6wCbc2i/jGkb+Aq764SJuHKgB9lt9b7Z4dcws2K/IRbQ6ab0ih0nDgqWz5KVAp
m8kOJLl9mRe8UgucFWYKegY+qagaz+sATyu2h+5rZvKSaNrA8e6uP/Eu7IPfKsB2
l6IQmvkWSM9/KSxzlfDLH6izwuMnzHeLAMKCDlW045fMSWYRdNPUqgFLOkRxqh87
yBQJqcWgxL6rNMyYFS8S645i8R+I0rj8d99ZzigzHglNwBgopBK2rIYtd00tnM+E
GKe0yTsTSGwTxDoZEz09nlwv63mTIVgHVGN6XdjAyrUFkDFQdSw5acZfEuxziVzO
Lsd6pQhD2Qi0CDCyQJUB9KuKrwW3x+gy/lcWjCa1PNncV/WFRYd3A4mjjQ6Yr0QK
FVJcLLw2TXu5BHFMybCs/6DBy1K1UOcCB1d9ozqqJ0Ej2agy8j3fRr0ZTyGJzSnB
fpn9yDkG8f4rnR7VfB8r
=/2W7
-----END PGP SIGNATURE-----

--Apple-Mail=_7C19CC55-2A20-4401-A17D-AA84319E08B4--


--===============2775177434164945888==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2775177434164945888==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 20:14:22 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 20:14:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9JyW-0005m4-Te; Mon, 21 Jul 2014 20:14:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9JyV-0005lz-81
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 20:14:19 +0000
Received: from [85.158.143.35:60419] by server-1.bemta-4.messagelabs.com id
	A0/78-30046-A947DC35; Mon, 21 Jul 2014 20:14:18 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1405973656!19135442!1
X-Originating-IP: [209.85.219.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11365 invoked from network); 21 Jul 2014 20:14:17 -0000
Received: from mail-oa0-f43.google.com (HELO mail-oa0-f43.google.com)
	(209.85.219.43)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 20:14:17 -0000
Received: by mail-oa0-f43.google.com with SMTP id i7so8284970oag.30
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 13:14:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=zvsz3qzugbZ9FweDFnkoTFcLg7aU5rQvFAoZElW08A8=;
	b=Rd2PbYVH+f19b/+rkjqS+Fiy+wmWp0jKZeM1WsMDoB3L38Dws3MT7NSmWh9DNgeZAP
	JaRuzoHNjZ9iUiVua7GMWejndVKGhioIZhEd4K0nHHUREGcAr1RefsL0ox/WowaeaZza
	xNpbalkz4mAtc7q9o6Ov205RwNAp1T1VuxXVABcHUiNNZdqu7EDhYAdCIyIUM+UzwOR/
	UAK48W8Kl+I6re5yTm9n/zsSLDojhD52MUWzyJilYl+6JiD80X6dDXwICQ88Sq/YVjY5
	io4j0/DGKqi/O973Hsks4ylP8b8lSF+28RA5NlqCMkbjmmKkg+fw/XZ4OAobF3azCWz9
	Xomw==
MIME-Version: 1.0
X-Received: by 10.182.200.169 with SMTP id jt9mr41891356obc.0.1405973656052;
	Mon, 21 Jul 2014 13:14:16 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 13:14:15 -0700 (PDT)
In-Reply-To: <53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 21:14:16 +0100
Message-ID: <CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 21 July 2014 20:56, Richard Mortier <Richard.Mortier@nottingham.ac.uk> wrote:
> [ context for list: thomas' observation of failed download, and lots of retransmissions generally, while bringing up mirage-www on ARM ]
>
> On 21 Jul 2014, at 09:27, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 21 July 2014 17:08, Richard Mortier <Richard.Mortier@nottingham.ac.uk> wrote:
>>
>
>>> On 21 Jul 2014, at 09:01, Thomas Leonard <talex5@gmail.com> wrote:
>>>
>>>> Here's the wireshark capture of a failed download. It does indeed say
>>>> the TCP checksum is wrong. Any idea what's going on?
>>>>
>>>> Note that on ARM it uses a different function to calculate this (which
>>>> I took from mirage-unix). It's in the #else block here:
>>>>
>>>> https://github.com/talex5/mirage-tcpip/blob/checksum/lib/checksum_stubs.c
>>>
>>> ack; will take a look after breakfast :)
>>>
>>> just to be clear -- the ARM version is using the code from L247 marked "generic implementation"?
>>
>> Yes. The x86 version crashes on ARM because the 64-bit values aren't aligned.
>>
>>> two immediate questions -- is the checksum field definitely treated as all zeros in the computation across the header?  and is the segment padded with zeros to be N*16 bits for the purposes of the computation (but the pad not transmitted)?
>>
>> No idea. I haven't changed any code around there.
>
> this is weird-- wireshark says that the first transmission of that segment (frame#13) has an invalid checksum while the retransmission (#17) has a valid checksum. but the two checksums are the same!  however #13 appears to have almost no valid data in it -- after the first 74 bytes (which are the same in both #13 and #17), the payload in #13 is zeroed out.
>
> so i guess the cstruct buffer is being recycled too soon (after the checksum calculation but before the data is actually transmitted) or something?
>
> anil, balraj (or anyone else!)-- has that part of the stack been changed recently?

I'm seeing strange things using a simpler test case now:

  let start c s =
    S.listen_tcpv4 s ~port:8000 (fun flow ->
        let dst, dst_port = S.TCPV4.get_dest flow in
        C.log_s c (green "new tcp connection from %s %d"
                     (Ipaddr.V4.to_string dst) dst_port)
        >>= fun () ->
        let data = Cstruct.of_string "Hello" in
        S.TCPV4.write flow data
        >>= fun () ->
        S.TCPV4.close flow
      );
    S.listen s

This is also failing. I added a hexdump to mirage-net-xen and got this
in Netif.writev:

f0 1f af 6a 9b 95 c0 ff ee c0 ff ee 08 00 45 00
00 2d 52 95 00 00 26 06 c0 c8 c0 a8 00 12 c0 a8
00 0b 1f 40 b4 ca 1a fe b5 69 5e 8c dd fe 50 18
ff ff 29 8a 00 00

48 65 6c 6c 6f

That looks correct. The first block is the header, the second is the
payload. In wireshare, the header is identical but the payload is
different (20 00 00 00 08), which matches what you're seeing.

So I guess there's some problem sending the second page to the ring.
Suggestions from people who know this code would be great! Could just
be a missing barrier or something.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 20:14:22 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 20:14:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9JyW-0005m4-Te; Mon, 21 Jul 2014 20:14:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9JyV-0005lz-81
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 20:14:19 +0000
Received: from [85.158.143.35:60419] by server-1.bemta-4.messagelabs.com id
	A0/78-30046-A947DC35; Mon, 21 Jul 2014 20:14:18 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1405973656!19135442!1
X-Originating-IP: [209.85.219.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11365 invoked from network); 21 Jul 2014 20:14:17 -0000
Received: from mail-oa0-f43.google.com (HELO mail-oa0-f43.google.com)
	(209.85.219.43)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 20:14:17 -0000
Received: by mail-oa0-f43.google.com with SMTP id i7so8284970oag.30
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 13:14:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=zvsz3qzugbZ9FweDFnkoTFcLg7aU5rQvFAoZElW08A8=;
	b=Rd2PbYVH+f19b/+rkjqS+Fiy+wmWp0jKZeM1WsMDoB3L38Dws3MT7NSmWh9DNgeZAP
	JaRuzoHNjZ9iUiVua7GMWejndVKGhioIZhEd4K0nHHUREGcAr1RefsL0ox/WowaeaZza
	xNpbalkz4mAtc7q9o6Ov205RwNAp1T1VuxXVABcHUiNNZdqu7EDhYAdCIyIUM+UzwOR/
	UAK48W8Kl+I6re5yTm9n/zsSLDojhD52MUWzyJilYl+6JiD80X6dDXwICQ88Sq/YVjY5
	io4j0/DGKqi/O973Hsks4ylP8b8lSF+28RA5NlqCMkbjmmKkg+fw/XZ4OAobF3azCWz9
	Xomw==
MIME-Version: 1.0
X-Received: by 10.182.200.169 with SMTP id jt9mr41891356obc.0.1405973656052;
	Mon, 21 Jul 2014 13:14:16 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 13:14:15 -0700 (PDT)
In-Reply-To: <53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
Date: Mon, 21 Jul 2014 21:14:16 +0100
Message-ID: <CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 21 July 2014 20:56, Richard Mortier <Richard.Mortier@nottingham.ac.uk> wrote:
> [ context for list: thomas' observation of failed download, and lots of retransmissions generally, while bringing up mirage-www on ARM ]
>
> On 21 Jul 2014, at 09:27, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 21 July 2014 17:08, Richard Mortier <Richard.Mortier@nottingham.ac.uk> wrote:
>>
>
>>> On 21 Jul 2014, at 09:01, Thomas Leonard <talex5@gmail.com> wrote:
>>>
>>>> Here's the wireshark capture of a failed download. It does indeed say
>>>> the TCP checksum is wrong. Any idea what's going on?
>>>>
>>>> Note that on ARM it uses a different function to calculate this (which
>>>> I took from mirage-unix). It's in the #else block here:
>>>>
>>>> https://github.com/talex5/mirage-tcpip/blob/checksum/lib/checksum_stubs.c
>>>
>>> ack; will take a look after breakfast :)
>>>
>>> just to be clear -- the ARM version is using the code from L247 marked "generic implementation"?
>>
>> Yes. The x86 version crashes on ARM because the 64-bit values aren't aligned.
>>
>>> two immediate questions -- is the checksum field definitely treated as all zeros in the computation across the header?  and is the segment padded with zeros to be N*16 bits for the purposes of the computation (but the pad not transmitted)?
>>
>> No idea. I haven't changed any code around there.
>
> this is weird-- wireshark says that the first transmission of that segment (frame#13) has an invalid checksum while the retransmission (#17) has a valid checksum. but the two checksums are the same!  however #13 appears to have almost no valid data in it -- after the first 74 bytes (which are the same in both #13 and #17), the payload in #13 is zeroed out.
>
> so i guess the cstruct buffer is being recycled too soon (after the checksum calculation but before the data is actually transmitted) or something?
>
> anil, balraj (or anyone else!)-- has that part of the stack been changed recently?

I'm seeing strange things using a simpler test case now:

  let start c s =
    S.listen_tcpv4 s ~port:8000 (fun flow ->
        let dst, dst_port = S.TCPV4.get_dest flow in
        C.log_s c (green "new tcp connection from %s %d"
                     (Ipaddr.V4.to_string dst) dst_port)
        >>= fun () ->
        let data = Cstruct.of_string "Hello" in
        S.TCPV4.write flow data
        >>= fun () ->
        S.TCPV4.close flow
      );
    S.listen s

This is also failing. I added a hexdump to mirage-net-xen and got this
in Netif.writev:

f0 1f af 6a 9b 95 c0 ff ee c0 ff ee 08 00 45 00
00 2d 52 95 00 00 26 06 c0 c8 c0 a8 00 12 c0 a8
00 0b 1f 40 b4 ca 1a fe b5 69 5e 8c dd fe 50 18
ff ff 29 8a 00 00

48 65 6c 6c 6f

That looks correct. The first block is the header, the second is the
payload. In wireshare, the header is identical but the payload is
different (20 00 00 00 08), which matches what you're seeing.

So I guess there's some problem sending the second page to the ring.
Suggestions from people who know this code would be great! Could just
be a missing barrier or something.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 20:31:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 20:31:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9KFP-00063z-MM; Mon, 21 Jul 2014 20:31:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X9KFO-00063p-HC
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 20:31:46 +0000
Received: from [85.158.139.211:12247] by server-9.bemta-5.messagelabs.com id
	32/37-26293-1B87DC35; Mon, 21 Jul 2014 20:31:45 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1405974704!11450132!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20171 invoked from network); 21 Jul 2014 20:31:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-10.tower-206.messagelabs.com with SMTP;
	21 Jul 2014 20:31:44 -0000
X-IronPort-AV: E=Sophos;i="5.01,703,1400025600"; d="scan'208";a="23304804"
Received: from unknown (HELO AMSPEX01CL01.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 21 Jul 2014 20:31:44 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.210]) by
	AMSPEX01CL01.citrite.net ([169.254.6.75]) with mapi id 14.03.0181.006;
	Mon, 21 Jul 2014 22:31:44 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Thomas Leonard <talex5@gmail.com>
Thread-Topic: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
Thread-Index: Ac+lHe12RH2fyf+cToiZN8zOqPN7WP//408AgAAE3wA=
Date: Mon, 21 Jul 2014 20:31:44 +0000
Message-ID: <5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
In-Reply-To: <CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <E2CAC57AC4A4D24DA32A656D6053A2CD@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download
	from	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 21 Jul 2014, at 21:14, Thomas Leonard <talex5@gmail.com> wrote:

> On 21 July 2014 20:56, Richard Mortier <Richard.Mortier@nottingham.ac.uk>=
 wrote:
>> [ context for list: thomas' observation of failed download, and lots of =
retransmissions generally, while bringing up mirage-www on ARM ]
>> =

>> On 21 Jul 2014, at 09:27, Thomas Leonard <talex5@gmail.com> wrote:
>> =

>>> On 21 July 2014 17:08, Richard Mortier <Richard.Mortier@nottingham.ac.u=
k> wrote:
>>> =

>> =

>>>> On 21 Jul 2014, at 09:01, Thomas Leonard <talex5@gmail.com> wrote:
>>>> =

>>>>> Here's the wireshark capture of a failed download. It does indeed say
>>>>> the TCP checksum is wrong. Any idea what's going on?
>>>>> =

>>>>> Note that on ARM it uses a different function to calculate this (which
>>>>> I took from mirage-unix). It's in the #else block here:
>>>>> =

>>>>> https://github.com/talex5/mirage-tcpip/blob/checksum/lib/checksum_stu=
bs.c
>>>> =

>>>> ack; will take a look after breakfast :)
>>>> =

>>>> just to be clear -- the ARM version is using the code from L247 marked=
 "generic implementation"?
>>> =

>>> Yes. The x86 version crashes on ARM because the 64-bit values aren't al=
igned.
>>> =

>>>> two immediate questions -- is the checksum field definitely treated as=
 all zeros in the computation across the header?  and is the segment padded=
 with zeros to be N*16 bits for the purposes of the computation (but the pa=
d not transmitted)?
>>> =

>>> No idea. I haven't changed any code around there.
>> =

>> this is weird-- wireshark says that the first transmission of that segme=
nt (frame#13) has an invalid checksum while the retransmission (#17) has a =
valid checksum. but the two checksums are the same!  however #13 appears to=
 have almost no valid data in it -- after the first 74 bytes (which are the=
 same in both #13 and #17), the payload in #13 is zeroed out.
>> =

>> so i guess the cstruct buffer is being recycled too soon (after the chec=
ksum calculation but before the data is actually transmitted) or something?
>> =

>> anil, balraj (or anyone else!)-- has that part of the stack been changed=
 recently?
> =

> I'm seeing strange things using a simpler test case now:
> =

>  let start c s =3D
>    S.listen_tcpv4 s ~port:8000 (fun flow ->
>        let dst, dst_port =3D S.TCPV4.get_dest flow in
>        C.log_s c (green "new tcp connection from %s %d"
>                     (Ipaddr.V4.to_string dst) dst_port)
>>> =3D fun () ->
>        let data =3D Cstruct.of_string "Hello" in
>        S.TCPV4.write flow data
>>> =3D fun () ->
>        S.TCPV4.close flow
>      );
>    S.listen s
> =

> This is also failing. I added a hexdump to mirage-net-xen and got this
> in Netif.writev:
> =

> f0 1f af 6a 9b 95 c0 ff ee c0 ff ee 08 00 45 00
> 00 2d 52 95 00 00 26 06 c0 c8 c0 a8 00 12 c0 a8
> 00 0b 1f 40 b4 ca 1a fe b5 69 5e 8c dd fe 50 18
> ff ff 29 8a 00 00
> =

> 48 65 6c 6c 6f
> =

> That looks correct. The first block is the header, the second is the
> payload. In wireshare, the header is identical but the payload is
> different (20 00 00 00 08), which matches what you're seeing.
> =

> So I guess there's some problem sending the second page to the ring.
> Suggestions from people who know this code would be great! Could just
> be a missing barrier or something.

I think the flow is:

https://github.com/mirage/mirage-net-xen/blob/master/lib/netif.ml#L408
https://github.com/mirage/shared-memory-ring/blob/master/lwt/lwt_ring.ml#L75
https://github.com/mirage/shared-memory-ring/blob/master/lib/ring.ml#L154
https://github.com/mirage/shared-memory-ring/blob/master/lib/ring.ml#L102
https://github.com/mirage/shared-memory-ring/blob/master/lib/barrier_stubs.=
c#L28
 =97 calling =93xen_mb=94

Perhaps to see whether =93xen_mb=94 is working you could add a delay (via b=
usy loop?) in the =91memory_barrier=92 function (or thereabouts) in shared-=
memory-ring. Assuming the writes are committed eventually (is that a valid =
assumption?) then the busy loop would =93fix it=94. That would be fairly go=
od evidence that barriers are broken.

Cheers,
Dave
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 20:31:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 20:31:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9KFP-00063z-MM; Mon, 21 Jul 2014 20:31:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X9KFO-00063p-HC
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 20:31:46 +0000
Received: from [85.158.139.211:12247] by server-9.bemta-5.messagelabs.com id
	32/37-26293-1B87DC35; Mon, 21 Jul 2014 20:31:45 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1405974704!11450132!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20171 invoked from network); 21 Jul 2014 20:31:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-10.tower-206.messagelabs.com with SMTP;
	21 Jul 2014 20:31:44 -0000
X-IronPort-AV: E=Sophos;i="5.01,703,1400025600"; d="scan'208";a="23304804"
Received: from unknown (HELO AMSPEX01CL01.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 21 Jul 2014 20:31:44 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.210]) by
	AMSPEX01CL01.citrite.net ([169.254.6.75]) with mapi id 14.03.0181.006;
	Mon, 21 Jul 2014 22:31:44 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Thomas Leonard <talex5@gmail.com>
Thread-Topic: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
Thread-Index: Ac+lHe12RH2fyf+cToiZN8zOqPN7WP//408AgAAE3wA=
Date: Mon, 21 Jul 2014 20:31:44 +0000
Message-ID: <5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
In-Reply-To: <CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
Content-ID: <E2CAC57AC4A4D24DA32A656D6053A2CD@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download
	from	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 21 Jul 2014, at 21:14, Thomas Leonard <talex5@gmail.com> wrote:

> On 21 July 2014 20:56, Richard Mortier <Richard.Mortier@nottingham.ac.uk>=
 wrote:
>> [ context for list: thomas' observation of failed download, and lots of =
retransmissions generally, while bringing up mirage-www on ARM ]
>> =

>> On 21 Jul 2014, at 09:27, Thomas Leonard <talex5@gmail.com> wrote:
>> =

>>> On 21 July 2014 17:08, Richard Mortier <Richard.Mortier@nottingham.ac.u=
k> wrote:
>>> =

>> =

>>>> On 21 Jul 2014, at 09:01, Thomas Leonard <talex5@gmail.com> wrote:
>>>> =

>>>>> Here's the wireshark capture of a failed download. It does indeed say
>>>>> the TCP checksum is wrong. Any idea what's going on?
>>>>> =

>>>>> Note that on ARM it uses a different function to calculate this (which
>>>>> I took from mirage-unix). It's in the #else block here:
>>>>> =

>>>>> https://github.com/talex5/mirage-tcpip/blob/checksum/lib/checksum_stu=
bs.c
>>>> =

>>>> ack; will take a look after breakfast :)
>>>> =

>>>> just to be clear -- the ARM version is using the code from L247 marked=
 "generic implementation"?
>>> =

>>> Yes. The x86 version crashes on ARM because the 64-bit values aren't al=
igned.
>>> =

>>>> two immediate questions -- is the checksum field definitely treated as=
 all zeros in the computation across the header?  and is the segment padded=
 with zeros to be N*16 bits for the purposes of the computation (but the pa=
d not transmitted)?
>>> =

>>> No idea. I haven't changed any code around there.
>> =

>> this is weird-- wireshark says that the first transmission of that segme=
nt (frame#13) has an invalid checksum while the retransmission (#17) has a =
valid checksum. but the two checksums are the same!  however #13 appears to=
 have almost no valid data in it -- after the first 74 bytes (which are the=
 same in both #13 and #17), the payload in #13 is zeroed out.
>> =

>> so i guess the cstruct buffer is being recycled too soon (after the chec=
ksum calculation but before the data is actually transmitted) or something?
>> =

>> anil, balraj (or anyone else!)-- has that part of the stack been changed=
 recently?
> =

> I'm seeing strange things using a simpler test case now:
> =

>  let start c s =3D
>    S.listen_tcpv4 s ~port:8000 (fun flow ->
>        let dst, dst_port =3D S.TCPV4.get_dest flow in
>        C.log_s c (green "new tcp connection from %s %d"
>                     (Ipaddr.V4.to_string dst) dst_port)
>>> =3D fun () ->
>        let data =3D Cstruct.of_string "Hello" in
>        S.TCPV4.write flow data
>>> =3D fun () ->
>        S.TCPV4.close flow
>      );
>    S.listen s
> =

> This is also failing. I added a hexdump to mirage-net-xen and got this
> in Netif.writev:
> =

> f0 1f af 6a 9b 95 c0 ff ee c0 ff ee 08 00 45 00
> 00 2d 52 95 00 00 26 06 c0 c8 c0 a8 00 12 c0 a8
> 00 0b 1f 40 b4 ca 1a fe b5 69 5e 8c dd fe 50 18
> ff ff 29 8a 00 00
> =

> 48 65 6c 6c 6f
> =

> That looks correct. The first block is the header, the second is the
> payload. In wireshare, the header is identical but the payload is
> different (20 00 00 00 08), which matches what you're seeing.
> =

> So I guess there's some problem sending the second page to the ring.
> Suggestions from people who know this code would be great! Could just
> be a missing barrier or something.

I think the flow is:

https://github.com/mirage/mirage-net-xen/blob/master/lib/netif.ml#L408
https://github.com/mirage/shared-memory-ring/blob/master/lwt/lwt_ring.ml#L75
https://github.com/mirage/shared-memory-ring/blob/master/lib/ring.ml#L154
https://github.com/mirage/shared-memory-ring/blob/master/lib/ring.ml#L102
https://github.com/mirage/shared-memory-ring/blob/master/lib/barrier_stubs.=
c#L28
 =97 calling =93xen_mb=94

Perhaps to see whether =93xen_mb=94 is working you could add a delay (via b=
usy loop?) in the =91memory_barrier=92 function (or thereabouts) in shared-=
memory-ring. Assuming the writes are committed eventually (is that a valid =
assumption?) then the busy loop would =93fix it=94. That would be fairly go=
od evidence that barriers are broken.

Cheers,
Dave
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 21:19:06 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 21:19:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Kz7-0006S1-I4; Mon, 21 Jul 2014 21:19:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9Kz6-0006Rw-LK
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 21:19:00 +0000
Received: from [85.158.137.68:63966] by server-15.bemta-3.messagelabs.com id
	D6/AF-14271-3C38DC35; Mon, 21 Jul 2014 21:18:59 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-31.messagelabs.com!1405977539!17084320!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23117 invoked from network); 21 Jul 2014 21:18:59 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-31.messagelabs.com with SMTP;
	21 Jul 2014 21:18:59 -0000
Received: (qmail 21730 invoked by uid 634); 21 Jul 2014 21:18:58 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-67-188-213-72.hsd1.ca.comcast.net (HELO [10.12.10.17])
	(67.188.213.72)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 21 Jul 2014 22:18:54 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
Date: Mon, 21 Jul 2014 14:18:51 -0700
Message-Id: <A8A8AB56-1FD2-457D-865C-BBF735A08CAF@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
To: David Scott <Dave.Scott@citrix.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download
	from	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 21 Jul 2014, at 13:31, Dave Scott <Dave.Scott@citrix.com> wrote:

> Perhaps to see whether =93xen_mb=94 is working you could add a delay (via=
 busy loop?) in the =91memory_barrier=92 function (or thereabouts) in share=
d-memory-ring. Assuming the writes are committed eventually (is that a vali=
d assumption?) then the busy loop would =93fix it=94. That would be fairly =
good evidence that barriers are broken.

These memory barriers are effectively noops on x86 due to its memory model =
(but not on ARM), so I could believe that there's a bug here.  But it's odd=
 that it's happening so often, as such a concurrency race should be much mo=
re sporadic.

It would be quite handy to have a low-level ring/grant unit test to rule ou=
t these sorts of bugs. Vchan doesn't quite count for this I guess, since th=
ere's no granting happening.  Does the same bug happen with blkfront?  That=
 shares the same logic with netfront, so it'll at least isolate the checksu=
mming code vs the Ring code.

-anil (unable to do any actual low-level debugging while on the road, so wi=
ll stick to wise thought experiments)
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 21:19:06 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 21:19:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Kz7-0006S1-I4; Mon, 21 Jul 2014 21:19:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9Kz6-0006Rw-LK
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 21:19:00 +0000
Received: from [85.158.137.68:63966] by server-15.bemta-3.messagelabs.com id
	D6/AF-14271-3C38DC35; Mon, 21 Jul 2014 21:18:59 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-31.messagelabs.com!1405977539!17084320!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23117 invoked from network); 21 Jul 2014 21:18:59 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-31.messagelabs.com with SMTP;
	21 Jul 2014 21:18:59 -0000
Received: (qmail 21730 invoked by uid 634); 21 Jul 2014 21:18:58 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-67-188-213-72.hsd1.ca.comcast.net (HELO [10.12.10.17])
	(67.188.213.72)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 21 Jul 2014 22:18:54 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
Date: Mon, 21 Jul 2014 14:18:51 -0700
Message-Id: <A8A8AB56-1FD2-457D-865C-BBF735A08CAF@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
To: David Scott <Dave.Scott@citrix.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download
	from	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 21 Jul 2014, at 13:31, Dave Scott <Dave.Scott@citrix.com> wrote:

> Perhaps to see whether =93xen_mb=94 is working you could add a delay (via=
 busy loop?) in the =91memory_barrier=92 function (or thereabouts) in share=
d-memory-ring. Assuming the writes are committed eventually (is that a vali=
d assumption?) then the busy loop would =93fix it=94. That would be fairly =
good evidence that barriers are broken.

These memory barriers are effectively noops on x86 due to its memory model =
(but not on ARM), so I could believe that there's a bug here.  But it's odd=
 that it's happening so often, as such a concurrency race should be much mo=
re sporadic.

It would be quite handy to have a low-level ring/grant unit test to rule ou=
t these sorts of bugs. Vchan doesn't quite count for this I guess, since th=
ere's no granting happening.  Does the same bug happen with blkfront?  That=
 shares the same logic with netfront, so it'll at least isolate the checksu=
mming code vs the Ring code.

-anil (unable to do any actual low-level debugging while on the road, so wi=
ll stick to wise thought experiments)
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 21:26:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 21:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9L6R-0006UL-8p; Mon, 21 Jul 2014 21:26:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9L6Q-0006UG-I6
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 21:26:34 +0000
Received: from [193.109.254.147:54774] by server-13.bemta-14.messagelabs.com
	id 45/92-19311-9858DC35; Mon, 21 Jul 2014 21:26:33 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-10.tower-27.messagelabs.com!1405977991!18685695!1
X-Originating-IP: [151.236.209.33]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14016 invoked from network); 21 Jul 2014 21:26:31 -0000
Received: from engine01-20433-7.icritical.com (HELO
	engine01-20433-7.icritical.com) (151.236.209.33)
	by server-10.tower-27.messagelabs.com with SMTP;
	21 Jul 2014 21:26:31 -0000
Received: (qmail 7326 invoked from network); 21 Jul 2014 21:26:29 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-7.icritical.com with SMTP; 21 Jul 2014 21:26:29 -0000
Received: from engine01-20433-7.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-7.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 05154-07 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 22:26:22 +0100 (BST)
Received: (qmail 7265 invoked by uid 599); 21 Jul 2014 21:26:22 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine01-20433-7.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 22:26:22 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9L6C-0001uq-IL; Mon, 21 Jul 2014 22:26:20 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Dave Scott <Dave.Scott@citrix.com>, Thomas Leonard <talex5@gmail.com>
Date: Mon, 21 Jul 2014 22:26:18 +0100
Thread-Topic: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
Thread-Index: Ac+lKmmAOoJRiX8LQla18tN7ohiK5g==
Message-ID: <42134996-E900-4259-B598-8A2BD9DBDEBA@nottingham.ac.uk>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
In-Reply-To: <5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-7.icritical.com
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download
	from	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4925785057792514418=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============4925785057792514418==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_D158ED1D-AAC4-4CF1-9F45-6BC3F6E682B7";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_D158ED1D-AAC4-4CF1-9F45-6BC3F6E682B7
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252


On 21 Jul 2014, at 13:31, Dave Scott <Dave.Scott@citrix.com> wrote:

>=20
> On 21 Jul 2014, at 21:14, Thomas Leonard <talex5@gmail.com> wrote:
>=20
>> ...So I guess there's some problem sending the second page to the =
ring.
>> Suggestions from people who know this code would be great! Could just
>> be a missing barrier or something.
>=20
> I think the flow is:
>=20
> https://github.com/mirage/mirage-net-xen/blob/master/lib/netif.ml#L408
> =
https://github.com/mirage/shared-memory-ring/blob/master/lwt/lwt_ring.ml#L=
75
> =
https://github.com/mirage/shared-memory-ring/blob/master/lib/ring.ml#L154
> =
https://github.com/mirage/shared-memory-ring/blob/master/lib/ring.ml#L102
> =
https://github.com/mirage/shared-memory-ring/blob/master/lib/barrier_stubs=
.c#L28
> =97 calling =93xen_mb=94
>=20
> Perhaps to see whether =93xen_mb=94 is working you could add a delay =
(via busy loop?) in the =91memory_barrier=92 function (or thereabouts) =
in shared-memory-ring. Assuming the writes are committed eventually (is =
that a valid assumption?) then the busy loop would =93fix it=94. That =
would be fairly good evidence that barriers are broken.

code inspection of =
https://github.com/mirage/shared-memory-ring/blob/master/lib/barrier.h#L20=
 suggests:

...
#elif defined(__arm__)
# ifndef _M_ARM
#define xen_mb()   {}
#define xen_rmb()  {}
#define xen_wmb()  {}
# elif _M_ARM > 6
#define xen_mb()   asm volatile ("dmb" : : : "memory")
#define xen_rmb()  asm volatile ("dmb" : : : "memory")
#define xen_wmb()  asm volatile ("dmb" : : : "memory")
# else
#error This ARM variant needs testing
# endif /* ifdef _M_ARM */

...so i guess one question is what's _M_ARM defined to?

also, looking at =
http://infocenter.arm.com/help/index.jsp?topic=3D/com.arm.doc.dui0489c/CIH=
GHHIE.html i wonder whether changing "dmb" for "dsb" would be worth =
trying to see if that "fixes" things?

(caveat: i'm not an asm or arm hacker so that might be an inane =
suggestion :)

--=20
Cheers,

R.





--Apple-Mail=_D158ED1D-AAC4-4CF1-9F45-6BC3F6E682B7
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTzYV7AAoJEOLF27JWwSg3X+kP/2E1qm7Ims8uX7m1QCCpPYQJ
4u4lcBjk3KI8/hybRaDGMp1TQ1b7MgIZrRFz02CJmFOneN54/08p5+l+b4E4x55c
q5e5Lw74dGSSLwAFq8I0sOzx9PuCbUgqrtTODM2siFPYmKTIwoIKl1E3rt4CXwpr
q9FiaZDPzu+nPKet+SwiR/JImp38ZzoyAACCQ/qsKZfWyoUCxfGK+NSouGA2lltb
+P8m6sCAw+uQ6Tw6YnngBkOGHBctGVchaLC/92JqXRaqHtizo4whPLG0FEzOBVRr
KCef5bP8CSo/0zGLUW6PRp+5EAQeL9RpK2kAksBIDQz6gFV7qbqpXsb4o95b74vv
s6zlpt1WCu4a2C7qEVyNfLRp1vPAgJBO1ZGzHw0zf+VQEqYVWzQ8MlUge4NTT2ae
nalsdes4MXSnMQNaZphWc37pfmXY5CJzX1Xwg0o9AQ4EJ6sPZbP+L/sbwbVM7X1B
uw4Nu+o+5t+fUOt74VJ/VKilueh9gHLvemO/5sfJ7PDYM2kCxragkWexb8VYfNn3
5RxVbBvb/q8xwN7rNcsysfyCd/E2MJrqXBUs5Y/5EgJ7qoDv+IFDKMOkyuq8JfzA
G/HAG4GCmNNOLrRVmyzlODcw/WSEGpP5UTVNhjt7Dtp6QlLLHuqbcCcgUQO+MmlQ
a/B8rqD6S0Sj7pq5Ld2e
=Hyxe
-----END PGP SIGNATURE-----

--Apple-Mail=_D158ED1D-AAC4-4CF1-9F45-6BC3F6E682B7--


--===============4925785057792514418==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4925785057792514418==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 21:26:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 21:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9L6R-0006UL-8p; Mon, 21 Jul 2014 21:26:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9L6Q-0006UG-I6
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 21:26:34 +0000
Received: from [193.109.254.147:54774] by server-13.bemta-14.messagelabs.com
	id 45/92-19311-9858DC35; Mon, 21 Jul 2014 21:26:33 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-10.tower-27.messagelabs.com!1405977991!18685695!1
X-Originating-IP: [151.236.209.33]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14016 invoked from network); 21 Jul 2014 21:26:31 -0000
Received: from engine01-20433-7.icritical.com (HELO
	engine01-20433-7.icritical.com) (151.236.209.33)
	by server-10.tower-27.messagelabs.com with SMTP;
	21 Jul 2014 21:26:31 -0000
Received: (qmail 7326 invoked from network); 21 Jul 2014 21:26:29 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-7.icritical.com with SMTP; 21 Jul 2014 21:26:29 -0000
Received: from engine01-20433-7.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-7.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 05154-07 for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 22:26:22 +0100 (BST)
Received: (qmail 7265 invoked by uid 599); 21 Jul 2014 21:26:22 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine01-20433-7.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 21 Jul 2014 22:26:22 +0100
Received: from uiwexhub01.ad.nottingham.ac.uk ([128.243.15.133])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1X9L6C-0001uq-IL; Mon, 21 Jul 2014 22:26:20 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Dave Scott <Dave.Scott@citrix.com>, Thomas Leonard <talex5@gmail.com>
Date: Mon, 21 Jul 2014 22:26:18 +0100
Thread-Topic: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
Thread-Index: Ac+lKmmAOoJRiX8LQla18tN7ohiK5g==
Message-ID: <42134996-E900-4259-B598-8A2BD9DBDEBA@nottingham.ac.uk>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
In-Reply-To: <5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-7.icritical.com
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download
	from	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4925785057792514418=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============4925785057792514418==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_D158ED1D-AAC4-4CF1-9F45-6BC3F6E682B7";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_D158ED1D-AAC4-4CF1-9F45-6BC3F6E682B7
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252


On 21 Jul 2014, at 13:31, Dave Scott <Dave.Scott@citrix.com> wrote:

>=20
> On 21 Jul 2014, at 21:14, Thomas Leonard <talex5@gmail.com> wrote:
>=20
>> ...So I guess there's some problem sending the second page to the =
ring.
>> Suggestions from people who know this code would be great! Could just
>> be a missing barrier or something.
>=20
> I think the flow is:
>=20
> https://github.com/mirage/mirage-net-xen/blob/master/lib/netif.ml#L408
> =
https://github.com/mirage/shared-memory-ring/blob/master/lwt/lwt_ring.ml#L=
75
> =
https://github.com/mirage/shared-memory-ring/blob/master/lib/ring.ml#L154
> =
https://github.com/mirage/shared-memory-ring/blob/master/lib/ring.ml#L102
> =
https://github.com/mirage/shared-memory-ring/blob/master/lib/barrier_stubs=
.c#L28
> =97 calling =93xen_mb=94
>=20
> Perhaps to see whether =93xen_mb=94 is working you could add a delay =
(via busy loop?) in the =91memory_barrier=92 function (or thereabouts) =
in shared-memory-ring. Assuming the writes are committed eventually (is =
that a valid assumption?) then the busy loop would =93fix it=94. That =
would be fairly good evidence that barriers are broken.

code inspection of =
https://github.com/mirage/shared-memory-ring/blob/master/lib/barrier.h#L20=
 suggests:

...
#elif defined(__arm__)
# ifndef _M_ARM
#define xen_mb()   {}
#define xen_rmb()  {}
#define xen_wmb()  {}
# elif _M_ARM > 6
#define xen_mb()   asm volatile ("dmb" : : : "memory")
#define xen_rmb()  asm volatile ("dmb" : : : "memory")
#define xen_wmb()  asm volatile ("dmb" : : : "memory")
# else
#error This ARM variant needs testing
# endif /* ifdef _M_ARM */

...so i guess one question is what's _M_ARM defined to?

also, looking at =
http://infocenter.arm.com/help/index.jsp?topic=3D/com.arm.doc.dui0489c/CIH=
GHHIE.html i wonder whether changing "dmb" for "dsb" would be worth =
trying to see if that "fixes" things?

(caveat: i'm not an asm or arm hacker so that might be an inane =
suggestion :)

--=20
Cheers,

R.





--Apple-Mail=_D158ED1D-AAC4-4CF1-9F45-6BC3F6E682B7
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTzYV7AAoJEOLF27JWwSg3X+kP/2E1qm7Ims8uX7m1QCCpPYQJ
4u4lcBjk3KI8/hybRaDGMp1TQ1b7MgIZrRFz02CJmFOneN54/08p5+l+b4E4x55c
q5e5Lw74dGSSLwAFq8I0sOzx9PuCbUgqrtTODM2siFPYmKTIwoIKl1E3rt4CXwpr
q9FiaZDPzu+nPKet+SwiR/JImp38ZzoyAACCQ/qsKZfWyoUCxfGK+NSouGA2lltb
+P8m6sCAw+uQ6Tw6YnngBkOGHBctGVchaLC/92JqXRaqHtizo4whPLG0FEzOBVRr
KCef5bP8CSo/0zGLUW6PRp+5EAQeL9RpK2kAksBIDQz6gFV7qbqpXsb4o95b74vv
s6zlpt1WCu4a2C7qEVyNfLRp1vPAgJBO1ZGzHw0zf+VQEqYVWzQ8MlUge4NTT2ae
nalsdes4MXSnMQNaZphWc37pfmXY5CJzX1Xwg0o9AQ4EJ6sPZbP+L/sbwbVM7X1B
uw4Nu+o+5t+fUOt74VJ/VKilueh9gHLvemO/5sfJ7PDYM2kCxragkWexb8VYfNn3
5RxVbBvb/q8xwN7rNcsysfyCd/E2MJrqXBUs5Y/5EgJ7qoDv+IFDKMOkyuq8JfzA
G/HAG4GCmNNOLrRVmyzlODcw/WSEGpP5UTVNhjt7Dtp6QlLLHuqbcCcgUQO+MmlQ
a/B8rqD6S0Sj7pq5Ld2e
=Hyxe
-----END PGP SIGNATURE-----

--Apple-Mail=_D158ED1D-AAC4-4CF1-9F45-6BC3F6E682B7--


--===============4925785057792514418==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4925785057792514418==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 21:30:44 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 21:30:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9LAR-0006X4-OM; Mon, 21 Jul 2014 21:30:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9LAQ-0006Wz-5v
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 21:30:42 +0000
Received: from [193.109.254.147:58241] by server-7.bemta-14.messagelabs.com id
	E9/61-13362-1868DC35; Mon, 21 Jul 2014 21:30:41 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1405978238!18649615!1
X-Originating-IP: [209.85.219.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28996 invoked from network); 21 Jul 2014 21:30:40 -0000
Received: from mail-oa0-f48.google.com (HELO mail-oa0-f48.google.com)
	(209.85.219.48)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 21:30:40 -0000
Received: by mail-oa0-f48.google.com with SMTP id m1so8223976oag.7
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 14:30:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=SZ2/6xmLAKyOBJTK59fOFdBMR7ez0sZQljM+LzBcLz4=;
	b=kBXex3fKEd0gaHIvaex1Fz2db2uXW9OT8Hnq2xtVgpGIeWI+sT0QWowGcibZoQI5gn
	pqmrDvGUCo5s/yJWsLs8uuZKEkcgHaoSOFP+n2oZyrHpn3jS82NMSe5O4v629hzzUHbz
	sIg9UDs29klYNTtmFkUj8Um8LT2WQtEmI0RFUEVu/vYdljDZhG30xEuBU9/JnWGPkSo/
	wRKRzvc+Fgn7N0Hu6pAfdJcJHITpUTkDZOzKFK1RZzdYNez6rrtE7gz6efHtuW0d59C7
	2KifF3bbOFmDAyWiC0q8fYqA/fLW4hbeB2Nb39JmzWcPUSS9Z1AnrwlCAcSjB8P7tfd3
	N8Jg==
MIME-Version: 1.0
X-Received: by 10.182.97.234 with SMTP id ed10mr40796108obb.31.1405978238483; 
	Mon, 21 Jul 2014 14:30:38 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 14:30:38 -0700 (PDT)
In-Reply-To: <5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
Date: Mon, 21 Jul 2014 22:30:38 +0100
Message-ID: <CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Dave Scott <Dave.Scott@citrix.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

T24gMjEgSnVseSAyMDE0IDIxOjMxLCBEYXZlIFNjb3R0IDxEYXZlLlNjb3R0QGNpdHJpeC5jb20+
IHdyb3RlOgo+Cj4gT24gMjEgSnVsIDIwMTQsIGF0IDIxOjE0LCBUaG9tYXMgTGVvbmFyZCA8dGFs
ZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4KPj4gT24gMjEgSnVseSAyMDE0IDIwOjU2LCBSaWNoYXJk
IE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+IFsg
Y29udGV4dCBmb3IgbGlzdDogdGhvbWFzJyBvYnNlcnZhdGlvbiBvZiBmYWlsZWQgZG93bmxvYWQs
IGFuZCBsb3RzIG9mIHJldHJhbnNtaXNzaW9ucyBnZW5lcmFsbHksIHdoaWxlIGJyaW5naW5nIHVw
IG1pcmFnZS13d3cgb24gQVJNIF0KPj4+Cj4+PiBPbiAyMSBKdWwgMjAxNCwgYXQgMDk6MjcsIFRo
b21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4+Cj4+Pj4gT24gMjEgSnVs
eSAyMDE0IDE3OjA4LCBSaWNoYXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFt
LmFjLnVrPiB3cm90ZToKPj4+Pgo+Pj4KPj4+Pj4gT24gMjEgSnVsIDIwMTQsIGF0IDA5OjAxLCBU
aG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+Cj4+Pj4+PiBIZXJl
J3MgdGhlIHdpcmVzaGFyayBjYXB0dXJlIG9mIGEgZmFpbGVkIGRvd25sb2FkLiBJdCBkb2VzIGlu
ZGVlZCBzYXkKPj4+Pj4+IHRoZSBUQ1AgY2hlY2tzdW0gaXMgd3JvbmcuIEFueSBpZGVhIHdoYXQn
cyBnb2luZyBvbj8KPj4+Pj4+Cj4+Pj4+PiBOb3RlIHRoYXQgb24gQVJNIGl0IHVzZXMgYSBkaWZm
ZXJlbnQgZnVuY3Rpb24gdG8gY2FsY3VsYXRlIHRoaXMgKHdoaWNoCj4+Pj4+PiBJIHRvb2sgZnJv
bSBtaXJhZ2UtdW5peCkuIEl0J3MgaW4gdGhlICNlbHNlIGJsb2NrIGhlcmU6Cj4+Pj4+Pgo+Pj4+
Pj4gaHR0cHM6Ly9naXRodWIuY29tL3RhbGV4NS9taXJhZ2UtdGNwaXAvYmxvYi9jaGVja3N1bS9s
aWIvY2hlY2tzdW1fc3R1YnMuYwo+Pj4+Pgo+Pj4+PiBhY2s7IHdpbGwgdGFrZSBhIGxvb2sgYWZ0
ZXIgYnJlYWtmYXN0IDopCj4+Pj4+Cj4+Pj4+IGp1c3QgdG8gYmUgY2xlYXIgLS0gdGhlIEFSTSB2
ZXJzaW9uIGlzIHVzaW5nIHRoZSBjb2RlIGZyb20gTDI0NyBtYXJrZWQgImdlbmVyaWMgaW1wbGVt
ZW50YXRpb24iPwo+Pj4+Cj4+Pj4gWWVzLiBUaGUgeDg2IHZlcnNpb24gY3Jhc2hlcyBvbiBBUk0g
YmVjYXVzZSB0aGUgNjQtYml0IHZhbHVlcyBhcmVuJ3QgYWxpZ25lZC4KPj4+Pgo+Pj4+PiB0d28g
aW1tZWRpYXRlIHF1ZXN0aW9ucyAtLSBpcyB0aGUgY2hlY2tzdW0gZmllbGQgZGVmaW5pdGVseSB0
cmVhdGVkIGFzIGFsbCB6ZXJvcyBpbiB0aGUgY29tcHV0YXRpb24gYWNyb3NzIHRoZSBoZWFkZXI/
ICBhbmQgaXMgdGhlIHNlZ21lbnQgcGFkZGVkIHdpdGggemVyb3MgdG8gYmUgTioxNiBiaXRzIGZv
ciB0aGUgcHVycG9zZXMgb2YgdGhlIGNvbXB1dGF0aW9uIChidXQgdGhlIHBhZCBub3QgdHJhbnNt
aXR0ZWQpPwo+Pj4+Cj4+Pj4gTm8gaWRlYS4gSSBoYXZlbid0IGNoYW5nZWQgYW55IGNvZGUgYXJv
dW5kIHRoZXJlLgo+Pj4KPj4+IHRoaXMgaXMgd2VpcmQtLSB3aXJlc2hhcmsgc2F5cyB0aGF0IHRo
ZSBmaXJzdCB0cmFuc21pc3Npb24gb2YgdGhhdCBzZWdtZW50IChmcmFtZSMxMykgaGFzIGFuIGlu
dmFsaWQgY2hlY2tzdW0gd2hpbGUgdGhlIHJldHJhbnNtaXNzaW9uICgjMTcpIGhhcyBhIHZhbGlk
IGNoZWNrc3VtLiBidXQgdGhlIHR3byBjaGVja3N1bXMgYXJlIHRoZSBzYW1lISAgaG93ZXZlciAj
MTMgYXBwZWFycyB0byBoYXZlIGFsbW9zdCBubyB2YWxpZCBkYXRhIGluIGl0IC0tIGFmdGVyIHRo
ZSBmaXJzdCA3NCBieXRlcyAod2hpY2ggYXJlIHRoZSBzYW1lIGluIGJvdGggIzEzIGFuZCAjMTcp
LCB0aGUgcGF5bG9hZCBpbiAjMTMgaXMgemVyb2VkIG91dC4KPj4+Cj4+PiBzbyBpIGd1ZXNzIHRo
ZSBjc3RydWN0IGJ1ZmZlciBpcyBiZWluZyByZWN5Y2xlZCB0b28gc29vbiAoYWZ0ZXIgdGhlIGNo
ZWNrc3VtIGNhbGN1bGF0aW9uIGJ1dCBiZWZvcmUgdGhlIGRhdGEgaXMgYWN0dWFsbHkgdHJhbnNt
aXR0ZWQpIG9yIHNvbWV0aGluZz8KPj4+Cj4+PiBhbmlsLCBiYWxyYWogKG9yIGFueW9uZSBlbHNl
ISktLSBoYXMgdGhhdCBwYXJ0IG9mIHRoZSBzdGFjayBiZWVuIGNoYW5nZWQgcmVjZW50bHk/Cj4+
Cj4+IEknbSBzZWVpbmcgc3RyYW5nZSB0aGluZ3MgdXNpbmcgYSBzaW1wbGVyIHRlc3QgY2FzZSBu
b3c6Cj4+Cj4+ICBsZXQgc3RhcnQgYyBzID0KPj4gICAgUy5saXN0ZW5fdGNwdjQgcyB+cG9ydDo4
MDAwIChmdW4gZmxvdyAtPgo+PiAgICAgICAgbGV0IGRzdCwgZHN0X3BvcnQgPSBTLlRDUFY0Lmdl
dF9kZXN0IGZsb3cgaW4KPj4gICAgICAgIEMubG9nX3MgYyAoZ3JlZW4gIm5ldyB0Y3AgY29ubmVj
dGlvbiBmcm9tICVzICVkIgo+PiAgICAgICAgICAgICAgICAgICAgIChJcGFkZHIuVjQudG9fc3Ry
aW5nIGRzdCkgZHN0X3BvcnQpCj4+Pj4gPSBmdW4gKCkgLT4KPj4gICAgICAgIGxldCBkYXRhID0g
Q3N0cnVjdC5vZl9zdHJpbmcgIkhlbGxvIiBpbgo+PiAgICAgICAgUy5UQ1BWNC53cml0ZSBmbG93
IGRhdGEKPj4+PiA9IGZ1biAoKSAtPgo+PiAgICAgICAgUy5UQ1BWNC5jbG9zZSBmbG93Cj4+ICAg
ICAgKTsKPj4gICAgUy5saXN0ZW4gcwo+Pgo+PiBUaGlzIGlzIGFsc28gZmFpbGluZy4gSSBhZGRl
ZCBhIGhleGR1bXAgdG8gbWlyYWdlLW5ldC14ZW4gYW5kIGdvdCB0aGlzCj4+IGluIE5ldGlmLndy
aXRldjoKPj4KPj4gZjAgMWYgYWYgNmEgOWIgOTUgYzAgZmYgZWUgYzAgZmYgZWUgMDggMDAgNDUg
MDAKPj4gMDAgMmQgNTIgOTUgMDAgMDAgMjYgMDYgYzAgYzggYzAgYTggMDAgMTIgYzAgYTgKPj4g
MDAgMGIgMWYgNDAgYjQgY2EgMWEgZmUgYjUgNjkgNWUgOGMgZGQgZmUgNTAgMTgKPj4gZmYgZmYg
MjkgOGEgMDAgMDAKPj4KPj4gNDggNjUgNmMgNmMgNmYKPj4KPj4gVGhhdCBsb29rcyBjb3JyZWN0
LiBUaGUgZmlyc3QgYmxvY2sgaXMgdGhlIGhlYWRlciwgdGhlIHNlY29uZCBpcyB0aGUKPj4gcGF5
bG9hZC4gSW4gd2lyZXNoYXJlLCB0aGUgaGVhZGVyIGlzIGlkZW50aWNhbCBidXQgdGhlIHBheWxv
YWQgaXMKPj4gZGlmZmVyZW50ICgyMCAwMCAwMCAwMCAwOCksIHdoaWNoIG1hdGNoZXMgd2hhdCB5
b3UncmUgc2VlaW5nLgo+Pgo+PiBTbyBJIGd1ZXNzIHRoZXJlJ3Mgc29tZSBwcm9ibGVtIHNlbmRp
bmcgdGhlIHNlY29uZCBwYWdlIHRvIHRoZSByaW5nLgo+PiBTdWdnZXN0aW9ucyBmcm9tIHBlb3Bs
ZSB3aG8ga25vdyB0aGlzIGNvZGUgd291bGQgYmUgZ3JlYXQhIENvdWxkIGp1c3QKPj4gYmUgYSBt
aXNzaW5nIGJhcnJpZXIgb3Igc29tZXRoaW5nLgo+Cj4gSSB0aGluayB0aGUgZmxvdyBpczoKPgo+
IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2UvbWlyYWdlLW5ldC14ZW4vYmxvYi9tYXN0ZXIvbGli
L25ldGlmLm1sI0w0MDgKPiBodHRwczovL2dpdGh1Yi5jb20vbWlyYWdlL3NoYXJlZC1tZW1vcnkt
cmluZy9ibG9iL21hc3Rlci9sd3QvbHd0X3JpbmcubWwjTDc1Cj4gaHR0cHM6Ly9naXRodWIuY29t
L21pcmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbGliL3JpbmcubWwjTDE1NAo+
IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2Uvc2hhcmVkLW1lbW9yeS1yaW5nL2Jsb2IvbWFzdGVy
L2xpYi9yaW5nLm1sI0wxMDIKPiBodHRwczovL2dpdGh1Yi5jb20vbWlyYWdlL3NoYXJlZC1tZW1v
cnktcmluZy9ibG9iL21hc3Rlci9saWIvYmFycmllcl9zdHVicy5jI0wyOAo+ICDigJQgY2FsbGlu
ZyDigJx4ZW5fbWLigJ0KPgo+IFBlcmhhcHMgdG8gc2VlIHdoZXRoZXIg4oCceGVuX21i4oCdIGlz
IHdvcmtpbmcgeW91IGNvdWxkIGFkZCBhIGRlbGF5ICh2aWEgYnVzeSBsb29wPykgaW4gdGhlIOKA
mG1lbW9yeV9iYXJyaWVy4oCZIGZ1bmN0aW9uIChvciB0aGVyZWFib3V0cykgaW4gc2hhcmVkLW1l
bW9yeS1yaW5nLiBBc3N1bWluZyB0aGUgd3JpdGVzIGFyZSBjb21taXR0ZWQgZXZlbnR1YWxseSAo
aXMgdGhhdCBhIHZhbGlkIGFzc3VtcHRpb24/KSB0aGVuIHRoZSBidXN5IGxvb3Agd291bGQg4oCc
Zml4IGl04oCdLiBUaGF0IHdvdWxkIGJlIGZhaXJseSBnb29kIGV2aWRlbmNlIHRoYXQgYmFycmll
cnMgYXJlIGJyb2tlbi4KClRoaXMgaXMgcG90ZW50aWFsbHkgYSBwcm9ibGVtIChpbiBzaGFyZWQt
bWVtb3J5LXJpbmcvbGliL2JhcnJpZXIuaCk6CgojZWxpZiBkZWZpbmVkKF9fYXJtX18pCiMgaWZu
ZGVmIF9NX0FSTQojZGVmaW5lIHhlbl9tYigpICAge30KI2RlZmluZSB4ZW5fcm1iKCkgIHt9CiNk
ZWZpbmUgeGVuX3dtYigpICB7fQojIGVsaWYgX01fQVJNID4gNgojZGVmaW5lIHhlbl9tYigpICAg
YXNtIHZvbGF0aWxlICgiZG1iIiA6IDogOiAibWVtb3J5IikKI2RlZmluZSB4ZW5fcm1iKCkgIGFz
bSB2b2xhdGlsZSAoImRtYiIgOiA6IDogIm1lbW9yeSIpCiNkZWZpbmUgeGVuX3dtYigpICBhc20g
dm9sYXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQoKRnJvbSBhIHF1aWNrIEdvb2dsZSwgaXQg
bG9va3MgbGlrZSBfTV9BUk0gaXMgYSBNaWNyb3NvZnQtb25seSB0aGluZy4KCkhvd2V2ZXIsIHRo
ZSBiYXJyaWVyIGNvZGUgaXMgZHVwbGljYXRlZCBpbiBtaXJhZ2UteGVuLCBhbmQgSSB0aGluawp3
ZSdyZSB1c2luZyB0aGF0IHZlcnNpb24gKGluIGFueSBjYXNlLCBjaGFuZ2luZyBpdCBkaWRuJ3Qg
aGVscCkuCgpIb3dldmVyLCBJJ3ZlIG5vdyBub3RpY2VkIHRoYXQgbXkgbmV0d29yayB0ZXN0IGlz
IGZhaWxpbmcgb24geDg2IHRvbywKc28gdGhlcmUncyBzb21ldGhpbmcgdmVyeSBvZGQgZ29pbmcg
b24uLi4KCgotLSAKRHIgVGhvbWFzIExlb25hcmQgICAgICAgIGh0dHA6Ly8waW5zdGFsbC5uZXQv
CkdQRzogOTI0MiA5ODA3IEM5ODUgM0MwNyA0NEE2ICA4QjlBIEFFMDcgODI4MCA1OUE1IDNDQzEK
R1BHOiBEQTk4IDI1QUUgQ0FEMCA4OTc1IDdDREEgIEJEOEUgMDcxMyAzRjk2IENBNzQgRDhCQQoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdl
b3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 21:30:44 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 21:30:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9LAR-0006X4-OM; Mon, 21 Jul 2014 21:30:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9LAQ-0006Wz-5v
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 21:30:42 +0000
Received: from [193.109.254.147:58241] by server-7.bemta-14.messagelabs.com id
	E9/61-13362-1868DC35; Mon, 21 Jul 2014 21:30:41 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1405978238!18649615!1
X-Originating-IP: [209.85.219.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28996 invoked from network); 21 Jul 2014 21:30:40 -0000
Received: from mail-oa0-f48.google.com (HELO mail-oa0-f48.google.com)
	(209.85.219.48)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 21:30:40 -0000
Received: by mail-oa0-f48.google.com with SMTP id m1so8223976oag.7
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 14:30:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=SZ2/6xmLAKyOBJTK59fOFdBMR7ez0sZQljM+LzBcLz4=;
	b=kBXex3fKEd0gaHIvaex1Fz2db2uXW9OT8Hnq2xtVgpGIeWI+sT0QWowGcibZoQI5gn
	pqmrDvGUCo5s/yJWsLs8uuZKEkcgHaoSOFP+n2oZyrHpn3jS82NMSe5O4v629hzzUHbz
	sIg9UDs29klYNTtmFkUj8Um8LT2WQtEmI0RFUEVu/vYdljDZhG30xEuBU9/JnWGPkSo/
	wRKRzvc+Fgn7N0Hu6pAfdJcJHITpUTkDZOzKFK1RZzdYNez6rrtE7gz6efHtuW0d59C7
	2KifF3bbOFmDAyWiC0q8fYqA/fLW4hbeB2Nb39JmzWcPUSS9Z1AnrwlCAcSjB8P7tfd3
	N8Jg==
MIME-Version: 1.0
X-Received: by 10.182.97.234 with SMTP id ed10mr40796108obb.31.1405978238483; 
	Mon, 21 Jul 2014 14:30:38 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 14:30:38 -0700 (PDT)
In-Reply-To: <5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
Date: Mon, 21 Jul 2014 22:30:38 +0100
Message-ID: <CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Dave Scott <Dave.Scott@citrix.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

T24gMjEgSnVseSAyMDE0IDIxOjMxLCBEYXZlIFNjb3R0IDxEYXZlLlNjb3R0QGNpdHJpeC5jb20+
IHdyb3RlOgo+Cj4gT24gMjEgSnVsIDIwMTQsIGF0IDIxOjE0LCBUaG9tYXMgTGVvbmFyZCA8dGFs
ZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4KPj4gT24gMjEgSnVseSAyMDE0IDIwOjU2LCBSaWNoYXJk
IE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+IFsg
Y29udGV4dCBmb3IgbGlzdDogdGhvbWFzJyBvYnNlcnZhdGlvbiBvZiBmYWlsZWQgZG93bmxvYWQs
IGFuZCBsb3RzIG9mIHJldHJhbnNtaXNzaW9ucyBnZW5lcmFsbHksIHdoaWxlIGJyaW5naW5nIHVw
IG1pcmFnZS13d3cgb24gQVJNIF0KPj4+Cj4+PiBPbiAyMSBKdWwgMjAxNCwgYXQgMDk6MjcsIFRo
b21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4+Cj4+Pj4gT24gMjEgSnVs
eSAyMDE0IDE3OjA4LCBSaWNoYXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFt
LmFjLnVrPiB3cm90ZToKPj4+Pgo+Pj4KPj4+Pj4gT24gMjEgSnVsIDIwMTQsIGF0IDA5OjAxLCBU
aG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+Cj4+Pj4+PiBIZXJl
J3MgdGhlIHdpcmVzaGFyayBjYXB0dXJlIG9mIGEgZmFpbGVkIGRvd25sb2FkLiBJdCBkb2VzIGlu
ZGVlZCBzYXkKPj4+Pj4+IHRoZSBUQ1AgY2hlY2tzdW0gaXMgd3JvbmcuIEFueSBpZGVhIHdoYXQn
cyBnb2luZyBvbj8KPj4+Pj4+Cj4+Pj4+PiBOb3RlIHRoYXQgb24gQVJNIGl0IHVzZXMgYSBkaWZm
ZXJlbnQgZnVuY3Rpb24gdG8gY2FsY3VsYXRlIHRoaXMgKHdoaWNoCj4+Pj4+PiBJIHRvb2sgZnJv
bSBtaXJhZ2UtdW5peCkuIEl0J3MgaW4gdGhlICNlbHNlIGJsb2NrIGhlcmU6Cj4+Pj4+Pgo+Pj4+
Pj4gaHR0cHM6Ly9naXRodWIuY29tL3RhbGV4NS9taXJhZ2UtdGNwaXAvYmxvYi9jaGVja3N1bS9s
aWIvY2hlY2tzdW1fc3R1YnMuYwo+Pj4+Pgo+Pj4+PiBhY2s7IHdpbGwgdGFrZSBhIGxvb2sgYWZ0
ZXIgYnJlYWtmYXN0IDopCj4+Pj4+Cj4+Pj4+IGp1c3QgdG8gYmUgY2xlYXIgLS0gdGhlIEFSTSB2
ZXJzaW9uIGlzIHVzaW5nIHRoZSBjb2RlIGZyb20gTDI0NyBtYXJrZWQgImdlbmVyaWMgaW1wbGVt
ZW50YXRpb24iPwo+Pj4+Cj4+Pj4gWWVzLiBUaGUgeDg2IHZlcnNpb24gY3Jhc2hlcyBvbiBBUk0g
YmVjYXVzZSB0aGUgNjQtYml0IHZhbHVlcyBhcmVuJ3QgYWxpZ25lZC4KPj4+Pgo+Pj4+PiB0d28g
aW1tZWRpYXRlIHF1ZXN0aW9ucyAtLSBpcyB0aGUgY2hlY2tzdW0gZmllbGQgZGVmaW5pdGVseSB0
cmVhdGVkIGFzIGFsbCB6ZXJvcyBpbiB0aGUgY29tcHV0YXRpb24gYWNyb3NzIHRoZSBoZWFkZXI/
ICBhbmQgaXMgdGhlIHNlZ21lbnQgcGFkZGVkIHdpdGggemVyb3MgdG8gYmUgTioxNiBiaXRzIGZv
ciB0aGUgcHVycG9zZXMgb2YgdGhlIGNvbXB1dGF0aW9uIChidXQgdGhlIHBhZCBub3QgdHJhbnNt
aXR0ZWQpPwo+Pj4+Cj4+Pj4gTm8gaWRlYS4gSSBoYXZlbid0IGNoYW5nZWQgYW55IGNvZGUgYXJv
dW5kIHRoZXJlLgo+Pj4KPj4+IHRoaXMgaXMgd2VpcmQtLSB3aXJlc2hhcmsgc2F5cyB0aGF0IHRo
ZSBmaXJzdCB0cmFuc21pc3Npb24gb2YgdGhhdCBzZWdtZW50IChmcmFtZSMxMykgaGFzIGFuIGlu
dmFsaWQgY2hlY2tzdW0gd2hpbGUgdGhlIHJldHJhbnNtaXNzaW9uICgjMTcpIGhhcyBhIHZhbGlk
IGNoZWNrc3VtLiBidXQgdGhlIHR3byBjaGVja3N1bXMgYXJlIHRoZSBzYW1lISAgaG93ZXZlciAj
MTMgYXBwZWFycyB0byBoYXZlIGFsbW9zdCBubyB2YWxpZCBkYXRhIGluIGl0IC0tIGFmdGVyIHRo
ZSBmaXJzdCA3NCBieXRlcyAod2hpY2ggYXJlIHRoZSBzYW1lIGluIGJvdGggIzEzIGFuZCAjMTcp
LCB0aGUgcGF5bG9hZCBpbiAjMTMgaXMgemVyb2VkIG91dC4KPj4+Cj4+PiBzbyBpIGd1ZXNzIHRo
ZSBjc3RydWN0IGJ1ZmZlciBpcyBiZWluZyByZWN5Y2xlZCB0b28gc29vbiAoYWZ0ZXIgdGhlIGNo
ZWNrc3VtIGNhbGN1bGF0aW9uIGJ1dCBiZWZvcmUgdGhlIGRhdGEgaXMgYWN0dWFsbHkgdHJhbnNt
aXR0ZWQpIG9yIHNvbWV0aGluZz8KPj4+Cj4+PiBhbmlsLCBiYWxyYWogKG9yIGFueW9uZSBlbHNl
ISktLSBoYXMgdGhhdCBwYXJ0IG9mIHRoZSBzdGFjayBiZWVuIGNoYW5nZWQgcmVjZW50bHk/Cj4+
Cj4+IEknbSBzZWVpbmcgc3RyYW5nZSB0aGluZ3MgdXNpbmcgYSBzaW1wbGVyIHRlc3QgY2FzZSBu
b3c6Cj4+Cj4+ICBsZXQgc3RhcnQgYyBzID0KPj4gICAgUy5saXN0ZW5fdGNwdjQgcyB+cG9ydDo4
MDAwIChmdW4gZmxvdyAtPgo+PiAgICAgICAgbGV0IGRzdCwgZHN0X3BvcnQgPSBTLlRDUFY0Lmdl
dF9kZXN0IGZsb3cgaW4KPj4gICAgICAgIEMubG9nX3MgYyAoZ3JlZW4gIm5ldyB0Y3AgY29ubmVj
dGlvbiBmcm9tICVzICVkIgo+PiAgICAgICAgICAgICAgICAgICAgIChJcGFkZHIuVjQudG9fc3Ry
aW5nIGRzdCkgZHN0X3BvcnQpCj4+Pj4gPSBmdW4gKCkgLT4KPj4gICAgICAgIGxldCBkYXRhID0g
Q3N0cnVjdC5vZl9zdHJpbmcgIkhlbGxvIiBpbgo+PiAgICAgICAgUy5UQ1BWNC53cml0ZSBmbG93
IGRhdGEKPj4+PiA9IGZ1biAoKSAtPgo+PiAgICAgICAgUy5UQ1BWNC5jbG9zZSBmbG93Cj4+ICAg
ICAgKTsKPj4gICAgUy5saXN0ZW4gcwo+Pgo+PiBUaGlzIGlzIGFsc28gZmFpbGluZy4gSSBhZGRl
ZCBhIGhleGR1bXAgdG8gbWlyYWdlLW5ldC14ZW4gYW5kIGdvdCB0aGlzCj4+IGluIE5ldGlmLndy
aXRldjoKPj4KPj4gZjAgMWYgYWYgNmEgOWIgOTUgYzAgZmYgZWUgYzAgZmYgZWUgMDggMDAgNDUg
MDAKPj4gMDAgMmQgNTIgOTUgMDAgMDAgMjYgMDYgYzAgYzggYzAgYTggMDAgMTIgYzAgYTgKPj4g
MDAgMGIgMWYgNDAgYjQgY2EgMWEgZmUgYjUgNjkgNWUgOGMgZGQgZmUgNTAgMTgKPj4gZmYgZmYg
MjkgOGEgMDAgMDAKPj4KPj4gNDggNjUgNmMgNmMgNmYKPj4KPj4gVGhhdCBsb29rcyBjb3JyZWN0
LiBUaGUgZmlyc3QgYmxvY2sgaXMgdGhlIGhlYWRlciwgdGhlIHNlY29uZCBpcyB0aGUKPj4gcGF5
bG9hZC4gSW4gd2lyZXNoYXJlLCB0aGUgaGVhZGVyIGlzIGlkZW50aWNhbCBidXQgdGhlIHBheWxv
YWQgaXMKPj4gZGlmZmVyZW50ICgyMCAwMCAwMCAwMCAwOCksIHdoaWNoIG1hdGNoZXMgd2hhdCB5
b3UncmUgc2VlaW5nLgo+Pgo+PiBTbyBJIGd1ZXNzIHRoZXJlJ3Mgc29tZSBwcm9ibGVtIHNlbmRp
bmcgdGhlIHNlY29uZCBwYWdlIHRvIHRoZSByaW5nLgo+PiBTdWdnZXN0aW9ucyBmcm9tIHBlb3Bs
ZSB3aG8ga25vdyB0aGlzIGNvZGUgd291bGQgYmUgZ3JlYXQhIENvdWxkIGp1c3QKPj4gYmUgYSBt
aXNzaW5nIGJhcnJpZXIgb3Igc29tZXRoaW5nLgo+Cj4gSSB0aGluayB0aGUgZmxvdyBpczoKPgo+
IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2UvbWlyYWdlLW5ldC14ZW4vYmxvYi9tYXN0ZXIvbGli
L25ldGlmLm1sI0w0MDgKPiBodHRwczovL2dpdGh1Yi5jb20vbWlyYWdlL3NoYXJlZC1tZW1vcnkt
cmluZy9ibG9iL21hc3Rlci9sd3QvbHd0X3JpbmcubWwjTDc1Cj4gaHR0cHM6Ly9naXRodWIuY29t
L21pcmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbGliL3JpbmcubWwjTDE1NAo+
IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2Uvc2hhcmVkLW1lbW9yeS1yaW5nL2Jsb2IvbWFzdGVy
L2xpYi9yaW5nLm1sI0wxMDIKPiBodHRwczovL2dpdGh1Yi5jb20vbWlyYWdlL3NoYXJlZC1tZW1v
cnktcmluZy9ibG9iL21hc3Rlci9saWIvYmFycmllcl9zdHVicy5jI0wyOAo+ICDigJQgY2FsbGlu
ZyDigJx4ZW5fbWLigJ0KPgo+IFBlcmhhcHMgdG8gc2VlIHdoZXRoZXIg4oCceGVuX21i4oCdIGlz
IHdvcmtpbmcgeW91IGNvdWxkIGFkZCBhIGRlbGF5ICh2aWEgYnVzeSBsb29wPykgaW4gdGhlIOKA
mG1lbW9yeV9iYXJyaWVy4oCZIGZ1bmN0aW9uIChvciB0aGVyZWFib3V0cykgaW4gc2hhcmVkLW1l
bW9yeS1yaW5nLiBBc3N1bWluZyB0aGUgd3JpdGVzIGFyZSBjb21taXR0ZWQgZXZlbnR1YWxseSAo
aXMgdGhhdCBhIHZhbGlkIGFzc3VtcHRpb24/KSB0aGVuIHRoZSBidXN5IGxvb3Agd291bGQg4oCc
Zml4IGl04oCdLiBUaGF0IHdvdWxkIGJlIGZhaXJseSBnb29kIGV2aWRlbmNlIHRoYXQgYmFycmll
cnMgYXJlIGJyb2tlbi4KClRoaXMgaXMgcG90ZW50aWFsbHkgYSBwcm9ibGVtIChpbiBzaGFyZWQt
bWVtb3J5LXJpbmcvbGliL2JhcnJpZXIuaCk6CgojZWxpZiBkZWZpbmVkKF9fYXJtX18pCiMgaWZu
ZGVmIF9NX0FSTQojZGVmaW5lIHhlbl9tYigpICAge30KI2RlZmluZSB4ZW5fcm1iKCkgIHt9CiNk
ZWZpbmUgeGVuX3dtYigpICB7fQojIGVsaWYgX01fQVJNID4gNgojZGVmaW5lIHhlbl9tYigpICAg
YXNtIHZvbGF0aWxlICgiZG1iIiA6IDogOiAibWVtb3J5IikKI2RlZmluZSB4ZW5fcm1iKCkgIGFz
bSB2b2xhdGlsZSAoImRtYiIgOiA6IDogIm1lbW9yeSIpCiNkZWZpbmUgeGVuX3dtYigpICBhc20g
dm9sYXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQoKRnJvbSBhIHF1aWNrIEdvb2dsZSwgaXQg
bG9va3MgbGlrZSBfTV9BUk0gaXMgYSBNaWNyb3NvZnQtb25seSB0aGluZy4KCkhvd2V2ZXIsIHRo
ZSBiYXJyaWVyIGNvZGUgaXMgZHVwbGljYXRlZCBpbiBtaXJhZ2UteGVuLCBhbmQgSSB0aGluawp3
ZSdyZSB1c2luZyB0aGF0IHZlcnNpb24gKGluIGFueSBjYXNlLCBjaGFuZ2luZyBpdCBkaWRuJ3Qg
aGVscCkuCgpIb3dldmVyLCBJJ3ZlIG5vdyBub3RpY2VkIHRoYXQgbXkgbmV0d29yayB0ZXN0IGlz
IGZhaWxpbmcgb24geDg2IHRvbywKc28gdGhlcmUncyBzb21ldGhpbmcgdmVyeSBvZGQgZ29pbmcg
b24uLi4KCgotLSAKRHIgVGhvbWFzIExlb25hcmQgICAgICAgIGh0dHA6Ly8waW5zdGFsbC5uZXQv
CkdQRzogOTI0MiA5ODA3IEM5ODUgM0MwNyA0NEE2ICA4QjlBIEFFMDcgODI4MCA1OUE1IDNDQzEK
R1BHOiBEQTk4IDI1QUUgQ0FEMCA4OTc1IDdDREEgIEJEOEUgMDcxMyAzRjk2IENBNzQgRDhCQQoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdl
b3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 21:40:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 21:40:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9LKI-0006e2-MA; Mon, 21 Jul 2014 21:40:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9LKH-0006dx-NZ
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 21:40:53 +0000
Received: from [193.109.254.147:26661] by server-7.bemta-14.messagelabs.com id
	EF/F5-13362-5E88DC35; Mon, 21 Jul 2014 21:40:53 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-27.messagelabs.com!1405978851!18735159!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.2 required=7.0 tests=MIME_QP_LONG_LINE,
	ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30603 invoked from network); 21 Jul 2014 21:40:51 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-27.messagelabs.com with SMTP;
	21 Jul 2014 21:40:51 -0000
Received: (qmail 17046 invoked by uid 634); 21 Jul 2014 21:40:51 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-67-188-213-72.hsd1.ca.comcast.net (HELO [10.12.10.18])
	(67.188.213.72)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 21 Jul 2014 22:40:50 +0100
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
Mime-Version: 1.0 (1.0)
In-Reply-To: <CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
Message-Id: <D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
X-Mailer: iPhone Mail (11D257)
From: Anil Madhavapeddy <anil@recoil.org>
Date: Mon, 21 Jul 2014 14:40:47 -0700
To: Thomas Leonard <talex5@gmail.com>
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Dave Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

SWYgaXQgZmFpbHMgb24geDg2IGNvdWxkIHlvdSB0cnkgcmV2ZXJ0aW5nIHRvIGFuIG9sZGVyIENz
dHJ1Y3QgdmVyc2lvbj8gSSB3b3JyeSBhYm91dCB0aGUgcmVjZW50IGJvdW5kcyBjaGVja3MgdHJp
cHBpbmcgc29tZSBuZXcgYmVoYXZpb3VyLgoKQW5pbAoKPiBPbiAyMSBKdWwgMjAxNCwgYXQgMTQ6
MzAsIFRob21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPiAKPj4gT24gMjEg
SnVseSAyMDE0IDIxOjMxLCBEYXZlIFNjb3R0IDxEYXZlLlNjb3R0QGNpdHJpeC5jb20+IHdyb3Rl
Ogo+PiAKPj4+IE9uIDIxIEp1bCAyMDE0LCBhdCAyMToxNCwgVGhvbWFzIExlb25hcmQgPHRhbGV4
NUBnbWFpbC5jb20+IHdyb3RlOgo+Pj4gCj4+Pj4gT24gMjEgSnVseSAyMDE0IDIwOjU2LCBSaWNo
YXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+
PiBbIGNvbnRleHQgZm9yIGxpc3Q6IHRob21hcycgb2JzZXJ2YXRpb24gb2YgZmFpbGVkIGRvd25s
b2FkLCBhbmQgbG90cyBvZiByZXRyYW5zbWlzc2lvbnMgZ2VuZXJhbGx5LCB3aGlsZSBicmluZ2lu
ZyB1cCBtaXJhZ2Utd3d3IG9uIEFSTSBdCj4+Pj4gCj4+Pj4+IE9uIDIxIEp1bCAyMDE0LCBhdCAw
OToyNywgVGhvbWFzIExlb25hcmQgPHRhbGV4NUBnbWFpbC5jb20+IHdyb3RlOgo+Pj4+PiAKPj4+
Pj4gT24gMjEgSnVseSAyMDE0IDE3OjA4LCBSaWNoYXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGll
ckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+PiAKPj4+Pj4+PiBPbiAyMSBKdWwgMjAxNCwg
YXQgMDk6MDEsIFRob21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4+Pj4+
PiAKPj4+Pj4+PiBIZXJlJ3MgdGhlIHdpcmVzaGFyayBjYXB0dXJlIG9mIGEgZmFpbGVkIGRvd25s
b2FkLiBJdCBkb2VzIGluZGVlZCBzYXkKPj4+Pj4+PiB0aGUgVENQIGNoZWNrc3VtIGlzIHdyb25n
LiBBbnkgaWRlYSB3aGF0J3MgZ29pbmcgb24/Cj4+Pj4+Pj4gCj4+Pj4+Pj4gTm90ZSB0aGF0IG9u
IEFSTSBpdCB1c2VzIGEgZGlmZmVyZW50IGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSB0aGlzICh3aGlj
aAo+Pj4+Pj4+IEkgdG9vayBmcm9tIG1pcmFnZS11bml4KS4gSXQncyBpbiB0aGUgI2Vsc2UgYmxv
Y2sgaGVyZToKPj4+Pj4+PiAKPj4+Pj4+PiBodHRwczovL2dpdGh1Yi5jb20vdGFsZXg1L21pcmFn
ZS10Y3BpcC9ibG9iL2NoZWNrc3VtL2xpYi9jaGVja3N1bV9zdHVicy5jCj4+Pj4+PiAKPj4+Pj4+
IGFjazsgd2lsbCB0YWtlIGEgbG9vayBhZnRlciBicmVha2Zhc3QgOikKPj4+Pj4+IAo+Pj4+Pj4g
anVzdCB0byBiZSBjbGVhciAtLSB0aGUgQVJNIHZlcnNpb24gaXMgdXNpbmcgdGhlIGNvZGUgZnJv
bSBMMjQ3IG1hcmtlZCAiZ2VuZXJpYyBpbXBsZW1lbnRhdGlvbiI/Cj4+Pj4+IAo+Pj4+PiBZZXMu
IFRoZSB4ODYgdmVyc2lvbiBjcmFzaGVzIG9uIEFSTSBiZWNhdXNlIHRoZSA2NC1iaXQgdmFsdWVz
IGFyZW4ndCBhbGlnbmVkLgo+Pj4+PiAKPj4+Pj4+IHR3byBpbW1lZGlhdGUgcXVlc3Rpb25zIC0t
IGlzIHRoZSBjaGVja3N1bSBmaWVsZCBkZWZpbml0ZWx5IHRyZWF0ZWQgYXMgYWxsIHplcm9zIGlu
IHRoZSBjb21wdXRhdGlvbiBhY3Jvc3MgdGhlIGhlYWRlcj8gIGFuZCBpcyB0aGUgc2VnbWVudCBw
YWRkZWQgd2l0aCB6ZXJvcyB0byBiZSBOKjE2IGJpdHMgZm9yIHRoZSBwdXJwb3NlcyBvZiB0aGUg
Y29tcHV0YXRpb24gKGJ1dCB0aGUgcGFkIG5vdCB0cmFuc21pdHRlZCk/Cj4+Pj4+IAo+Pj4+PiBO
byBpZGVhLiBJIGhhdmVuJ3QgY2hhbmdlZCBhbnkgY29kZSBhcm91bmQgdGhlcmUuCj4+Pj4gCj4+
Pj4gdGhpcyBpcyB3ZWlyZC0tIHdpcmVzaGFyayBzYXlzIHRoYXQgdGhlIGZpcnN0IHRyYW5zbWlz
c2lvbiBvZiB0aGF0IHNlZ21lbnQgKGZyYW1lIzEzKSBoYXMgYW4gaW52YWxpZCBjaGVja3N1bSB3
aGlsZSB0aGUgcmV0cmFuc21pc3Npb24gKCMxNykgaGFzIGEgdmFsaWQgY2hlY2tzdW0uIGJ1dCB0
aGUgdHdvIGNoZWNrc3VtcyBhcmUgdGhlIHNhbWUhICBob3dldmVyICMxMyBhcHBlYXJzIHRvIGhh
dmUgYWxtb3N0IG5vIHZhbGlkIGRhdGEgaW4gaXQgLS0gYWZ0ZXIgdGhlIGZpcnN0IDc0IGJ5dGVz
ICh3aGljaCBhcmUgdGhlIHNhbWUgaW4gYm90aCAjMTMgYW5kICMxNyksIHRoZSBwYXlsb2FkIGlu
ICMxMyBpcyB6ZXJvZWQgb3V0Lgo+Pj4+IAo+Pj4+IHNvIGkgZ3Vlc3MgdGhlIGNzdHJ1Y3QgYnVm
ZmVyIGlzIGJlaW5nIHJlY3ljbGVkIHRvbyBzb29uIChhZnRlciB0aGUgY2hlY2tzdW0gY2FsY3Vs
YXRpb24gYnV0IGJlZm9yZSB0aGUgZGF0YSBpcyBhY3R1YWxseSB0cmFuc21pdHRlZCkgb3Igc29t
ZXRoaW5nPwo+Pj4+IAo+Pj4+IGFuaWwsIGJhbHJhaiAob3IgYW55b25lIGVsc2UhKS0tIGhhcyB0
aGF0IHBhcnQgb2YgdGhlIHN0YWNrIGJlZW4gY2hhbmdlZCByZWNlbnRseT8KPj4+IAo+Pj4gSSdt
IHNlZWluZyBzdHJhbmdlIHRoaW5ncyB1c2luZyBhIHNpbXBsZXIgdGVzdCBjYXNlIG5vdzoKPj4+
IAo+Pj4gbGV0IHN0YXJ0IGMgcyA9Cj4+PiAgIFMubGlzdGVuX3RjcHY0IHMgfnBvcnQ6ODAwMCAo
ZnVuIGZsb3cgLT4KPj4+ICAgICAgIGxldCBkc3QsIGRzdF9wb3J0ID0gUy5UQ1BWNC5nZXRfZGVz
dCBmbG93IGluCj4+PiAgICAgICBDLmxvZ19zIGMgKGdyZWVuICJuZXcgdGNwIGNvbm5lY3Rpb24g
ZnJvbSAlcyAlZCIKPj4+ICAgICAgICAgICAgICAgICAgICAoSXBhZGRyLlY0LnRvX3N0cmluZyBk
c3QpIGRzdF9wb3J0KQo+Pj4+PiA9IGZ1biAoKSAtPgo+Pj4gICAgICAgbGV0IGRhdGEgPSBDc3Ry
dWN0Lm9mX3N0cmluZyAiSGVsbG8iIGluCj4+PiAgICAgICBTLlRDUFY0LndyaXRlIGZsb3cgZGF0
YQo+Pj4+PiA9IGZ1biAoKSAtPgo+Pj4gICAgICAgUy5UQ1BWNC5jbG9zZSBmbG93Cj4+PiAgICAg
KTsKPj4+ICAgUy5saXN0ZW4gcwo+Pj4gCj4+PiBUaGlzIGlzIGFsc28gZmFpbGluZy4gSSBhZGRl
ZCBhIGhleGR1bXAgdG8gbWlyYWdlLW5ldC14ZW4gYW5kIGdvdCB0aGlzCj4+PiBpbiBOZXRpZi53
cml0ZXY6Cj4+PiAKPj4+IGYwIDFmIGFmIDZhIDliIDk1IGMwIGZmIGVlIGMwIGZmIGVlIDA4IDAw
IDQ1IDAwCj4+PiAwMCAyZCA1MiA5NSAwMCAwMCAyNiAwNiBjMCBjOCBjMCBhOCAwMCAxMiBjMCBh
OAo+Pj4gMDAgMGIgMWYgNDAgYjQgY2EgMWEgZmUgYjUgNjkgNWUgOGMgZGQgZmUgNTAgMTgKPj4+
IGZmIGZmIDI5IDhhIDAwIDAwCj4+PiAKPj4+IDQ4IDY1IDZjIDZjIDZmCj4+PiAKPj4+IFRoYXQg
bG9va3MgY29ycmVjdC4gVGhlIGZpcnN0IGJsb2NrIGlzIHRoZSBoZWFkZXIsIHRoZSBzZWNvbmQg
aXMgdGhlCj4+PiBwYXlsb2FkLiBJbiB3aXJlc2hhcmUsIHRoZSBoZWFkZXIgaXMgaWRlbnRpY2Fs
IGJ1dCB0aGUgcGF5bG9hZCBpcwo+Pj4gZGlmZmVyZW50ICgyMCAwMCAwMCAwMCAwOCksIHdoaWNo
IG1hdGNoZXMgd2hhdCB5b3UncmUgc2VlaW5nLgo+Pj4gCj4+PiBTbyBJIGd1ZXNzIHRoZXJlJ3Mg
c29tZSBwcm9ibGVtIHNlbmRpbmcgdGhlIHNlY29uZCBwYWdlIHRvIHRoZSByaW5nLgo+Pj4gU3Vn
Z2VzdGlvbnMgZnJvbSBwZW9wbGUgd2hvIGtub3cgdGhpcyBjb2RlIHdvdWxkIGJlIGdyZWF0ISBD
b3VsZCBqdXN0Cj4+PiBiZSBhIG1pc3NpbmcgYmFycmllciBvciBzb21ldGhpbmcuCj4+IAo+PiBJ
IHRoaW5rIHRoZSBmbG93IGlzOgo+PiAKPj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9taXJh
Z2UtbmV0LXhlbi9ibG9iL21hc3Rlci9saWIvbmV0aWYubWwjTDQwOAo+PiBodHRwczovL2dpdGh1
Yi5jb20vbWlyYWdlL3NoYXJlZC1tZW1vcnktcmluZy9ibG9iL21hc3Rlci9sd3QvbHd0X3Jpbmcu
bWwjTDc1Cj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2Uvc2hhcmVkLW1lbW9yeS1yaW5nL2Js
b2IvbWFzdGVyL2xpYi9yaW5nLm1sI0wxNTQKPj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9z
aGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbGliL3JpbmcubWwjTDEwMgo+PiBodHRwczov
L2dpdGh1Yi5jb20vbWlyYWdlL3NoYXJlZC1tZW1vcnktcmluZy9ibG9iL21hc3Rlci9saWIvYmFy
cmllcl9zdHVicy5jI0wyOAo+PiDigJQgY2FsbGluZyDigJx4ZW5fbWLigJ0KPj4gCj4+IFBlcmhh
cHMgdG8gc2VlIHdoZXRoZXIg4oCceGVuX21i4oCdIGlzIHdvcmtpbmcgeW91IGNvdWxkIGFkZCBh
IGRlbGF5ICh2aWEgYnVzeSBsb29wPykgaW4gdGhlIOKAmG1lbW9yeV9iYXJyaWVy4oCZIGZ1bmN0
aW9uIChvciB0aGVyZWFib3V0cykgaW4gc2hhcmVkLW1lbW9yeS1yaW5nLiBBc3N1bWluZyB0aGUg
d3JpdGVzIGFyZSBjb21taXR0ZWQgZXZlbnR1YWxseSAoaXMgdGhhdCBhIHZhbGlkIGFzc3VtcHRp
b24/KSB0aGVuIHRoZSBidXN5IGxvb3Agd291bGQg4oCcZml4IGl04oCdLiBUaGF0IHdvdWxkIGJl
IGZhaXJseSBnb29kIGV2aWRlbmNlIHRoYXQgYmFycmllcnMgYXJlIGJyb2tlbi4KPiAKPiBUaGlz
IGlzIHBvdGVudGlhbGx5IGEgcHJvYmxlbSAoaW4gc2hhcmVkLW1lbW9yeS1yaW5nL2xpYi9iYXJy
aWVyLmgpOgo+IAo+ICNlbGlmIGRlZmluZWQoX19hcm1fXykKPiAjIGlmbmRlZiBfTV9BUk0KPiAj
ZGVmaW5lIHhlbl9tYigpICAge30KPiAjZGVmaW5lIHhlbl9ybWIoKSAge30KPiAjZGVmaW5lIHhl
bl93bWIoKSAge30KPiAjIGVsaWYgX01fQVJNID4gNgo+ICNkZWZpbmUgeGVuX21iKCkgICBhc20g
dm9sYXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQo+ICNkZWZpbmUgeGVuX3JtYigpICBhc20g
dm9sYXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQo+ICNkZWZpbmUgeGVuX3dtYigpICBhc20g
dm9sYXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQo+IAo+IEZyb20gYSBxdWljayBHb29nbGUs
IGl0IGxvb2tzIGxpa2UgX01fQVJNIGlzIGEgTWljcm9zb2Z0LW9ubHkgdGhpbmcuCj4gCj4gSG93
ZXZlciwgdGhlIGJhcnJpZXIgY29kZSBpcyBkdXBsaWNhdGVkIGluIG1pcmFnZS14ZW4sIGFuZCBJ
IHRoaW5rCj4gd2UncmUgdXNpbmcgdGhhdCB2ZXJzaW9uIChpbiBhbnkgY2FzZSwgY2hhbmdpbmcg
aXQgZGlkbid0IGhlbHApLgo+IAo+IEhvd2V2ZXIsIEkndmUgbm93IG5vdGljZWQgdGhhdCBteSBu
ZXR3b3JrIHRlc3QgaXMgZmFpbGluZyBvbiB4ODYgdG9vLAo+IHNvIHRoZXJlJ3Mgc29tZXRoaW5n
IHZlcnkgb2RkIGdvaW5nIG9uLi4uCj4gCj4gCj4gLS0gCj4gRHIgVGhvbWFzIExlb25hcmQgICAg
ICAgIGh0dHA6Ly8waW5zdGFsbC5uZXQvCj4gR1BHOiA5MjQyIDk4MDcgQzk4NSAzQzA3IDQ0QTYg
IDhCOUEgQUUwNyA4MjgwIDU5QTUgM0NDMQo+IEdQRzogREE5OCAyNUFFIENBRDAgODk3NSA3Q0RB
ICBCRDhFIDA3MTMgM0Y5NiBDQTc0IEQ4QkEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwo+IE1pcmFnZU9TLWRldmVsIG1haWxpbmcgbGlzdAo+IE1p
cmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4gaHR0cDovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZlbAoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHA6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdlb3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 21:40:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 21:40:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9LKI-0006e2-MA; Mon, 21 Jul 2014 21:40:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9LKH-0006dx-NZ
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 21:40:53 +0000
Received: from [193.109.254.147:26661] by server-7.bemta-14.messagelabs.com id
	EF/F5-13362-5E88DC35; Mon, 21 Jul 2014 21:40:53 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-27.messagelabs.com!1405978851!18735159!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.2 required=7.0 tests=MIME_QP_LONG_LINE,
	ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30603 invoked from network); 21 Jul 2014 21:40:51 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-27.messagelabs.com with SMTP;
	21 Jul 2014 21:40:51 -0000
Received: (qmail 17046 invoked by uid 634); 21 Jul 2014 21:40:51 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-67-188-213-72.hsd1.ca.comcast.net (HELO [10.12.10.18])
	(67.188.213.72)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 21 Jul 2014 22:40:50 +0100
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
Mime-Version: 1.0 (1.0)
In-Reply-To: <CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
Message-Id: <D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
X-Mailer: iPhone Mail (11D257)
From: Anil Madhavapeddy <anil@recoil.org>
Date: Mon, 21 Jul 2014 14:40:47 -0700
To: Thomas Leonard <talex5@gmail.com>
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Dave Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

SWYgaXQgZmFpbHMgb24geDg2IGNvdWxkIHlvdSB0cnkgcmV2ZXJ0aW5nIHRvIGFuIG9sZGVyIENz
dHJ1Y3QgdmVyc2lvbj8gSSB3b3JyeSBhYm91dCB0aGUgcmVjZW50IGJvdW5kcyBjaGVja3MgdHJp
cHBpbmcgc29tZSBuZXcgYmVoYXZpb3VyLgoKQW5pbAoKPiBPbiAyMSBKdWwgMjAxNCwgYXQgMTQ6
MzAsIFRob21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPiAKPj4gT24gMjEg
SnVseSAyMDE0IDIxOjMxLCBEYXZlIFNjb3R0IDxEYXZlLlNjb3R0QGNpdHJpeC5jb20+IHdyb3Rl
Ogo+PiAKPj4+IE9uIDIxIEp1bCAyMDE0LCBhdCAyMToxNCwgVGhvbWFzIExlb25hcmQgPHRhbGV4
NUBnbWFpbC5jb20+IHdyb3RlOgo+Pj4gCj4+Pj4gT24gMjEgSnVseSAyMDE0IDIwOjU2LCBSaWNo
YXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+
PiBbIGNvbnRleHQgZm9yIGxpc3Q6IHRob21hcycgb2JzZXJ2YXRpb24gb2YgZmFpbGVkIGRvd25s
b2FkLCBhbmQgbG90cyBvZiByZXRyYW5zbWlzc2lvbnMgZ2VuZXJhbGx5LCB3aGlsZSBicmluZ2lu
ZyB1cCBtaXJhZ2Utd3d3IG9uIEFSTSBdCj4+Pj4gCj4+Pj4+IE9uIDIxIEp1bCAyMDE0LCBhdCAw
OToyNywgVGhvbWFzIExlb25hcmQgPHRhbGV4NUBnbWFpbC5jb20+IHdyb3RlOgo+Pj4+PiAKPj4+
Pj4gT24gMjEgSnVseSAyMDE0IDE3OjA4LCBSaWNoYXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGll
ckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+PiAKPj4+Pj4+PiBPbiAyMSBKdWwgMjAxNCwg
YXQgMDk6MDEsIFRob21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4+Pj4+
PiAKPj4+Pj4+PiBIZXJlJ3MgdGhlIHdpcmVzaGFyayBjYXB0dXJlIG9mIGEgZmFpbGVkIGRvd25s
b2FkLiBJdCBkb2VzIGluZGVlZCBzYXkKPj4+Pj4+PiB0aGUgVENQIGNoZWNrc3VtIGlzIHdyb25n
LiBBbnkgaWRlYSB3aGF0J3MgZ29pbmcgb24/Cj4+Pj4+Pj4gCj4+Pj4+Pj4gTm90ZSB0aGF0IG9u
IEFSTSBpdCB1c2VzIGEgZGlmZmVyZW50IGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSB0aGlzICh3aGlj
aAo+Pj4+Pj4+IEkgdG9vayBmcm9tIG1pcmFnZS11bml4KS4gSXQncyBpbiB0aGUgI2Vsc2UgYmxv
Y2sgaGVyZToKPj4+Pj4+PiAKPj4+Pj4+PiBodHRwczovL2dpdGh1Yi5jb20vdGFsZXg1L21pcmFn
ZS10Y3BpcC9ibG9iL2NoZWNrc3VtL2xpYi9jaGVja3N1bV9zdHVicy5jCj4+Pj4+PiAKPj4+Pj4+
IGFjazsgd2lsbCB0YWtlIGEgbG9vayBhZnRlciBicmVha2Zhc3QgOikKPj4+Pj4+IAo+Pj4+Pj4g
anVzdCB0byBiZSBjbGVhciAtLSB0aGUgQVJNIHZlcnNpb24gaXMgdXNpbmcgdGhlIGNvZGUgZnJv
bSBMMjQ3IG1hcmtlZCAiZ2VuZXJpYyBpbXBsZW1lbnRhdGlvbiI/Cj4+Pj4+IAo+Pj4+PiBZZXMu
IFRoZSB4ODYgdmVyc2lvbiBjcmFzaGVzIG9uIEFSTSBiZWNhdXNlIHRoZSA2NC1iaXQgdmFsdWVz
IGFyZW4ndCBhbGlnbmVkLgo+Pj4+PiAKPj4+Pj4+IHR3byBpbW1lZGlhdGUgcXVlc3Rpb25zIC0t
IGlzIHRoZSBjaGVja3N1bSBmaWVsZCBkZWZpbml0ZWx5IHRyZWF0ZWQgYXMgYWxsIHplcm9zIGlu
IHRoZSBjb21wdXRhdGlvbiBhY3Jvc3MgdGhlIGhlYWRlcj8gIGFuZCBpcyB0aGUgc2VnbWVudCBw
YWRkZWQgd2l0aCB6ZXJvcyB0byBiZSBOKjE2IGJpdHMgZm9yIHRoZSBwdXJwb3NlcyBvZiB0aGUg
Y29tcHV0YXRpb24gKGJ1dCB0aGUgcGFkIG5vdCB0cmFuc21pdHRlZCk/Cj4+Pj4+IAo+Pj4+PiBO
byBpZGVhLiBJIGhhdmVuJ3QgY2hhbmdlZCBhbnkgY29kZSBhcm91bmQgdGhlcmUuCj4+Pj4gCj4+
Pj4gdGhpcyBpcyB3ZWlyZC0tIHdpcmVzaGFyayBzYXlzIHRoYXQgdGhlIGZpcnN0IHRyYW5zbWlz
c2lvbiBvZiB0aGF0IHNlZ21lbnQgKGZyYW1lIzEzKSBoYXMgYW4gaW52YWxpZCBjaGVja3N1bSB3
aGlsZSB0aGUgcmV0cmFuc21pc3Npb24gKCMxNykgaGFzIGEgdmFsaWQgY2hlY2tzdW0uIGJ1dCB0
aGUgdHdvIGNoZWNrc3VtcyBhcmUgdGhlIHNhbWUhICBob3dldmVyICMxMyBhcHBlYXJzIHRvIGhh
dmUgYWxtb3N0IG5vIHZhbGlkIGRhdGEgaW4gaXQgLS0gYWZ0ZXIgdGhlIGZpcnN0IDc0IGJ5dGVz
ICh3aGljaCBhcmUgdGhlIHNhbWUgaW4gYm90aCAjMTMgYW5kICMxNyksIHRoZSBwYXlsb2FkIGlu
ICMxMyBpcyB6ZXJvZWQgb3V0Lgo+Pj4+IAo+Pj4+IHNvIGkgZ3Vlc3MgdGhlIGNzdHJ1Y3QgYnVm
ZmVyIGlzIGJlaW5nIHJlY3ljbGVkIHRvbyBzb29uIChhZnRlciB0aGUgY2hlY2tzdW0gY2FsY3Vs
YXRpb24gYnV0IGJlZm9yZSB0aGUgZGF0YSBpcyBhY3R1YWxseSB0cmFuc21pdHRlZCkgb3Igc29t
ZXRoaW5nPwo+Pj4+IAo+Pj4+IGFuaWwsIGJhbHJhaiAob3IgYW55b25lIGVsc2UhKS0tIGhhcyB0
aGF0IHBhcnQgb2YgdGhlIHN0YWNrIGJlZW4gY2hhbmdlZCByZWNlbnRseT8KPj4+IAo+Pj4gSSdt
IHNlZWluZyBzdHJhbmdlIHRoaW5ncyB1c2luZyBhIHNpbXBsZXIgdGVzdCBjYXNlIG5vdzoKPj4+
IAo+Pj4gbGV0IHN0YXJ0IGMgcyA9Cj4+PiAgIFMubGlzdGVuX3RjcHY0IHMgfnBvcnQ6ODAwMCAo
ZnVuIGZsb3cgLT4KPj4+ICAgICAgIGxldCBkc3QsIGRzdF9wb3J0ID0gUy5UQ1BWNC5nZXRfZGVz
dCBmbG93IGluCj4+PiAgICAgICBDLmxvZ19zIGMgKGdyZWVuICJuZXcgdGNwIGNvbm5lY3Rpb24g
ZnJvbSAlcyAlZCIKPj4+ICAgICAgICAgICAgICAgICAgICAoSXBhZGRyLlY0LnRvX3N0cmluZyBk
c3QpIGRzdF9wb3J0KQo+Pj4+PiA9IGZ1biAoKSAtPgo+Pj4gICAgICAgbGV0IGRhdGEgPSBDc3Ry
dWN0Lm9mX3N0cmluZyAiSGVsbG8iIGluCj4+PiAgICAgICBTLlRDUFY0LndyaXRlIGZsb3cgZGF0
YQo+Pj4+PiA9IGZ1biAoKSAtPgo+Pj4gICAgICAgUy5UQ1BWNC5jbG9zZSBmbG93Cj4+PiAgICAg
KTsKPj4+ICAgUy5saXN0ZW4gcwo+Pj4gCj4+PiBUaGlzIGlzIGFsc28gZmFpbGluZy4gSSBhZGRl
ZCBhIGhleGR1bXAgdG8gbWlyYWdlLW5ldC14ZW4gYW5kIGdvdCB0aGlzCj4+PiBpbiBOZXRpZi53
cml0ZXY6Cj4+PiAKPj4+IGYwIDFmIGFmIDZhIDliIDk1IGMwIGZmIGVlIGMwIGZmIGVlIDA4IDAw
IDQ1IDAwCj4+PiAwMCAyZCA1MiA5NSAwMCAwMCAyNiAwNiBjMCBjOCBjMCBhOCAwMCAxMiBjMCBh
OAo+Pj4gMDAgMGIgMWYgNDAgYjQgY2EgMWEgZmUgYjUgNjkgNWUgOGMgZGQgZmUgNTAgMTgKPj4+
IGZmIGZmIDI5IDhhIDAwIDAwCj4+PiAKPj4+IDQ4IDY1IDZjIDZjIDZmCj4+PiAKPj4+IFRoYXQg
bG9va3MgY29ycmVjdC4gVGhlIGZpcnN0IGJsb2NrIGlzIHRoZSBoZWFkZXIsIHRoZSBzZWNvbmQg
aXMgdGhlCj4+PiBwYXlsb2FkLiBJbiB3aXJlc2hhcmUsIHRoZSBoZWFkZXIgaXMgaWRlbnRpY2Fs
IGJ1dCB0aGUgcGF5bG9hZCBpcwo+Pj4gZGlmZmVyZW50ICgyMCAwMCAwMCAwMCAwOCksIHdoaWNo
IG1hdGNoZXMgd2hhdCB5b3UncmUgc2VlaW5nLgo+Pj4gCj4+PiBTbyBJIGd1ZXNzIHRoZXJlJ3Mg
c29tZSBwcm9ibGVtIHNlbmRpbmcgdGhlIHNlY29uZCBwYWdlIHRvIHRoZSByaW5nLgo+Pj4gU3Vn
Z2VzdGlvbnMgZnJvbSBwZW9wbGUgd2hvIGtub3cgdGhpcyBjb2RlIHdvdWxkIGJlIGdyZWF0ISBD
b3VsZCBqdXN0Cj4+PiBiZSBhIG1pc3NpbmcgYmFycmllciBvciBzb21ldGhpbmcuCj4+IAo+PiBJ
IHRoaW5rIHRoZSBmbG93IGlzOgo+PiAKPj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9taXJh
Z2UtbmV0LXhlbi9ibG9iL21hc3Rlci9saWIvbmV0aWYubWwjTDQwOAo+PiBodHRwczovL2dpdGh1
Yi5jb20vbWlyYWdlL3NoYXJlZC1tZW1vcnktcmluZy9ibG9iL21hc3Rlci9sd3QvbHd0X3Jpbmcu
bWwjTDc1Cj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2Uvc2hhcmVkLW1lbW9yeS1yaW5nL2Js
b2IvbWFzdGVyL2xpYi9yaW5nLm1sI0wxNTQKPj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9z
aGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbGliL3JpbmcubWwjTDEwMgo+PiBodHRwczov
L2dpdGh1Yi5jb20vbWlyYWdlL3NoYXJlZC1tZW1vcnktcmluZy9ibG9iL21hc3Rlci9saWIvYmFy
cmllcl9zdHVicy5jI0wyOAo+PiDigJQgY2FsbGluZyDigJx4ZW5fbWLigJ0KPj4gCj4+IFBlcmhh
cHMgdG8gc2VlIHdoZXRoZXIg4oCceGVuX21i4oCdIGlzIHdvcmtpbmcgeW91IGNvdWxkIGFkZCBh
IGRlbGF5ICh2aWEgYnVzeSBsb29wPykgaW4gdGhlIOKAmG1lbW9yeV9iYXJyaWVy4oCZIGZ1bmN0
aW9uIChvciB0aGVyZWFib3V0cykgaW4gc2hhcmVkLW1lbW9yeS1yaW5nLiBBc3N1bWluZyB0aGUg
d3JpdGVzIGFyZSBjb21taXR0ZWQgZXZlbnR1YWxseSAoaXMgdGhhdCBhIHZhbGlkIGFzc3VtcHRp
b24/KSB0aGVuIHRoZSBidXN5IGxvb3Agd291bGQg4oCcZml4IGl04oCdLiBUaGF0IHdvdWxkIGJl
IGZhaXJseSBnb29kIGV2aWRlbmNlIHRoYXQgYmFycmllcnMgYXJlIGJyb2tlbi4KPiAKPiBUaGlz
IGlzIHBvdGVudGlhbGx5IGEgcHJvYmxlbSAoaW4gc2hhcmVkLW1lbW9yeS1yaW5nL2xpYi9iYXJy
aWVyLmgpOgo+IAo+ICNlbGlmIGRlZmluZWQoX19hcm1fXykKPiAjIGlmbmRlZiBfTV9BUk0KPiAj
ZGVmaW5lIHhlbl9tYigpICAge30KPiAjZGVmaW5lIHhlbl9ybWIoKSAge30KPiAjZGVmaW5lIHhl
bl93bWIoKSAge30KPiAjIGVsaWYgX01fQVJNID4gNgo+ICNkZWZpbmUgeGVuX21iKCkgICBhc20g
dm9sYXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQo+ICNkZWZpbmUgeGVuX3JtYigpICBhc20g
dm9sYXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQo+ICNkZWZpbmUgeGVuX3dtYigpICBhc20g
dm9sYXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQo+IAo+IEZyb20gYSBxdWljayBHb29nbGUs
IGl0IGxvb2tzIGxpa2UgX01fQVJNIGlzIGEgTWljcm9zb2Z0LW9ubHkgdGhpbmcuCj4gCj4gSG93
ZXZlciwgdGhlIGJhcnJpZXIgY29kZSBpcyBkdXBsaWNhdGVkIGluIG1pcmFnZS14ZW4sIGFuZCBJ
IHRoaW5rCj4gd2UncmUgdXNpbmcgdGhhdCB2ZXJzaW9uIChpbiBhbnkgY2FzZSwgY2hhbmdpbmcg
aXQgZGlkbid0IGhlbHApLgo+IAo+IEhvd2V2ZXIsIEkndmUgbm93IG5vdGljZWQgdGhhdCBteSBu
ZXR3b3JrIHRlc3QgaXMgZmFpbGluZyBvbiB4ODYgdG9vLAo+IHNvIHRoZXJlJ3Mgc29tZXRoaW5n
IHZlcnkgb2RkIGdvaW5nIG9uLi4uCj4gCj4gCj4gLS0gCj4gRHIgVGhvbWFzIExlb25hcmQgICAg
ICAgIGh0dHA6Ly8waW5zdGFsbC5uZXQvCj4gR1BHOiA5MjQyIDk4MDcgQzk4NSAzQzA3IDQ0QTYg
IDhCOUEgQUUwNyA4MjgwIDU5QTUgM0NDMQo+IEdQRzogREE5OCAyNUFFIENBRDAgODk3NSA3Q0RB
ICBCRDhFIDA3MTMgM0Y5NiBDQTc0IEQ4QkEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwo+IE1pcmFnZU9TLWRldmVsIG1haWxpbmcgbGlzdAo+IE1p
cmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4gaHR0cDovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZlbAoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHA6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdlb3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 22:14:21 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 22:14:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Lqc-0006r1-MC; Mon, 21 Jul 2014 22:14:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9Lqb-0006qw-VL
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 22:14:18 +0000
Received: from [85.158.143.35:54669] by server-3.bemta-4.messagelabs.com id
	93/C2-09960-9B09DC35; Mon, 21 Jul 2014 22:14:17 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1405980854!18822002!1
X-Originating-IP: [209.85.218.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9632 invoked from network); 21 Jul 2014 22:14:15 -0000
Received: from mail-oi0-f41.google.com (HELO mail-oi0-f41.google.com)
	(209.85.218.41)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 22:14:15 -0000
Received: by mail-oi0-f41.google.com with SMTP id a141so3855292oig.28
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 15:14:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=js5762WA1DrVJR3V8bc/NzzwHNnnSTWVz0qf+hIR738=;
	b=bP+Ene3WNDcWE1bYPdPtycOnrU/U9o5rD5FFFQcgdLN9TTBsDHM+hP/uVX5j3GuwVR
	qXF65ELYHYXBUix+o06cXgnhed12j8u2uoEAi+v8RHKn9Ovxg59/qcgHZVBJtfi/4Ncm
	vnmY1jrSAb7fIFJ2i2nc6bDPwq0WT2tnHrLlJgpLRr6coB53k6sTpRoCu9RjKSLMsM7o
	8TjGC2l1qEXepjcYFvm+HRCUG0fFpraw7fOd7cMjA2xH5/3Uqnb5wiyZRE+a7uNNreno
	713lmOrTnGFQHruNHkMqmiMWSgwSXKEoxvBv39mfiyu/4oRDgePNL7z+fKkeo77YOShh
	zpoQ==
MIME-Version: 1.0
X-Received: by 10.182.97.234 with SMTP id ed10mr41076023obb.31.1405980854114; 
	Mon, 21 Jul 2014 15:14:14 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 15:14:14 -0700 (PDT)
In-Reply-To: <D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
Date: Mon, 21 Jul 2014 23:14:14 +0100
Message-ID: <CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: Dave Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

RGlkbid0IHNlZW0gdG8gaGVscC4gSGVyZSdzIG15IGN1cnJlbnQgbW9kaWZpZWQgdmVyc2lvbiBv
ZgptaXJhZ2Utc2tlbGV0b24vbmV0d29yay4gRG9lcyBpdCB3b3JrIGZvciBhbnlvbmUgZWxzZT8K
Cm1vZHVsZSBNYWluIChDOiBWMV9MV1QuQ09OU09MRSkgKFM6IFYxX0xXVC5TVEFDS1Y0KSA9IHN0
cnVjdAoKICBsZXQgYnVmZmVyID0gQnVmZmVyLmNyZWF0ZSAxMDAwCiAgbGV0ICgpID0KICAgIGZv
ciBpID0gMSB0byAxMDAwIGRvCiAgICAgIEJ1ZmZlci5hZGRfc3RyaW5nIGJ1ZmZlciAoUHJpbnRm
LnNwcmludGYgIiVkICIgaSkKICAgIGRvbmUKCiAgbGV0IGRhdGEgPSBDc3RydWN0Lm9mX3N0cmlu
ZyAoQnVmZmVyLmNvbnRlbnRzIGJ1ZmZlcikKICBsZXQgc3RhcnQgYyBzID0KICAgIFMubGlzdGVu
X3RjcHY0IHMgfnBvcnQ6ODAwMCAoZnVuIGZsb3cgLT4KICAgICAgICBsZXQgZHN0LCBkc3RfcG9y
dCA9IFMuVENQVjQuZ2V0X2Rlc3QgZmxvdyBpbgogICAgICAgIEMubG9nX3MgYyAoZ3JlZW4gIm5l
dyB0Y3AgY29ubmVjdGlvbiBmcm9tICVzICVkIgogICAgICAgICAgICAgICAgICAgICAoSXBhZGRy
LlY0LnRvX3N0cmluZyBkc3QpIGRzdF9wb3J0KQogICAgICAgID4+PSBmdW4gKCkgLT4KICAgICAg
ICBTLlRDUFY0LndyaXRlIGZsb3cgZGF0YQogICAgICAgID4+PSBmdW4gKCkgLT4KICAgICAgICBT
LlRDUFY0LmNsb3NlIGZsb3cKICAgICAgKTsKCiAgICBTLmxpc3RlbiBzCgplbmQKCkkgdGVzdCB1
c2luZzoKCiQgbmMgMTkyLjE2OC4wLjE4IDgwMDAKCldoZW4gY29tcGlsZWQgZm9yIFVuaXgsIGl0
IG91dHB1dHMgYSBzZXF1ZW5jZSBvZiBudW1iZXJzLiBPbiBYZW4sIGl0Cmp1c3Qga2VlcHMgcmV0
cmFuc21pdHRpbmcuIFdpcmVzaGFyayBzaG93cyB0aGUgcGF5bG9hZCBzdGFydHMgMTYgYnl0ZXMK
bGF0ZXIgdGhhbiBleHBlY3RlZC4gSSdsbCBzbGVlcCBvbiBpdCBhbmQgc2VlIGlmIGl0IG1ha2Vz
IG1vcmUgc2Vuc2UKaW4gdGhlIG1vcm5pbmcuLi4KCgpPbiAyMSBKdWx5IDIwMTQgMjI6NDAsIEFu
aWwgTWFkaGF2YXBlZGR5IDxhbmlsQHJlY29pbC5vcmc+IHdyb3RlOgo+IElmIGl0IGZhaWxzIG9u
IHg4NiBjb3VsZCB5b3UgdHJ5IHJldmVydGluZyB0byBhbiBvbGRlciBDc3RydWN0IHZlcnNpb24/
IEkgd29ycnkgYWJvdXQgdGhlIHJlY2VudCBib3VuZHMgY2hlY2tzIHRyaXBwaW5nIHNvbWUgbmV3
IGJlaGF2aW91ci4KPgo+IEFuaWwKPgo+PiBPbiAyMSBKdWwgMjAxNCwgYXQgMTQ6MzAsIFRob21h
cyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4KPj4+IE9uIDIxIEp1bHkgMjAx
NCAyMTozMSwgRGF2ZSBTY290dCA8RGF2ZS5TY290dEBjaXRyaXguY29tPiB3cm90ZToKPj4+Cj4+
Pj4gT24gMjEgSnVsIDIwMTQsIGF0IDIxOjE0LCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWls
LmNvbT4gd3JvdGU6Cj4+Pj4KPj4+Pj4gT24gMjEgSnVseSAyMDE0IDIwOjU2LCBSaWNoYXJkIE1v
cnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+Pj4gWyBj
b250ZXh0IGZvciBsaXN0OiB0aG9tYXMnIG9ic2VydmF0aW9uIG9mIGZhaWxlZCBkb3dubG9hZCwg
YW5kIGxvdHMgb2YgcmV0cmFuc21pc3Npb25zIGdlbmVyYWxseSwgd2hpbGUgYnJpbmdpbmcgdXAg
bWlyYWdlLXd3dyBvbiBBUk0gXQo+Pj4+Pgo+Pj4+Pj4gT24gMjEgSnVsIDIwMTQsIGF0IDA5OjI3
LCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+Pgo+Pj4+Pj4g
T24gMjEgSnVseSAyMDE0IDE3OjA4LCBSaWNoYXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBu
b3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+Pj4KPj4+Pj4+Pj4gT24gMjEgSnVsIDIwMTQsIGF0
IDA5OjAxLCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+Pj4+
Cj4+Pj4+Pj4+IEhlcmUncyB0aGUgd2lyZXNoYXJrIGNhcHR1cmUgb2YgYSBmYWlsZWQgZG93bmxv
YWQuIEl0IGRvZXMgaW5kZWVkIHNheQo+Pj4+Pj4+PiB0aGUgVENQIGNoZWNrc3VtIGlzIHdyb25n
LiBBbnkgaWRlYSB3aGF0J3MgZ29pbmcgb24/Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IE5vdGUgdGhhdCBv
biBBUk0gaXQgdXNlcyBhIGRpZmZlcmVudCBmdW5jdGlvbiB0byBjYWxjdWxhdGUgdGhpcyAod2hp
Y2gKPj4+Pj4+Pj4gSSB0b29rIGZyb20gbWlyYWdlLXVuaXgpLiBJdCdzIGluIHRoZSAjZWxzZSBi
bG9jayBoZXJlOgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBodHRwczovL2dpdGh1Yi5jb20vdGFsZXg1L21p
cmFnZS10Y3BpcC9ibG9iL2NoZWNrc3VtL2xpYi9jaGVja3N1bV9zdHVicy5jCj4+Pj4+Pj4KPj4+
Pj4+PiBhY2s7IHdpbGwgdGFrZSBhIGxvb2sgYWZ0ZXIgYnJlYWtmYXN0IDopCj4+Pj4+Pj4KPj4+
Pj4+PiBqdXN0IHRvIGJlIGNsZWFyIC0tIHRoZSBBUk0gdmVyc2lvbiBpcyB1c2luZyB0aGUgY29k
ZSBmcm9tIEwyNDcgbWFya2VkICJnZW5lcmljIGltcGxlbWVudGF0aW9uIj8KPj4+Pj4+Cj4+Pj4+
PiBZZXMuIFRoZSB4ODYgdmVyc2lvbiBjcmFzaGVzIG9uIEFSTSBiZWNhdXNlIHRoZSA2NC1iaXQg
dmFsdWVzIGFyZW4ndCBhbGlnbmVkLgo+Pj4+Pj4KPj4+Pj4+PiB0d28gaW1tZWRpYXRlIHF1ZXN0
aW9ucyAtLSBpcyB0aGUgY2hlY2tzdW0gZmllbGQgZGVmaW5pdGVseSB0cmVhdGVkIGFzIGFsbCB6
ZXJvcyBpbiB0aGUgY29tcHV0YXRpb24gYWNyb3NzIHRoZSBoZWFkZXI/ICBhbmQgaXMgdGhlIHNl
Z21lbnQgcGFkZGVkIHdpdGggemVyb3MgdG8gYmUgTioxNiBiaXRzIGZvciB0aGUgcHVycG9zZXMg
b2YgdGhlIGNvbXB1dGF0aW9uIChidXQgdGhlIHBhZCBub3QgdHJhbnNtaXR0ZWQpPwo+Pj4+Pj4K
Pj4+Pj4+IE5vIGlkZWEuIEkgaGF2ZW4ndCBjaGFuZ2VkIGFueSBjb2RlIGFyb3VuZCB0aGVyZS4K
Pj4+Pj4KPj4+Pj4gdGhpcyBpcyB3ZWlyZC0tIHdpcmVzaGFyayBzYXlzIHRoYXQgdGhlIGZpcnN0
IHRyYW5zbWlzc2lvbiBvZiB0aGF0IHNlZ21lbnQgKGZyYW1lIzEzKSBoYXMgYW4gaW52YWxpZCBj
aGVja3N1bSB3aGlsZSB0aGUgcmV0cmFuc21pc3Npb24gKCMxNykgaGFzIGEgdmFsaWQgY2hlY2tz
dW0uIGJ1dCB0aGUgdHdvIGNoZWNrc3VtcyBhcmUgdGhlIHNhbWUhICBob3dldmVyICMxMyBhcHBl
YXJzIHRvIGhhdmUgYWxtb3N0IG5vIHZhbGlkIGRhdGEgaW4gaXQgLS0gYWZ0ZXIgdGhlIGZpcnN0
IDc0IGJ5dGVzICh3aGljaCBhcmUgdGhlIHNhbWUgaW4gYm90aCAjMTMgYW5kICMxNyksIHRoZSBw
YXlsb2FkIGluICMxMyBpcyB6ZXJvZWQgb3V0Lgo+Pj4+Pgo+Pj4+PiBzbyBpIGd1ZXNzIHRoZSBj
c3RydWN0IGJ1ZmZlciBpcyBiZWluZyByZWN5Y2xlZCB0b28gc29vbiAoYWZ0ZXIgdGhlIGNoZWNr
c3VtIGNhbGN1bGF0aW9uIGJ1dCBiZWZvcmUgdGhlIGRhdGEgaXMgYWN0dWFsbHkgdHJhbnNtaXR0
ZWQpIG9yIHNvbWV0aGluZz8KPj4+Pj4KPj4+Pj4gYW5pbCwgYmFscmFqIChvciBhbnlvbmUgZWxz
ZSEpLS0gaGFzIHRoYXQgcGFydCBvZiB0aGUgc3RhY2sgYmVlbiBjaGFuZ2VkIHJlY2VudGx5Pwo+
Pj4+Cj4+Pj4gSSdtIHNlZWluZyBzdHJhbmdlIHRoaW5ncyB1c2luZyBhIHNpbXBsZXIgdGVzdCBj
YXNlIG5vdzoKPj4+Pgo+Pj4+IGxldCBzdGFydCBjIHMgPQo+Pj4+ICAgUy5saXN0ZW5fdGNwdjQg
cyB+cG9ydDo4MDAwIChmdW4gZmxvdyAtPgo+Pj4+ICAgICAgIGxldCBkc3QsIGRzdF9wb3J0ID0g
Uy5UQ1BWNC5nZXRfZGVzdCBmbG93IGluCj4+Pj4gICAgICAgQy5sb2dfcyBjIChncmVlbiAibmV3
IHRjcCBjb25uZWN0aW9uIGZyb20gJXMgJWQiCj4+Pj4gICAgICAgICAgICAgICAgICAgIChJcGFk
ZHIuVjQudG9fc3RyaW5nIGRzdCkgZHN0X3BvcnQpCj4+Pj4+PiA9IGZ1biAoKSAtPgo+Pj4+ICAg
ICAgIGxldCBkYXRhID0gQ3N0cnVjdC5vZl9zdHJpbmcgIkhlbGxvIiBpbgo+Pj4+ICAgICAgIFMu
VENQVjQud3JpdGUgZmxvdyBkYXRhCj4+Pj4+PiA9IGZ1biAoKSAtPgo+Pj4+ICAgICAgIFMuVENQ
VjQuY2xvc2UgZmxvdwo+Pj4+ICAgICApOwo+Pj4+ICAgUy5saXN0ZW4gcwo+Pj4+Cj4+Pj4gVGhp
cyBpcyBhbHNvIGZhaWxpbmcuIEkgYWRkZWQgYSBoZXhkdW1wIHRvIG1pcmFnZS1uZXQteGVuIGFu
ZCBnb3QgdGhpcwo+Pj4+IGluIE5ldGlmLndyaXRldjoKPj4+Pgo+Pj4+IGYwIDFmIGFmIDZhIDli
IDk1IGMwIGZmIGVlIGMwIGZmIGVlIDA4IDAwIDQ1IDAwCj4+Pj4gMDAgMmQgNTIgOTUgMDAgMDAg
MjYgMDYgYzAgYzggYzAgYTggMDAgMTIgYzAgYTgKPj4+PiAwMCAwYiAxZiA0MCBiNCBjYSAxYSBm
ZSBiNSA2OSA1ZSA4YyBkZCBmZSA1MCAxOAo+Pj4+IGZmIGZmIDI5IDhhIDAwIDAwCj4+Pj4KPj4+
PiA0OCA2NSA2YyA2YyA2Zgo+Pj4+Cj4+Pj4gVGhhdCBsb29rcyBjb3JyZWN0LiBUaGUgZmlyc3Qg
YmxvY2sgaXMgdGhlIGhlYWRlciwgdGhlIHNlY29uZCBpcyB0aGUKPj4+PiBwYXlsb2FkLiBJbiB3
aXJlc2hhcmUsIHRoZSBoZWFkZXIgaXMgaWRlbnRpY2FsIGJ1dCB0aGUgcGF5bG9hZCBpcwo+Pj4+
IGRpZmZlcmVudCAoMjAgMDAgMDAgMDAgMDgpLCB3aGljaCBtYXRjaGVzIHdoYXQgeW91J3JlIHNl
ZWluZy4KPj4+Pgo+Pj4+IFNvIEkgZ3Vlc3MgdGhlcmUncyBzb21lIHByb2JsZW0gc2VuZGluZyB0
aGUgc2Vjb25kIHBhZ2UgdG8gdGhlIHJpbmcuCj4+Pj4gU3VnZ2VzdGlvbnMgZnJvbSBwZW9wbGUg
d2hvIGtub3cgdGhpcyBjb2RlIHdvdWxkIGJlIGdyZWF0ISBDb3VsZCBqdXN0Cj4+Pj4gYmUgYSBt
aXNzaW5nIGJhcnJpZXIgb3Igc29tZXRoaW5nLgo+Pj4KPj4+IEkgdGhpbmsgdGhlIGZsb3cgaXM6
Cj4+Pgo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9taXJhZ2UtbmV0LXhlbi9ibG9iL21h
c3Rlci9saWIvbmV0aWYubWwjTDQwOAo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9zaGFy
ZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbHd0L2x3dF9yaW5nLm1sI0w3NQo+Pj4gaHR0cHM6
Ly9naXRodWIuY29tL21pcmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbGliL3Jp
bmcubWwjTDE1NAo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9zaGFyZWQtbWVtb3J5LXJp
bmcvYmxvYi9tYXN0ZXIvbGliL3JpbmcubWwjTDEwMgo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL21p
cmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbGliL2JhcnJpZXJfc3R1YnMuYyNM
MjgKPj4+IOKAlCBjYWxsaW5nIOKAnHhlbl9tYuKAnQo+Pj4KPj4+IFBlcmhhcHMgdG8gc2VlIHdo
ZXRoZXIg4oCceGVuX21i4oCdIGlzIHdvcmtpbmcgeW91IGNvdWxkIGFkZCBhIGRlbGF5ICh2aWEg
YnVzeSBsb29wPykgaW4gdGhlIOKAmG1lbW9yeV9iYXJyaWVy4oCZIGZ1bmN0aW9uIChvciB0aGVy
ZWFib3V0cykgaW4gc2hhcmVkLW1lbW9yeS1yaW5nLiBBc3N1bWluZyB0aGUgd3JpdGVzIGFyZSBj
b21taXR0ZWQgZXZlbnR1YWxseSAoaXMgdGhhdCBhIHZhbGlkIGFzc3VtcHRpb24/KSB0aGVuIHRo
ZSBidXN5IGxvb3Agd291bGQg4oCcZml4IGl04oCdLiBUaGF0IHdvdWxkIGJlIGZhaXJseSBnb29k
IGV2aWRlbmNlIHRoYXQgYmFycmllcnMgYXJlIGJyb2tlbi4KPj4KPj4gVGhpcyBpcyBwb3RlbnRp
YWxseSBhIHByb2JsZW0gKGluIHNoYXJlZC1tZW1vcnktcmluZy9saWIvYmFycmllci5oKToKPj4K
Pj4gI2VsaWYgZGVmaW5lZChfX2FybV9fKQo+PiAjIGlmbmRlZiBfTV9BUk0KPj4gI2RlZmluZSB4
ZW5fbWIoKSAgIHt9Cj4+ICNkZWZpbmUgeGVuX3JtYigpICB7fQo+PiAjZGVmaW5lIHhlbl93bWIo
KSAge30KPj4gIyBlbGlmIF9NX0FSTSA+IDYKPj4gI2RlZmluZSB4ZW5fbWIoKSAgIGFzbSB2b2xh
dGlsZSAoImRtYiIgOiA6IDogIm1lbW9yeSIpCj4+ICNkZWZpbmUgeGVuX3JtYigpICBhc20gdm9s
YXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQo+PiAjZGVmaW5lIHhlbl93bWIoKSAgYXNtIHZv
bGF0aWxlICgiZG1iIiA6IDogOiAibWVtb3J5IikKPj4KPj4gRnJvbSBhIHF1aWNrIEdvb2dsZSwg
aXQgbG9va3MgbGlrZSBfTV9BUk0gaXMgYSBNaWNyb3NvZnQtb25seSB0aGluZy4KPj4KPj4gSG93
ZXZlciwgdGhlIGJhcnJpZXIgY29kZSBpcyBkdXBsaWNhdGVkIGluIG1pcmFnZS14ZW4sIGFuZCBJ
IHRoaW5rCj4+IHdlJ3JlIHVzaW5nIHRoYXQgdmVyc2lvbiAoaW4gYW55IGNhc2UsIGNoYW5naW5n
IGl0IGRpZG4ndCBoZWxwKS4KPj4KPj4gSG93ZXZlciwgSSd2ZSBub3cgbm90aWNlZCB0aGF0IG15
IG5ldHdvcmsgdGVzdCBpcyBmYWlsaW5nIG9uIHg4NiB0b28sCj4+IHNvIHRoZXJlJ3Mgc29tZXRo
aW5nIHZlcnkgb2RkIGdvaW5nIG9uLi4uCj4+Cj4+Cj4+IC0tCj4+IERyIFRob21hcyBMZW9uYXJk
ICAgICAgICBodHRwOi8vMGluc3RhbGwubmV0Lwo+PiBHUEc6IDkyNDIgOTgwNyBDOTg1IDNDMDcg
NDRBNiAgOEI5QSBBRTA3IDgyODAgNTlBNSAzQ0MxCj4+IEdQRzogREE5OCAyNUFFIENBRDAgODk3
NSA3Q0RBICBCRDhFIDA3MTMgM0Y5NiBDQTc0IEQ4QkEKPj4KPj4gX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gTWlyYWdlT1MtZGV2ZWwgbWFpbGluZyBs
aXN0Cj4+IE1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4+IGh0dHA6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdlb3MtZGV2ZWwK
CgoKLS0gCkRyIFRob21hcyBMZW9uYXJkICAgICAgICBodHRwOi8vMGluc3RhbGwubmV0LwpHUEc6
IDkyNDIgOTgwNyBDOTg1IDNDMDcgNDRBNiAgOEI5QSBBRTA3IDgyODAgNTlBNSAzQ0MxCkdQRzog
REE5OCAyNUFFIENBRDAgODk3NSA3Q0RBICBCRDhFIDA3MTMgM0Y5NiBDQTc0IEQ4QkEKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pcmFnZU9TLWRldmVs
IG1haWxpbmcgbGlzdApNaXJhZ2VPUy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRl
dmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 22:14:21 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 22:14:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Lqc-0006r1-MC; Mon, 21 Jul 2014 22:14:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9Lqb-0006qw-VL
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 22:14:18 +0000
Received: from [85.158.143.35:54669] by server-3.bemta-4.messagelabs.com id
	93/C2-09960-9B09DC35; Mon, 21 Jul 2014 22:14:17 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1405980854!18822002!1
X-Originating-IP: [209.85.218.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9632 invoked from network); 21 Jul 2014 22:14:15 -0000
Received: from mail-oi0-f41.google.com (HELO mail-oi0-f41.google.com)
	(209.85.218.41)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 22:14:15 -0000
Received: by mail-oi0-f41.google.com with SMTP id a141so3855292oig.28
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 15:14:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=js5762WA1DrVJR3V8bc/NzzwHNnnSTWVz0qf+hIR738=;
	b=bP+Ene3WNDcWE1bYPdPtycOnrU/U9o5rD5FFFQcgdLN9TTBsDHM+hP/uVX5j3GuwVR
	qXF65ELYHYXBUix+o06cXgnhed12j8u2uoEAi+v8RHKn9Ovxg59/qcgHZVBJtfi/4Ncm
	vnmY1jrSAb7fIFJ2i2nc6bDPwq0WT2tnHrLlJgpLRr6coB53k6sTpRoCu9RjKSLMsM7o
	8TjGC2l1qEXepjcYFvm+HRCUG0fFpraw7fOd7cMjA2xH5/3Uqnb5wiyZRE+a7uNNreno
	713lmOrTnGFQHruNHkMqmiMWSgwSXKEoxvBv39mfiyu/4oRDgePNL7z+fKkeo77YOShh
	zpoQ==
MIME-Version: 1.0
X-Received: by 10.182.97.234 with SMTP id ed10mr41076023obb.31.1405980854114; 
	Mon, 21 Jul 2014 15:14:14 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 15:14:14 -0700 (PDT)
In-Reply-To: <D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
Date: Mon, 21 Jul 2014 23:14:14 +0100
Message-ID: <CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: Dave Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

RGlkbid0IHNlZW0gdG8gaGVscC4gSGVyZSdzIG15IGN1cnJlbnQgbW9kaWZpZWQgdmVyc2lvbiBv
ZgptaXJhZ2Utc2tlbGV0b24vbmV0d29yay4gRG9lcyBpdCB3b3JrIGZvciBhbnlvbmUgZWxzZT8K
Cm1vZHVsZSBNYWluIChDOiBWMV9MV1QuQ09OU09MRSkgKFM6IFYxX0xXVC5TVEFDS1Y0KSA9IHN0
cnVjdAoKICBsZXQgYnVmZmVyID0gQnVmZmVyLmNyZWF0ZSAxMDAwCiAgbGV0ICgpID0KICAgIGZv
ciBpID0gMSB0byAxMDAwIGRvCiAgICAgIEJ1ZmZlci5hZGRfc3RyaW5nIGJ1ZmZlciAoUHJpbnRm
LnNwcmludGYgIiVkICIgaSkKICAgIGRvbmUKCiAgbGV0IGRhdGEgPSBDc3RydWN0Lm9mX3N0cmlu
ZyAoQnVmZmVyLmNvbnRlbnRzIGJ1ZmZlcikKICBsZXQgc3RhcnQgYyBzID0KICAgIFMubGlzdGVu
X3RjcHY0IHMgfnBvcnQ6ODAwMCAoZnVuIGZsb3cgLT4KICAgICAgICBsZXQgZHN0LCBkc3RfcG9y
dCA9IFMuVENQVjQuZ2V0X2Rlc3QgZmxvdyBpbgogICAgICAgIEMubG9nX3MgYyAoZ3JlZW4gIm5l
dyB0Y3AgY29ubmVjdGlvbiBmcm9tICVzICVkIgogICAgICAgICAgICAgICAgICAgICAoSXBhZGRy
LlY0LnRvX3N0cmluZyBkc3QpIGRzdF9wb3J0KQogICAgICAgID4+PSBmdW4gKCkgLT4KICAgICAg
ICBTLlRDUFY0LndyaXRlIGZsb3cgZGF0YQogICAgICAgID4+PSBmdW4gKCkgLT4KICAgICAgICBT
LlRDUFY0LmNsb3NlIGZsb3cKICAgICAgKTsKCiAgICBTLmxpc3RlbiBzCgplbmQKCkkgdGVzdCB1
c2luZzoKCiQgbmMgMTkyLjE2OC4wLjE4IDgwMDAKCldoZW4gY29tcGlsZWQgZm9yIFVuaXgsIGl0
IG91dHB1dHMgYSBzZXF1ZW5jZSBvZiBudW1iZXJzLiBPbiBYZW4sIGl0Cmp1c3Qga2VlcHMgcmV0
cmFuc21pdHRpbmcuIFdpcmVzaGFyayBzaG93cyB0aGUgcGF5bG9hZCBzdGFydHMgMTYgYnl0ZXMK
bGF0ZXIgdGhhbiBleHBlY3RlZC4gSSdsbCBzbGVlcCBvbiBpdCBhbmQgc2VlIGlmIGl0IG1ha2Vz
IG1vcmUgc2Vuc2UKaW4gdGhlIG1vcm5pbmcuLi4KCgpPbiAyMSBKdWx5IDIwMTQgMjI6NDAsIEFu
aWwgTWFkaGF2YXBlZGR5IDxhbmlsQHJlY29pbC5vcmc+IHdyb3RlOgo+IElmIGl0IGZhaWxzIG9u
IHg4NiBjb3VsZCB5b3UgdHJ5IHJldmVydGluZyB0byBhbiBvbGRlciBDc3RydWN0IHZlcnNpb24/
IEkgd29ycnkgYWJvdXQgdGhlIHJlY2VudCBib3VuZHMgY2hlY2tzIHRyaXBwaW5nIHNvbWUgbmV3
IGJlaGF2aW91ci4KPgo+IEFuaWwKPgo+PiBPbiAyMSBKdWwgMjAxNCwgYXQgMTQ6MzAsIFRob21h
cyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4KPj4+IE9uIDIxIEp1bHkgMjAx
NCAyMTozMSwgRGF2ZSBTY290dCA8RGF2ZS5TY290dEBjaXRyaXguY29tPiB3cm90ZToKPj4+Cj4+
Pj4gT24gMjEgSnVsIDIwMTQsIGF0IDIxOjE0LCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWls
LmNvbT4gd3JvdGU6Cj4+Pj4KPj4+Pj4gT24gMjEgSnVseSAyMDE0IDIwOjU2LCBSaWNoYXJkIE1v
cnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+Pj4gWyBj
b250ZXh0IGZvciBsaXN0OiB0aG9tYXMnIG9ic2VydmF0aW9uIG9mIGZhaWxlZCBkb3dubG9hZCwg
YW5kIGxvdHMgb2YgcmV0cmFuc21pc3Npb25zIGdlbmVyYWxseSwgd2hpbGUgYnJpbmdpbmcgdXAg
bWlyYWdlLXd3dyBvbiBBUk0gXQo+Pj4+Pgo+Pj4+Pj4gT24gMjEgSnVsIDIwMTQsIGF0IDA5OjI3
LCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+Pgo+Pj4+Pj4g
T24gMjEgSnVseSAyMDE0IDE3OjA4LCBSaWNoYXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBu
b3R0aW5naGFtLmFjLnVrPiB3cm90ZToKPj4+Pj4KPj4+Pj4+Pj4gT24gMjEgSnVsIDIwMTQsIGF0
IDA5OjAxLCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+Pj4+
Cj4+Pj4+Pj4+IEhlcmUncyB0aGUgd2lyZXNoYXJrIGNhcHR1cmUgb2YgYSBmYWlsZWQgZG93bmxv
YWQuIEl0IGRvZXMgaW5kZWVkIHNheQo+Pj4+Pj4+PiB0aGUgVENQIGNoZWNrc3VtIGlzIHdyb25n
LiBBbnkgaWRlYSB3aGF0J3MgZ29pbmcgb24/Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IE5vdGUgdGhhdCBv
biBBUk0gaXQgdXNlcyBhIGRpZmZlcmVudCBmdW5jdGlvbiB0byBjYWxjdWxhdGUgdGhpcyAod2hp
Y2gKPj4+Pj4+Pj4gSSB0b29rIGZyb20gbWlyYWdlLXVuaXgpLiBJdCdzIGluIHRoZSAjZWxzZSBi
bG9jayBoZXJlOgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBodHRwczovL2dpdGh1Yi5jb20vdGFsZXg1L21p
cmFnZS10Y3BpcC9ibG9iL2NoZWNrc3VtL2xpYi9jaGVja3N1bV9zdHVicy5jCj4+Pj4+Pj4KPj4+
Pj4+PiBhY2s7IHdpbGwgdGFrZSBhIGxvb2sgYWZ0ZXIgYnJlYWtmYXN0IDopCj4+Pj4+Pj4KPj4+
Pj4+PiBqdXN0IHRvIGJlIGNsZWFyIC0tIHRoZSBBUk0gdmVyc2lvbiBpcyB1c2luZyB0aGUgY29k
ZSBmcm9tIEwyNDcgbWFya2VkICJnZW5lcmljIGltcGxlbWVudGF0aW9uIj8KPj4+Pj4+Cj4+Pj4+
PiBZZXMuIFRoZSB4ODYgdmVyc2lvbiBjcmFzaGVzIG9uIEFSTSBiZWNhdXNlIHRoZSA2NC1iaXQg
dmFsdWVzIGFyZW4ndCBhbGlnbmVkLgo+Pj4+Pj4KPj4+Pj4+PiB0d28gaW1tZWRpYXRlIHF1ZXN0
aW9ucyAtLSBpcyB0aGUgY2hlY2tzdW0gZmllbGQgZGVmaW5pdGVseSB0cmVhdGVkIGFzIGFsbCB6
ZXJvcyBpbiB0aGUgY29tcHV0YXRpb24gYWNyb3NzIHRoZSBoZWFkZXI/ICBhbmQgaXMgdGhlIHNl
Z21lbnQgcGFkZGVkIHdpdGggemVyb3MgdG8gYmUgTioxNiBiaXRzIGZvciB0aGUgcHVycG9zZXMg
b2YgdGhlIGNvbXB1dGF0aW9uIChidXQgdGhlIHBhZCBub3QgdHJhbnNtaXR0ZWQpPwo+Pj4+Pj4K
Pj4+Pj4+IE5vIGlkZWEuIEkgaGF2ZW4ndCBjaGFuZ2VkIGFueSBjb2RlIGFyb3VuZCB0aGVyZS4K
Pj4+Pj4KPj4+Pj4gdGhpcyBpcyB3ZWlyZC0tIHdpcmVzaGFyayBzYXlzIHRoYXQgdGhlIGZpcnN0
IHRyYW5zbWlzc2lvbiBvZiB0aGF0IHNlZ21lbnQgKGZyYW1lIzEzKSBoYXMgYW4gaW52YWxpZCBj
aGVja3N1bSB3aGlsZSB0aGUgcmV0cmFuc21pc3Npb24gKCMxNykgaGFzIGEgdmFsaWQgY2hlY2tz
dW0uIGJ1dCB0aGUgdHdvIGNoZWNrc3VtcyBhcmUgdGhlIHNhbWUhICBob3dldmVyICMxMyBhcHBl
YXJzIHRvIGhhdmUgYWxtb3N0IG5vIHZhbGlkIGRhdGEgaW4gaXQgLS0gYWZ0ZXIgdGhlIGZpcnN0
IDc0IGJ5dGVzICh3aGljaCBhcmUgdGhlIHNhbWUgaW4gYm90aCAjMTMgYW5kICMxNyksIHRoZSBw
YXlsb2FkIGluICMxMyBpcyB6ZXJvZWQgb3V0Lgo+Pj4+Pgo+Pj4+PiBzbyBpIGd1ZXNzIHRoZSBj
c3RydWN0IGJ1ZmZlciBpcyBiZWluZyByZWN5Y2xlZCB0b28gc29vbiAoYWZ0ZXIgdGhlIGNoZWNr
c3VtIGNhbGN1bGF0aW9uIGJ1dCBiZWZvcmUgdGhlIGRhdGEgaXMgYWN0dWFsbHkgdHJhbnNtaXR0
ZWQpIG9yIHNvbWV0aGluZz8KPj4+Pj4KPj4+Pj4gYW5pbCwgYmFscmFqIChvciBhbnlvbmUgZWxz
ZSEpLS0gaGFzIHRoYXQgcGFydCBvZiB0aGUgc3RhY2sgYmVlbiBjaGFuZ2VkIHJlY2VudGx5Pwo+
Pj4+Cj4+Pj4gSSdtIHNlZWluZyBzdHJhbmdlIHRoaW5ncyB1c2luZyBhIHNpbXBsZXIgdGVzdCBj
YXNlIG5vdzoKPj4+Pgo+Pj4+IGxldCBzdGFydCBjIHMgPQo+Pj4+ICAgUy5saXN0ZW5fdGNwdjQg
cyB+cG9ydDo4MDAwIChmdW4gZmxvdyAtPgo+Pj4+ICAgICAgIGxldCBkc3QsIGRzdF9wb3J0ID0g
Uy5UQ1BWNC5nZXRfZGVzdCBmbG93IGluCj4+Pj4gICAgICAgQy5sb2dfcyBjIChncmVlbiAibmV3
IHRjcCBjb25uZWN0aW9uIGZyb20gJXMgJWQiCj4+Pj4gICAgICAgICAgICAgICAgICAgIChJcGFk
ZHIuVjQudG9fc3RyaW5nIGRzdCkgZHN0X3BvcnQpCj4+Pj4+PiA9IGZ1biAoKSAtPgo+Pj4+ICAg
ICAgIGxldCBkYXRhID0gQ3N0cnVjdC5vZl9zdHJpbmcgIkhlbGxvIiBpbgo+Pj4+ICAgICAgIFMu
VENQVjQud3JpdGUgZmxvdyBkYXRhCj4+Pj4+PiA9IGZ1biAoKSAtPgo+Pj4+ICAgICAgIFMuVENQ
VjQuY2xvc2UgZmxvdwo+Pj4+ICAgICApOwo+Pj4+ICAgUy5saXN0ZW4gcwo+Pj4+Cj4+Pj4gVGhp
cyBpcyBhbHNvIGZhaWxpbmcuIEkgYWRkZWQgYSBoZXhkdW1wIHRvIG1pcmFnZS1uZXQteGVuIGFu
ZCBnb3QgdGhpcwo+Pj4+IGluIE5ldGlmLndyaXRldjoKPj4+Pgo+Pj4+IGYwIDFmIGFmIDZhIDli
IDk1IGMwIGZmIGVlIGMwIGZmIGVlIDA4IDAwIDQ1IDAwCj4+Pj4gMDAgMmQgNTIgOTUgMDAgMDAg
MjYgMDYgYzAgYzggYzAgYTggMDAgMTIgYzAgYTgKPj4+PiAwMCAwYiAxZiA0MCBiNCBjYSAxYSBm
ZSBiNSA2OSA1ZSA4YyBkZCBmZSA1MCAxOAo+Pj4+IGZmIGZmIDI5IDhhIDAwIDAwCj4+Pj4KPj4+
PiA0OCA2NSA2YyA2YyA2Zgo+Pj4+Cj4+Pj4gVGhhdCBsb29rcyBjb3JyZWN0LiBUaGUgZmlyc3Qg
YmxvY2sgaXMgdGhlIGhlYWRlciwgdGhlIHNlY29uZCBpcyB0aGUKPj4+PiBwYXlsb2FkLiBJbiB3
aXJlc2hhcmUsIHRoZSBoZWFkZXIgaXMgaWRlbnRpY2FsIGJ1dCB0aGUgcGF5bG9hZCBpcwo+Pj4+
IGRpZmZlcmVudCAoMjAgMDAgMDAgMDAgMDgpLCB3aGljaCBtYXRjaGVzIHdoYXQgeW91J3JlIHNl
ZWluZy4KPj4+Pgo+Pj4+IFNvIEkgZ3Vlc3MgdGhlcmUncyBzb21lIHByb2JsZW0gc2VuZGluZyB0
aGUgc2Vjb25kIHBhZ2UgdG8gdGhlIHJpbmcuCj4+Pj4gU3VnZ2VzdGlvbnMgZnJvbSBwZW9wbGUg
d2hvIGtub3cgdGhpcyBjb2RlIHdvdWxkIGJlIGdyZWF0ISBDb3VsZCBqdXN0Cj4+Pj4gYmUgYSBt
aXNzaW5nIGJhcnJpZXIgb3Igc29tZXRoaW5nLgo+Pj4KPj4+IEkgdGhpbmsgdGhlIGZsb3cgaXM6
Cj4+Pgo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9taXJhZ2UtbmV0LXhlbi9ibG9iL21h
c3Rlci9saWIvbmV0aWYubWwjTDQwOAo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9zaGFy
ZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbHd0L2x3dF9yaW5nLm1sI0w3NQo+Pj4gaHR0cHM6
Ly9naXRodWIuY29tL21pcmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbGliL3Jp
bmcubWwjTDE1NAo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9zaGFyZWQtbWVtb3J5LXJp
bmcvYmxvYi9tYXN0ZXIvbGliL3JpbmcubWwjTDEwMgo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL21p
cmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbGliL2JhcnJpZXJfc3R1YnMuYyNM
MjgKPj4+IOKAlCBjYWxsaW5nIOKAnHhlbl9tYuKAnQo+Pj4KPj4+IFBlcmhhcHMgdG8gc2VlIHdo
ZXRoZXIg4oCceGVuX21i4oCdIGlzIHdvcmtpbmcgeW91IGNvdWxkIGFkZCBhIGRlbGF5ICh2aWEg
YnVzeSBsb29wPykgaW4gdGhlIOKAmG1lbW9yeV9iYXJyaWVy4oCZIGZ1bmN0aW9uIChvciB0aGVy
ZWFib3V0cykgaW4gc2hhcmVkLW1lbW9yeS1yaW5nLiBBc3N1bWluZyB0aGUgd3JpdGVzIGFyZSBj
b21taXR0ZWQgZXZlbnR1YWxseSAoaXMgdGhhdCBhIHZhbGlkIGFzc3VtcHRpb24/KSB0aGVuIHRo
ZSBidXN5IGxvb3Agd291bGQg4oCcZml4IGl04oCdLiBUaGF0IHdvdWxkIGJlIGZhaXJseSBnb29k
IGV2aWRlbmNlIHRoYXQgYmFycmllcnMgYXJlIGJyb2tlbi4KPj4KPj4gVGhpcyBpcyBwb3RlbnRp
YWxseSBhIHByb2JsZW0gKGluIHNoYXJlZC1tZW1vcnktcmluZy9saWIvYmFycmllci5oKToKPj4K
Pj4gI2VsaWYgZGVmaW5lZChfX2FybV9fKQo+PiAjIGlmbmRlZiBfTV9BUk0KPj4gI2RlZmluZSB4
ZW5fbWIoKSAgIHt9Cj4+ICNkZWZpbmUgeGVuX3JtYigpICB7fQo+PiAjZGVmaW5lIHhlbl93bWIo
KSAge30KPj4gIyBlbGlmIF9NX0FSTSA+IDYKPj4gI2RlZmluZSB4ZW5fbWIoKSAgIGFzbSB2b2xh
dGlsZSAoImRtYiIgOiA6IDogIm1lbW9yeSIpCj4+ICNkZWZpbmUgeGVuX3JtYigpICBhc20gdm9s
YXRpbGUgKCJkbWIiIDogOiA6ICJtZW1vcnkiKQo+PiAjZGVmaW5lIHhlbl93bWIoKSAgYXNtIHZv
bGF0aWxlICgiZG1iIiA6IDogOiAibWVtb3J5IikKPj4KPj4gRnJvbSBhIHF1aWNrIEdvb2dsZSwg
aXQgbG9va3MgbGlrZSBfTV9BUk0gaXMgYSBNaWNyb3NvZnQtb25seSB0aGluZy4KPj4KPj4gSG93
ZXZlciwgdGhlIGJhcnJpZXIgY29kZSBpcyBkdXBsaWNhdGVkIGluIG1pcmFnZS14ZW4sIGFuZCBJ
IHRoaW5rCj4+IHdlJ3JlIHVzaW5nIHRoYXQgdmVyc2lvbiAoaW4gYW55IGNhc2UsIGNoYW5naW5n
IGl0IGRpZG4ndCBoZWxwKS4KPj4KPj4gSG93ZXZlciwgSSd2ZSBub3cgbm90aWNlZCB0aGF0IG15
IG5ldHdvcmsgdGVzdCBpcyBmYWlsaW5nIG9uIHg4NiB0b28sCj4+IHNvIHRoZXJlJ3Mgc29tZXRo
aW5nIHZlcnkgb2RkIGdvaW5nIG9uLi4uCj4+Cj4+Cj4+IC0tCj4+IERyIFRob21hcyBMZW9uYXJk
ICAgICAgICBodHRwOi8vMGluc3RhbGwubmV0Lwo+PiBHUEc6IDkyNDIgOTgwNyBDOTg1IDNDMDcg
NDRBNiAgOEI5QSBBRTA3IDgyODAgNTlBNSAzQ0MxCj4+IEdQRzogREE5OCAyNUFFIENBRDAgODk3
NSA3Q0RBICBCRDhFIDA3MTMgM0Y5NiBDQTc0IEQ4QkEKPj4KPj4gX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gTWlyYWdlT1MtZGV2ZWwgbWFpbGluZyBs
aXN0Cj4+IE1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4+IGh0dHA6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdlb3MtZGV2ZWwK
CgoKLS0gCkRyIFRob21hcyBMZW9uYXJkICAgICAgICBodHRwOi8vMGluc3RhbGwubmV0LwpHUEc6
IDkyNDIgOTgwNyBDOTg1IDNDMDcgNDRBNiAgOEI5QSBBRTA3IDgyODAgNTlBNSAzQ0MxCkdQRzog
REE5OCAyNUFFIENBRDAgODk3NSA3Q0RBICBCRDhFIDA3MTMgM0Y5NiBDQTc0IEQ4QkEKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pcmFnZU9TLWRldmVs
IG1haWxpbmcgbGlzdApNaXJhZ2VPUy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRl
dmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 23:10:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 23:10:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9MjJ-0007KF-LT; Mon, 21 Jul 2014 23:10:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9MjI-0007KA-O1
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 23:10:48 +0000
Received: from [193.109.254.147:13128] by server-12.bemta-14.messagelabs.com
	id 4B/41-23840-8FD9DC35; Mon, 21 Jul 2014 23:10:48 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1405984245!18695056!1
X-Originating-IP: [209.85.219.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29080 invoked from network); 21 Jul 2014 23:10:46 -0000
Received: from mail-oa0-f41.google.com (HELO mail-oa0-f41.google.com)
	(209.85.219.41)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 23:10:46 -0000
Received: by mail-oa0-f41.google.com with SMTP id j17so8608865oag.0
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 16:10:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=EngpKkMQD/dEwKgO0QIQ/I+s0WGw1MoYQsXrmFYkElg=;
	b=cLQYCbosU0Yr8ThSidUcbPJuVNWgJrWpn4AP8L2yicRjG6lGyC1ENlG9K/DSoh5jdU
	TeEawnZn4CPt/5DNmcTUma49iyUL07CbnDxRp8Umdr5HtksTROs3mUiZHdkRu1MuN3l7
	y/CV52litaqJwMh2NbSnsFpURFFHkhwDpo80KisOXLDs5pUuxXutNZlh5gB/3zIPGS3d
	97NfqclxiIsD6hthEOhpQ++tycPFI4jGrkeV+h/ecneZKv3451GzEL6Yo/TuaLwIJJkj
	rXxOmdNvdLozxeY525mnKBKq/mUkdg66MtTQRhR/gWqiYto2qWQdnHF/LjmZR8h/Js5i
	3RhQ==
MIME-Version: 1.0
X-Received: by 10.182.98.194 with SMTP id ek2mr41481047obb.5.1405984245309;
	Mon, 21 Jul 2014 16:10:45 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 16:10:45 -0700 (PDT)
In-Reply-To: <CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
Date: Tue, 22 Jul 2014 00:10:45 +0100
Message-ID: <CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: Dave Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

V2hhdCBhcmUgdGhlIHJ1bGVzIGFib3V0IGFsaWdubWVudCBmb3IgY3N0cnVjdHM/CgpBbGxvY2F0
aW5nIHRoZSBidWZmZXIgbGlrZSB0aGlzIHdvcmtzOgoKICBsZXQgZGF0YSA9IElvX3BhZ2UuZ2V0
IDEgfD4gSW9fcGFnZS50b19jc3RydWN0CiAgbGV0ICgpID0gQ3N0cnVjdC5ibGl0X2Zyb21fc3Ry
aW5nIChCdWZmZXIuY29udGVudHMgYnVmZmVyKSAwIGRhdGEgMAooQnVmZmVyLmxlbmd0aCBidWZm
ZXIpCgpCdXQgdXNpbmcgQ3N0cnVjdC5vZl9zdHJpbmcgZG9lc24ndC4gSXQgZG9lcyBsb29rIGxp
a2UgTmV0aWYgYXNzdW1lcwp0aGUgc3RydWN0cyBhcmUgcGFnZSBhbGlnbmVkLiBlLmcuCgogIGlm
IHBhZ2UuQ3N0cnVjdC5vZmYgKyBsZW4gPiBwYWdlX3NpemUgdGhlbiBiZWdpbgogICAgKCogbmV0
YmFjayByZWplY3RzIHBhY2tldHMgdGhhdCBjcm9zcyBwYWdlIGJvdW5kYXJpZXMgKikKICAgIGxl
dCBtc2cgPQogICAgICBQcmludGYuc3ByaW50ZiAiSW52YWxpZCBwYWdlOiBvZmZzZXQ9JWQsIGxl
bmd0aD0lZCIKcGFnZS5Dc3RydWN0Lm9mZiBsZW4gaW4KICAgIHByaW50X2VuZGxpbmUgbXNnOwog
ICAgTHd0LmZhaWwgKEZhaWx1cmUgbXNnKQogIGVuZCBlbHNlCgpQZXJoYXBzIHRoZSB0eXBlIHNo
b3VsZCBiZSBJb19wYWdlIHJhdGhlciB0aGFuIENTdHJ1Y3QgaW4gdGhhdCBjYXNlPwpPciBhcmUg
Q1N0cnVjdHMgc3VwcG9zZWQgdG8gYmUgYWxpZ25lZCB0b28/CgoKT24gMjEgSnVseSAyMDE0IDIz
OjE0LCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4gRGlkbid0IHNl
ZW0gdG8gaGVscC4gSGVyZSdzIG15IGN1cnJlbnQgbW9kaWZpZWQgdmVyc2lvbiBvZgo+IG1pcmFn
ZS1za2VsZXRvbi9uZXR3b3JrLiBEb2VzIGl0IHdvcmsgZm9yIGFueW9uZSBlbHNlPwo+Cj4gbW9k
dWxlIE1haW4gKEM6IFYxX0xXVC5DT05TT0xFKSAoUzogVjFfTFdULlNUQUNLVjQpID0gc3RydWN0
Cj4KPiAgIGxldCBidWZmZXIgPSBCdWZmZXIuY3JlYXRlIDEwMDAKPiAgIGxldCAoKSA9Cj4gICAg
IGZvciBpID0gMSB0byAxMDAwIGRvCj4gICAgICAgQnVmZmVyLmFkZF9zdHJpbmcgYnVmZmVyIChQ
cmludGYuc3ByaW50ZiAiJWQgIiBpKQo+ICAgICBkb25lCj4KPiAgIGxldCBkYXRhID0gQ3N0cnVj
dC5vZl9zdHJpbmcgKEJ1ZmZlci5jb250ZW50cyBidWZmZXIpCj4gICBsZXQgc3RhcnQgYyBzID0K
PiAgICAgUy5saXN0ZW5fdGNwdjQgcyB+cG9ydDo4MDAwIChmdW4gZmxvdyAtPgo+ICAgICAgICAg
bGV0IGRzdCwgZHN0X3BvcnQgPSBTLlRDUFY0LmdldF9kZXN0IGZsb3cgaW4KPiAgICAgICAgIEMu
bG9nX3MgYyAoZ3JlZW4gIm5ldyB0Y3AgY29ubmVjdGlvbiBmcm9tICVzICVkIgo+ICAgICAgICAg
ICAgICAgICAgICAgIChJcGFkZHIuVjQudG9fc3RyaW5nIGRzdCkgZHN0X3BvcnQpCj4gICAgICAg
ICA+Pj0gZnVuICgpIC0+Cj4gICAgICAgICBTLlRDUFY0LndyaXRlIGZsb3cgZGF0YQo+ICAgICAg
ICAgPj49IGZ1biAoKSAtPgo+ICAgICAgICAgUy5UQ1BWNC5jbG9zZSBmbG93Cj4gICAgICAgKTsK
Pgo+ICAgICBTLmxpc3RlbiBzCj4KPiBlbmQKPgo+IEkgdGVzdCB1c2luZzoKPgo+ICQgbmMgMTky
LjE2OC4wLjE4IDgwMDAKPgo+IFdoZW4gY29tcGlsZWQgZm9yIFVuaXgsIGl0IG91dHB1dHMgYSBz
ZXF1ZW5jZSBvZiBudW1iZXJzLiBPbiBYZW4sIGl0Cj4ganVzdCBrZWVwcyByZXRyYW5zbWl0dGlu
Zy4gV2lyZXNoYXJrIHNob3dzIHRoZSBwYXlsb2FkIHN0YXJ0cyAxNiBieXRlcwo+IGxhdGVyIHRo
YW4gZXhwZWN0ZWQuIEknbGwgc2xlZXAgb24gaXQgYW5kIHNlZSBpZiBpdCBtYWtlcyBtb3JlIHNl
bnNlCj4gaW4gdGhlIG1vcm5pbmcuLi4KPgo+Cj4gT24gMjEgSnVseSAyMDE0IDIyOjQwLCBBbmls
IE1hZGhhdmFwZWRkeSA8YW5pbEByZWNvaWwub3JnPiB3cm90ZToKPj4gSWYgaXQgZmFpbHMgb24g
eDg2IGNvdWxkIHlvdSB0cnkgcmV2ZXJ0aW5nIHRvIGFuIG9sZGVyIENzdHJ1Y3QgdmVyc2lvbj8g
SSB3b3JyeSBhYm91dCB0aGUgcmVjZW50IGJvdW5kcyBjaGVja3MgdHJpcHBpbmcgc29tZSBuZXcg
YmVoYXZpb3VyLgo+Pgo+PiBBbmlsCj4+Cj4+PiBPbiAyMSBKdWwgMjAxNCwgYXQgMTQ6MzAsIFRo
b21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4+Cj4+Pj4gT24gMjEgSnVs
eSAyMDE0IDIxOjMxLCBEYXZlIFNjb3R0IDxEYXZlLlNjb3R0QGNpdHJpeC5jb20+IHdyb3RlOgo+
Pj4+Cj4+Pj4+IE9uIDIxIEp1bCAyMDE0LCBhdCAyMToxNCwgVGhvbWFzIExlb25hcmQgPHRhbGV4
NUBnbWFpbC5jb20+IHdyb3RlOgo+Pj4+Pgo+Pj4+Pj4gT24gMjEgSnVseSAyMDE0IDIwOjU2LCBS
aWNoYXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToK
Pj4+Pj4+IFsgY29udGV4dCBmb3IgbGlzdDogdGhvbWFzJyBvYnNlcnZhdGlvbiBvZiBmYWlsZWQg
ZG93bmxvYWQsIGFuZCBsb3RzIG9mIHJldHJhbnNtaXNzaW9ucyBnZW5lcmFsbHksIHdoaWxlIGJy
aW5naW5nIHVwIG1pcmFnZS13d3cgb24gQVJNIF0KPj4+Pj4+Cj4+Pj4+Pj4gT24gMjEgSnVsIDIw
MTQsIGF0IDA5OjI3LCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+
Pj4+Pj4KPj4+Pj4+PiBPbiAyMSBKdWx5IDIwMTQgMTc6MDgsIFJpY2hhcmQgTW9ydGllciA8Umlj
aGFyZC5Nb3J0aWVyQG5vdHRpbmdoYW0uYWMudWs+IHdyb3RlOgo+Pj4+Pj4KPj4+Pj4+Pj4+IE9u
IDIxIEp1bCAyMDE0LCBhdCAwOTowMSwgVGhvbWFzIExlb25hcmQgPHRhbGV4NUBnbWFpbC5jb20+
IHdyb3RlOgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEhlcmUncyB0aGUgd2lyZXNoYXJrIGNhcHR1cmUg
b2YgYSBmYWlsZWQgZG93bmxvYWQuIEl0IGRvZXMgaW5kZWVkIHNheQo+Pj4+Pj4+Pj4gdGhlIFRD
UCBjaGVja3N1bSBpcyB3cm9uZy4gQW55IGlkZWEgd2hhdCdzIGdvaW5nIG9uPwo+Pj4+Pj4+Pj4K
Pj4+Pj4+Pj4+IE5vdGUgdGhhdCBvbiBBUk0gaXQgdXNlcyBhIGRpZmZlcmVudCBmdW5jdGlvbiB0
byBjYWxjdWxhdGUgdGhpcyAod2hpY2gKPj4+Pj4+Pj4+IEkgdG9vayBmcm9tIG1pcmFnZS11bml4
KS4gSXQncyBpbiB0aGUgI2Vsc2UgYmxvY2sgaGVyZToKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBodHRw
czovL2dpdGh1Yi5jb20vdGFsZXg1L21pcmFnZS10Y3BpcC9ibG9iL2NoZWNrc3VtL2xpYi9jaGVj
a3N1bV9zdHVicy5jCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IGFjazsgd2lsbCB0YWtlIGEgbG9vayBhZnRl
ciBicmVha2Zhc3QgOikKPj4+Pj4+Pj4KPj4+Pj4+Pj4ganVzdCB0byBiZSBjbGVhciAtLSB0aGUg
QVJNIHZlcnNpb24gaXMgdXNpbmcgdGhlIGNvZGUgZnJvbSBMMjQ3IG1hcmtlZCAiZ2VuZXJpYyBp
bXBsZW1lbnRhdGlvbiI/Cj4+Pj4+Pj4KPj4+Pj4+PiBZZXMuIFRoZSB4ODYgdmVyc2lvbiBjcmFz
aGVzIG9uIEFSTSBiZWNhdXNlIHRoZSA2NC1iaXQgdmFsdWVzIGFyZW4ndCBhbGlnbmVkLgo+Pj4+
Pj4+Cj4+Pj4+Pj4+IHR3byBpbW1lZGlhdGUgcXVlc3Rpb25zIC0tIGlzIHRoZSBjaGVja3N1bSBm
aWVsZCBkZWZpbml0ZWx5IHRyZWF0ZWQgYXMgYWxsIHplcm9zIGluIHRoZSBjb21wdXRhdGlvbiBh
Y3Jvc3MgdGhlIGhlYWRlcj8gIGFuZCBpcyB0aGUgc2VnbWVudCBwYWRkZWQgd2l0aCB6ZXJvcyB0
byBiZSBOKjE2IGJpdHMgZm9yIHRoZSBwdXJwb3NlcyBvZiB0aGUgY29tcHV0YXRpb24gKGJ1dCB0
aGUgcGFkIG5vdCB0cmFuc21pdHRlZCk/Cj4+Pj4+Pj4KPj4+Pj4+PiBObyBpZGVhLiBJIGhhdmVu
J3QgY2hhbmdlZCBhbnkgY29kZSBhcm91bmQgdGhlcmUuCj4+Pj4+Pgo+Pj4+Pj4gdGhpcyBpcyB3
ZWlyZC0tIHdpcmVzaGFyayBzYXlzIHRoYXQgdGhlIGZpcnN0IHRyYW5zbWlzc2lvbiBvZiB0aGF0
IHNlZ21lbnQgKGZyYW1lIzEzKSBoYXMgYW4gaW52YWxpZCBjaGVja3N1bSB3aGlsZSB0aGUgcmV0
cmFuc21pc3Npb24gKCMxNykgaGFzIGEgdmFsaWQgY2hlY2tzdW0uIGJ1dCB0aGUgdHdvIGNoZWNr
c3VtcyBhcmUgdGhlIHNhbWUhICBob3dldmVyICMxMyBhcHBlYXJzIHRvIGhhdmUgYWxtb3N0IG5v
IHZhbGlkIGRhdGEgaW4gaXQgLS0gYWZ0ZXIgdGhlIGZpcnN0IDc0IGJ5dGVzICh3aGljaCBhcmUg
dGhlIHNhbWUgaW4gYm90aCAjMTMgYW5kICMxNyksIHRoZSBwYXlsb2FkIGluICMxMyBpcyB6ZXJv
ZWQgb3V0Lgo+Pj4+Pj4KPj4+Pj4+IHNvIGkgZ3Vlc3MgdGhlIGNzdHJ1Y3QgYnVmZmVyIGlzIGJl
aW5nIHJlY3ljbGVkIHRvbyBzb29uIChhZnRlciB0aGUgY2hlY2tzdW0gY2FsY3VsYXRpb24gYnV0
IGJlZm9yZSB0aGUgZGF0YSBpcyBhY3R1YWxseSB0cmFuc21pdHRlZCkgb3Igc29tZXRoaW5nPwo+
Pj4+Pj4KPj4+Pj4+IGFuaWwsIGJhbHJhaiAob3IgYW55b25lIGVsc2UhKS0tIGhhcyB0aGF0IHBh
cnQgb2YgdGhlIHN0YWNrIGJlZW4gY2hhbmdlZCByZWNlbnRseT8KPj4+Pj4KPj4+Pj4gSSdtIHNl
ZWluZyBzdHJhbmdlIHRoaW5ncyB1c2luZyBhIHNpbXBsZXIgdGVzdCBjYXNlIG5vdzoKPj4+Pj4K
Pj4+Pj4gbGV0IHN0YXJ0IGMgcyA9Cj4+Pj4+ICAgUy5saXN0ZW5fdGNwdjQgcyB+cG9ydDo4MDAw
IChmdW4gZmxvdyAtPgo+Pj4+PiAgICAgICBsZXQgZHN0LCBkc3RfcG9ydCA9IFMuVENQVjQuZ2V0
X2Rlc3QgZmxvdyBpbgo+Pj4+PiAgICAgICBDLmxvZ19zIGMgKGdyZWVuICJuZXcgdGNwIGNvbm5l
Y3Rpb24gZnJvbSAlcyAlZCIKPj4+Pj4gICAgICAgICAgICAgICAgICAgIChJcGFkZHIuVjQudG9f
c3RyaW5nIGRzdCkgZHN0X3BvcnQpCj4+Pj4+Pj4gPSBmdW4gKCkgLT4KPj4+Pj4gICAgICAgbGV0
IGRhdGEgPSBDc3RydWN0Lm9mX3N0cmluZyAiSGVsbG8iIGluCj4+Pj4+ICAgICAgIFMuVENQVjQu
d3JpdGUgZmxvdyBkYXRhCj4+Pj4+Pj4gPSBmdW4gKCkgLT4KPj4+Pj4gICAgICAgUy5UQ1BWNC5j
bG9zZSBmbG93Cj4+Pj4+ICAgICApOwo+Pj4+PiAgIFMubGlzdGVuIHMKPj4+Pj4KPj4+Pj4gVGhp
cyBpcyBhbHNvIGZhaWxpbmcuIEkgYWRkZWQgYSBoZXhkdW1wIHRvIG1pcmFnZS1uZXQteGVuIGFu
ZCBnb3QgdGhpcwo+Pj4+PiBpbiBOZXRpZi53cml0ZXY6Cj4+Pj4+Cj4+Pj4+IGYwIDFmIGFmIDZh
IDliIDk1IGMwIGZmIGVlIGMwIGZmIGVlIDA4IDAwIDQ1IDAwCj4+Pj4+IDAwIDJkIDUyIDk1IDAw
IDAwIDI2IDA2IGMwIGM4IGMwIGE4IDAwIDEyIGMwIGE4Cj4+Pj4+IDAwIDBiIDFmIDQwIGI0IGNh
IDFhIGZlIGI1IDY5IDVlIDhjIGRkIGZlIDUwIDE4Cj4+Pj4+IGZmIGZmIDI5IDhhIDAwIDAwCj4+
Pj4+Cj4+Pj4+IDQ4IDY1IDZjIDZjIDZmCj4+Pj4+Cj4+Pj4+IFRoYXQgbG9va3MgY29ycmVjdC4g
VGhlIGZpcnN0IGJsb2NrIGlzIHRoZSBoZWFkZXIsIHRoZSBzZWNvbmQgaXMgdGhlCj4+Pj4+IHBh
eWxvYWQuIEluIHdpcmVzaGFyZSwgdGhlIGhlYWRlciBpcyBpZGVudGljYWwgYnV0IHRoZSBwYXls
b2FkIGlzCj4+Pj4+IGRpZmZlcmVudCAoMjAgMDAgMDAgMDAgMDgpLCB3aGljaCBtYXRjaGVzIHdo
YXQgeW91J3JlIHNlZWluZy4KPj4+Pj4KPj4+Pj4gU28gSSBndWVzcyB0aGVyZSdzIHNvbWUgcHJv
YmxlbSBzZW5kaW5nIHRoZSBzZWNvbmQgcGFnZSB0byB0aGUgcmluZy4KPj4+Pj4gU3VnZ2VzdGlv
bnMgZnJvbSBwZW9wbGUgd2hvIGtub3cgdGhpcyBjb2RlIHdvdWxkIGJlIGdyZWF0ISBDb3VsZCBq
dXN0Cj4+Pj4+IGJlIGEgbWlzc2luZyBiYXJyaWVyIG9yIHNvbWV0aGluZy4KPj4+Pgo+Pj4+IEkg
dGhpbmsgdGhlIGZsb3cgaXM6Cj4+Pj4KPj4+PiBodHRwczovL2dpdGh1Yi5jb20vbWlyYWdlL21p
cmFnZS1uZXQteGVuL2Jsb2IvbWFzdGVyL2xpYi9uZXRpZi5tbCNMNDA4Cj4+Pj4gaHR0cHM6Ly9n
aXRodWIuY29tL21pcmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbHd0L2x3dF9y
aW5nLm1sI0w3NQo+Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2Uvc2hhcmVkLW1lbW9yeS1y
aW5nL2Jsb2IvbWFzdGVyL2xpYi9yaW5nLm1sI0wxNTQKPj4+PiBodHRwczovL2dpdGh1Yi5jb20v
bWlyYWdlL3NoYXJlZC1tZW1vcnktcmluZy9ibG9iL21hc3Rlci9saWIvcmluZy5tbCNMMTAyCj4+
Pj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0
ZXIvbGliL2JhcnJpZXJfc3R1YnMuYyNMMjgKPj4+PiDigJQgY2FsbGluZyDigJx4ZW5fbWLigJ0K
Pj4+Pgo+Pj4+IFBlcmhhcHMgdG8gc2VlIHdoZXRoZXIg4oCceGVuX21i4oCdIGlzIHdvcmtpbmcg
eW91IGNvdWxkIGFkZCBhIGRlbGF5ICh2aWEgYnVzeSBsb29wPykgaW4gdGhlIOKAmG1lbW9yeV9i
YXJyaWVy4oCZIGZ1bmN0aW9uIChvciB0aGVyZWFib3V0cykgaW4gc2hhcmVkLW1lbW9yeS1yaW5n
LiBBc3N1bWluZyB0aGUgd3JpdGVzIGFyZSBjb21taXR0ZWQgZXZlbnR1YWxseSAoaXMgdGhhdCBh
IHZhbGlkIGFzc3VtcHRpb24/KSB0aGVuIHRoZSBidXN5IGxvb3Agd291bGQg4oCcZml4IGl04oCd
LiBUaGF0IHdvdWxkIGJlIGZhaXJseSBnb29kIGV2aWRlbmNlIHRoYXQgYmFycmllcnMgYXJlIGJy
b2tlbi4KPj4+Cj4+PiBUaGlzIGlzIHBvdGVudGlhbGx5IGEgcHJvYmxlbSAoaW4gc2hhcmVkLW1l
bW9yeS1yaW5nL2xpYi9iYXJyaWVyLmgpOgo+Pj4KPj4+ICNlbGlmIGRlZmluZWQoX19hcm1fXykK
Pj4+ICMgaWZuZGVmIF9NX0FSTQo+Pj4gI2RlZmluZSB4ZW5fbWIoKSAgIHt9Cj4+PiAjZGVmaW5l
IHhlbl9ybWIoKSAge30KPj4+ICNkZWZpbmUgeGVuX3dtYigpICB7fQo+Pj4gIyBlbGlmIF9NX0FS
TSA+IDYKPj4+ICNkZWZpbmUgeGVuX21iKCkgICBhc20gdm9sYXRpbGUgKCJkbWIiIDogOiA6ICJt
ZW1vcnkiKQo+Pj4gI2RlZmluZSB4ZW5fcm1iKCkgIGFzbSB2b2xhdGlsZSAoImRtYiIgOiA6IDog
Im1lbW9yeSIpCj4+PiAjZGVmaW5lIHhlbl93bWIoKSAgYXNtIHZvbGF0aWxlICgiZG1iIiA6IDog
OiAibWVtb3J5IikKPj4+Cj4+PiBGcm9tIGEgcXVpY2sgR29vZ2xlLCBpdCBsb29rcyBsaWtlIF9N
X0FSTSBpcyBhIE1pY3Jvc29mdC1vbmx5IHRoaW5nLgo+Pj4KPj4+IEhvd2V2ZXIsIHRoZSBiYXJy
aWVyIGNvZGUgaXMgZHVwbGljYXRlZCBpbiBtaXJhZ2UteGVuLCBhbmQgSSB0aGluawo+Pj4gd2Un
cmUgdXNpbmcgdGhhdCB2ZXJzaW9uIChpbiBhbnkgY2FzZSwgY2hhbmdpbmcgaXQgZGlkbid0IGhl
bHApLgo+Pj4KPj4+IEhvd2V2ZXIsIEkndmUgbm93IG5vdGljZWQgdGhhdCBteSBuZXR3b3JrIHRl
c3QgaXMgZmFpbGluZyBvbiB4ODYgdG9vLAo+Pj4gc28gdGhlcmUncyBzb21ldGhpbmcgdmVyeSBv
ZGQgZ29pbmcgb24uLi4KPj4+Cj4+Pgo+Pj4gLS0KPj4+IERyIFRob21hcyBMZW9uYXJkICAgICAg
ICBodHRwOi8vMGluc3RhbGwubmV0Lwo+Pj4gR1BHOiA5MjQyIDk4MDcgQzk4NSAzQzA3IDQ0QTYg
IDhCOUEgQUUwNyA4MjgwIDU5QTUgM0NDMQo+Pj4gR1BHOiBEQTk4IDI1QUUgQ0FEMCA4OTc1IDdD
REEgIEJEOEUgMDcxMyAzRjk2IENBNzQgRDhCQQo+Pj4KPj4+IF9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+PiBNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxp
c3QKPj4+IE1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4+PiBodHRwOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRldmVs
Cj4KPgo+Cj4gLS0KPiBEciBUaG9tYXMgTGVvbmFyZCAgICAgICAgaHR0cDovLzBpbnN0YWxsLm5l
dC8KPiBHUEc6IDkyNDIgOTgwNyBDOTg1IDNDMDcgNDRBNiAgOEI5QSBBRTA3IDgyODAgNTlBNSAz
Q0MxCj4gR1BHOiBEQTk4IDI1QUUgQ0FEMCA4OTc1IDdDREEgIEJEOEUgMDcxMyAzRjk2IENBNzQg
RDhCQQoKCgotLSAKRHIgVGhvbWFzIExlb25hcmQgICAgICAgIGh0dHA6Ly8waW5zdGFsbC5uZXQv
CkdQRzogOTI0MiA5ODA3IEM5ODUgM0MwNyA0NEE2ICA4QjlBIEFFMDcgODI4MCA1OUE1IDNDQzEK
R1BHOiBEQTk4IDI1QUUgQ0FEMCA4OTc1IDdDREEgIEJEOEUgMDcxMyAzRjk2IENBNzQgRDhCQQoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdl
b3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 21 23:10:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jul 2014 23:10:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9MjJ-0007KF-LT; Mon, 21 Jul 2014 23:10:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9MjI-0007KA-O1
	for mirageos-devel@lists.xenproject.org; Mon, 21 Jul 2014 23:10:48 +0000
Received: from [193.109.254.147:13128] by server-12.bemta-14.messagelabs.com
	id 4B/41-23840-8FD9DC35; Mon, 21 Jul 2014 23:10:48 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1405984245!18695056!1
X-Originating-IP: [209.85.219.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29080 invoked from network); 21 Jul 2014 23:10:46 -0000
Received: from mail-oa0-f41.google.com (HELO mail-oa0-f41.google.com)
	(209.85.219.41)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 Jul 2014 23:10:46 -0000
Received: by mail-oa0-f41.google.com with SMTP id j17so8608865oag.0
	for <mirageos-devel@lists.xenproject.org>;
	Mon, 21 Jul 2014 16:10:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=EngpKkMQD/dEwKgO0QIQ/I+s0WGw1MoYQsXrmFYkElg=;
	b=cLQYCbosU0Yr8ThSidUcbPJuVNWgJrWpn4AP8L2yicRjG6lGyC1ENlG9K/DSoh5jdU
	TeEawnZn4CPt/5DNmcTUma49iyUL07CbnDxRp8Umdr5HtksTROs3mUiZHdkRu1MuN3l7
	y/CV52litaqJwMh2NbSnsFpURFFHkhwDpo80KisOXLDs5pUuxXutNZlh5gB/3zIPGS3d
	97NfqclxiIsD6hthEOhpQ++tycPFI4jGrkeV+h/ecneZKv3451GzEL6Yo/TuaLwIJJkj
	rXxOmdNvdLozxeY525mnKBKq/mUkdg66MtTQRhR/gWqiYto2qWQdnHF/LjmZR8h/Js5i
	3RhQ==
MIME-Version: 1.0
X-Received: by 10.182.98.194 with SMTP id ek2mr41481047obb.5.1405984245309;
	Mon, 21 Jul 2014 16:10:45 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Mon, 21 Jul 2014 16:10:45 -0700 (PDT)
In-Reply-To: <CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
Date: Tue, 22 Jul 2014 00:10:45 +0100
Message-ID: <CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: Dave Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

V2hhdCBhcmUgdGhlIHJ1bGVzIGFib3V0IGFsaWdubWVudCBmb3IgY3N0cnVjdHM/CgpBbGxvY2F0
aW5nIHRoZSBidWZmZXIgbGlrZSB0aGlzIHdvcmtzOgoKICBsZXQgZGF0YSA9IElvX3BhZ2UuZ2V0
IDEgfD4gSW9fcGFnZS50b19jc3RydWN0CiAgbGV0ICgpID0gQ3N0cnVjdC5ibGl0X2Zyb21fc3Ry
aW5nIChCdWZmZXIuY29udGVudHMgYnVmZmVyKSAwIGRhdGEgMAooQnVmZmVyLmxlbmd0aCBidWZm
ZXIpCgpCdXQgdXNpbmcgQ3N0cnVjdC5vZl9zdHJpbmcgZG9lc24ndC4gSXQgZG9lcyBsb29rIGxp
a2UgTmV0aWYgYXNzdW1lcwp0aGUgc3RydWN0cyBhcmUgcGFnZSBhbGlnbmVkLiBlLmcuCgogIGlm
IHBhZ2UuQ3N0cnVjdC5vZmYgKyBsZW4gPiBwYWdlX3NpemUgdGhlbiBiZWdpbgogICAgKCogbmV0
YmFjayByZWplY3RzIHBhY2tldHMgdGhhdCBjcm9zcyBwYWdlIGJvdW5kYXJpZXMgKikKICAgIGxl
dCBtc2cgPQogICAgICBQcmludGYuc3ByaW50ZiAiSW52YWxpZCBwYWdlOiBvZmZzZXQ9JWQsIGxl
bmd0aD0lZCIKcGFnZS5Dc3RydWN0Lm9mZiBsZW4gaW4KICAgIHByaW50X2VuZGxpbmUgbXNnOwog
ICAgTHd0LmZhaWwgKEZhaWx1cmUgbXNnKQogIGVuZCBlbHNlCgpQZXJoYXBzIHRoZSB0eXBlIHNo
b3VsZCBiZSBJb19wYWdlIHJhdGhlciB0aGFuIENTdHJ1Y3QgaW4gdGhhdCBjYXNlPwpPciBhcmUg
Q1N0cnVjdHMgc3VwcG9zZWQgdG8gYmUgYWxpZ25lZCB0b28/CgoKT24gMjEgSnVseSAyMDE0IDIz
OjE0LCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4gRGlkbid0IHNl
ZW0gdG8gaGVscC4gSGVyZSdzIG15IGN1cnJlbnQgbW9kaWZpZWQgdmVyc2lvbiBvZgo+IG1pcmFn
ZS1za2VsZXRvbi9uZXR3b3JrLiBEb2VzIGl0IHdvcmsgZm9yIGFueW9uZSBlbHNlPwo+Cj4gbW9k
dWxlIE1haW4gKEM6IFYxX0xXVC5DT05TT0xFKSAoUzogVjFfTFdULlNUQUNLVjQpID0gc3RydWN0
Cj4KPiAgIGxldCBidWZmZXIgPSBCdWZmZXIuY3JlYXRlIDEwMDAKPiAgIGxldCAoKSA9Cj4gICAg
IGZvciBpID0gMSB0byAxMDAwIGRvCj4gICAgICAgQnVmZmVyLmFkZF9zdHJpbmcgYnVmZmVyIChQ
cmludGYuc3ByaW50ZiAiJWQgIiBpKQo+ICAgICBkb25lCj4KPiAgIGxldCBkYXRhID0gQ3N0cnVj
dC5vZl9zdHJpbmcgKEJ1ZmZlci5jb250ZW50cyBidWZmZXIpCj4gICBsZXQgc3RhcnQgYyBzID0K
PiAgICAgUy5saXN0ZW5fdGNwdjQgcyB+cG9ydDo4MDAwIChmdW4gZmxvdyAtPgo+ICAgICAgICAg
bGV0IGRzdCwgZHN0X3BvcnQgPSBTLlRDUFY0LmdldF9kZXN0IGZsb3cgaW4KPiAgICAgICAgIEMu
bG9nX3MgYyAoZ3JlZW4gIm5ldyB0Y3AgY29ubmVjdGlvbiBmcm9tICVzICVkIgo+ICAgICAgICAg
ICAgICAgICAgICAgIChJcGFkZHIuVjQudG9fc3RyaW5nIGRzdCkgZHN0X3BvcnQpCj4gICAgICAg
ICA+Pj0gZnVuICgpIC0+Cj4gICAgICAgICBTLlRDUFY0LndyaXRlIGZsb3cgZGF0YQo+ICAgICAg
ICAgPj49IGZ1biAoKSAtPgo+ICAgICAgICAgUy5UQ1BWNC5jbG9zZSBmbG93Cj4gICAgICAgKTsK
Pgo+ICAgICBTLmxpc3RlbiBzCj4KPiBlbmQKPgo+IEkgdGVzdCB1c2luZzoKPgo+ICQgbmMgMTky
LjE2OC4wLjE4IDgwMDAKPgo+IFdoZW4gY29tcGlsZWQgZm9yIFVuaXgsIGl0IG91dHB1dHMgYSBz
ZXF1ZW5jZSBvZiBudW1iZXJzLiBPbiBYZW4sIGl0Cj4ganVzdCBrZWVwcyByZXRyYW5zbWl0dGlu
Zy4gV2lyZXNoYXJrIHNob3dzIHRoZSBwYXlsb2FkIHN0YXJ0cyAxNiBieXRlcwo+IGxhdGVyIHRo
YW4gZXhwZWN0ZWQuIEknbGwgc2xlZXAgb24gaXQgYW5kIHNlZSBpZiBpdCBtYWtlcyBtb3JlIHNl
bnNlCj4gaW4gdGhlIG1vcm5pbmcuLi4KPgo+Cj4gT24gMjEgSnVseSAyMDE0IDIyOjQwLCBBbmls
IE1hZGhhdmFwZWRkeSA8YW5pbEByZWNvaWwub3JnPiB3cm90ZToKPj4gSWYgaXQgZmFpbHMgb24g
eDg2IGNvdWxkIHlvdSB0cnkgcmV2ZXJ0aW5nIHRvIGFuIG9sZGVyIENzdHJ1Y3QgdmVyc2lvbj8g
SSB3b3JyeSBhYm91dCB0aGUgcmVjZW50IGJvdW5kcyBjaGVja3MgdHJpcHBpbmcgc29tZSBuZXcg
YmVoYXZpb3VyLgo+Pgo+PiBBbmlsCj4+Cj4+PiBPbiAyMSBKdWwgMjAxNCwgYXQgMTQ6MzAsIFRo
b21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4+Cj4+Pj4gT24gMjEgSnVs
eSAyMDE0IDIxOjMxLCBEYXZlIFNjb3R0IDxEYXZlLlNjb3R0QGNpdHJpeC5jb20+IHdyb3RlOgo+
Pj4+Cj4+Pj4+IE9uIDIxIEp1bCAyMDE0LCBhdCAyMToxNCwgVGhvbWFzIExlb25hcmQgPHRhbGV4
NUBnbWFpbC5jb20+IHdyb3RlOgo+Pj4+Pgo+Pj4+Pj4gT24gMjEgSnVseSAyMDE0IDIwOjU2LCBS
aWNoYXJkIE1vcnRpZXIgPFJpY2hhcmQuTW9ydGllckBub3R0aW5naGFtLmFjLnVrPiB3cm90ZToK
Pj4+Pj4+IFsgY29udGV4dCBmb3IgbGlzdDogdGhvbWFzJyBvYnNlcnZhdGlvbiBvZiBmYWlsZWQg
ZG93bmxvYWQsIGFuZCBsb3RzIG9mIHJldHJhbnNtaXNzaW9ucyBnZW5lcmFsbHksIHdoaWxlIGJy
aW5naW5nIHVwIG1pcmFnZS13d3cgb24gQVJNIF0KPj4+Pj4+Cj4+Pj4+Pj4gT24gMjEgSnVsIDIw
MTQsIGF0IDA5OjI3LCBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+
Pj4+Pj4KPj4+Pj4+PiBPbiAyMSBKdWx5IDIwMTQgMTc6MDgsIFJpY2hhcmQgTW9ydGllciA8Umlj
aGFyZC5Nb3J0aWVyQG5vdHRpbmdoYW0uYWMudWs+IHdyb3RlOgo+Pj4+Pj4KPj4+Pj4+Pj4+IE9u
IDIxIEp1bCAyMDE0LCBhdCAwOTowMSwgVGhvbWFzIExlb25hcmQgPHRhbGV4NUBnbWFpbC5jb20+
IHdyb3RlOgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEhlcmUncyB0aGUgd2lyZXNoYXJrIGNhcHR1cmUg
b2YgYSBmYWlsZWQgZG93bmxvYWQuIEl0IGRvZXMgaW5kZWVkIHNheQo+Pj4+Pj4+Pj4gdGhlIFRD
UCBjaGVja3N1bSBpcyB3cm9uZy4gQW55IGlkZWEgd2hhdCdzIGdvaW5nIG9uPwo+Pj4+Pj4+Pj4K
Pj4+Pj4+Pj4+IE5vdGUgdGhhdCBvbiBBUk0gaXQgdXNlcyBhIGRpZmZlcmVudCBmdW5jdGlvbiB0
byBjYWxjdWxhdGUgdGhpcyAod2hpY2gKPj4+Pj4+Pj4+IEkgdG9vayBmcm9tIG1pcmFnZS11bml4
KS4gSXQncyBpbiB0aGUgI2Vsc2UgYmxvY2sgaGVyZToKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBodHRw
czovL2dpdGh1Yi5jb20vdGFsZXg1L21pcmFnZS10Y3BpcC9ibG9iL2NoZWNrc3VtL2xpYi9jaGVj
a3N1bV9zdHVicy5jCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IGFjazsgd2lsbCB0YWtlIGEgbG9vayBhZnRl
ciBicmVha2Zhc3QgOikKPj4+Pj4+Pj4KPj4+Pj4+Pj4ganVzdCB0byBiZSBjbGVhciAtLSB0aGUg
QVJNIHZlcnNpb24gaXMgdXNpbmcgdGhlIGNvZGUgZnJvbSBMMjQ3IG1hcmtlZCAiZ2VuZXJpYyBp
bXBsZW1lbnRhdGlvbiI/Cj4+Pj4+Pj4KPj4+Pj4+PiBZZXMuIFRoZSB4ODYgdmVyc2lvbiBjcmFz
aGVzIG9uIEFSTSBiZWNhdXNlIHRoZSA2NC1iaXQgdmFsdWVzIGFyZW4ndCBhbGlnbmVkLgo+Pj4+
Pj4+Cj4+Pj4+Pj4+IHR3byBpbW1lZGlhdGUgcXVlc3Rpb25zIC0tIGlzIHRoZSBjaGVja3N1bSBm
aWVsZCBkZWZpbml0ZWx5IHRyZWF0ZWQgYXMgYWxsIHplcm9zIGluIHRoZSBjb21wdXRhdGlvbiBh
Y3Jvc3MgdGhlIGhlYWRlcj8gIGFuZCBpcyB0aGUgc2VnbWVudCBwYWRkZWQgd2l0aCB6ZXJvcyB0
byBiZSBOKjE2IGJpdHMgZm9yIHRoZSBwdXJwb3NlcyBvZiB0aGUgY29tcHV0YXRpb24gKGJ1dCB0
aGUgcGFkIG5vdCB0cmFuc21pdHRlZCk/Cj4+Pj4+Pj4KPj4+Pj4+PiBObyBpZGVhLiBJIGhhdmVu
J3QgY2hhbmdlZCBhbnkgY29kZSBhcm91bmQgdGhlcmUuCj4+Pj4+Pgo+Pj4+Pj4gdGhpcyBpcyB3
ZWlyZC0tIHdpcmVzaGFyayBzYXlzIHRoYXQgdGhlIGZpcnN0IHRyYW5zbWlzc2lvbiBvZiB0aGF0
IHNlZ21lbnQgKGZyYW1lIzEzKSBoYXMgYW4gaW52YWxpZCBjaGVja3N1bSB3aGlsZSB0aGUgcmV0
cmFuc21pc3Npb24gKCMxNykgaGFzIGEgdmFsaWQgY2hlY2tzdW0uIGJ1dCB0aGUgdHdvIGNoZWNr
c3VtcyBhcmUgdGhlIHNhbWUhICBob3dldmVyICMxMyBhcHBlYXJzIHRvIGhhdmUgYWxtb3N0IG5v
IHZhbGlkIGRhdGEgaW4gaXQgLS0gYWZ0ZXIgdGhlIGZpcnN0IDc0IGJ5dGVzICh3aGljaCBhcmUg
dGhlIHNhbWUgaW4gYm90aCAjMTMgYW5kICMxNyksIHRoZSBwYXlsb2FkIGluICMxMyBpcyB6ZXJv
ZWQgb3V0Lgo+Pj4+Pj4KPj4+Pj4+IHNvIGkgZ3Vlc3MgdGhlIGNzdHJ1Y3QgYnVmZmVyIGlzIGJl
aW5nIHJlY3ljbGVkIHRvbyBzb29uIChhZnRlciB0aGUgY2hlY2tzdW0gY2FsY3VsYXRpb24gYnV0
IGJlZm9yZSB0aGUgZGF0YSBpcyBhY3R1YWxseSB0cmFuc21pdHRlZCkgb3Igc29tZXRoaW5nPwo+
Pj4+Pj4KPj4+Pj4+IGFuaWwsIGJhbHJhaiAob3IgYW55b25lIGVsc2UhKS0tIGhhcyB0aGF0IHBh
cnQgb2YgdGhlIHN0YWNrIGJlZW4gY2hhbmdlZCByZWNlbnRseT8KPj4+Pj4KPj4+Pj4gSSdtIHNl
ZWluZyBzdHJhbmdlIHRoaW5ncyB1c2luZyBhIHNpbXBsZXIgdGVzdCBjYXNlIG5vdzoKPj4+Pj4K
Pj4+Pj4gbGV0IHN0YXJ0IGMgcyA9Cj4+Pj4+ICAgUy5saXN0ZW5fdGNwdjQgcyB+cG9ydDo4MDAw
IChmdW4gZmxvdyAtPgo+Pj4+PiAgICAgICBsZXQgZHN0LCBkc3RfcG9ydCA9IFMuVENQVjQuZ2V0
X2Rlc3QgZmxvdyBpbgo+Pj4+PiAgICAgICBDLmxvZ19zIGMgKGdyZWVuICJuZXcgdGNwIGNvbm5l
Y3Rpb24gZnJvbSAlcyAlZCIKPj4+Pj4gICAgICAgICAgICAgICAgICAgIChJcGFkZHIuVjQudG9f
c3RyaW5nIGRzdCkgZHN0X3BvcnQpCj4+Pj4+Pj4gPSBmdW4gKCkgLT4KPj4+Pj4gICAgICAgbGV0
IGRhdGEgPSBDc3RydWN0Lm9mX3N0cmluZyAiSGVsbG8iIGluCj4+Pj4+ICAgICAgIFMuVENQVjQu
d3JpdGUgZmxvdyBkYXRhCj4+Pj4+Pj4gPSBmdW4gKCkgLT4KPj4+Pj4gICAgICAgUy5UQ1BWNC5j
bG9zZSBmbG93Cj4+Pj4+ICAgICApOwo+Pj4+PiAgIFMubGlzdGVuIHMKPj4+Pj4KPj4+Pj4gVGhp
cyBpcyBhbHNvIGZhaWxpbmcuIEkgYWRkZWQgYSBoZXhkdW1wIHRvIG1pcmFnZS1uZXQteGVuIGFu
ZCBnb3QgdGhpcwo+Pj4+PiBpbiBOZXRpZi53cml0ZXY6Cj4+Pj4+Cj4+Pj4+IGYwIDFmIGFmIDZh
IDliIDk1IGMwIGZmIGVlIGMwIGZmIGVlIDA4IDAwIDQ1IDAwCj4+Pj4+IDAwIDJkIDUyIDk1IDAw
IDAwIDI2IDA2IGMwIGM4IGMwIGE4IDAwIDEyIGMwIGE4Cj4+Pj4+IDAwIDBiIDFmIDQwIGI0IGNh
IDFhIGZlIGI1IDY5IDVlIDhjIGRkIGZlIDUwIDE4Cj4+Pj4+IGZmIGZmIDI5IDhhIDAwIDAwCj4+
Pj4+Cj4+Pj4+IDQ4IDY1IDZjIDZjIDZmCj4+Pj4+Cj4+Pj4+IFRoYXQgbG9va3MgY29ycmVjdC4g
VGhlIGZpcnN0IGJsb2NrIGlzIHRoZSBoZWFkZXIsIHRoZSBzZWNvbmQgaXMgdGhlCj4+Pj4+IHBh
eWxvYWQuIEluIHdpcmVzaGFyZSwgdGhlIGhlYWRlciBpcyBpZGVudGljYWwgYnV0IHRoZSBwYXls
b2FkIGlzCj4+Pj4+IGRpZmZlcmVudCAoMjAgMDAgMDAgMDAgMDgpLCB3aGljaCBtYXRjaGVzIHdo
YXQgeW91J3JlIHNlZWluZy4KPj4+Pj4KPj4+Pj4gU28gSSBndWVzcyB0aGVyZSdzIHNvbWUgcHJv
YmxlbSBzZW5kaW5nIHRoZSBzZWNvbmQgcGFnZSB0byB0aGUgcmluZy4KPj4+Pj4gU3VnZ2VzdGlv
bnMgZnJvbSBwZW9wbGUgd2hvIGtub3cgdGhpcyBjb2RlIHdvdWxkIGJlIGdyZWF0ISBDb3VsZCBq
dXN0Cj4+Pj4+IGJlIGEgbWlzc2luZyBiYXJyaWVyIG9yIHNvbWV0aGluZy4KPj4+Pgo+Pj4+IEkg
dGhpbmsgdGhlIGZsb3cgaXM6Cj4+Pj4KPj4+PiBodHRwczovL2dpdGh1Yi5jb20vbWlyYWdlL21p
cmFnZS1uZXQteGVuL2Jsb2IvbWFzdGVyL2xpYi9uZXRpZi5tbCNMNDA4Cj4+Pj4gaHR0cHM6Ly9n
aXRodWIuY29tL21pcmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0ZXIvbHd0L2x3dF9y
aW5nLm1sI0w3NQo+Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2Uvc2hhcmVkLW1lbW9yeS1y
aW5nL2Jsb2IvbWFzdGVyL2xpYi9yaW5nLm1sI0wxNTQKPj4+PiBodHRwczovL2dpdGh1Yi5jb20v
bWlyYWdlL3NoYXJlZC1tZW1vcnktcmluZy9ibG9iL21hc3Rlci9saWIvcmluZy5tbCNMMTAyCj4+
Pj4gaHR0cHM6Ly9naXRodWIuY29tL21pcmFnZS9zaGFyZWQtbWVtb3J5LXJpbmcvYmxvYi9tYXN0
ZXIvbGliL2JhcnJpZXJfc3R1YnMuYyNMMjgKPj4+PiDigJQgY2FsbGluZyDigJx4ZW5fbWLigJ0K
Pj4+Pgo+Pj4+IFBlcmhhcHMgdG8gc2VlIHdoZXRoZXIg4oCceGVuX21i4oCdIGlzIHdvcmtpbmcg
eW91IGNvdWxkIGFkZCBhIGRlbGF5ICh2aWEgYnVzeSBsb29wPykgaW4gdGhlIOKAmG1lbW9yeV9i
YXJyaWVy4oCZIGZ1bmN0aW9uIChvciB0aGVyZWFib3V0cykgaW4gc2hhcmVkLW1lbW9yeS1yaW5n
LiBBc3N1bWluZyB0aGUgd3JpdGVzIGFyZSBjb21taXR0ZWQgZXZlbnR1YWxseSAoaXMgdGhhdCBh
IHZhbGlkIGFzc3VtcHRpb24/KSB0aGVuIHRoZSBidXN5IGxvb3Agd291bGQg4oCcZml4IGl04oCd
LiBUaGF0IHdvdWxkIGJlIGZhaXJseSBnb29kIGV2aWRlbmNlIHRoYXQgYmFycmllcnMgYXJlIGJy
b2tlbi4KPj4+Cj4+PiBUaGlzIGlzIHBvdGVudGlhbGx5IGEgcHJvYmxlbSAoaW4gc2hhcmVkLW1l
bW9yeS1yaW5nL2xpYi9iYXJyaWVyLmgpOgo+Pj4KPj4+ICNlbGlmIGRlZmluZWQoX19hcm1fXykK
Pj4+ICMgaWZuZGVmIF9NX0FSTQo+Pj4gI2RlZmluZSB4ZW5fbWIoKSAgIHt9Cj4+PiAjZGVmaW5l
IHhlbl9ybWIoKSAge30KPj4+ICNkZWZpbmUgeGVuX3dtYigpICB7fQo+Pj4gIyBlbGlmIF9NX0FS
TSA+IDYKPj4+ICNkZWZpbmUgeGVuX21iKCkgICBhc20gdm9sYXRpbGUgKCJkbWIiIDogOiA6ICJt
ZW1vcnkiKQo+Pj4gI2RlZmluZSB4ZW5fcm1iKCkgIGFzbSB2b2xhdGlsZSAoImRtYiIgOiA6IDog
Im1lbW9yeSIpCj4+PiAjZGVmaW5lIHhlbl93bWIoKSAgYXNtIHZvbGF0aWxlICgiZG1iIiA6IDog
OiAibWVtb3J5IikKPj4+Cj4+PiBGcm9tIGEgcXVpY2sgR29vZ2xlLCBpdCBsb29rcyBsaWtlIF9N
X0FSTSBpcyBhIE1pY3Jvc29mdC1vbmx5IHRoaW5nLgo+Pj4KPj4+IEhvd2V2ZXIsIHRoZSBiYXJy
aWVyIGNvZGUgaXMgZHVwbGljYXRlZCBpbiBtaXJhZ2UteGVuLCBhbmQgSSB0aGluawo+Pj4gd2Un
cmUgdXNpbmcgdGhhdCB2ZXJzaW9uIChpbiBhbnkgY2FzZSwgY2hhbmdpbmcgaXQgZGlkbid0IGhl
bHApLgo+Pj4KPj4+IEhvd2V2ZXIsIEkndmUgbm93IG5vdGljZWQgdGhhdCBteSBuZXR3b3JrIHRl
c3QgaXMgZmFpbGluZyBvbiB4ODYgdG9vLAo+Pj4gc28gdGhlcmUncyBzb21ldGhpbmcgdmVyeSBv
ZGQgZ29pbmcgb24uLi4KPj4+Cj4+Pgo+Pj4gLS0KPj4+IERyIFRob21hcyBMZW9uYXJkICAgICAg
ICBodHRwOi8vMGluc3RhbGwubmV0Lwo+Pj4gR1BHOiA5MjQyIDk4MDcgQzk4NSAzQzA3IDQ0QTYg
IDhCOUEgQUUwNyA4MjgwIDU5QTUgM0NDMQo+Pj4gR1BHOiBEQTk4IDI1QUUgQ0FEMCA4OTc1IDdD
REEgIEJEOEUgMDcxMyAzRjk2IENBNzQgRDhCQQo+Pj4KPj4+IF9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+PiBNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxp
c3QKPj4+IE1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4+PiBodHRwOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRldmVs
Cj4KPgo+Cj4gLS0KPiBEciBUaG9tYXMgTGVvbmFyZCAgICAgICAgaHR0cDovLzBpbnN0YWxsLm5l
dC8KPiBHUEc6IDkyNDIgOTgwNyBDOTg1IDNDMDcgNDRBNiAgOEI5QSBBRTA3IDgyODAgNTlBNSAz
Q0MxCj4gR1BHOiBEQTk4IDI1QUUgQ0FEMCA4OTc1IDdDREEgIEJEOEUgMDcxMyAzRjk2IENBNzQg
RDhCQQoKCgotLSAKRHIgVGhvbWFzIExlb25hcmQgICAgICAgIGh0dHA6Ly8waW5zdGFsbC5uZXQv
CkdQRzogOTI0MiA5ODA3IEM5ODUgM0MwNyA0NEE2ICA4QjlBIEFFMDcgODI4MCA1OUE1IDNDQzEK
R1BHOiBEQTk4IDI1QUUgQ0FEMCA4OTc1IDdDREEgIEJEOEUgMDcxMyAzRjk2IENBNzQgRDhCQQoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbWlyYWdl
b3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 03:00:30 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 03:00:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9QJU-0007Nz-RB; Tue, 22 Jul 2014 03:00:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9QJU-0007Nm-17
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 03:00:24 +0000
Received: from [85.158.137.68:25054] by server-11.bemta-3.messagelabs.com id
	94/10-04507-7C3DDC35; Tue, 22 Jul 2014 03:00:23 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-9.tower-31.messagelabs.com!1405998022!13484404!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1863 invoked from network); 22 Jul 2014 03:00:22 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-9.tower-31.messagelabs.com with SMTP;
	22 Jul 2014 03:00:22 -0000
Received: (qmail 29323 invoked by uid 634); 22 Jul 2014 03:00:21 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from Unknown (HELO [172.31.127.186]) (216.9.110.5)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 04:00:21 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
Date: Mon, 21 Jul 2014 20:00:18 -0700
Message-Id: <90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 21 Jul 2014, at 16:10, Thomas Leonard <talex5@gmail.com> wrote:

> What are the rules about alignment for cstructs?
> 
> Allocating the buffer like this works:
> 
>  let data = Io_page.get 1 |> Io_page.to_cstruct
>  let () = Cstruct.blit_from_string (Buffer.contents buffer) 0 data 0
> (Buffer.length buffer)
> 
> But using Cstruct.of_string doesn't. It does look like Netif assumes
> the structs are page aligned. e.g.
> 
>  if page.Cstruct.off + len > page_size then begin
>    (* netback rejects packets that cross page boundaries *)
>    let msg =
>      Printf.sprintf "Invalid page: offset=%d, length=%d"
> page.Cstruct.off len in
>    print_endline msg;
>    Lwt.fail (Failure msg)
>  end else

Argh, this is exactly the problem.  Netif requires page aligned buffers
(in theory, sub-page grants are possible, but ill-advised for performance
reasons).

Cstruct.of_string calls Cstruct.create, which calls Bigarray.Array1.create
which isn't page-aligned.  It does need to go through Io_page to ensure it's
page-aligned.

We don't protect this distinction using phantom types, and it's bitten us
several times now through these hard-to-spot dynamic failures :-/

Making Cstruct's always page aligned is too expensive for the 'casual'
small Cstructs (as seen in OCaml TLS for example), so ensure your buffer
originates from Io_page is the best bet for now.  An issue on how to 
ensure this is checked statically would be good to have (but involve
a fair bit of mechanical code motion).

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 03:00:30 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 03:00:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9QJU-0007Nz-RB; Tue, 22 Jul 2014 03:00:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9QJU-0007Nm-17
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 03:00:24 +0000
Received: from [85.158.137.68:25054] by server-11.bemta-3.messagelabs.com id
	94/10-04507-7C3DDC35; Tue, 22 Jul 2014 03:00:23 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-9.tower-31.messagelabs.com!1405998022!13484404!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1863 invoked from network); 22 Jul 2014 03:00:22 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-9.tower-31.messagelabs.com with SMTP;
	22 Jul 2014 03:00:22 -0000
Received: (qmail 29323 invoked by uid 634); 22 Jul 2014 03:00:21 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from Unknown (HELO [172.31.127.186]) (216.9.110.5)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 04:00:21 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
Date: Mon, 21 Jul 2014 20:00:18 -0700
Message-Id: <90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 21 Jul 2014, at 16:10, Thomas Leonard <talex5@gmail.com> wrote:

> What are the rules about alignment for cstructs?
> 
> Allocating the buffer like this works:
> 
>  let data = Io_page.get 1 |> Io_page.to_cstruct
>  let () = Cstruct.blit_from_string (Buffer.contents buffer) 0 data 0
> (Buffer.length buffer)
> 
> But using Cstruct.of_string doesn't. It does look like Netif assumes
> the structs are page aligned. e.g.
> 
>  if page.Cstruct.off + len > page_size then begin
>    (* netback rejects packets that cross page boundaries *)
>    let msg =
>      Printf.sprintf "Invalid page: offset=%d, length=%d"
> page.Cstruct.off len in
>    print_endline msg;
>    Lwt.fail (Failure msg)
>  end else

Argh, this is exactly the problem.  Netif requires page aligned buffers
(in theory, sub-page grants are possible, but ill-advised for performance
reasons).

Cstruct.of_string calls Cstruct.create, which calls Bigarray.Array1.create
which isn't page-aligned.  It does need to go through Io_page to ensure it's
page-aligned.

We don't protect this distinction using phantom types, and it's bitten us
several times now through these hard-to-spot dynamic failures :-/

Making Cstruct's always page aligned is too expensive for the 'casual'
small Cstructs (as seen in OCaml TLS for example), so ensure your buffer
originates from Io_page is the best bet for now.  An issue on how to 
ensure this is checked statically would be good to have (but involve
a fair bit of mechanical code motion).

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 07:44:48 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 07:44:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Ukc-0003aN-5S; Tue, 22 Jul 2014 07:44:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9Uka-0003aI-CO
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 07:44:40 +0000
Received: from [85.158.139.211:7480] by server-6.bemta-5.messagelabs.com id
	E4/B7-02101-7661EC35; Tue, 22 Jul 2014 07:44:39 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1406015077!13437948!1
X-Originating-IP: [209.85.219.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32370 invoked from network); 22 Jul 2014 07:44:39 -0000
Received: from mail-oa0-f41.google.com (HELO mail-oa0-f41.google.com)
	(209.85.219.41)
	by server-15.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	22 Jul 2014 07:44:39 -0000
Received: by mail-oa0-f41.google.com with SMTP id j17so9121966oag.28
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 22 Jul 2014 00:44:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=GpuXCTHdW5ds/OIZQkQper3IYg/cNSXSJyxdEdJO6yw=;
	b=KxTPDC8YteWdzdwR3QoW79ZakR14dmavGHqQj6rGLoo18FYbKWZE2rc+EKEyVEeQTG
	YCjdjwvWDLPYSNiYDDDC6p4IG1oHswycP3e4Z+ojw3DrhPnkFdB6jP6bSY7g2aqgg8xY
	9sAmvSVxSMjxk19b6wmP3iNREojo4fEtTsZMgPm0hh+jSuB8mLkCPLw5jM+PE/v9uAKb
	7gL0Ef5oi+yfXRQ9g+I/gtTuxH8bjM976F4pdLSbz73RRcfChs4wW7WR20fLPNH1e5Ua
	tE3Z/mLia7oz7zPaYbfWEtdxzg/8xa0MzgwxC94PwG/HfFhpyadLOI9v1IGaZovodmR3
	8W8Q==
MIME-Version: 1.0
X-Received: by 10.182.81.99 with SMTP id z3mr45673957obx.79.1406015077417;
	Tue, 22 Jul 2014 00:44:37 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 22 Jul 2014 00:44:37 -0700 (PDT)
In-Reply-To: <90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
Date: Tue, 22 Jul 2014 08:44:37 +0100
Message-ID: <CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 04:00, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 21 Jul 2014, at 16:10, Thomas Leonard <talex5@gmail.com> wrote:
>
>> What are the rules about alignment for cstructs?
>>
>> Allocating the buffer like this works:
>>
>>  let data = Io_page.get 1 |> Io_page.to_cstruct
>>  let () = Cstruct.blit_from_string (Buffer.contents buffer) 0 data 0
>> (Buffer.length buffer)
>>
>> But using Cstruct.of_string doesn't. It does look like Netif assumes
>> the structs are page aligned. e.g.
>>
>>  if page.Cstruct.off + len > page_size then begin
>>    (* netback rejects packets that cross page boundaries *)
>>    let msg =
>>      Printf.sprintf "Invalid page: offset=%d, length=%d"
>> page.Cstruct.off len in
>>    print_endline msg;
>>    Lwt.fail (Failure msg)
>>  end else
>
> Argh, this is exactly the problem.  Netif requires page aligned buffers
> (in theory, sub-page grants are possible, but ill-advised for performance
> reasons).
>
> Cstruct.of_string calls Cstruct.create, which calls Bigarray.Array1.create
> which isn't page-aligned.  It does need to go through Io_page to ensure it's
> page-aligned.
>
> We don't protect this distinction using phantom types, and it's bitten us
> several times now through these hard-to-spot dynamic failures :-/
>
> Making Cstruct's always page aligned is too expensive for the 'casual'
> small Cstructs (as seen in OCaml TLS for example), so ensure your buffer
> originates from Io_page is the best bet for now.  An issue on how to
> ensure this is checked statically would be good to have (but involve
> a fair bit of mechanical code motion).

OK, that helps.

On ARM, it still sometimes needs to retransmit though. In some
packets, only the first 128 bytes are correct and the rest are zero
(according to wireshark). The buffer I'm sending is statically
allocated, so it can't be getting freed too soon. How can the net
driver see zeros in the same physical page in which it already saw the
first part of the data?

My test repository is here:

  https://github.com/talex5/net-problem


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 07:44:48 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 07:44:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Ukc-0003aN-5S; Tue, 22 Jul 2014 07:44:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9Uka-0003aI-CO
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 07:44:40 +0000
Received: from [85.158.139.211:7480] by server-6.bemta-5.messagelabs.com id
	E4/B7-02101-7661EC35; Tue, 22 Jul 2014 07:44:39 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1406015077!13437948!1
X-Originating-IP: [209.85.219.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32370 invoked from network); 22 Jul 2014 07:44:39 -0000
Received: from mail-oa0-f41.google.com (HELO mail-oa0-f41.google.com)
	(209.85.219.41)
	by server-15.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	22 Jul 2014 07:44:39 -0000
Received: by mail-oa0-f41.google.com with SMTP id j17so9121966oag.28
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 22 Jul 2014 00:44:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=GpuXCTHdW5ds/OIZQkQper3IYg/cNSXSJyxdEdJO6yw=;
	b=KxTPDC8YteWdzdwR3QoW79ZakR14dmavGHqQj6rGLoo18FYbKWZE2rc+EKEyVEeQTG
	YCjdjwvWDLPYSNiYDDDC6p4IG1oHswycP3e4Z+ojw3DrhPnkFdB6jP6bSY7g2aqgg8xY
	9sAmvSVxSMjxk19b6wmP3iNREojo4fEtTsZMgPm0hh+jSuB8mLkCPLw5jM+PE/v9uAKb
	7gL0Ef5oi+yfXRQ9g+I/gtTuxH8bjM976F4pdLSbz73RRcfChs4wW7WR20fLPNH1e5Ua
	tE3Z/mLia7oz7zPaYbfWEtdxzg/8xa0MzgwxC94PwG/HfFhpyadLOI9v1IGaZovodmR3
	8W8Q==
MIME-Version: 1.0
X-Received: by 10.182.81.99 with SMTP id z3mr45673957obx.79.1406015077417;
	Tue, 22 Jul 2014 00:44:37 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 22 Jul 2014 00:44:37 -0700 (PDT)
In-Reply-To: <90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
Date: Tue, 22 Jul 2014 08:44:37 +0100
Message-ID: <CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 04:00, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 21 Jul 2014, at 16:10, Thomas Leonard <talex5@gmail.com> wrote:
>
>> What are the rules about alignment for cstructs?
>>
>> Allocating the buffer like this works:
>>
>>  let data = Io_page.get 1 |> Io_page.to_cstruct
>>  let () = Cstruct.blit_from_string (Buffer.contents buffer) 0 data 0
>> (Buffer.length buffer)
>>
>> But using Cstruct.of_string doesn't. It does look like Netif assumes
>> the structs are page aligned. e.g.
>>
>>  if page.Cstruct.off + len > page_size then begin
>>    (* netback rejects packets that cross page boundaries *)
>>    let msg =
>>      Printf.sprintf "Invalid page: offset=%d, length=%d"
>> page.Cstruct.off len in
>>    print_endline msg;
>>    Lwt.fail (Failure msg)
>>  end else
>
> Argh, this is exactly the problem.  Netif requires page aligned buffers
> (in theory, sub-page grants are possible, but ill-advised for performance
> reasons).
>
> Cstruct.of_string calls Cstruct.create, which calls Bigarray.Array1.create
> which isn't page-aligned.  It does need to go through Io_page to ensure it's
> page-aligned.
>
> We don't protect this distinction using phantom types, and it's bitten us
> several times now through these hard-to-spot dynamic failures :-/
>
> Making Cstruct's always page aligned is too expensive for the 'casual'
> small Cstructs (as seen in OCaml TLS for example), so ensure your buffer
> originates from Io_page is the best bet for now.  An issue on how to
> ensure this is checked statically would be good to have (but involve
> a fair bit of mechanical code motion).

OK, that helps.

On ARM, it still sometimes needs to retransmit though. In some
packets, only the first 128 bytes are correct and the rest are zero
(according to wireshark). The buffer I'm sending is statically
allocated, so it can't be getting freed too soon. How can the net
driver see zeros in the same physical page in which it already saw the
first part of the data?

My test repository is here:

  https://github.com/talex5/net-problem


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 08:10:59 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 08:10:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9VA1-0004Li-PK; Tue, 22 Jul 2014 08:10:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9VA0-0004Lc-QD
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 08:10:57 +0000
Received: from [193.109.254.147:3261] by server-10.bemta-14.messagelabs.com id
	C3/A5-06615-09C1EC35; Tue, 22 Jul 2014 08:10:56 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1406016654!18722804!1
X-Originating-IP: [209.85.219.49]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12831 invoked from network); 22 Jul 2014 08:10:55 -0000
Received: from mail-oa0-f49.google.com (HELO mail-oa0-f49.google.com)
	(209.85.219.49)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 Jul 2014 08:10:55 -0000
Received: by mail-oa0-f49.google.com with SMTP id eb12so9018062oac.22
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 22 Jul 2014 01:10:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=HtjyO6ULoEOcBZQgVuZYK5bP2f5BpDH5K0p3rpbEPHc=;
	b=Y8SGNT4HeWxvbZzqCkWDRq7vVPhk3P2xVYd1+3Acr65NeRAZzfedufTZpFJIAtuySn
	j2zv4TXucfIT5lF47U+fsM0H4NFTSJKQN3WOci6H8DaX/WOkbUb9UDqu8iM7GLSto1y0
	K7RhekbtMS35Ho3hqpuL8yTVGmFag9yt/DC7oZnEKeBytIH+FVpsGkkTx+2j+ojLqjer
	yVfYk9MQ+XLfkQoLeIxRZV/j9gaPJQwRBIFKT03bxPzCDC8OBwyyIVGrdlCVsG+JUEu2
	MDgWL+IJvq963gqgXbFC1e2JDpgkjca15Np+H3Lje64mesA+IfboJSMRYWm65dI6f6Xf
	eA0Q==
MIME-Version: 1.0
X-Received: by 10.182.205.231 with SMTP id lj7mr18803751obc.37.1406016653929; 
	Tue, 22 Jul 2014 01:10:53 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 22 Jul 2014 01:10:53 -0700 (PDT)
In-Reply-To: <CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
Date: Tue, 22 Jul 2014 09:10:53 +0100
Message-ID: <CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 08:44, Thomas Leonard <talex5@gmail.com> wrote:
> On 22 July 2014 04:00, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 21 Jul 2014, at 16:10, Thomas Leonard <talex5@gmail.com> wrote:
>>
>>> What are the rules about alignment for cstructs?
>>>
>>> Allocating the buffer like this works:
>>>
>>>  let data = Io_page.get 1 |> Io_page.to_cstruct
>>>  let () = Cstruct.blit_from_string (Buffer.contents buffer) 0 data 0
>>> (Buffer.length buffer)
>>>
>>> But using Cstruct.of_string doesn't. It does look like Netif assumes
>>> the structs are page aligned. e.g.
>>>
>>>  if page.Cstruct.off + len > page_size then begin
>>>    (* netback rejects packets that cross page boundaries *)
>>>    let msg =
>>>      Printf.sprintf "Invalid page: offset=%d, length=%d"
>>> page.Cstruct.off len in
>>>    print_endline msg;
>>>    Lwt.fail (Failure msg)
>>>  end else
>>
>> Argh, this is exactly the problem.  Netif requires page aligned buffers
>> (in theory, sub-page grants are possible, but ill-advised for performance
>> reasons).
>>
>> Cstruct.of_string calls Cstruct.create, which calls Bigarray.Array1.create
>> which isn't page-aligned.  It does need to go through Io_page to ensure it's
>> page-aligned.
>>
>> We don't protect this distinction using phantom types, and it's bitten us
>> several times now through these hard-to-spot dynamic failures :-/
>>
>> Making Cstruct's always page aligned is too expensive for the 'casual'
>> small Cstructs (as seen in OCaml TLS for example), so ensure your buffer
>> originates from Io_page is the best bet for now.  An issue on how to
>> ensure this is checked statically would be good to have (but involve
>> a fair bit of mechanical code motion).
>
> OK, that helps.
>
> On ARM, it still sometimes needs to retransmit though. In some
> packets, only the first 128 bytes are correct and the rest are zero
> (according to wireshark). The buffer I'm sending is statically
> allocated, so it can't be getting freed too soon. How can the net
> driver see zeros in the same physical page in which it already saw the
> first part of the data?
>
> My test repository is here:
>
>   https://github.com/talex5/net-problem

I noticed I'm getting a lot of these in the dom0 log (dmsg):

Jul 22 08:09:05 cubietruck kernel: [11892.128241]
xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
Jul 22 08:09:05 cubietruck kernel: [11892.128727]
xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
Jul 22 08:09:05 cubietruck kernel: [11892.133264]
xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
Jul 22 08:09:09 cubietruck kernel: [11896.041106]
xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 08:10:59 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 08:10:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9VA1-0004Li-PK; Tue, 22 Jul 2014 08:10:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9VA0-0004Lc-QD
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 08:10:57 +0000
Received: from [193.109.254.147:3261] by server-10.bemta-14.messagelabs.com id
	C3/A5-06615-09C1EC35; Tue, 22 Jul 2014 08:10:56 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1406016654!18722804!1
X-Originating-IP: [209.85.219.49]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12831 invoked from network); 22 Jul 2014 08:10:55 -0000
Received: from mail-oa0-f49.google.com (HELO mail-oa0-f49.google.com)
	(209.85.219.49)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 Jul 2014 08:10:55 -0000
Received: by mail-oa0-f49.google.com with SMTP id eb12so9018062oac.22
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 22 Jul 2014 01:10:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=HtjyO6ULoEOcBZQgVuZYK5bP2f5BpDH5K0p3rpbEPHc=;
	b=Y8SGNT4HeWxvbZzqCkWDRq7vVPhk3P2xVYd1+3Acr65NeRAZzfedufTZpFJIAtuySn
	j2zv4TXucfIT5lF47U+fsM0H4NFTSJKQN3WOci6H8DaX/WOkbUb9UDqu8iM7GLSto1y0
	K7RhekbtMS35Ho3hqpuL8yTVGmFag9yt/DC7oZnEKeBytIH+FVpsGkkTx+2j+ojLqjer
	yVfYk9MQ+XLfkQoLeIxRZV/j9gaPJQwRBIFKT03bxPzCDC8OBwyyIVGrdlCVsG+JUEu2
	MDgWL+IJvq963gqgXbFC1e2JDpgkjca15Np+H3Lje64mesA+IfboJSMRYWm65dI6f6Xf
	eA0Q==
MIME-Version: 1.0
X-Received: by 10.182.205.231 with SMTP id lj7mr18803751obc.37.1406016653929; 
	Tue, 22 Jul 2014 01:10:53 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 22 Jul 2014 01:10:53 -0700 (PDT)
In-Reply-To: <CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
Date: Tue, 22 Jul 2014 09:10:53 +0100
Message-ID: <CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 08:44, Thomas Leonard <talex5@gmail.com> wrote:
> On 22 July 2014 04:00, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 21 Jul 2014, at 16:10, Thomas Leonard <talex5@gmail.com> wrote:
>>
>>> What are the rules about alignment for cstructs?
>>>
>>> Allocating the buffer like this works:
>>>
>>>  let data = Io_page.get 1 |> Io_page.to_cstruct
>>>  let () = Cstruct.blit_from_string (Buffer.contents buffer) 0 data 0
>>> (Buffer.length buffer)
>>>
>>> But using Cstruct.of_string doesn't. It does look like Netif assumes
>>> the structs are page aligned. e.g.
>>>
>>>  if page.Cstruct.off + len > page_size then begin
>>>    (* netback rejects packets that cross page boundaries *)
>>>    let msg =
>>>      Printf.sprintf "Invalid page: offset=%d, length=%d"
>>> page.Cstruct.off len in
>>>    print_endline msg;
>>>    Lwt.fail (Failure msg)
>>>  end else
>>
>> Argh, this is exactly the problem.  Netif requires page aligned buffers
>> (in theory, sub-page grants are possible, but ill-advised for performance
>> reasons).
>>
>> Cstruct.of_string calls Cstruct.create, which calls Bigarray.Array1.create
>> which isn't page-aligned.  It does need to go through Io_page to ensure it's
>> page-aligned.
>>
>> We don't protect this distinction using phantom types, and it's bitten us
>> several times now through these hard-to-spot dynamic failures :-/
>>
>> Making Cstruct's always page aligned is too expensive for the 'casual'
>> small Cstructs (as seen in OCaml TLS for example), so ensure your buffer
>> originates from Io_page is the best bet for now.  An issue on how to
>> ensure this is checked statically would be good to have (but involve
>> a fair bit of mechanical code motion).
>
> OK, that helps.
>
> On ARM, it still sometimes needs to retransmit though. In some
> packets, only the first 128 bytes are correct and the rest are zero
> (according to wireshark). The buffer I'm sending is statically
> allocated, so it can't be getting freed too soon. How can the net
> driver see zeros in the same physical page in which it already saw the
> first part of the data?
>
> My test repository is here:
>
>   https://github.com/talex5/net-problem

I noticed I'm getting a lot of these in the dom0 log (dmsg):

Jul 22 08:09:05 cubietruck kernel: [11892.128241]
xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
Jul 22 08:09:05 cubietruck kernel: [11892.128727]
xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
Jul 22 08:09:05 cubietruck kernel: [11892.133264]
xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
Jul 22 08:09:09 cubietruck kernel: [11896.041106]
xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 08:14:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 08:14:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9VDl-0004Na-6g; Tue, 22 Jul 2014 08:14:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9VDj-0004NV-B1
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 08:14:47 +0000
Received: from [85.158.139.211:53799] by server-7.bemta-5.messagelabs.com id
	88/20-30824-67D1EC35; Tue, 22 Jul 2014 08:14:46 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-206.messagelabs.com!1406016885!11525847!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20642 invoked from network); 22 Jul 2014 08:14:45 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-206.messagelabs.com with SMTP;
	22 Jul 2014 08:14:45 -0000
Received: (qmail 5644 invoked by uid 634); 22 Jul 2014 08:14:45 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-134-253.public.wayport.net (HELO [192.168.5.253])
	(64.134.134.253)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 09:14:45 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
Date: Tue, 22 Jul 2014 01:14:41 -0700
Message-Id: <A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
> 
> I noticed I'm getting a lot of these in the dom0 log (dmsg):
> 
> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists

That looks like this bug in Xen/ARM/netback:
http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 08:14:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 08:14:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9VDl-0004Na-6g; Tue, 22 Jul 2014 08:14:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9VDj-0004NV-B1
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 08:14:47 +0000
Received: from [85.158.139.211:53799] by server-7.bemta-5.messagelabs.com id
	88/20-30824-67D1EC35; Tue, 22 Jul 2014 08:14:46 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-206.messagelabs.com!1406016885!11525847!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20642 invoked from network); 22 Jul 2014 08:14:45 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-206.messagelabs.com with SMTP;
	22 Jul 2014 08:14:45 -0000
Received: (qmail 5644 invoked by uid 634); 22 Jul 2014 08:14:45 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-134-253.public.wayport.net (HELO [192.168.5.253])
	(64.134.134.253)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 09:14:45 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
Date: Tue, 22 Jul 2014 01:14:41 -0700
Message-Id: <A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
> 
> I noticed I'm getting a lot of these in the dom0 log (dmsg):
> 
> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists

That looks like this bug in Xen/ARM/netback:
http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 09:01:30 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 09:01:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Vwt-0004o8-Nw; Tue, 22 Jul 2014 09:01:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9Vws-0004o3-5M
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 09:01:26 +0000
Received: from [85.158.137.68:2501] by server-2.bemta-3.messagelabs.com id
	0D/23-09149-5682EC35; Tue, 22 Jul 2014 09:01:25 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1406019683!17308134!1
X-Originating-IP: [209.85.218.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1535 invoked from network); 22 Jul 2014 09:01:24 -0000
Received: from mail-oi0-f50.google.com (HELO mail-oi0-f50.google.com)
	(209.85.218.50)
	by server-3.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	22 Jul 2014 09:01:24 -0000
Received: by mail-oi0-f50.google.com with SMTP id a141so4115783oig.37
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 22 Jul 2014 02:01:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=3Gm0VMlQwTjVa14JL//vwHuxotFSMIJM1VCzFyDKg40=;
	b=kcTHYxIRTt9bQqLUPtl+I7fjAusD0ppQR3C2GQw/rf2TJfhZBEojvuDXkGHThqcoJI
	Q5owFc78sLGtgukx0si3jSkf+vCkLXSONfMbCc/hG7gzH2Y6nW8s8WjcpnMghexh/8OT
	GYKO6rv8ju3JpC+JfYQORpqyo1BkeLsHLdEpWrC5+S+CjMP1lv66Yf6eEE/lnxhaw7GQ
	7rPL8aEoJi2r0i5q+ReVKksGhkICfb/GMwMDTZHrtId7FzEqVVv+KQ2w3eiB+U1Fkt50
	lrK5XLiO79GJyPbRd8Nnn2It3ZCS6rIf1+GkRyfSqOlDvB48W3XLtWD7Veel6N+oH0VU
	/F0Q==
MIME-Version: 1.0
X-Received: by 10.60.52.115 with SMTP id s19mr45951079oeo.21.1406019682793;
	Tue, 22 Jul 2014 02:01:22 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 22 Jul 2014 02:01:22 -0700 (PDT)
In-Reply-To: <A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
Date: Tue, 22 Jul 2014 10:01:22 +0100
Message-ID: <CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>
>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>
>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
>
> That looks like this bug in Xen/ARM/netback:
> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html

Aha! This seems to fix it (I can browse mirage-www without huge delays):

diff --git a/lib/netif.ml b/lib/netif.ml
index 4e02e5e..3cc7760 100644
--- a/lib/netif.ml
+++ b/lib/netif.ml
@@ -455,7 +455,7 @@ let writev nf pages =
          lwt rest_th = xmit other_pages in
          (* All fragments are now written, we can now notify the backend *)
          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
-         return ()
+         join rest_th
     )

 let wait_for_plug nf =

Not very efficient, but at least it works! Looks like the Xen people
will fix it at some point.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 09:01:30 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 09:01:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Vwt-0004o8-Nw; Tue, 22 Jul 2014 09:01:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9Vws-0004o3-5M
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 09:01:26 +0000
Received: from [85.158.137.68:2501] by server-2.bemta-3.messagelabs.com id
	0D/23-09149-5682EC35; Tue, 22 Jul 2014 09:01:25 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1406019683!17308134!1
X-Originating-IP: [209.85.218.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1535 invoked from network); 22 Jul 2014 09:01:24 -0000
Received: from mail-oi0-f50.google.com (HELO mail-oi0-f50.google.com)
	(209.85.218.50)
	by server-3.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	22 Jul 2014 09:01:24 -0000
Received: by mail-oi0-f50.google.com with SMTP id a141so4115783oig.37
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 22 Jul 2014 02:01:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=3Gm0VMlQwTjVa14JL//vwHuxotFSMIJM1VCzFyDKg40=;
	b=kcTHYxIRTt9bQqLUPtl+I7fjAusD0ppQR3C2GQw/rf2TJfhZBEojvuDXkGHThqcoJI
	Q5owFc78sLGtgukx0si3jSkf+vCkLXSONfMbCc/hG7gzH2Y6nW8s8WjcpnMghexh/8OT
	GYKO6rv8ju3JpC+JfYQORpqyo1BkeLsHLdEpWrC5+S+CjMP1lv66Yf6eEE/lnxhaw7GQ
	7rPL8aEoJi2r0i5q+ReVKksGhkICfb/GMwMDTZHrtId7FzEqVVv+KQ2w3eiB+U1Fkt50
	lrK5XLiO79GJyPbRd8Nnn2It3ZCS6rIf1+GkRyfSqOlDvB48W3XLtWD7Veel6N+oH0VU
	/F0Q==
MIME-Version: 1.0
X-Received: by 10.60.52.115 with SMTP id s19mr45951079oeo.21.1406019682793;
	Tue, 22 Jul 2014 02:01:22 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 22 Jul 2014 02:01:22 -0700 (PDT)
In-Reply-To: <A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
Date: Tue, 22 Jul 2014 10:01:22 +0100
Message-ID: <CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>
>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>
>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
>
> That looks like this bug in Xen/ARM/netback:
> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html

Aha! This seems to fix it (I can browse mirage-www without huge delays):

diff --git a/lib/netif.ml b/lib/netif.ml
index 4e02e5e..3cc7760 100644
--- a/lib/netif.ml
+++ b/lib/netif.ml
@@ -455,7 +455,7 @@ let writev nf pages =
          lwt rest_th = xmit other_pages in
          (* All fragments are now written, we can now notify the backend *)
          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
-         return ()
+         join rest_th
     )

 let wait_for_plug nf =

Not very efficient, but at least it works! Looks like the Xen people
will fix it at some point.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 12:18:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 12:18:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Z1D-00023u-BF; Tue, 22 Jul 2014 12:18:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9Z1B-00023p-Vn
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 12:18:06 +0000
Received: from [85.158.139.211:9522] by server-2.bemta-5.messagelabs.com id
	64/FE-29943-D765EC35; Tue, 22 Jul 2014 12:18:05 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-206.messagelabs.com!1406031484!16885558!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25524 invoked from network); 22 Jul 2014 12:18:04 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-206.messagelabs.com with SMTP;
	22 Jul 2014 12:18:04 -0000
Received: (qmail 28800 invoked by uid 634); 22 Jul 2014 12:18:03 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-134-224.public.wayport.net (HELO [192.168.5.253])
	(64.134.134.224)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 13:18:03 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
Date: Tue, 22 Jul 2014 05:17:57 -0700
Message-Id: <46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:

> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>> 
>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>> 
>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
>>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
>>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
>> 
>> That looks like this bug in Xen/ARM/netback:
>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
> 
> Aha! This seems to fix it (I can browse mirage-www without huge delays):
> 
> diff --git a/lib/netif.ml b/lib/netif.ml
> index 4e02e5e..3cc7760 100644
> --- a/lib/netif.ml
> +++ b/lib/netif.ml
> @@ -455,7 +455,7 @@ let writev nf pages =
>          lwt rest_th = xmit other_pages in
>          (* All fragments are now written, we can now notify the backend *)
>          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
> -         return ()
> +         join rest_th
>     )
> 
> let wait_for_plug nf =
> 
> Not very efficient, but at least it works! Looks like the Xen people
> will fix it at some point.

That's going to serialize requests on the TX ring, isn't it?  Might
be worth making conditional via a feature flag if it's going to take
x86 transmit performance down.

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 12:18:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 12:18:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9Z1D-00023u-BF; Tue, 22 Jul 2014 12:18:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9Z1B-00023p-Vn
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 12:18:06 +0000
Received: from [85.158.139.211:9522] by server-2.bemta-5.messagelabs.com id
	64/FE-29943-D765EC35; Tue, 22 Jul 2014 12:18:05 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-6.tower-206.messagelabs.com!1406031484!16885558!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25524 invoked from network); 22 Jul 2014 12:18:04 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-6.tower-206.messagelabs.com with SMTP;
	22 Jul 2014 12:18:04 -0000
Received: (qmail 28800 invoked by uid 634); 22 Jul 2014 12:18:03 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-134-224.public.wayport.net (HELO [192.168.5.253])
	(64.134.134.224)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 13:18:03 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
Date: Tue, 22 Jul 2014 05:17:57 -0700
Message-Id: <46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:

> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>> 
>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>> 
>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
>>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
>>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
>> 
>> That looks like this bug in Xen/ARM/netback:
>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
> 
> Aha! This seems to fix it (I can browse mirage-www without huge delays):
> 
> diff --git a/lib/netif.ml b/lib/netif.ml
> index 4e02e5e..3cc7760 100644
> --- a/lib/netif.ml
> +++ b/lib/netif.ml
> @@ -455,7 +455,7 @@ let writev nf pages =
>          lwt rest_th = xmit other_pages in
>          (* All fragments are now written, we can now notify the backend *)
>          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
> -         return ()
> +         join rest_th
>     )
> 
> let wait_for_plug nf =
> 
> Not very efficient, but at least it works! Looks like the Xen people
> will fix it at some point.

That's going to serialize requests on the TX ring, isn't it?  Might
be worth making conditional via a feature flag if it's going to take
x86 transmit performance down.

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 16:02:03 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 16:02:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9cVq-0008Se-Gz; Tue, 22 Jul 2014 16:01:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X9cVp-0008SL-9t
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 16:01:57 +0000
Received: from [193.109.254.147:18393] by server-16.bemta-14.messagelabs.com
	id C3/1F-14741-4FA8EC35; Tue, 22 Jul 2014 16:01:56 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1406044913!18953974!1
X-Originating-IP: [209.85.220.43]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30252 invoked from network); 22 Jul 2014 16:01:55 -0000
Received: from mail-pa0-f43.google.com (HELO mail-pa0-f43.google.com)
	(209.85.220.43)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 Jul 2014 16:01:55 -0000
Received: by mail-pa0-f43.google.com with SMTP id lf10so12365212pab.30
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 22 Jul 2014 09:01:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=DKiVH2RmmQNmoP2yXFn60Nn+YS9ZcIajLnDidc3WGDw=;
	b=WXh8MRrhsSrXTWYqaUcIhsKnm1X8ATPMHUJ76w1qPPD69FkOblLrVnIo/ZDpSFXg7y
	4Er28fiV4Ue3n8fFzK3xVGhQfzShSDf6SF/nrO5E94noqALzTbXGxMbY3XMEdwvGi/CJ
	O20pkKY3fLtgPQeUSZNvYKnnIV1/nKl4z3ByxyXMHRgaVcGPHdbqLdPFr/argLkL2fPC
	NlNvft3UGCJ7PRDESU5Z4I/Mb7XR4rrGK3YxuhQPCO6KxwNsjJ4/B4oZFMbXDGv8UPX2
	MVnpI2Wl7Cnto+6JDoQdcvx/XqaXMvErQEnRgYEBDeQpxB7goQd5GgxECfoe1io5LXhi
	DL5Q==
MIME-Version: 1.0
X-Received: by 10.70.137.103 with SMTP id qh7mr2884955pdb.69.1406044912977;
	Tue, 22 Jul 2014 09:01:52 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Tue, 22 Jul 2014 09:01:52 -0700 (PDT)
In-Reply-To: <46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
Date: Tue, 22 Jul 2014 17:01:52 +0100
Message-ID: <CAG_esB1=EF_gt0_b+1ht2-6=oxrSkRo7qnKwEuJ7cq+Vvnv_5g@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4890593268669779676=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============4890593268669779676==
Content-Type: multipart/alternative; boundary=001a1135ecb4938d8c04feca5762

--001a1135ecb4938d8c04feca5762
Content-Type: text/plain; charset=UTF-8

I think for the earlier bug of a non-aligned buffer, we should make this a
fatal error and stop the program:

https://github.com/mirage/mirage-net-xen/issues/10

Maybe we can do something fancy with types later?

Regarding a feature flag: it's a bit tricky if the feature is a bug fix
since the buggy netbacks don't advertise the fact that they're buggy. To be
reliable you'd have to assume the worst: if there's no feature flag (i.e.
on all current kernels) take the slow path and wait for the
'feature-has-bugfix' in a recent kernel to filter down into distributions :(


On Tue, Jul 22, 2014 at 1:17 PM, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>
> > On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
> >> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
> >>>
> >>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
> >>>
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
> >>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
> >>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
> >>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
> >>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
> >>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
> >>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
> >>
> >> That looks like this bug in Xen/ARM/netback:
> >>
> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
> >
> > Aha! This seems to fix it (I can browse mirage-www without huge delays):
> >
> > diff --git a/lib/netif.ml b/lib/netif.ml
> > index 4e02e5e..3cc7760 100644
> > --- a/lib/netif.ml
> > +++ b/lib/netif.ml
> > @@ -455,7 +455,7 @@ let writev nf pages =
> >          lwt rest_th = xmit other_pages in
> >          (* All fragments are now written, we can now notify the backend
> *)
> >          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
> > -         return ()
> > +         join rest_th
> >     )
> >
> > let wait_for_plug nf =
> >
> > Not very efficient, but at least it works! Looks like the Xen people
> > will fix it at some point.
>
> That's going to serialize requests on the TX ring, isn't it?  Might
> be worth making conditional via a feature flag if it's going to take
> x86 transmit performance down.
>
> -anil
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>



-- 
Dave Scott

--001a1135ecb4938d8c04feca5762
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I think for the earlier bug of a non-aligned buffer, we sh=
ould make this a fatal error and stop the program:<div><br></div><div><a hr=
ef=3D"https://github.com/mirage/mirage-net-xen/issues/10">https://github.co=
m/mirage/mirage-net-xen/issues/10</a><br>
</div><div><br></div><div>Maybe we can do something fancy with types later?=
</div><div><br></div><div>Regarding a feature flag: it&#39;s a bit tricky i=
f the feature is a bug fix since the buggy netbacks don&#39;t advertise the=
 fact that they&#39;re buggy. To be reliable you&#39;d have to assume the w=
orst: if there&#39;s no feature flag (i.e. on all current kernels) take the=
 slow path and wait for the &#39;feature-has-bugfix&#39; in a recent kernel=
 to filter down into distributions :(</div>
</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Tue,=
 Jul 22, 2014 at 1:17 PM, Anil Madhavapeddy <span dir=3D"ltr">&lt;<a href=
=3D"mailto:anil@recoil.org" target=3D"_blank">anil@recoil.org</a>&gt;</span=
> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div class=3D"HOEnZb"><div class=3D"h5">On 2=
2 Jul 2014, at 02:01, Thomas Leonard &lt;<a href=3D"mailto:talex5@gmail.com=
">talex5@gmail.com</a>&gt; wrote:<br>

<br>
&gt; On 22 July 2014 09:14, Anil Madhavapeddy &lt;<a href=3D"mailto:anil@re=
coil.org">anil@recoil.org</a>&gt; wrote:<br>
&gt;&gt; On 22 Jul 2014, at 01:10, Thomas Leonard &lt;<a href=3D"mailto:tal=
ex5@gmail.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I noticed I&#39;m getting a lot of these in the dom0 log (dmsg=
):<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.128241]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe -&gt;<=
br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x000799a6 -&gt; mfn=3D0x000bed87 alre=
ady exists<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.128727]<br>
&gt;&gt;&gt; xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb -&gt;<=
br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x000799a6 -&gt; mfn=3D0x000bed87 alre=
ady exists<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.133264]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 -&gt;<=
br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x00079bd7 -&gt; mfn=3D0x000bed87 alre=
ady exists<br>
&gt;&gt;&gt; Jul 22 08:09:09 cubietruck kernel: [11896.041106]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a -&gt;<=
br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x00079b2b -&gt; mfn=3D0x000bed87 alre=
ady exists<br>
&gt;&gt;<br>
&gt;&gt; That looks like this bug in Xen/ARM/netback:<br>
&gt;&gt; <a href=3D"http://lists.xenproject.org/archives/html/xen-users/201=
4-07/msg00067.html" target=3D"_blank">http://lists.xenproject.org/archives/=
html/xen-users/2014-07/msg00067.html</a><br>
&gt;<br>
&gt; Aha! This seems to fix it (I can browse mirage-www without huge delays=
):<br>
&gt;<br>
&gt; diff --git a/lib/<a href=3D"http://netif.ml" target=3D"_blank">netif.m=
l</a> b/lib/<a href=3D"http://netif.ml" target=3D"_blank">netif.ml</a><br>
&gt; index 4e02e5e..3cc7760 100644<br>
&gt; --- a/lib/<a href=3D"http://netif.ml" target=3D"_blank">netif.ml</a><b=
r>
&gt; +++ b/lib/<a href=3D"http://netif.ml" target=3D"_blank">netif.ml</a><b=
r>
&gt; @@ -455,7 +455,7 @@ let writev nf pages =3D<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0lwt rest_th =3D xmit other_pages in<=
br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(* All fragments are now written, we=
 can now notify the backend *)<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Lwt_ring.Front.push nf.t.tx_client (=
notify nf.t);<br>
&gt; - =C2=A0 =C2=A0 =C2=A0 =C2=A0 return ()<br>
&gt; + =C2=A0 =C2=A0 =C2=A0 =C2=A0 join rest_th<br>
&gt; =C2=A0 =C2=A0 )<br>
&gt;<br>
&gt; let wait_for_plug nf =3D<br>
&gt;<br>
&gt; Not very efficient, but at least it works! Looks like the Xen people<b=
r>
&gt; will fix it at some point.<br>
<br>
</div></div>That&#39;s going to serialize requests on the TX ring, isn&#39;=
t it? =C2=A0Might<br>
be worth making conditional via a feature flag if it&#39;s going to take<br=
>
x86 transmit performance down.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
-anil<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Dave Scott
</div>

--001a1135ecb4938d8c04feca5762--


--===============4890593268669779676==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4890593268669779676==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 16:02:03 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 16:02:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9cVq-0008Se-Gz; Tue, 22 Jul 2014 16:01:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1X9cVp-0008SL-9t
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 16:01:57 +0000
Received: from [193.109.254.147:18393] by server-16.bemta-14.messagelabs.com
	id C3/1F-14741-4FA8EC35; Tue, 22 Jul 2014 16:01:56 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1406044913!18953974!1
X-Originating-IP: [209.85.220.43]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30252 invoked from network); 22 Jul 2014 16:01:55 -0000
Received: from mail-pa0-f43.google.com (HELO mail-pa0-f43.google.com)
	(209.85.220.43)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 Jul 2014 16:01:55 -0000
Received: by mail-pa0-f43.google.com with SMTP id lf10so12365212pab.30
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 22 Jul 2014 09:01:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=DKiVH2RmmQNmoP2yXFn60Nn+YS9ZcIajLnDidc3WGDw=;
	b=WXh8MRrhsSrXTWYqaUcIhsKnm1X8ATPMHUJ76w1qPPD69FkOblLrVnIo/ZDpSFXg7y
	4Er28fiV4Ue3n8fFzK3xVGhQfzShSDf6SF/nrO5E94noqALzTbXGxMbY3XMEdwvGi/CJ
	O20pkKY3fLtgPQeUSZNvYKnnIV1/nKl4z3ByxyXMHRgaVcGPHdbqLdPFr/argLkL2fPC
	NlNvft3UGCJ7PRDESU5Z4I/Mb7XR4rrGK3YxuhQPCO6KxwNsjJ4/B4oZFMbXDGv8UPX2
	MVnpI2Wl7Cnto+6JDoQdcvx/XqaXMvErQEnRgYEBDeQpxB7goQd5GgxECfoe1io5LXhi
	DL5Q==
MIME-Version: 1.0
X-Received: by 10.70.137.103 with SMTP id qh7mr2884955pdb.69.1406044912977;
	Tue, 22 Jul 2014 09:01:52 -0700 (PDT)
Received: by 10.70.11.65 with HTTP; Tue, 22 Jul 2014 09:01:52 -0700 (PDT)
In-Reply-To: <46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
Date: Tue, 22 Jul 2014 17:01:52 +0100
Message-ID: <CAG_esB1=EF_gt0_b+1ht2-6=oxrSkRo7qnKwEuJ7cq+Vvnv_5g@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4890593268669779676=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============4890593268669779676==
Content-Type: multipart/alternative; boundary=001a1135ecb4938d8c04feca5762

--001a1135ecb4938d8c04feca5762
Content-Type: text/plain; charset=UTF-8

I think for the earlier bug of a non-aligned buffer, we should make this a
fatal error and stop the program:

https://github.com/mirage/mirage-net-xen/issues/10

Maybe we can do something fancy with types later?

Regarding a feature flag: it's a bit tricky if the feature is a bug fix
since the buggy netbacks don't advertise the fact that they're buggy. To be
reliable you'd have to assume the worst: if there's no feature flag (i.e.
on all current kernels) take the slow path and wait for the
'feature-has-bugfix' in a recent kernel to filter down into distributions :(


On Tue, Jul 22, 2014 at 1:17 PM, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>
> > On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
> >> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
> >>>
> >>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
> >>>
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
> >>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
> >>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
> >>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
> >>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
> >>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
> >>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
> >>
> >> That looks like this bug in Xen/ARM/netback:
> >>
> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
> >
> > Aha! This seems to fix it (I can browse mirage-www without huge delays):
> >
> > diff --git a/lib/netif.ml b/lib/netif.ml
> > index 4e02e5e..3cc7760 100644
> > --- a/lib/netif.ml
> > +++ b/lib/netif.ml
> > @@ -455,7 +455,7 @@ let writev nf pages =
> >          lwt rest_th = xmit other_pages in
> >          (* All fragments are now written, we can now notify the backend
> *)
> >          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
> > -         return ()
> > +         join rest_th
> >     )
> >
> > let wait_for_plug nf =
> >
> > Not very efficient, but at least it works! Looks like the Xen people
> > will fix it at some point.
>
> That's going to serialize requests on the TX ring, isn't it?  Might
> be worth making conditional via a feature flag if it's going to take
> x86 transmit performance down.
>
> -anil
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>



-- 
Dave Scott

--001a1135ecb4938d8c04feca5762
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I think for the earlier bug of a non-aligned buffer, we sh=
ould make this a fatal error and stop the program:<div><br></div><div><a hr=
ef=3D"https://github.com/mirage/mirage-net-xen/issues/10">https://github.co=
m/mirage/mirage-net-xen/issues/10</a><br>
</div><div><br></div><div>Maybe we can do something fancy with types later?=
</div><div><br></div><div>Regarding a feature flag: it&#39;s a bit tricky i=
f the feature is a bug fix since the buggy netbacks don&#39;t advertise the=
 fact that they&#39;re buggy. To be reliable you&#39;d have to assume the w=
orst: if there&#39;s no feature flag (i.e. on all current kernels) take the=
 slow path and wait for the &#39;feature-has-bugfix&#39; in a recent kernel=
 to filter down into distributions :(</div>
</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Tue,=
 Jul 22, 2014 at 1:17 PM, Anil Madhavapeddy <span dir=3D"ltr">&lt;<a href=
=3D"mailto:anil@recoil.org" target=3D"_blank">anil@recoil.org</a>&gt;</span=
> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div class=3D"HOEnZb"><div class=3D"h5">On 2=
2 Jul 2014, at 02:01, Thomas Leonard &lt;<a href=3D"mailto:talex5@gmail.com=
">talex5@gmail.com</a>&gt; wrote:<br>

<br>
&gt; On 22 July 2014 09:14, Anil Madhavapeddy &lt;<a href=3D"mailto:anil@re=
coil.org">anil@recoil.org</a>&gt; wrote:<br>
&gt;&gt; On 22 Jul 2014, at 01:10, Thomas Leonard &lt;<a href=3D"mailto:tal=
ex5@gmail.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I noticed I&#39;m getting a lot of these in the dom0 log (dmsg=
):<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.128241]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe -&gt;<=
br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x000799a6 -&gt; mfn=3D0x000bed87 alre=
ady exists<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.128727]<br>
&gt;&gt;&gt; xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb -&gt;<=
br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x000799a6 -&gt; mfn=3D0x000bed87 alre=
ady exists<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.133264]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 -&gt;<=
br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x00079bd7 -&gt; mfn=3D0x000bed87 alre=
ady exists<br>
&gt;&gt;&gt; Jul 22 08:09:09 cubietruck kernel: [11896.041106]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a -&gt;<=
br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x00079b2b -&gt; mfn=3D0x000bed87 alre=
ady exists<br>
&gt;&gt;<br>
&gt;&gt; That looks like this bug in Xen/ARM/netback:<br>
&gt;&gt; <a href=3D"http://lists.xenproject.org/archives/html/xen-users/201=
4-07/msg00067.html" target=3D"_blank">http://lists.xenproject.org/archives/=
html/xen-users/2014-07/msg00067.html</a><br>
&gt;<br>
&gt; Aha! This seems to fix it (I can browse mirage-www without huge delays=
):<br>
&gt;<br>
&gt; diff --git a/lib/<a href=3D"http://netif.ml" target=3D"_blank">netif.m=
l</a> b/lib/<a href=3D"http://netif.ml" target=3D"_blank">netif.ml</a><br>
&gt; index 4e02e5e..3cc7760 100644<br>
&gt; --- a/lib/<a href=3D"http://netif.ml" target=3D"_blank">netif.ml</a><b=
r>
&gt; +++ b/lib/<a href=3D"http://netif.ml" target=3D"_blank">netif.ml</a><b=
r>
&gt; @@ -455,7 +455,7 @@ let writev nf pages =3D<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0lwt rest_th =3D xmit other_pages in<=
br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(* All fragments are now written, we=
 can now notify the backend *)<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Lwt_ring.Front.push nf.t.tx_client (=
notify nf.t);<br>
&gt; - =C2=A0 =C2=A0 =C2=A0 =C2=A0 return ()<br>
&gt; + =C2=A0 =C2=A0 =C2=A0 =C2=A0 join rest_th<br>
&gt; =C2=A0 =C2=A0 )<br>
&gt;<br>
&gt; let wait_for_plug nf =3D<br>
&gt;<br>
&gt; Not very efficient, but at least it works! Looks like the Xen people<b=
r>
&gt; will fix it at some point.<br>
<br>
</div></div>That&#39;s going to serialize requests on the TX ring, isn&#39;=
t it? =C2=A0Might<br>
be worth making conditional via a feature flag if it&#39;s going to take<br=
>
x86 transmit performance down.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
-anil<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists=
.xenproject.org</a><br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Dave Scott
</div>

--001a1135ecb4938d8c04feca5762--


--===============4890593268669779676==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4890593268669779676==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 16:33:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 16:33:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9d0h-0003DX-Cm; Tue, 22 Jul 2014 16:33:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9d0g-0003DO-9I
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 16:33:50 +0000
Received: from [85.158.137.68:11253] by server-13.bemta-3.messagelabs.com id
	8F/B0-09942-D629EC35; Tue, 22 Jul 2014 16:33:49 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-31.messagelabs.com!1406046827!17388185!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=2.1 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_23,RCVD_NUMERIC_HELO,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12071 invoked from network); 22 Jul 2014 16:33:47 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-31.messagelabs.com with SMTP;
	22 Jul 2014 16:33:47 -0000
Received: (qmail 2411 invoked by uid 634); 22 Jul 2014 16:33:47 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 67.23.204.226.freewirebroadband.com (HELO [10.10.33.226])
	(67.23.204.226)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 17:33:45 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG_esB1=EF_gt0_b+1ht2-6=oxrSkRo7qnKwEuJ7cq+Vvnv_5g@mail.gmail.com>
Date: Tue, 22 Jul 2014 09:33:42 -0700
Message-Id: <4053F50A-A5FE-42BD-97BF-B6E83435D30F@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG_esB1=EF_gt0_b+1ht2-6=oxrSkRo7qnKwEuJ7cq+Vvnv_5g@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0522197763109965514=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============0522197763109965514==
Content-Type: multipart/alternative; boundary="Apple-Mail=_3B9511FD-5E4A-4842-9A7C-C6AF93182391"


--Apple-Mail=_3B9511FD-5E4A-4842-9A7C-C6AF93182391
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Fair point indeed. The consensus seems to be that ARM really needs to =
support the multigrants, so we can just shift our ARM =
minimum-hypervisor-version to Xen 4.5 when it's released anyway.

Checking for page-aligned status before submitting does seem a good =
idea.  Why is `off` ignored in the grant? (I thought that could be =
specified).  Checking for a page aligned pointer seems more important, =
as the `off` is relative to that.

-anil

On 22 Jul 2014, at 09:01, David Scott <scott.dj@gmail.com> wrote:

> I think for the earlier bug of a non-aligned buffer, we should make =
this a fatal error and stop the program:
>=20
> https://github.com/mirage/mirage-net-xen/issues/10
>=20
> Maybe we can do something fancy with types later?
>=20
> Regarding a feature flag: it's a bit tricky if the feature is a bug =
fix since the buggy netbacks don't advertise the fact that they're =
buggy. To be reliable you'd have to assume the worst: if there's no =
feature flag (i.e. on all current kernels) take the slow path and wait =
for the 'feature-has-bugfix' in a recent kernel to filter down into =
distributions :(
>=20
>=20
> On Tue, Jul 22, 2014 at 1:17 PM, Anil Madhavapeddy <anil@recoil.org> =
wrote:
> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>=20
> > On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
> >> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
> >>>
> >>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
> >>>
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe ->
> >>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already =
exists
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
> >>> xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb ->
> >>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already =
exists
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 ->
> >>> mfn=3D0x000bed87: pfn=3D0x00079bd7 -> mfn=3D0x000bed87 already =
exists
> >>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a ->
> >>> mfn=3D0x000bed87: pfn=3D0x00079b2b -> mfn=3D0x000bed87 already =
exists
> >>
> >> That looks like this bug in Xen/ARM/netback:
> >> =
http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
> >
> > Aha! This seems to fix it (I can browse mirage-www without huge =
delays):
> >
> > diff --git a/lib/netif.ml b/lib/netif.ml
> > index 4e02e5e..3cc7760 100644
> > --- a/lib/netif.ml
> > +++ b/lib/netif.ml
> > @@ -455,7 +455,7 @@ let writev nf pages =3D
> >          lwt rest_th =3D xmit other_pages in
> >          (* All fragments are now written, we can now notify the =
backend *)
> >          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
> > -         return ()
> > +         join rest_th
> >     )
> >
> > let wait_for_plug nf =3D
> >
> > Not very efficient, but at least it works! Looks like the Xen people
> > will fix it at some point.
>=20
> That's going to serialize requests on the TX ring, isn't it?  Might
> be worth making conditional via a feature flag if it's going to take
> x86 transmit performance down.
>=20
> -anil
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>=20
>=20
>=20
> --=20
> Dave Scott
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_3B9511FD-5E4A-4842-9A7C-C6AF93182391
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Fair =
point indeed. The consensus seems to be that ARM really needs to support =
the multigrants, so we can just shift our ARM minimum-hypervisor-version =
to Xen 4.5 when it's released anyway.<div><br></div><div>Checking for =
page-aligned status before submitting does seem a good idea. &nbsp;Why =
is `off` ignored in the grant? (I thought that could be specified). =
&nbsp;Checking for a page aligned pointer seems more important, as the =
`off` is relative to =
that.</div><div><br></div><div>-anil</div><div><br><div><div><div>On 22 =
Jul 2014, at 09:01, David Scott &lt;<a =
href=3D"mailto:scott.dj@gmail.com">scott.dj@gmail.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div dir=3D"ltr">I think for the earlier bug of a =
non-aligned buffer, we should make this a fatal error and stop the =
program:<div><br></div><div><a =
href=3D"https://github.com/mirage/mirage-net-xen/issues/10">https://github=
.com/mirage/mirage-net-xen/issues/10</a><br>
</div><div><br></div><div>Maybe we can do something fancy with types =
later?</div><div><br></div><div>Regarding a feature flag: it's a bit =
tricky if the feature is a bug fix since the buggy netbacks don't =
advertise the fact that they're buggy. To be reliable you'd have to =
assume the worst: if there's no feature flag (i.e. on all current =
kernels) take the slow path and wait for the 'feature-has-bugfix' in a =
recent kernel to filter down into distributions :(</div>
</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On =
Tue, Jul 22, 2014 at 1:17 PM, Anil Madhavapeddy <span dir=3D"ltr">&lt;<a =
href=3D"mailto:anil@recoil.org" =
target=3D"_blank">anil@recoil.org</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div =
class=3D"HOEnZb"><div class=3D"h5">On 22 Jul 2014, at 02:01, Thomas =
Leonard &lt;<a href=3D"mailto:talex5@gmail.com">talex5@gmail.com</a>&gt; =
wrote:<br>

<br>
&gt; On 22 July 2014 09:14, Anil Madhavapeddy &lt;<a =
href=3D"mailto:anil@recoil.org">anil@recoil.org</a>&gt; wrote:<br>
&gt;&gt; On 22 Jul 2014, at 01:10, Thomas Leonard &lt;<a =
href=3D"mailto:talex5@gmail.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I noticed I'm getting a lot of these in the dom0 log =
(dmsg):<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.128241]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe =
-&gt;<br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x000799a6 -&gt; mfn=3D0x000bed87 =
already exists<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.128727]<br>
&gt;&gt;&gt; xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb =
-&gt;<br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x000799a6 -&gt; mfn=3D0x000bed87 =
already exists<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.133264]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 =
-&gt;<br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x00079bd7 -&gt; mfn=3D0x000bed87 =
already exists<br>
&gt;&gt;&gt; Jul 22 08:09:09 cubietruck kernel: [11896.041106]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a =
-&gt;<br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x00079b2b -&gt; mfn=3D0x000bed87 =
already exists<br>
&gt;&gt;<br>
&gt;&gt; That looks like this bug in Xen/ARM/netback:<br>
&gt;&gt; <a =
href=3D"http://lists.xenproject.org/archives/html/xen-users/2014-07/msg000=
67.html" =
target=3D"_blank">http://lists.xenproject.org/archives/html/xen-users/2014=
-07/msg00067.html</a><br>
&gt;<br>
&gt; Aha! This seems to fix it (I can browse mirage-www without huge =
delays):<br>
&gt;<br>
&gt; diff --git a/lib/<a href=3D"http://netif.ml/" =
target=3D"_blank">netif.ml</a> b/lib/<a href=3D"http://netif.ml/" =
target=3D"_blank">netif.ml</a><br>
&gt; index 4e02e5e..3cc7760 100644<br>
&gt; --- a/lib/<a href=3D"http://netif.ml/" =
target=3D"_blank">netif.ml</a><br>
&gt; +++ b/lib/<a href=3D"http://netif.ml/" =
target=3D"_blank">netif.ml</a><br>
&gt; @@ -455,7 +455,7 @@ let writev nf pages =3D<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lwt rest_th =3D xmit other_pages =
in<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* All fragments are now written, =
we can now notify the backend *)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Lwt_ring.Front.push =
nf.t.tx_client (notify nf.t);<br>
&gt; - &nbsp; &nbsp; &nbsp; &nbsp; return ()<br>
&gt; + &nbsp; &nbsp; &nbsp; &nbsp; join rest_th<br>
&gt; &nbsp; &nbsp; )<br>
&gt;<br>
&gt; let wait_for_plug nf =3D<br>
&gt;<br>
&gt; Not very efficient, but at least it works! Looks like the Xen =
people<br>
&gt; will fix it at some point.<br>
<br>
</div></div>That's going to serialize requests on the TX ring, isn't it? =
&nbsp;Might<br>
be worth making conditional via a feature flag if it's going to take<br>
x86 transmit performance down.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
-anil<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>
<a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l" =
target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mir=
ageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- =
<br>Dave Scott
</div>
_______________________________________________<br>MirageOS-devel =
mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br></div></div></body></html>=

--Apple-Mail=_3B9511FD-5E4A-4842-9A7C-C6AF93182391--


--===============0522197763109965514==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0522197763109965514==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 16:33:56 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 16:33:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9d0h-0003DX-Cm; Tue, 22 Jul 2014 16:33:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9d0g-0003DO-9I
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 16:33:50 +0000
Received: from [85.158.137.68:11253] by server-13.bemta-3.messagelabs.com id
	8F/B0-09942-D629EC35; Tue, 22 Jul 2014 16:33:49 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-5.tower-31.messagelabs.com!1406046827!17388185!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=2.1 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_23,RCVD_NUMERIC_HELO,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12071 invoked from network); 22 Jul 2014 16:33:47 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-5.tower-31.messagelabs.com with SMTP;
	22 Jul 2014 16:33:47 -0000
Received: (qmail 2411 invoked by uid 634); 22 Jul 2014 16:33:47 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 67.23.204.226.freewirebroadband.com (HELO [10.10.33.226])
	(67.23.204.226)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 17:33:45 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG_esB1=EF_gt0_b+1ht2-6=oxrSkRo7qnKwEuJ7cq+Vvnv_5g@mail.gmail.com>
Date: Tue, 22 Jul 2014 09:33:42 -0700
Message-Id: <4053F50A-A5FE-42BD-97BF-B6E83435D30F@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG_esB1=EF_gt0_b+1ht2-6=oxrSkRo7qnKwEuJ7cq+Vvnv_5g@mail.gmail.com>
To: David Scott <scott.dj@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0522197763109965514=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============0522197763109965514==
Content-Type: multipart/alternative; boundary="Apple-Mail=_3B9511FD-5E4A-4842-9A7C-C6AF93182391"


--Apple-Mail=_3B9511FD-5E4A-4842-9A7C-C6AF93182391
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Fair point indeed. The consensus seems to be that ARM really needs to =
support the multigrants, so we can just shift our ARM =
minimum-hypervisor-version to Xen 4.5 when it's released anyway.

Checking for page-aligned status before submitting does seem a good =
idea.  Why is `off` ignored in the grant? (I thought that could be =
specified).  Checking for a page aligned pointer seems more important, =
as the `off` is relative to that.

-anil

On 22 Jul 2014, at 09:01, David Scott <scott.dj@gmail.com> wrote:

> I think for the earlier bug of a non-aligned buffer, we should make =
this a fatal error and stop the program:
>=20
> https://github.com/mirage/mirage-net-xen/issues/10
>=20
> Maybe we can do something fancy with types later?
>=20
> Regarding a feature flag: it's a bit tricky if the feature is a bug =
fix since the buggy netbacks don't advertise the fact that they're =
buggy. To be reliable you'd have to assume the worst: if there's no =
feature flag (i.e. on all current kernels) take the slow path and wait =
for the 'feature-has-bugfix' in a recent kernel to filter down into =
distributions :(
>=20
>=20
> On Tue, Jul 22, 2014 at 1:17 PM, Anil Madhavapeddy <anil@recoil.org> =
wrote:
> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>=20
> > On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
> >> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
> >>>
> >>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
> >>>
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe ->
> >>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already =
exists
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
> >>> xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb ->
> >>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already =
exists
> >>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 ->
> >>> mfn=3D0x000bed87: pfn=3D0x00079bd7 -> mfn=3D0x000bed87 already =
exists
> >>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
> >>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a ->
> >>> mfn=3D0x000bed87: pfn=3D0x00079b2b -> mfn=3D0x000bed87 already =
exists
> >>
> >> That looks like this bug in Xen/ARM/netback:
> >> =
http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
> >
> > Aha! This seems to fix it (I can browse mirage-www without huge =
delays):
> >
> > diff --git a/lib/netif.ml b/lib/netif.ml
> > index 4e02e5e..3cc7760 100644
> > --- a/lib/netif.ml
> > +++ b/lib/netif.ml
> > @@ -455,7 +455,7 @@ let writev nf pages =3D
> >          lwt rest_th =3D xmit other_pages in
> >          (* All fragments are now written, we can now notify the =
backend *)
> >          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
> > -         return ()
> > +         join rest_th
> >     )
> >
> > let wait_for_plug nf =3D
> >
> > Not very efficient, but at least it works! Looks like the Xen people
> > will fix it at some point.
>=20
> That's going to serialize requests on the TX ring, isn't it?  Might
> be worth making conditional via a feature flag if it's going to take
> x86 transmit performance down.
>=20
> -anil
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>=20
>=20
>=20
> --=20
> Dave Scott
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_3B9511FD-5E4A-4842-9A7C-C6AF93182391
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Fair =
point indeed. The consensus seems to be that ARM really needs to support =
the multigrants, so we can just shift our ARM minimum-hypervisor-version =
to Xen 4.5 when it's released anyway.<div><br></div><div>Checking for =
page-aligned status before submitting does seem a good idea. &nbsp;Why =
is `off` ignored in the grant? (I thought that could be specified). =
&nbsp;Checking for a page aligned pointer seems more important, as the =
`off` is relative to =
that.</div><div><br></div><div>-anil</div><div><br><div><div><div>On 22 =
Jul 2014, at 09:01, David Scott &lt;<a =
href=3D"mailto:scott.dj@gmail.com">scott.dj@gmail.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div dir=3D"ltr">I think for the earlier bug of a =
non-aligned buffer, we should make this a fatal error and stop the =
program:<div><br></div><div><a =
href=3D"https://github.com/mirage/mirage-net-xen/issues/10">https://github=
.com/mirage/mirage-net-xen/issues/10</a><br>
</div><div><br></div><div>Maybe we can do something fancy with types =
later?</div><div><br></div><div>Regarding a feature flag: it's a bit =
tricky if the feature is a bug fix since the buggy netbacks don't =
advertise the fact that they're buggy. To be reliable you'd have to =
assume the worst: if there's no feature flag (i.e. on all current =
kernels) take the slow path and wait for the 'feature-has-bugfix' in a =
recent kernel to filter down into distributions :(</div>
</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On =
Tue, Jul 22, 2014 at 1:17 PM, Anil Madhavapeddy <span dir=3D"ltr">&lt;<a =
href=3D"mailto:anil@recoil.org" =
target=3D"_blank">anil@recoil.org</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div =
class=3D"HOEnZb"><div class=3D"h5">On 22 Jul 2014, at 02:01, Thomas =
Leonard &lt;<a href=3D"mailto:talex5@gmail.com">talex5@gmail.com</a>&gt; =
wrote:<br>

<br>
&gt; On 22 July 2014 09:14, Anil Madhavapeddy &lt;<a =
href=3D"mailto:anil@recoil.org">anil@recoil.org</a>&gt; wrote:<br>
&gt;&gt; On 22 Jul 2014, at 01:10, Thomas Leonard &lt;<a =
href=3D"mailto:talex5@gmail.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I noticed I'm getting a lot of these in the dom0 log =
(dmsg):<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.128241]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe =
-&gt;<br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x000799a6 -&gt; mfn=3D0x000bed87 =
already exists<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.128727]<br>
&gt;&gt;&gt; xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb =
-&gt;<br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x000799a6 -&gt; mfn=3D0x000bed87 =
already exists<br>
&gt;&gt;&gt; Jul 22 08:09:05 cubietruck kernel: [11892.133264]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 =
-&gt;<br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x00079bd7 -&gt; mfn=3D0x000bed87 =
already exists<br>
&gt;&gt;&gt; Jul 22 08:09:09 cubietruck kernel: [11896.041106]<br>
&gt;&gt;&gt; xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a =
-&gt;<br>
&gt;&gt;&gt; mfn=3D0x000bed87: pfn=3D0x00079b2b -&gt; mfn=3D0x000bed87 =
already exists<br>
&gt;&gt;<br>
&gt;&gt; That looks like this bug in Xen/ARM/netback:<br>
&gt;&gt; <a =
href=3D"http://lists.xenproject.org/archives/html/xen-users/2014-07/msg000=
67.html" =
target=3D"_blank">http://lists.xenproject.org/archives/html/xen-users/2014=
-07/msg00067.html</a><br>
&gt;<br>
&gt; Aha! This seems to fix it (I can browse mirage-www without huge =
delays):<br>
&gt;<br>
&gt; diff --git a/lib/<a href=3D"http://netif.ml/" =
target=3D"_blank">netif.ml</a> b/lib/<a href=3D"http://netif.ml/" =
target=3D"_blank">netif.ml</a><br>
&gt; index 4e02e5e..3cc7760 100644<br>
&gt; --- a/lib/<a href=3D"http://netif.ml/" =
target=3D"_blank">netif.ml</a><br>
&gt; +++ b/lib/<a href=3D"http://netif.ml/" =
target=3D"_blank">netif.ml</a><br>
&gt; @@ -455,7 +455,7 @@ let writev nf pages =3D<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lwt rest_th =3D xmit other_pages =
in<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* All fragments are now written, =
we can now notify the backend *)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Lwt_ring.Front.push =
nf.t.tx_client (notify nf.t);<br>
&gt; - &nbsp; &nbsp; &nbsp; &nbsp; return ()<br>
&gt; + &nbsp; &nbsp; &nbsp; &nbsp; join rest_th<br>
&gt; &nbsp; &nbsp; )<br>
&gt;<br>
&gt; let wait_for_plug nf =3D<br>
&gt;<br>
&gt; Not very efficient, but at least it works! Looks like the Xen =
people<br>
&gt; will fix it at some point.<br>
<br>
</div></div>That's going to serialize requests on the TX ring, isn't it? =
&nbsp;Might<br>
be worth making conditional via a feature flag if it's going to take<br>
x86 transmit performance down.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
-anil<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>
<a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l" =
target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mir=
ageos-devel</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- =
<br>Dave Scott
</div>
_______________________________________________<br>MirageOS-devel =
mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br></div></div></body></html>=

--Apple-Mail=_3B9511FD-5E4A-4842-9A7C-C6AF93182391--


--===============0522197763109965514==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0522197763109965514==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 16:45:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 16:45:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9dBX-0003pI-LD; Tue, 22 Jul 2014 16:45:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9dBV-0003p9-AT
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 16:45:01 +0000
Received: from [85.158.137.68:5864] by server-11.bemta-3.messagelabs.com id
	8A/DE-04507-C059EC35; Tue, 22 Jul 2014 16:45:00 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-31.messagelabs.com!1406047499!17401227!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=1.4 required=7.0 tests=RCVD_NUMERIC_HELO
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26443 invoked from network); 22 Jul 2014 16:44:59 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-31.messagelabs.com with SMTP;
	22 Jul 2014 16:44:59 -0000
Received: (qmail 744 invoked by uid 634); 22 Jul 2014 16:44:59 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 67.23.204.226.freewirebroadband.com (HELO [10.10.33.226])
	(67.23.204.226)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 17:44:59 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Date: Tue, 22 Jul 2014 09:44:56 -0700
Message-Id: <3DBC274F-2862-43D5-B625-CE6F83F7010E@recoil.org>
To: mirageos-devel@lists.xenproject.org
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Lars Kurth <lars.kurth.xen@gmail.com>,
	Sarah Conway <sconway@linuxfoundation.org>,
	Publicity list <publicity@lists.xenproject.org>
Subject: [MirageOS-devel] Mirage 2.0: a recap of the new features
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I just put up a recap of the recent Mirage 2.0 blogging efforts on the site:

http://openmirage.org/blog/announcing-mirage-20-release

Just wanted to say a big 'thank you!' to Amir for coordinating all of this so well, and to Thomas Gazagnaire, David Scott, Jon Ludlam, Hannes Mehnert, David Kaloper, Mindy Preston, Thomas Leonard, and Jeremy Yallop for taking the trouble to write all the excellent posts and great feedback on writing from the OCaml Labs team (particular props to Daniel Buenzli, who gave extensive feedback on a number of posts).  Lars Kurth and Sarah Conway from the  Xen/Linux Foundation have been incredibly helpful in putting the release together as well!  The upstream Xen platform team has also been very responsive in reviewing our code contributions to MiniOS ARM, so thank you for helping us improve that aspect of Mirage so much with your comments.

You may be wondering why there isn't a `mirage-2.0` package up in OPAM.  The reason is that the library releases that comprise Mirage 2.0 are staggered, and have actually been steadily released over the last few months, and will continue to be cut into OPAM as they mature (particularly the ARM support).  So you can get on with using the features now, and the precise version number of the main Mirage CLI tool isn't that important.

Two areas that particularly need feedback are the ARM support [1], and applications that use the Irmin datastore.  I'll be porting my website over to run off both when I get back from OSCON next week and will report back on how that goes!  I quite like the idea of serving www.openmirage.org as a load-balanced cluster of Xen/ARM unikernels running across our home networks on a Beowulf cluster of Cubietrucks :-)

[1] Getting started with Xen/ARM has never been simpler: just download the prebuilt images linked from the README in https://github.com/mirage/xen-arm-builder for your Cubieboard2/Cubietruck (which costs about 40 quid or so).

best,
Anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 22 16:45:05 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Jul 2014 16:45:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9dBX-0003pI-LD; Tue, 22 Jul 2014 16:45:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9dBV-0003p9-AT
	for mirageos-devel@lists.xenproject.org; Tue, 22 Jul 2014 16:45:01 +0000
Received: from [85.158.137.68:5864] by server-11.bemta-3.messagelabs.com id
	8A/DE-04507-C059EC35; Tue, 22 Jul 2014 16:45:00 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-31.messagelabs.com!1406047499!17401227!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=1.4 required=7.0 tests=RCVD_NUMERIC_HELO
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26443 invoked from network); 22 Jul 2014 16:44:59 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-31.messagelabs.com with SMTP;
	22 Jul 2014 16:44:59 -0000
Received: (qmail 744 invoked by uid 634); 22 Jul 2014 16:44:59 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 67.23.204.226.freewirebroadband.com (HELO [10.10.33.226])
	(67.23.204.226)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 22 Jul 2014 17:44:59 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Date: Tue, 22 Jul 2014 09:44:56 -0700
Message-Id: <3DBC274F-2862-43D5-B625-CE6F83F7010E@recoil.org>
To: mirageos-devel@lists.xenproject.org
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Lars Kurth <lars.kurth.xen@gmail.com>,
	Sarah Conway <sconway@linuxfoundation.org>,
	Publicity list <publicity@lists.xenproject.org>
Subject: [MirageOS-devel] Mirage 2.0: a recap of the new features
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I just put up a recap of the recent Mirage 2.0 blogging efforts on the site:

http://openmirage.org/blog/announcing-mirage-20-release

Just wanted to say a big 'thank you!' to Amir for coordinating all of this so well, and to Thomas Gazagnaire, David Scott, Jon Ludlam, Hannes Mehnert, David Kaloper, Mindy Preston, Thomas Leonard, and Jeremy Yallop for taking the trouble to write all the excellent posts and great feedback on writing from the OCaml Labs team (particular props to Daniel Buenzli, who gave extensive feedback on a number of posts).  Lars Kurth and Sarah Conway from the  Xen/Linux Foundation have been incredibly helpful in putting the release together as well!  The upstream Xen platform team has also been very responsive in reviewing our code contributions to MiniOS ARM, so thank you for helping us improve that aspect of Mirage so much with your comments.

You may be wondering why there isn't a `mirage-2.0` package up in OPAM.  The reason is that the library releases that comprise Mirage 2.0 are staggered, and have actually been steadily released over the last few months, and will continue to be cut into OPAM as they mature (particularly the ARM support).  So you can get on with using the features now, and the precise version number of the main Mirage CLI tool isn't that important.

Two areas that particularly need feedback are the ARM support [1], and applications that use the Irmin datastore.  I'll be porting my website over to run off both when I get back from OSCON next week and will report back on how that goes!  I quite like the idea of serving www.openmirage.org as a load-balanced cluster of Xen/ARM unikernels running across our home networks on a Beowulf cluster of Cubietrucks :-)

[1] Getting started with Xen/ARM has never been simpler: just download the prebuilt images linked from the README in https://github.com/mirage/xen-arm-builder for your Cubieboard2/Cubietruck (which costs about 40 quid or so).

best,
Anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 23 07:11:01 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 23 Jul 2014 07:11:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9qhS-0003s2-KR; Wed, 23 Jul 2014 07:10:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9qhS-0003rx-1d
	for mirageos-devel@lists.xenproject.org; Wed, 23 Jul 2014 07:10:54 +0000
Received: from [85.158.137.68:52991] by server-12.bemta-3.messagelabs.com id
	7B/DF-02460-DFF5FC35; Wed, 23 Jul 2014 07:10:53 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1406099451!17398665!1
X-Originating-IP: [209.85.219.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8632 invoked from network); 23 Jul 2014 07:10:52 -0000
Received: from mail-oa0-f50.google.com (HELO mail-oa0-f50.google.com)
	(209.85.219.50)
	by server-12.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	23 Jul 2014 07:10:52 -0000
Received: by mail-oa0-f50.google.com with SMTP id g18so1066441oah.23
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 23 Jul 2014 00:10:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=G5U//KhSKxHj5yxhIPI/QaMqR2QzCRNfjFkbuBhj9T0=;
	b=DoPjlu9F4p6BskTcJdEycxKORfuEnt/B5tIfMHHquiaguVIwy2HfyMIquHgWc8z6Pd
	GQcCGIfyZGh+eHT7YB+ZskNBOIeq4JCFDUVQFofQNWIqpJKWb2dHpmOVrgdw2Bi1VbNP
	zmnik6V9hPpanSoVU/VSIhfjDjJguPe2n4Q/OJtj9YozuW/sG+swbxo43qp+O0s1OPtI
	MKveLSv66AYNAxdkuq4n5wm4vwlf9TuqNCZV3ZJAH8guGfjZJs504k9PUSg6bHge6brZ
	MI0B6b4P+yOgdCnkkFlWjWIhtbuSBh5pz7nscl1F/MJSPb5jUddbCnZZPEs959MMH1aK
	qzKQ==
MIME-Version: 1.0
X-Received: by 10.182.205.231 with SMTP id lj7mr29320057obc.37.1406099450498; 
	Wed, 23 Jul 2014 00:10:50 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 23 Jul 2014 00:10:50 -0700 (PDT)
In-Reply-To: <46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
Date: Wed, 23 Jul 2014 08:10:50 +0100
Message-ID: <CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 13:17, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>>
>>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>>>
>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
>>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
>>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
>>>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
>>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
>>>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
>>>
>>> That looks like this bug in Xen/ARM/netback:
>>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
>>
>> Aha! This seems to fix it (I can browse mirage-www without huge delays):
>>
>> diff --git a/lib/netif.ml b/lib/netif.ml
>> index 4e02e5e..3cc7760 100644
>> --- a/lib/netif.ml
>> +++ b/lib/netif.ml
>> @@ -455,7 +455,7 @@ let writev nf pages =
>>          lwt rest_th = xmit other_pages in
>>          (* All fragments are now written, we can now notify the backend *)
>>          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
>> -         return ()
>> +         join rest_th
>>     )
>>
>> let wait_for_plug nf =
>>
>> Not very efficient, but at least it works! Looks like the Xen people
>> will fix it at some point.
>
> That's going to serialize requests on the TX ring, isn't it?  Might
> be worth making conditional via a feature flag if it's going to take
> x86 transmit performance down.

FLOW.writev is defined as:

  val writev : flow -> buffer list -> [`Ok of unit | `Eof | `Error of error ] io
  (** [writev flow buffers] will block until the contents of [buffer list]
      are all successfully transmitted to the remote endpoint. The result
      [`Ok ()] indicates success, [`Eof] indicates that the connection is now
      closed and [`Error] indicates some other error. *)

I took this to mean that when you get `Ok back, the buffers are no
longer needed and can be used for something else. Looking at the
implementation, it seems that `Ok just means that the receiver has
been given access to the buffers, but might not have read them yet.

So actually, I think this change might be correct for x86 too,
although perhaps it should be moved out of the mutex.

(if you call writev with a singleton list then it does wait inside the
mutex already)


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 23 07:11:01 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 23 Jul 2014 07:11:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9qhS-0003s2-KR; Wed, 23 Jul 2014 07:10:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1X9qhS-0003rx-1d
	for mirageos-devel@lists.xenproject.org; Wed, 23 Jul 2014 07:10:54 +0000
Received: from [85.158.137.68:52991] by server-12.bemta-3.messagelabs.com id
	7B/DF-02460-DFF5FC35; Wed, 23 Jul 2014 07:10:53 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1406099451!17398665!1
X-Originating-IP: [209.85.219.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8632 invoked from network); 23 Jul 2014 07:10:52 -0000
Received: from mail-oa0-f50.google.com (HELO mail-oa0-f50.google.com)
	(209.85.219.50)
	by server-12.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	23 Jul 2014 07:10:52 -0000
Received: by mail-oa0-f50.google.com with SMTP id g18so1066441oah.23
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 23 Jul 2014 00:10:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=G5U//KhSKxHj5yxhIPI/QaMqR2QzCRNfjFkbuBhj9T0=;
	b=DoPjlu9F4p6BskTcJdEycxKORfuEnt/B5tIfMHHquiaguVIwy2HfyMIquHgWc8z6Pd
	GQcCGIfyZGh+eHT7YB+ZskNBOIeq4JCFDUVQFofQNWIqpJKWb2dHpmOVrgdw2Bi1VbNP
	zmnik6V9hPpanSoVU/VSIhfjDjJguPe2n4Q/OJtj9YozuW/sG+swbxo43qp+O0s1OPtI
	MKveLSv66AYNAxdkuq4n5wm4vwlf9TuqNCZV3ZJAH8guGfjZJs504k9PUSg6bHge6brZ
	MI0B6b4P+yOgdCnkkFlWjWIhtbuSBh5pz7nscl1F/MJSPb5jUddbCnZZPEs959MMH1aK
	qzKQ==
MIME-Version: 1.0
X-Received: by 10.182.205.231 with SMTP id lj7mr29320057obc.37.1406099450498; 
	Wed, 23 Jul 2014 00:10:50 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 23 Jul 2014 00:10:50 -0700 (PDT)
In-Reply-To: <46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
Date: Wed, 23 Jul 2014 08:10:50 +0100
Message-ID: <CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 13:17, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>>
>>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>>>
>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
>>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
>>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
>>>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
>>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
>>>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
>>>
>>> That looks like this bug in Xen/ARM/netback:
>>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
>>
>> Aha! This seems to fix it (I can browse mirage-www without huge delays):
>>
>> diff --git a/lib/netif.ml b/lib/netif.ml
>> index 4e02e5e..3cc7760 100644
>> --- a/lib/netif.ml
>> +++ b/lib/netif.ml
>> @@ -455,7 +455,7 @@ let writev nf pages =
>>          lwt rest_th = xmit other_pages in
>>          (* All fragments are now written, we can now notify the backend *)
>>          Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
>> -         return ()
>> +         join rest_th
>>     )
>>
>> let wait_for_plug nf =
>>
>> Not very efficient, but at least it works! Looks like the Xen people
>> will fix it at some point.
>
> That's going to serialize requests on the TX ring, isn't it?  Might
> be worth making conditional via a feature flag if it's going to take
> x86 transmit performance down.

FLOW.writev is defined as:

  val writev : flow -> buffer list -> [`Ok of unit | `Eof | `Error of error ] io
  (** [writev flow buffers] will block until the contents of [buffer list]
      are all successfully transmitted to the remote endpoint. The result
      [`Ok ()] indicates success, [`Eof] indicates that the connection is now
      closed and [`Error] indicates some other error. *)

I took this to mean that when you get `Ok back, the buffers are no
longer needed and can be used for something else. Looking at the
implementation, it seems that `Ok just means that the receiver has
been given access to the buffers, but might not have read them yet.

So actually, I think this change might be correct for x86 too,
although perhaps it should be moved out of the mutex.

(if you call writev with a singleton list then it does wait inside the
mutex already)


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 23 09:47:09 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 23 Jul 2014 09:47:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9t8b-0007sc-0p; Wed, 23 Jul 2014 09:47:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X9t8Z-0007sW-4k
	for mirageos-devel@lists.xenproject.org; Wed, 23 Jul 2014 09:47:03 +0000
Received: from [85.158.143.35:17796] by server-3.bemta-4.messagelabs.com id
	F0/9A-06192-6948FC35; Wed, 23 Jul 2014 09:47:02 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1406108821!19596109!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12314 invoked from network); 23 Jul 2014 09:47:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-9.tower-21.messagelabs.com with SMTP;
	23 Jul 2014 09:47:01 -0000
X-IronPort-AV: E=Sophos;i="5.01,716,1400025600"; d="scan'208";a="23349979"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 23 Jul 2014 09:47:01 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.210]) by
	AMSPEX01CL02.citrite.net ([10.69.46.33]) with mapi id 14.03.0181.006;
	Wed, 23 Jul 2014 11:47:00 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Thomas Leonard <talex5@gmail.com>
Thread-Topic: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
Thread-Index: AQHPpYuIBxgRhFqKh0q2qXEpVAjF9pur4VKAgAE8hwCAACuggA==
Date: Wed, 23 Jul 2014 09:46:59 +0000
Message-ID: <1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
In-Reply-To: <CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.69.46.1]
Content-ID: <056F14F83DCE7042AFB506FFC55A913F@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 23 Jul 2014, at 08:10, Thomas Leonard <talex5@gmail.com> wrote:

> On 22 July 2014 13:17, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>> =

>>> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>>> =

>>>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>>>> =

>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe ->
>>>>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already exists
>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>>>> xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb ->
>>>>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already exists
>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 ->
>>>>> mfn=3D0x000bed87: pfn=3D0x00079bd7 -> mfn=3D0x000bed87 already exists
>>>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a ->
>>>>> mfn=3D0x000bed87: pfn=3D0x00079b2b -> mfn=3D0x000bed87 already exists
>>>> =

>>>> That looks like this bug in Xen/ARM/netback:
>>>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.h=
tml
>>> =

>>> Aha! This seems to fix it (I can browse mirage-www without huge delays):
>>> =

>>> diff --git a/lib/netif.ml b/lib/netif.ml
>>> index 4e02e5e..3cc7760 100644
>>> --- a/lib/netif.ml
>>> +++ b/lib/netif.ml
>>> @@ -455,7 +455,7 @@ let writev nf pages =3D
>>>         lwt rest_th =3D xmit other_pages in
>>>         (* All fragments are now written, we can now notify the backend=
 *)
>>>         Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
>>> -         return ()
>>> +         join rest_th
>>>    )
>>> =

>>> let wait_for_plug nf =3D
>>> =

>>> Not very efficient, but at least it works! Looks like the Xen people
>>> will fix it at some point.
>> =

>> That's going to serialize requests on the TX ring, isn't it?  Might
>> be worth making conditional via a feature flag if it's going to take
>> x86 transmit performance down.
> =

> FLOW.writev is defined as:
> =

>  val writev : flow -> buffer list -> [`Ok of unit | `Eof | `Error of erro=
r ] io
>  (** [writev flow buffers] will block until the contents of [buffer list]
>      are all successfully transmitted to the remote endpoint. The result
>      [`Ok ()] indicates success, [`Eof] indicates that the connection is =
now
>      closed and [`Error] indicates some other error. *)
> =

> I took this to mean that when you get `Ok back, the buffers are no
> longer needed and can be used for something else. Looking at the
> implementation, it seems that `Ok just means that the receiver has
> been given access to the buffers, but might not have read them yet.
> =

> So actually, I think this change might be correct for x86 too,
> although perhaps it should be moved out of the mutex.

Yeah, I think you=92re right!

I think it=92s time to think about running regular performance benchmarks. =
Now that we have the little testvm[1] which can be controlled over vchan/HT=
TP[2], we could add the iperf example code to it and then set up some test =
cases. If we made the tests easy to script then we might be able to run the=
m on the same hardware we use for Xenserver and benchmark them against Wind=
ows and Linux.

I wonder if we=92ll have to expand the FLOW interface a bit. I notice there=
=92s a trend towards offering applications more control over queues (e.g. V=
MDQ) so we might want to do the same. This would allow an app to =91push=92=
 requests onto the queue and block (which would itself block if the queue m=
ax size was hit) and then wait for the work to be completed and the buffers=
 free.

Cheers,
Dave

[1] https://github.com/mirage/xen-testvm
[2] https://github.com/mirage/testvm-idl

> =

> (if you call writev with a singleton list then it does wait inside the
> mutex already)
> =

> =

> -- =

> Dr Thomas Leonard        http://0install.net/
> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 23 09:47:09 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 23 Jul 2014 09:47:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9t8b-0007sc-0p; Wed, 23 Jul 2014 09:47:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@citrix.com>) id 1X9t8Z-0007sW-4k
	for mirageos-devel@lists.xenproject.org; Wed, 23 Jul 2014 09:47:03 +0000
Received: from [85.158.143.35:17796] by server-3.bemta-4.messagelabs.com id
	F0/9A-06192-6948FC35; Wed, 23 Jul 2014 09:47:02 +0000
X-Env-Sender: Dave.Scott@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1406108821!19596109!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12314 invoked from network); 23 Jul 2014 09:47:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
	by server-9.tower-21.messagelabs.com with SMTP;
	23 Jul 2014 09:47:01 -0000
X-IronPort-AV: E=Sophos;i="5.01,716,1400025600"; d="scan'208";a="23349979"
Received: from unknown (HELO AMSPEX01CL02.citrite.net) ([10.69.60.9])
	by AMSPIP01.EU.Citrix.com with ESMTP; 23 Jul 2014 09:47:01 +0000
Received: from AMSPEX01CL03.citrite.net ([169.254.8.210]) by
	AMSPEX01CL02.citrite.net ([10.69.46.33]) with mapi id 14.03.0181.006;
	Wed, 23 Jul 2014 11:47:00 +0200
From: Dave Scott <Dave.Scott@citrix.com>
To: Thomas Leonard <talex5@gmail.com>
Thread-Topic: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
Thread-Index: AQHPpYuIBxgRhFqKh0q2qXEpVAjF9pur4VKAgAE8hwCAACuggA==
Date: Wed, 23 Jul 2014 09:46:59 +0000
Message-ID: <1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
In-Reply-To: <CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.69.46.1]
Content-ID: <056F14F83DCE7042AFB506FFC55A913F@citrix.com>
MIME-Version: 1.0
X-DLP: AMS1
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


On 23 Jul 2014, at 08:10, Thomas Leonard <talex5@gmail.com> wrote:

> On 22 July 2014 13:17, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>> =

>>> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>>> =

>>>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>>>> =

>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe ->
>>>>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already exists
>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>>>> xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb ->
>>>>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already exists
>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 ->
>>>>> mfn=3D0x000bed87: pfn=3D0x00079bd7 -> mfn=3D0x000bed87 already exists
>>>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a ->
>>>>> mfn=3D0x000bed87: pfn=3D0x00079b2b -> mfn=3D0x000bed87 already exists
>>>> =

>>>> That looks like this bug in Xen/ARM/netback:
>>>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.h=
tml
>>> =

>>> Aha! This seems to fix it (I can browse mirage-www without huge delays):
>>> =

>>> diff --git a/lib/netif.ml b/lib/netif.ml
>>> index 4e02e5e..3cc7760 100644
>>> --- a/lib/netif.ml
>>> +++ b/lib/netif.ml
>>> @@ -455,7 +455,7 @@ let writev nf pages =3D
>>>         lwt rest_th =3D xmit other_pages in
>>>         (* All fragments are now written, we can now notify the backend=
 *)
>>>         Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
>>> -         return ()
>>> +         join rest_th
>>>    )
>>> =

>>> let wait_for_plug nf =3D
>>> =

>>> Not very efficient, but at least it works! Looks like the Xen people
>>> will fix it at some point.
>> =

>> That's going to serialize requests on the TX ring, isn't it?  Might
>> be worth making conditional via a feature flag if it's going to take
>> x86 transmit performance down.
> =

> FLOW.writev is defined as:
> =

>  val writev : flow -> buffer list -> [`Ok of unit | `Eof | `Error of erro=
r ] io
>  (** [writev flow buffers] will block until the contents of [buffer list]
>      are all successfully transmitted to the remote endpoint. The result
>      [`Ok ()] indicates success, [`Eof] indicates that the connection is =
now
>      closed and [`Error] indicates some other error. *)
> =

> I took this to mean that when you get `Ok back, the buffers are no
> longer needed and can be used for something else. Looking at the
> implementation, it seems that `Ok just means that the receiver has
> been given access to the buffers, but might not have read them yet.
> =

> So actually, I think this change might be correct for x86 too,
> although perhaps it should be moved out of the mutex.

Yeah, I think you=92re right!

I think it=92s time to think about running regular performance benchmarks. =
Now that we have the little testvm[1] which can be controlled over vchan/HT=
TP[2], we could add the iperf example code to it and then set up some test =
cases. If we made the tests easy to script then we might be able to run the=
m on the same hardware we use for Xenserver and benchmark them against Wind=
ows and Linux.

I wonder if we=92ll have to expand the FLOW interface a bit. I notice there=
=92s a trend towards offering applications more control over queues (e.g. V=
MDQ) so we might want to do the same. This would allow an app to =91push=92=
 requests onto the queue and block (which would itself block if the queue m=
ax size was hit) and then wait for the work to be completed and the buffers=
 free.

Cheers,
Dave

[1] https://github.com/mirage/xen-testvm
[2] https://github.com/mirage/testvm-idl

> =

> (if you call writev with a singleton list then it does wait inside the
> mutex already)
> =

> =

> -- =

> Dr Thomas Leonard        http://0install.net/
> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 23 12:11:01 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 23 Jul 2014 12:11:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9vNp-0005Wi-H0; Wed, 23 Jul 2014 12:10:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9vNn-0005WV-E2
	for mirageos-devel@lists.xenproject.org; Wed, 23 Jul 2014 12:10:55 +0000
Received: from [193.109.254.147:15975] by server-8.bemta-14.messagelabs.com id
	46/00-07074-E46AFC35; Wed, 23 Jul 2014 12:10:54 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-27.messagelabs.com!1406117453!19063982!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12115 invoked from network); 23 Jul 2014 12:10:53 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-27.messagelabs.com with SMTP;
	23 Jul 2014 12:10:53 -0000
Received: (qmail 24291 invoked by uid 634); 23 Jul 2014 12:10:53 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-134-106.public.wayport.net (HELO [192.168.5.253])
	(64.134.134.106)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 23 Jul 2014 13:10:52 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
Date: Wed, 23 Jul 2014 05:10:49 -0700
Message-Id: <BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
To: David Scott <Dave.Scott@citrix.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 23 Jul 2014, at 02:46, Dave Scott <Dave.Scott@citrix.com> wrote:

> On 23 Jul 2014, at 08:10, Thomas Leonard <talex5@gmail.com> wrote:
> =

>> On 22 July 2014 13:17, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>>> =

>>>> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>>>> =

>>>>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>>>>> =

>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe ->
>>>>>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already exists
>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>>>>> xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb ->
>>>>>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already exists
>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 ->
>>>>>> mfn=3D0x000bed87: pfn=3D0x00079bd7 -> mfn=3D0x000bed87 already exists
>>>>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a ->
>>>>>> mfn=3D0x000bed87: pfn=3D0x00079b2b -> mfn=3D0x000bed87 already exists
>>>>> =

>>>>> That looks like this bug in Xen/ARM/netback:
>>>>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.=
html
>>>> =

>>>> Aha! This seems to fix it (I can browse mirage-www without huge delays=
):
>>>> =

>>>> diff --git a/lib/netif.ml b/lib/netif.ml
>>>> index 4e02e5e..3cc7760 100644
>>>> --- a/lib/netif.ml
>>>> +++ b/lib/netif.ml
>>>> @@ -455,7 +455,7 @@ let writev nf pages =3D
>>>>        lwt rest_th =3D xmit other_pages in
>>>>        (* All fragments are now written, we can now notify the backend=
 *)
>>>>        Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
>>>> -         return ()
>>>> +         join rest_th
>>>>   )
>>>> =

>>>> let wait_for_plug nf =3D
>>>> =

>>>> Not very efficient, but at least it works! Looks like the Xen people
>>>> will fix it at some point.
>>> =

>>> That's going to serialize requests on the TX ring, isn't it?  Might
>>> be worth making conditional via a feature flag if it's going to take
>>> x86 transmit performance down.
>> =

>> FLOW.writev is defined as:
>> =

>> val writev : flow -> buffer list -> [`Ok of unit | `Eof | `Error of erro=
r ] io
>> (** [writev flow buffers] will block until the contents of [buffer list]
>>     are all successfully transmitted to the remote endpoint. The result
>>     [`Ok ()] indicates success, [`Eof] indicates that the connection is =
now
>>     closed and [`Error] indicates some other error. *)
>> =

>> I took this to mean that when you get `Ok back, the buffers are no
>> longer needed and can be used for something else. Looking at the
>> implementation, it seems that `Ok just means that the receiver has
>> been given access to the buffers, but might not have read them yet.
>> =

>> So actually, I think this change might be correct for x86 too,
>> although perhaps it should be moved out of the mutex.
> =

> Yeah, I think you=92re right!
> =


Agreed.  Could you drop in a pull request for that on mirage/mirage-net-xen=
, Thomas?  I'll test and merge on my Cubie to use for the OSCON talk tomorr=
ow (now approaching fast :)

> I think it=92s time to think about running regular performance benchmarks=
. Now that we have the little testvm[1] which can be controlled over vchan/=
HTTP[2], we could add the iperf example code to it and then set up some tes=
t cases. If we made the tests easy to script then we might be able to run t=
hem on the same hardware we use for Xenserver and benchmark them against Wi=
ndows and Linux.
> =


I'd missed this!  I can certainly arrange to have a dedicated Ubuntu box ru=
n the tests regularly here in the Computer Lab and publish them to Git, if =
you can provide an appropriate shell harness.  Testing on both XenServer an=
d Ubuntu's Xen should give us some spread in the software versions.

> I wonder if we=92ll have to expand the FLOW interface a bit. I notice the=
re=92s a trend towards offering applications more control over queues (e.g.=
 VMDQ) so we might want to do the same. This would allow an app to =91push=
=92 requests onto the queue and block (which would itself block if the queu=
e max size was hit) and then wait for the work to be completed and the buff=
ers free.

Yeah, and Core/Async Pipe model is a good way to model the interface here.

-anil


> =

> Cheers,
> Dave
> =

> [1] https://github.com/mirage/xen-testvm
> [2] https://github.com/mirage/testvm-idl
> =

>> =

>> (if you call writev with a singleton list then it does wait inside the
>> mutex already)
>> =

>> =

>> -- =

>> Dr Thomas Leonard        http://0install.net/
>> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
>> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
> =

> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> =



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 23 12:11:01 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 23 Jul 2014 12:11:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1X9vNp-0005Wi-H0; Wed, 23 Jul 2014 12:10:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1X9vNn-0005WV-E2
	for mirageos-devel@lists.xenproject.org; Wed, 23 Jul 2014 12:10:55 +0000
Received: from [193.109.254.147:15975] by server-8.bemta-14.messagelabs.com id
	46/00-07074-E46AFC35; Wed, 23 Jul 2014 12:10:54 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-10.tower-27.messagelabs.com!1406117453!19063982!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12115 invoked from network); 23 Jul 2014 12:10:53 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-10.tower-27.messagelabs.com with SMTP;
	23 Jul 2014 12:10:53 -0000
Received: (qmail 24291 invoked by uid 634); 23 Jul 2014 12:10:53 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-134-106.public.wayport.net (HELO [192.168.5.253])
	(64.134.134.106)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 23 Jul 2014 13:10:52 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
Date: Wed, 23 Jul 2014 05:10:49 -0700
Message-Id: <BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
To: David Scott <Dave.Scott@citrix.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 23 Jul 2014, at 02:46, Dave Scott <Dave.Scott@citrix.com> wrote:

> On 23 Jul 2014, at 08:10, Thomas Leonard <talex5@gmail.com> wrote:
> =

>> On 22 July 2014 13:17, Anil Madhavapeddy <anil@recoil.org> wrote:
>>> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>>> =

>>>> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>>>> =

>>>>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>>>>> =

>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079abe ->
>>>>>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already exists
>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>>>>> xen_add_mach_to_phys_entry: cannot add pfn=3D0x00079bcb ->
>>>>>> mfn=3D0x000bed87: pfn=3D0x000799a6 -> mfn=3D0x000bed87 already exists
>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x00079b70 ->
>>>>>> mfn=3D0x000bed87: pfn=3D0x00079bd7 -> mfn=3D0x000bed87 already exists
>>>>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=3D0x0007999a ->
>>>>>> mfn=3D0x000bed87: pfn=3D0x00079b2b -> mfn=3D0x000bed87 already exists
>>>>> =

>>>>> That looks like this bug in Xen/ARM/netback:
>>>>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.=
html
>>>> =

>>>> Aha! This seems to fix it (I can browse mirage-www without huge delays=
):
>>>> =

>>>> diff --git a/lib/netif.ml b/lib/netif.ml
>>>> index 4e02e5e..3cc7760 100644
>>>> --- a/lib/netif.ml
>>>> +++ b/lib/netif.ml
>>>> @@ -455,7 +455,7 @@ let writev nf pages =3D
>>>>        lwt rest_th =3D xmit other_pages in
>>>>        (* All fragments are now written, we can now notify the backend=
 *)
>>>>        Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
>>>> -         return ()
>>>> +         join rest_th
>>>>   )
>>>> =

>>>> let wait_for_plug nf =3D
>>>> =

>>>> Not very efficient, but at least it works! Looks like the Xen people
>>>> will fix it at some point.
>>> =

>>> That's going to serialize requests on the TX ring, isn't it?  Might
>>> be worth making conditional via a feature flag if it's going to take
>>> x86 transmit performance down.
>> =

>> FLOW.writev is defined as:
>> =

>> val writev : flow -> buffer list -> [`Ok of unit | `Eof | `Error of erro=
r ] io
>> (** [writev flow buffers] will block until the contents of [buffer list]
>>     are all successfully transmitted to the remote endpoint. The result
>>     [`Ok ()] indicates success, [`Eof] indicates that the connection is =
now
>>     closed and [`Error] indicates some other error. *)
>> =

>> I took this to mean that when you get `Ok back, the buffers are no
>> longer needed and can be used for something else. Looking at the
>> implementation, it seems that `Ok just means that the receiver has
>> been given access to the buffers, but might not have read them yet.
>> =

>> So actually, I think this change might be correct for x86 too,
>> although perhaps it should be moved out of the mutex.
> =

> Yeah, I think you=92re right!
> =


Agreed.  Could you drop in a pull request for that on mirage/mirage-net-xen=
, Thomas?  I'll test and merge on my Cubie to use for the OSCON talk tomorr=
ow (now approaching fast :)

> I think it=92s time to think about running regular performance benchmarks=
. Now that we have the little testvm[1] which can be controlled over vchan/=
HTTP[2], we could add the iperf example code to it and then set up some tes=
t cases. If we made the tests easy to script then we might be able to run t=
hem on the same hardware we use for Xenserver and benchmark them against Wi=
ndows and Linux.
> =


I'd missed this!  I can certainly arrange to have a dedicated Ubuntu box ru=
n the tests regularly here in the Computer Lab and publish them to Git, if =
you can provide an appropriate shell harness.  Testing on both XenServer an=
d Ubuntu's Xen should give us some spread in the software versions.

> I wonder if we=92ll have to expand the FLOW interface a bit. I notice the=
re=92s a trend towards offering applications more control over queues (e.g.=
 VMDQ) so we might want to do the same. This would allow an app to =91push=
=92 requests onto the queue and block (which would itself block if the queu=
e max size was hit) and then wait for the work to be completed and the buff=
ers free.

Yeah, and Core/Async Pipe model is a good way to model the interface here.

-anil


> =

> Cheers,
> Dave
> =

> [1] https://github.com/mirage/xen-testvm
> [2] https://github.com/mirage/testvm-idl
> =

>> =

>> (if you call writev with a singleton list then it does wait inside the
>> mutex already)
>> =

>> =

>> -- =

>> Dr Thomas Leonard        http://0install.net/
>> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
>> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
> =

> =

> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> =



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:09:14 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:09:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XA9P0-0008GV-Tt; Thu, 24 Jul 2014 03:09:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XA9Oz-0008GQ-5C
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:09:05 +0000
Received: from [193.109.254.147:11601] by server-16.bemta-14.messagelabs.com
	id 72/1E-14741-0D870D35; Thu, 24 Jul 2014 03:09:04 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-9.tower-27.messagelabs.com!1406171343!19238580!1
X-Originating-IP: [151.236.209.33]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16378 invoked from network); 24 Jul 2014 03:09:03 -0000
Received: from engine01-20433-7.icritical.com (HELO
	engine01-20433-7.icritical.com) (151.236.209.33)
	by server-9.tower-27.messagelabs.com with SMTP;
	24 Jul 2014 03:09:03 -0000
Received: (qmail 4746 invoked from network); 24 Jul 2014 03:09:02 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-7.icritical.com with SMTP; 24 Jul 2014 03:09:02 -0000
Received: from engine01-20433-7.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-7.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 04475-01 for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 04:08:55 +0100 (BST)
Received: (qmail 4705 invoked by uid 599); 24 Jul 2014 03:08:55 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine01-20433-7.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 24 Jul 2014 04:08:55 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XA9Op-0008UV-4n
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 04:08:55 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Thu, 24 Jul 2014 04:08:43 +0100
Thread-Topic: oscon'14 deck
Thread-Index: Ac+m7JndA2LpoltdSQCmiJwF5dqQlw==
Message-ID: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-7.icritical.com
Subject: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0218854926429518292=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0218854926429518292==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_DAD40C26-532D-42F7-98CE-B2CA7C9435CB";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_DAD40C26-532D-42F7-98CE-B2CA7C9435CB
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii

...is now live at decks.openmirage.org -- any last minute comments welcome.

-- 
Cheers,

R.





--Apple-Mail=_DAD40C26-532D-42F7-98CE-B2CA7C9435CB
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT0Hi7AAoJEOLF27JWwSg3UOkP/3NzJ0zZt/0UlhFjRpZs+FX7
uBNXBqViQ61Ml2jeiT7DGH9Yr+JYN6jwn+2OD9LSDY+DoOug3aFIjwKhKHeaTN1+
XKQSisRbPyzeYF9PwFZoYCx6vqfVhm8gzQd6hi/ucwsgX9hw/B2AXOP1xjav2+iM
v0hDcHW2rkhnRff6cC/CpZSLCDB2eK0AUIDYowTd9tvtbuo3zzsyjOyyZRjzBj52
1c2ST/b6VHJlIYAwSvSLV2+9ZiRAZvjXjOwitLeLKVP+BT8+2AeELRoiZP/Mr5ey
MyA1nysTn8TcM/ToOvsL1TUqqNFCEDDOB7X+0l7FSO3rFNBGer3tIMQsUOsJwkfe
ysKKGn1zZYTjME+K9cdgLUyqIH82Hea5KChEuTZ8xQPas+ctkjoqB/HWgkHlcHXw
+wDiLNTsqa2yY7qLj+nQB3+tNbFm1VWj3dHTeSUHeaEEw7DLfU/lhzf+JxWjCyh2
/+BZfOgy9dasF6ChZnPbKGce5yTWOprj+cIysJIa8hcxR7+AHfdQupBHh+3TjBFY
2Woko4iK8LHiAAS0qGKqrm4ml+fPzbEEXco4Qgg6qjxRQxX0+/BmlIoSEDiwGcNk
dJs6mCEgqefcBHMzdrThFgPB6HDs9JgP8wIAETZaejqoya4ctHZSGRkWtEDxYSfO
FpqxCN5RCJLtvk5vFhXq
=5x0c
-----END PGP SIGNATURE-----

--Apple-Mail=_DAD40C26-532D-42F7-98CE-B2CA7C9435CB--


--===============0218854926429518292==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0218854926429518292==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:09:14 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:09:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XA9P0-0008GV-Tt; Thu, 24 Jul 2014 03:09:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XA9Oz-0008GQ-5C
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:09:05 +0000
Received: from [193.109.254.147:11601] by server-16.bemta-14.messagelabs.com
	id 72/1E-14741-0D870D35; Thu, 24 Jul 2014 03:09:04 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-9.tower-27.messagelabs.com!1406171343!19238580!1
X-Originating-IP: [151.236.209.33]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16378 invoked from network); 24 Jul 2014 03:09:03 -0000
Received: from engine01-20433-7.icritical.com (HELO
	engine01-20433-7.icritical.com) (151.236.209.33)
	by server-9.tower-27.messagelabs.com with SMTP;
	24 Jul 2014 03:09:03 -0000
Received: (qmail 4746 invoked from network); 24 Jul 2014 03:09:02 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-7.icritical.com with SMTP; 24 Jul 2014 03:09:02 -0000
Received: from engine01-20433-7.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-7.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 04475-01 for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 04:08:55 +0100 (BST)
Received: (qmail 4705 invoked by uid 599); 24 Jul 2014 03:08:55 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine01-20433-7.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 24 Jul 2014 04:08:55 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XA9Op-0008UV-4n
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 04:08:55 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Thu, 24 Jul 2014 04:08:43 +0100
Thread-Topic: oscon'14 deck
Thread-Index: Ac+m7JndA2LpoltdSQCmiJwF5dqQlw==
Message-ID: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-7.icritical.com
Subject: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0218854926429518292=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0218854926429518292==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_DAD40C26-532D-42F7-98CE-B2CA7C9435CB";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_DAD40C26-532D-42F7-98CE-B2CA7C9435CB
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii

...is now live at decks.openmirage.org -- any last minute comments welcome.

-- 
Cheers,

R.





--Apple-Mail=_DAD40C26-532D-42F7-98CE-B2CA7C9435CB
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT0Hi7AAoJEOLF27JWwSg3UOkP/3NzJ0zZt/0UlhFjRpZs+FX7
uBNXBqViQ61Ml2jeiT7DGH9Yr+JYN6jwn+2OD9LSDY+DoOug3aFIjwKhKHeaTN1+
XKQSisRbPyzeYF9PwFZoYCx6vqfVhm8gzQd6hi/ucwsgX9hw/B2AXOP1xjav2+iM
v0hDcHW2rkhnRff6cC/CpZSLCDB2eK0AUIDYowTd9tvtbuo3zzsyjOyyZRjzBj52
1c2ST/b6VHJlIYAwSvSLV2+9ZiRAZvjXjOwitLeLKVP+BT8+2AeELRoiZP/Mr5ey
MyA1nysTn8TcM/ToOvsL1TUqqNFCEDDOB7X+0l7FSO3rFNBGer3tIMQsUOsJwkfe
ysKKGn1zZYTjME+K9cdgLUyqIH82Hea5KChEuTZ8xQPas+ctkjoqB/HWgkHlcHXw
+wDiLNTsqa2yY7qLj+nQB3+tNbFm1VWj3dHTeSUHeaEEw7DLfU/lhzf+JxWjCyh2
/+BZfOgy9dasF6ChZnPbKGce5yTWOprj+cIysJIa8hcxR7+AHfdQupBHh+3TjBFY
2Woko4iK8LHiAAS0qGKqrm4ml+fPzbEEXco4Qgg6qjxRQxX0+/BmlIoSEDiwGcNk
dJs6mCEgqefcBHMzdrThFgPB6HDs9JgP8wIAETZaejqoya4ctHZSGRkWtEDxYSfO
FpqxCN5RCJLtvk5vFhXq
=5x0c
-----END PGP SIGNATURE-----

--Apple-Mail=_DAD40C26-532D-42F7-98CE-B2CA7C9435CB--


--===============0218854926429518292==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0218854926429518292==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:32:24 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:32:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XA9lW-0000B5-A6; Thu, 24 Jul 2014 03:32:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XA9lU-0000B0-IF
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:32:21 +0000
Received: from [85.158.143.35:44455] by server-2.bemta-4.messagelabs.com id
	99/E3-04525-34E70D35; Thu, 24 Jul 2014 03:32:19 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-21.messagelabs.com!1406172738!12457299!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.2 required=7.0 tests=MIME_QP_LONG_LINE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19690 invoked from network); 24 Jul 2014 03:32:18 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-21.messagelabs.com with SMTP;
	24 Jul 2014 03:32:18 -0000
Received: (qmail 6069 invoked by uid 634); 24 Jul 2014 03:32:18 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-134-106.public.wayport.net (HELO [192.168.5.66])
	(64.134.134.106)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 24 Jul 2014 04:32:14 +0100
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
Mime-Version: 1.0 (1.0)
In-Reply-To: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
Content-Type: multipart/mixed;
	boundary=Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Transfer-Encoding: 7bit
Message-Id: <62376D48-E312-4385-93F6-2F941F9EB4DF@recoil.org>
X-Mailer: iPhone Mail (11D257)
From: Anil Madhavapeddy <anil@recoil.org>
Date: Wed, 23 Jul 2014 20:32:07 -0700
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: quoted-printable

And with Thomas' mirage-net-xen fix, it's being served off my Cubieboard2 no=
w!

-anil


--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Type: image/jpeg;
	name=image.jpeg
Content-Disposition: inline;
	filename=image.jpeg
Content-Transfer-Encoding: base64

/9j/4Q/+RXhpZgAATU0AKgAAAAgACwEPAAIAAAAQAAAAkgEQAAIAAAAHAAAAogESAAMAAAABAAYA
AAEaAAUAAAABAAAAqgEbAAUAAAABAAAAsgEoAAMAAAABAAIAAAExAAIAAAAGAAAAugEyAAIAAAAU
AAAAwAITAAMAAAABAAEAAIdpAAQAAAABAAAA1IglAAQAAAABAAADogAAAABBcHBsZSArIFBybyBI
RFIAaVBob25lAAAAAABIAAAAAQAAAEgAAAABNy4xLjIAMjAxNDowNzoyMyAyMDoyOToxNAAAHYKa
AAUAAAABAAACNoKdAAUAAAABAAACPogiAAMAAAABAAIAAIgnAAMAAAABAMgAAJAAAAcAAAAEMDIy
MZADAAIAAAAUAAACRpAEAAIAAAAUAAACWpEBAAcAAAAEAQIDAJIBAAoAAAABAAACbpICAAUAAAAB
AAACdpIDAAoAAAABAAACfpIHAAMAAAABAAMAAJIJAAMAAAABABAAAJIKAAUAAAABAAAChpIUAAMA
AAAEAAACjpJ8AAcAAADEAAAClqAAAAcAAAAEMDEwMKABAAMAAAABAAEAAKACAAQAAAABAAAMwKAD
AAQAAAABAAAJkKIXAAMAAAABAAIAAKMBAAcAAAABAQAAAKQCAAMAAAABAAAAAKQDAAMAAAABAAAA
AKQFAAMAAAABACEAAKQGAAMAAAABAAAAAKQyAAUAAAAEAAADWqQzAAIAAAAGAAADeqQ0AAIAAAAi
AAADgAAAAAAAAAABAAAAFAAAAAwAAAAFMjAxNDowNzoyMyAyMDoyOToxNAAyMDE0OjA3OjIzIDIw
OjI5OjE0AAAADtcAAANvAAAS7QAAB34AAAyIAAAKewAAAGcAAAAZBl8ExwNxA3FBcHBsZSBpT1MA
AAFNTQAGAAEACQAAAAEAAAAAAAMABwAAAGgAAABcAAQACQAAAAEAAAABAAUACQAAAAEAAACkAAYA
CQAAAAEAAACgAAcACQAAAAEAAAABAAAAAGJwbGlzdDAw1AECAwQFBgcIWXRpbWVzY2FsZVV2YWx1
ZVVlcG9jaFVmbGFncxI7msoAEwAAmEJ7m8aGEAAQAQgRGyEnLTI7PQAAAAAAAAEBAAAAAAAAAAkA
AAAAAAAAAAAAAAAAAAA/AAAAZwAAABkAAABnAAAAGQAAAAwAAAAFAAAADAAAAAVBcHBsZQBpUGhv
bmUgNSBiYWNrIGNhbWVyYSA0LjEybW0gZi8yLjQAAAoAAQACAAAAAk4AAAAAAgAFAAAAAwAABCAA
AwACAAAAAlcAAAAABAAFAAAAAwAABDgABQABAAAAAQAAAAAABgAFAAAAAQAABFAABwAFAAAAAwAA
BFgAEAACAAAAAlQAAAAAEQAFAAAAAQAABHAAHQACAAAACwAABHgAAAAAAAAALQAAAAEAAAAfAAAA
AQAAE5AAAABkAAAAegAAAAEAAAAnAAAAAQAABz4AAABkAAA3gwAAAT8AAAADAAAAAQAAAB0AAAAB
AAAADgAAAAEAADX/AAAARzIwMTQ6MDc6MjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9sAhAAB
AQEBAQEBAQEBAQEBAQIEAgICAgIEAwMCBAUFBgYFBQUFBgcJBwYGCAYFBQgKCAgJCQoKCgYHCwwL
CgwJCgoJAQEBAQICAgQCAgQJBgUGCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJ
CQkJCQkJCQkJCQkJCQn/3QAEACj/wAARCAH8AoADASIAAhEBAxEB/8QBogAAAQUBAQEBAQEAAAAA
AAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj
QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpz
dHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX
2Nna4eLj5OXm5+jp6vHy8/T19vf4+foBAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxEAAgEC
BAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcY
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
--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: quoted-printable



> On 23 Jul 2014, at 20:08, Richard Mortier <Richard.Mortier@nottingham.ac.u=
k> wrote:
>=20
> ...is now live at decks.openmirage.org -- any last minute comments welcome=
.
>=20
> --=20
> Cheers,
>=20
> R.
>=20
>=20
>=20
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:32:24 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:32:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XA9lW-0000B5-A6; Thu, 24 Jul 2014 03:32:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XA9lU-0000B0-IF
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:32:21 +0000
Received: from [85.158.143.35:44455] by server-2.bemta-4.messagelabs.com id
	99/E3-04525-34E70D35; Thu, 24 Jul 2014 03:32:19 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-13.tower-21.messagelabs.com!1406172738!12457299!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.2 required=7.0 tests=MIME_QP_LONG_LINE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19690 invoked from network); 24 Jul 2014 03:32:18 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-13.tower-21.messagelabs.com with SMTP;
	24 Jul 2014 03:32:18 -0000
Received: (qmail 6069 invoked by uid 634); 24 Jul 2014 03:32:18 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-134-106.public.wayport.net (HELO [192.168.5.66])
	(64.134.134.106)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 24 Jul 2014 04:32:14 +0100
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
Mime-Version: 1.0 (1.0)
In-Reply-To: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
Content-Type: multipart/mixed;
	boundary=Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Transfer-Encoding: 7bit
Message-Id: <62376D48-E312-4385-93F6-2F941F9EB4DF@recoil.org>
X-Mailer: iPhone Mail (11D257)
From: Anil Madhavapeddy <anil@recoil.org>
Date: Wed, 23 Jul 2014 20:32:07 -0700
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: quoted-printable

And with Thomas' mirage-net-xen fix, it's being served off my Cubieboard2 no=
w!

-anil


--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Type: image/jpeg;
	name=image.jpeg
Content-Disposition: inline;
	filename=image.jpeg
Content-Transfer-Encoding: base64

/9j/4Q/+RXhpZgAATU0AKgAAAAgACwEPAAIAAAAQAAAAkgEQAAIAAAAHAAAAogESAAMAAAABAAYA
AAEaAAUAAAABAAAAqgEbAAUAAAABAAAAsgEoAAMAAAABAAIAAAExAAIAAAAGAAAAugEyAAIAAAAU
AAAAwAITAAMAAAABAAEAAIdpAAQAAAABAAAA1IglAAQAAAABAAADogAAAABBcHBsZSArIFBybyBI
RFIAaVBob25lAAAAAABIAAAAAQAAAEgAAAABNy4xLjIAMjAxNDowNzoyMyAyMDoyOToxNAAAHYKa
AAUAAAABAAACNoKdAAUAAAABAAACPogiAAMAAAABAAIAAIgnAAMAAAABAMgAAJAAAAcAAAAEMDIy
MZADAAIAAAAUAAACRpAEAAIAAAAUAAACWpEBAAcAAAAEAQIDAJIBAAoAAAABAAACbpICAAUAAAAB
AAACdpIDAAoAAAABAAACfpIHAAMAAAABAAMAAJIJAAMAAAABABAAAJIKAAUAAAABAAAChpIUAAMA
AAAEAAACjpJ8AAcAAADEAAAClqAAAAcAAAAEMDEwMKABAAMAAAABAAEAAKACAAQAAAABAAAMwKAD
AAQAAAABAAAJkKIXAAMAAAABAAIAAKMBAAcAAAABAQAAAKQCAAMAAAABAAAAAKQDAAMAAAABAAAA
AKQFAAMAAAABACEAAKQGAAMAAAABAAAAAKQyAAUAAAAEAAADWqQzAAIAAAAGAAADeqQ0AAIAAAAi
AAADgAAAAAAAAAABAAAAFAAAAAwAAAAFMjAxNDowNzoyMyAyMDoyOToxNAAyMDE0OjA3OjIzIDIw
OjI5OjE0AAAADtcAAANvAAAS7QAAB34AAAyIAAAKewAAAGcAAAAZBl8ExwNxA3FBcHBsZSBpT1MA
AAFNTQAGAAEACQAAAAEAAAAAAAMABwAAAGgAAABcAAQACQAAAAEAAAABAAUACQAAAAEAAACkAAYA
CQAAAAEAAACgAAcACQAAAAEAAAABAAAAAGJwbGlzdDAw1AECAwQFBgcIWXRpbWVzY2FsZVV2YWx1
ZVVlcG9jaFVmbGFncxI7msoAEwAAmEJ7m8aGEAAQAQgRGyEnLTI7PQAAAAAAAAEBAAAAAAAAAAkA
AAAAAAAAAAAAAAAAAAA/AAAAZwAAABkAAABnAAAAGQAAAAwAAAAFAAAADAAAAAVBcHBsZQBpUGhv
bmUgNSBiYWNrIGNhbWVyYSA0LjEybW0gZi8yLjQAAAoAAQACAAAAAk4AAAAAAgAFAAAAAwAABCAA
AwACAAAAAlcAAAAABAAFAAAAAwAABDgABQABAAAAAQAAAAAABgAFAAAAAQAABFAABwAFAAAAAwAA
BFgAEAACAAAAAlQAAAAAEQAFAAAAAQAABHAAHQACAAAACwAABHgAAAAAAAAALQAAAAEAAAAfAAAA
AQAAE5AAAABkAAAAegAAAAEAAAAnAAAAAQAABz4AAABkAAA3gwAAAT8AAAADAAAAAQAAAB0AAAAB
AAAADgAAAAEAADX/AAAARzIwMTQ6MDc6MjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9sAhAAB
AQEBAQEBAQEBAQEBAQIEAgICAgIEAwMCBAUFBgYFBQUFBgcJBwYGCAYFBQgKCAgJCQoKCgYHCwwL
CgwJCgoJAQEBAQICAgQCAgQJBgUGCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJ
CQkJCQkJCQkJCQkJCQn/3QAEACj/wAARCAH8AoADASIAAhEBAxEB/8QBogAAAQUBAQEBAQEAAAAA
AAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj
QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpz
dHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX
2Nna4eLj5OXm5+jp6vHy8/T19vf4+foBAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxEAAgEC
BAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcY
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
--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: quoted-printable



> On 23 Jul 2014, at 20:08, Richard Mortier <Richard.Mortier@nottingham.ac.u=
k> wrote:
>=20
> ...is now live at decks.openmirage.org -- any last minute comments welcome=
.
>=20
> --=20
> Cheers,
>=20
> R.
>=20
>=20
>=20
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--Apple-Mail-B093EB76-8202-4131-9874-ACA3F357A550--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:39:21 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:39:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XA9sH-0000MG-6C; Thu, 24 Jul 2014 03:39:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mindy@somerandomidiot.com>) id 1XA9sF-0000MB-Am
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:39:19 +0000
Received: from [85.158.137.68:53946] by server-10.bemta-3.messagelabs.com id
	19/29-28313-6EF70D35; Thu, 24 Jul 2014 03:39:18 +0000
X-Env-Sender: mindy@somerandomidiot.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1406173157!17658342!1
X-Originating-IP: [217.70.183.196]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjE3LjcwLjE4My4xOTYgPT4gMzk1MTY=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 350 invoked from network); 24 Jul 2014 03:39:17 -0000
Received: from relay4-d.mail.gandi.net (HELO relay4-d.mail.gandi.net)
	(217.70.183.196)
	by server-16.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 Jul 2014 03:39:17 -0000
Received: from mfilter21-d.gandi.net (mfilter21-d.gandi.net [217.70.178.149])
	by relay4-d.mail.gandi.net (Postfix) with ESMTP id 63D0D17207C
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 05:39:17 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mfilter21-d.gandi.net
Received: from relay4-d.mail.gandi.net ([217.70.183.196])
	by mfilter21-d.gandi.net (mfilter21-d.gandi.net [10.0.15.180])
	(amavisd-new, port 10024)
	with ESMTP id jJ7WvQYOIuP4 for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 05:39:15 +0200 (CEST)
X-Originating-IP: 71.86.229.122
Received: from [192.168.1.104] (71-86-229-122.static.ftbg.wi.charter.com
	[71.86.229.122]) (Authenticated sender: guybrush@somerandomidiot.com)
	by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id A5E71172055
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 05:39:15 +0200 (CEST)
Message-ID: <53D07FDE.3080807@somerandomidiot.com>
Date: Wed, 23 Jul 2014 22:39:10 -0500
From: Mindy <mindy@somerandomidiot.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
In-Reply-To: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2881981448362942243=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a multi-part message in MIME format.
--===============2881981448362942243==
Content-Type: multipart/alternative;
 boundary="------------070102010103000604000503"

This is a multi-part message in MIME format.
--------------070102010103000604000503
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Slide 3 looks like a bullet-point-boundary-adjusted version of slide 2 
to me - if there's something different between them, maybe it should be 
highlighted?

This may just be because of my own background, but the slides under (1) 
seem to me to say "you want Mirage because doing systems administration 
at any kind of scale has these pain points and it will help with them, 
and yes also this cool thing is actually usable", but 3-5 is a really 
great call-to-action for our personal lives and the private sphere 
(which is what brought me to Mirage!). I hope the talk will link these 
things a bit more explicitly; it took me a minute's puzzling to figure 
out why I found 3-5 to be a bit abrupt.

I look forward to the outpouring of delight and positive feeling I am 
sure to see on Twitter tomorrow. :)

On 07/23/2014 10:08 PM, Richard Mortier wrote:
> ...is now live at decks.openmirage.org -- any last minute comments welcome.
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--------------070102010103000604000503
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Slide 3 looks like a bullet-point-boundary-adjusted version of slide
    2 to me - if there's something different between them, maybe it
    should be highlighted? <br>
    <br>
    This may just be because of my own background, but the slides under
    (1) seem to me to say "you want Mirage because doing systems
    administration at any kind of scale has these pain points and it
    will help with them, and yes also this cool thing is actually
    usable", but 3-5 is a really great call-to-action for our personal
    lives and the private sphere (which is what brought me to Mirage!).&nbsp;
    I hope the talk will link these things a bit more explicitly; it
    took me a minute's puzzling to figure out why I found 3-5 to be a
    bit abrupt.<br>
    <br>
    I look forward to the outpouring of delight and positive feeling I
    am sure to see on Twitter tomorrow. :)<br>
    <br>
    <div class="moz-cite-prefix">On 07/23/2014 10:08 PM, Richard Mortier
      wrote:<br>
    </div>
    <blockquote
      cite="mid:44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk"
      type="cite">
      <pre wrap="">...is now live at decks.openmirage.org -- any last minute comments welcome.

</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
MirageOS-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a>
<a class="moz-txt-link-freetext" href="http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------070102010103000604000503--


--===============2881981448362942243==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2881981448362942243==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:39:21 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:39:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XA9sH-0000MG-6C; Thu, 24 Jul 2014 03:39:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mindy@somerandomidiot.com>) id 1XA9sF-0000MB-Am
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:39:19 +0000
Received: from [85.158.137.68:53946] by server-10.bemta-3.messagelabs.com id
	19/29-28313-6EF70D35; Thu, 24 Jul 2014 03:39:18 +0000
X-Env-Sender: mindy@somerandomidiot.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1406173157!17658342!1
X-Originating-IP: [217.70.183.196]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjE3LjcwLjE4My4xOTYgPT4gMzk1MTY=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 350 invoked from network); 24 Jul 2014 03:39:17 -0000
Received: from relay4-d.mail.gandi.net (HELO relay4-d.mail.gandi.net)
	(217.70.183.196)
	by server-16.tower-31.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 Jul 2014 03:39:17 -0000
Received: from mfilter21-d.gandi.net (mfilter21-d.gandi.net [217.70.178.149])
	by relay4-d.mail.gandi.net (Postfix) with ESMTP id 63D0D17207C
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 05:39:17 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mfilter21-d.gandi.net
Received: from relay4-d.mail.gandi.net ([217.70.183.196])
	by mfilter21-d.gandi.net (mfilter21-d.gandi.net [10.0.15.180])
	(amavisd-new, port 10024)
	with ESMTP id jJ7WvQYOIuP4 for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 05:39:15 +0200 (CEST)
X-Originating-IP: 71.86.229.122
Received: from [192.168.1.104] (71-86-229-122.static.ftbg.wi.charter.com
	[71.86.229.122]) (Authenticated sender: guybrush@somerandomidiot.com)
	by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id A5E71172055
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 05:39:15 +0200 (CEST)
Message-ID: <53D07FDE.3080807@somerandomidiot.com>
Date: Wed, 23 Jul 2014 22:39:10 -0500
From: Mindy <mindy@somerandomidiot.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
In-Reply-To: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2881981448362942243=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a multi-part message in MIME format.
--===============2881981448362942243==
Content-Type: multipart/alternative;
 boundary="------------070102010103000604000503"

This is a multi-part message in MIME format.
--------------070102010103000604000503
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Slide 3 looks like a bullet-point-boundary-adjusted version of slide 2 
to me - if there's something different between them, maybe it should be 
highlighted?

This may just be because of my own background, but the slides under (1) 
seem to me to say "you want Mirage because doing systems administration 
at any kind of scale has these pain points and it will help with them, 
and yes also this cool thing is actually usable", but 3-5 is a really 
great call-to-action for our personal lives and the private sphere 
(which is what brought me to Mirage!). I hope the talk will link these 
things a bit more explicitly; it took me a minute's puzzling to figure 
out why I found 3-5 to be a bit abrupt.

I look forward to the outpouring of delight and positive feeling I am 
sure to see on Twitter tomorrow. :)

On 07/23/2014 10:08 PM, Richard Mortier wrote:
> ...is now live at decks.openmirage.org -- any last minute comments welcome.
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--------------070102010103000604000503
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Slide 3 looks like a bullet-point-boundary-adjusted version of slide
    2 to me - if there's something different between them, maybe it
    should be highlighted? <br>
    <br>
    This may just be because of my own background, but the slides under
    (1) seem to me to say "you want Mirage because doing systems
    administration at any kind of scale has these pain points and it
    will help with them, and yes also this cool thing is actually
    usable", but 3-5 is a really great call-to-action for our personal
    lives and the private sphere (which is what brought me to Mirage!).&nbsp;
    I hope the talk will link these things a bit more explicitly; it
    took me a minute's puzzling to figure out why I found 3-5 to be a
    bit abrupt.<br>
    <br>
    I look forward to the outpouring of delight and positive feeling I
    am sure to see on Twitter tomorrow. :)<br>
    <br>
    <div class="moz-cite-prefix">On 07/23/2014 10:08 PM, Richard Mortier
      wrote:<br>
    </div>
    <blockquote
      cite="mid:44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk"
      type="cite">
      <pre wrap="">...is now live at decks.openmirage.org -- any last minute comments welcome.

</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
MirageOS-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a>
<a class="moz-txt-link-freetext" href="http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------070102010103000604000503--


--===============2881981448362942243==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2881981448362942243==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:51:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:51:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAA41-0000YD-MH; Thu, 24 Jul 2014 03:51:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XAA40-0000Y8-L4
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:51:28 +0000
Received: from [85.158.137.68:55307] by server-2.bemta-3.messagelabs.com id
	56/49-09149-FB280D35; Thu, 24 Jul 2014 03:51:27 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-16.tower-31.messagelabs.com!1406173886!17659208!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_60_70,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15402 invoked from network); 24 Jul 2014 03:51:26 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-16.tower-31.messagelabs.com with SMTP;
	24 Jul 2014 03:51:26 -0000
Received: (qmail 24765 invoked from network); 24 Jul 2014 03:51:25 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 24 Jul 2014 03:51:25 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 23884-02 for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 04:51:18 +0100 (BST)
Received: (qmail 24713 invoked by uid 599); 24 Jul 2014 03:51:18 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 24 Jul 2014 04:51:18 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XAA3q-0000MB-8N; Thu, 24 Jul 2014 04:51:18 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Mindy <mindy@somerandomidiot.com>
Date: Thu, 24 Jul 2014 04:51:14 +0100
Thread-Topic: [MirageOS-devel] oscon'14 deck
Thread-Index: Ac+m8oXRtajQLRfSTreac2AypmuEkQ==
Message-ID: <80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk>
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
	<53D07FDE.3080807@somerandomidiot.com>
In-Reply-To: <53D07FDE.3080807@somerandomidiot.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1982896533035352857=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1982896533035352857==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_EB1D12F2-8C0F-46AB-ACDA-EC5AC119E9E0";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_EB1D12F2-8C0F-46AB-ACDA-EC5AC119E9E0
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_AD0C5B27-B60B-4C8C-93E9-0277EE5B6E25"


--Apple-Mail=_AD0C5B27-B60B-4C8C-93E9-0277EE5B6E25
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

i suspect the sheer awesome power of reveal.js has not been revealed :)  =
(admittedly the complete lack of instructions is not helpful here... ;)=20=


it's a 2-d deck -- use the down arrow as well (when the navigation =
arrows in the bottom right corner indicate it highlighted)...

On 23 Jul 2014, at 20:39, Mindy <mindy@somerandomidiot.com> wrote:

> Slide 3 looks like a bullet-point-boundary-adjusted version of slide 2 =
to me - if there's something different between them, maybe it should be =
highlighted?=20
>=20
> This may just be because of my own background, but the slides under =
(1) seem to me to say "you want Mirage because doing systems =
administration at any kind of scale has these pain points and it will =
help with them, and yes also this cool thing is actually usable", but =
3-5 is a really great call-to-action for our personal lives and the =
private sphere (which is what brought me to Mirage!).  I hope the talk =
will link these things a bit more explicitly; it took me a minute's =
puzzling to figure out why I found 3-5 to be a bit abrupt.
>=20
> I look forward to the outpouring of delight and positive feeling I am =
sure to see on Twitter tomorrow. :)
>=20
> On 07/23/2014 10:08 PM, Richard Mortier wrote:
>> ...is now live at decks.openmirage.org -- any last minute comments =
welcome.
>>=20
>>=20
>>=20
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--=20
Cheers,

R.





--Apple-Mail=_AD0C5B27-B60B-4C8C-93E9-0277EE5B6E25
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">i =
suspect the sheer awesome power of reveal.js has not been revealed :) =
&nbsp;(admittedly the complete lack of instructions is not helpful =
here... ;)&nbsp;<div><br></div><div>it's a 2-d deck -- use the down =
arrow as well (when the navigation arrows in the bottom right corner =
indicate it highlighted)...</div><div><div><br><div><div>On 23 Jul 2014, =
at 20:39, Mindy &lt;<a =
href=3D"mailto:mindy@somerandomidiot.com">mindy@somerandomidiot.com</a>&gt=
; wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite">
 =20
    <meta content=3D"text/html; charset=3DISO-8859-1" =
http-equiv=3D"Content-Type">
 =20
  <div text=3D"#000000" bgcolor=3D"#FFFFFF">
    Slide 3 looks like a bullet-point-boundary-adjusted version of slide
    2 to me - if there's something different between them, maybe it
    should be highlighted? <br>
    <br>
    This may just be because of my own background, but the slides under
    (1) seem to me to say "you want Mirage because doing systems
    administration at any kind of scale has these pain points and it
    will help with them, and yes also this cool thing is actually
    usable", but 3-5 is a really great call-to-action for our personal
    lives and the private sphere (which is what brought me to =
Mirage!).&nbsp;
    I hope the talk will link these things a bit more explicitly; it
    took me a minute's puzzling to figure out why I found 3-5 to be a
    bit abrupt.<br>
    <br>
    I look forward to the outpouring of delight and positive feeling I
    am sure to see on Twitter tomorrow. :)<br>
    <br>
    <div class=3D"moz-cite-prefix">On 07/23/2014 10:08 PM, Richard =
Mortier
      wrote:<br>
    </div>
    <blockquote =
cite=3D"mid:44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk" =
type=3D"cite">
      <pre wrap=3D"">...is now live at <a =
href=3D"http://decks.openmirage.org">decks.openmirage.org</a> -- any =
last minute comments welcome.

</pre>
      <br>
      <fieldset class=3D"mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap=3D"">_______________________________________________
MirageOS-devel mailing list
<a class=3D"moz-txt-link-abbreviated" =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a>
<a class=3D"moz-txt-link-freetext" =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>=

</pre>
    </blockquote>
    <br>
  </div>

_______________________________________________<br>MirageOS-devel =
mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br><div>
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
font-family: Verdana; border-spacing: 0px;"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; color: =
rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: =
normal; font-weight: normal; letter-spacing: normal; line-height: =
normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; =
text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px;  "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; "><br =
class=3D"Apple-interchange-newline">--</span><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
">&nbsp;</span><span class=3D"Apple-style-span" style=3D"font-family: =
monospace; "><br></span><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; ">Cheers,</span><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
"><br></span><span class=3D"Apple-style-span" style=3D"font-family: =
monospace; "><br></span><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; ">R.</span></div><div><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
"><br></span></div></div></span><br =
class=3D"Apple-interchange-newline"></span><br =
class=3D"Apple-interchange-newline">
</div>
<br></div></div></body></html>=

--Apple-Mail=_AD0C5B27-B60B-4C8C-93E9-0277EE5B6E25--

--Apple-Mail=_EB1D12F2-8C0F-46AB-ACDA-EC5AC119E9E0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT0IKyAAoJEOLF27JWwSg355cP/0UuSPimF8W+ED3aeet0/arP
oGhK8v/AhT5lw4I/yolB8zkno/M+7PuIROrAFmlnT4msphsIuy+n+tRKFmpKJKAX
RyK7EDP4mTU0WIRb89oa1aDN7Z3VGDKNL/gEL6dmX1Cp9V8W9fY1yZDx7jIMvfCh
9Y9p5Vp5PBhxeDMa3xwhlv4FrrqGV9uVw8MVxcCahYb+q4c6W1udV9TWrktCWoCG
FnGUjvd2PcrMYPOJk7rgmg877u+nw9quvGqoNdCy/WBLnwJdmpxslUGJg7R7b1EO
fVlK9z8VSj1Tfnn7l6j3uWHqRBQPFlkvvALcGUGsLXzcxY7ApngFdNkRCtr74mxZ
WFW2kez54oDWznA6PU+xEADm4LQkTJ97JdU/CCVAsSb2Kk9+tnkRRWx87wAiJ5PN
485OT1OyhwWE2k28plEw+i4nx4dWKdZz3wEWjvcIP9ZntD4BOe6L3P6/b9EoYOuH
Qi2K9OQyUg+plvhPKh6FL7k82fZGDwGCZiApsw3tbWN1ippNVrF0IdkKJBCuuqEy
jRapz7P9z2gUfPsfIX6iIrDpZt5c9nMLB4jVCR/D70DYS2gdJPMoBTbPB+4fdl3s
5PFr4p19mlaKU9umqs50EJCVFegFXNJz1DAapYBUlVPANciGXqEutT5y1/Kb+uCs
8nlolLiaxZHLk1xca3Se
=RSUo
-----END PGP SIGNATURE-----

--Apple-Mail=_EB1D12F2-8C0F-46AB-ACDA-EC5AC119E9E0--


--===============1982896533035352857==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1982896533035352857==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:51:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:51:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAA41-0000YD-MH; Thu, 24 Jul 2014 03:51:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XAA40-0000Y8-L4
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:51:28 +0000
Received: from [85.158.137.68:55307] by server-2.bemta-3.messagelabs.com id
	56/49-09149-FB280D35; Thu, 24 Jul 2014 03:51:27 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-16.tower-31.messagelabs.com!1406173886!17659208!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_60_70,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15402 invoked from network); 24 Jul 2014 03:51:26 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-16.tower-31.messagelabs.com with SMTP;
	24 Jul 2014 03:51:26 -0000
Received: (qmail 24765 invoked from network); 24 Jul 2014 03:51:25 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 24 Jul 2014 03:51:25 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 23884-02 for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 04:51:18 +0100 (BST)
Received: (qmail 24713 invoked by uid 599); 24 Jul 2014 03:51:18 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 24 Jul 2014 04:51:18 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XAA3q-0000MB-8N; Thu, 24 Jul 2014 04:51:18 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Mindy <mindy@somerandomidiot.com>
Date: Thu, 24 Jul 2014 04:51:14 +0100
Thread-Topic: [MirageOS-devel] oscon'14 deck
Thread-Index: Ac+m8oXRtajQLRfSTreac2AypmuEkQ==
Message-ID: <80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk>
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
	<53D07FDE.3080807@somerandomidiot.com>
In-Reply-To: <53D07FDE.3080807@somerandomidiot.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1982896533035352857=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1982896533035352857==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_EB1D12F2-8C0F-46AB-ACDA-EC5AC119E9E0";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_EB1D12F2-8C0F-46AB-ACDA-EC5AC119E9E0
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_AD0C5B27-B60B-4C8C-93E9-0277EE5B6E25"


--Apple-Mail=_AD0C5B27-B60B-4C8C-93E9-0277EE5B6E25
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

i suspect the sheer awesome power of reveal.js has not been revealed :)  =
(admittedly the complete lack of instructions is not helpful here... ;)=20=


it's a 2-d deck -- use the down arrow as well (when the navigation =
arrows in the bottom right corner indicate it highlighted)...

On 23 Jul 2014, at 20:39, Mindy <mindy@somerandomidiot.com> wrote:

> Slide 3 looks like a bullet-point-boundary-adjusted version of slide 2 =
to me - if there's something different between them, maybe it should be =
highlighted?=20
>=20
> This may just be because of my own background, but the slides under =
(1) seem to me to say "you want Mirage because doing systems =
administration at any kind of scale has these pain points and it will =
help with them, and yes also this cool thing is actually usable", but =
3-5 is a really great call-to-action for our personal lives and the =
private sphere (which is what brought me to Mirage!).  I hope the talk =
will link these things a bit more explicitly; it took me a minute's =
puzzling to figure out why I found 3-5 to be a bit abrupt.
>=20
> I look forward to the outpouring of delight and positive feeling I am =
sure to see on Twitter tomorrow. :)
>=20
> On 07/23/2014 10:08 PM, Richard Mortier wrote:
>> ...is now live at decks.openmirage.org -- any last minute comments =
welcome.
>>=20
>>=20
>>=20
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--=20
Cheers,

R.





--Apple-Mail=_AD0C5B27-B60B-4C8C-93E9-0277EE5B6E25
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">i =
suspect the sheer awesome power of reveal.js has not been revealed :) =
&nbsp;(admittedly the complete lack of instructions is not helpful =
here... ;)&nbsp;<div><br></div><div>it's a 2-d deck -- use the down =
arrow as well (when the navigation arrows in the bottom right corner =
indicate it highlighted)...</div><div><div><br><div><div>On 23 Jul 2014, =
at 20:39, Mindy &lt;<a =
href=3D"mailto:mindy@somerandomidiot.com">mindy@somerandomidiot.com</a>&gt=
; wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite">
 =20
    <meta content=3D"text/html; charset=3DISO-8859-1" =
http-equiv=3D"Content-Type">
 =20
  <div text=3D"#000000" bgcolor=3D"#FFFFFF">
    Slide 3 looks like a bullet-point-boundary-adjusted version of slide
    2 to me - if there's something different between them, maybe it
    should be highlighted? <br>
    <br>
    This may just be because of my own background, but the slides under
    (1) seem to me to say "you want Mirage because doing systems
    administration at any kind of scale has these pain points and it
    will help with them, and yes also this cool thing is actually
    usable", but 3-5 is a really great call-to-action for our personal
    lives and the private sphere (which is what brought me to =
Mirage!).&nbsp;
    I hope the talk will link these things a bit more explicitly; it
    took me a minute's puzzling to figure out why I found 3-5 to be a
    bit abrupt.<br>
    <br>
    I look forward to the outpouring of delight and positive feeling I
    am sure to see on Twitter tomorrow. :)<br>
    <br>
    <div class=3D"moz-cite-prefix">On 07/23/2014 10:08 PM, Richard =
Mortier
      wrote:<br>
    </div>
    <blockquote =
cite=3D"mid:44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk" =
type=3D"cite">
      <pre wrap=3D"">...is now live at <a =
href=3D"http://decks.openmirage.org">decks.openmirage.org</a> -- any =
last minute comments welcome.

</pre>
      <br>
      <fieldset class=3D"mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap=3D"">_______________________________________________
MirageOS-devel mailing list
<a class=3D"moz-txt-link-abbreviated" =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a>
<a class=3D"moz-txt-link-freetext" =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>=

</pre>
    </blockquote>
    <br>
  </div>

_______________________________________________<br>MirageOS-devel =
mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br>http://lists.xenproject.org/cgi-bin/mailman/listinfo/=
mirageos-devel<br></blockquote></div><br><div>
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
font-family: Verdana; border-spacing: 0px;"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; color: =
rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: =
normal; font-weight: normal; letter-spacing: normal; line-height: =
normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; =
text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px;  "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; "><br =
class=3D"Apple-interchange-newline">--</span><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
">&nbsp;</span><span class=3D"Apple-style-span" style=3D"font-family: =
monospace; "><br></span><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; ">Cheers,</span><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
"><br></span><span class=3D"Apple-style-span" style=3D"font-family: =
monospace; "><br></span><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; ">R.</span></div><div><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
"><br></span></div></div></span><br =
class=3D"Apple-interchange-newline"></span><br =
class=3D"Apple-interchange-newline">
</div>
<br></div></div></body></html>=

--Apple-Mail=_AD0C5B27-B60B-4C8C-93E9-0277EE5B6E25--

--Apple-Mail=_EB1D12F2-8C0F-46AB-ACDA-EC5AC119E9E0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT0IKyAAoJEOLF27JWwSg355cP/0UuSPimF8W+ED3aeet0/arP
oGhK8v/AhT5lw4I/yolB8zkno/M+7PuIROrAFmlnT4msphsIuy+n+tRKFmpKJKAX
RyK7EDP4mTU0WIRb89oa1aDN7Z3VGDKNL/gEL6dmX1Cp9V8W9fY1yZDx7jIMvfCh
9Y9p5Vp5PBhxeDMa3xwhlv4FrrqGV9uVw8MVxcCahYb+q4c6W1udV9TWrktCWoCG
FnGUjvd2PcrMYPOJk7rgmg877u+nw9quvGqoNdCy/WBLnwJdmpxslUGJg7R7b1EO
fVlK9z8VSj1Tfnn7l6j3uWHqRBQPFlkvvALcGUGsLXzcxY7ApngFdNkRCtr74mxZ
WFW2kez54oDWznA6PU+xEADm4LQkTJ97JdU/CCVAsSb2Kk9+tnkRRWx87wAiJ5PN
485OT1OyhwWE2k28plEw+i4nx4dWKdZz3wEWjvcIP9ZntD4BOe6L3P6/b9EoYOuH
Qi2K9OQyUg+plvhPKh6FL7k82fZGDwGCZiApsw3tbWN1ippNVrF0IdkKJBCuuqEy
jRapz7P9z2gUfPsfIX6iIrDpZt5c9nMLB4jVCR/D70DYS2gdJPMoBTbPB+4fdl3s
5PFr4p19mlaKU9umqs50EJCVFegFXNJz1DAapYBUlVPANciGXqEutT5y1/Kb+uCs
8nlolLiaxZHLk1xca3Se
=RSUo
-----END PGP SIGNATURE-----

--Apple-Mail=_EB1D12F2-8C0F-46AB-ACDA-EC5AC119E9E0--


--===============1982896533035352857==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1982896533035352857==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:56:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:56:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAA8y-0000aJ-8x; Thu, 24 Jul 2014 03:56:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mindy@somerandomidiot.com>) id 1XAA8x-0000aE-Dj
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:56:35 +0000
Received: from [85.158.143.35:22014] by server-3.bemta-4.messagelabs.com id
	C1/38-06192-2F380D35; Thu, 24 Jul 2014 03:56:34 +0000
X-Env-Sender: mindy@somerandomidiot.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1406174193!19745264!1
X-Originating-IP: [217.70.183.198]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_60_70,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11849 invoked from network); 24 Jul 2014 03:56:33 -0000
Received: from relay6-d.mail.gandi.net (HELO relay6-d.mail.gandi.net)
	(217.70.183.198)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 Jul 2014 03:56:33 -0000
Received: from mfilter20-d.gandi.net (mfilter20-d.gandi.net [217.70.178.148])
	by relay6-d.mail.gandi.net (Postfix) with ESMTP id 06648FB87E;
	Thu, 24 Jul 2014 05:56:33 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mfilter20-d.gandi.net
Received: from relay6-d.mail.gandi.net ([217.70.183.198])
	by mfilter20-d.gandi.net (mfilter20-d.gandi.net [10.0.15.180])
	(amavisd-new, port 10024)
	with ESMTP id Ncx3N7WiJKmw; Thu, 24 Jul 2014 05:56:31 +0200 (CEST)
X-Originating-IP: 71.86.229.122
Received: from [192.168.1.104] (71-86-229-122.static.ftbg.wi.charter.com
	[71.86.229.122]) (Authenticated sender: guybrush@somerandomidiot.com)
	by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 97756FB874;
	Thu, 24 Jul 2014 05:56:30 +0200 (CEST)
Message-ID: <53D083E9.7080209@somerandomidiot.com>
Date: Wed, 23 Jul 2014 22:56:25 -0500
From: Mindy <mindy@somerandomidiot.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
	<53D07FDE.3080807@somerandomidiot.com>
	<80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk>
In-Reply-To: <80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3789956172720138910=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a multi-part message in MIME format.
--===============3789956172720138910==
Content-Type: multipart/alternative;
 boundary="------------050606030609000701040807"

This is a multi-part message in MIME format.
--------------050606030609000701040807
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Aha, so you *always* give the talk progressing downward, such that you 
visit 3 after the last slide in 2.  I had imagined the 2D functionality 
as allowing for digressions/elaborations, kind of like backup slides.

Anyway, sorry for the confusion!  GUIs are tough; let's go systems 
programming.

On 07/23/2014 10:51 PM, Richard Mortier wrote:
> i suspect the sheer awesome power of reveal.js has not been revealed 
> :)  (admittedly the complete lack of instructions is not helpful 
> here... ;)
>
> it's a 2-d deck -- use the down arrow as well (when the navigation 
> arrows in the bottom right corner indicate it highlighted)...
>
> On 23 Jul 2014, at 20:39, Mindy <mindy@somerandomidiot.com 
> <mailto:mindy@somerandomidiot.com>> wrote:
>
>> Slide 3 looks like a bullet-point-boundary-adjusted version of slide 
>> 2 to me - if there's something different between them, maybe it 
>> should be highlighted?
>>
>> This may just be because of my own background, but the slides under 
>> (1) seem to me to say "you want Mirage because doing systems 
>> administration at any kind of scale has these pain points and it will 
>> help with them, and yes also this cool thing is actually usable", but 
>> 3-5 is a really great call-to-action for our personal lives and the 
>> private sphere (which is what brought me to Mirage!).  I hope the 
>> talk will link these things a bit more explicitly; it took me a 
>> minute's puzzling to figure out why I found 3-5 to be a bit abrupt.
>>
>> I look forward to the outpouring of delight and positive feeling I am 
>> sure to see on Twitter tomorrow. :)
>>
>> On 07/23/2014 10:08 PM, Richard Mortier wrote:
>>> ...is now live atdecks.openmirage.org  <http://decks.openmirage.org>  -- any last minute comments welcome.
>>>
>>>
>>>
>>> _______________________________________________
>>> MirageOS-devel mailing list
>>> MirageOS-devel@lists.xenproject.org
>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>>
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org 
>> <mailto:MirageOS-devel@lists.xenproject.org>
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>
>
> --
> Cheers,
>
> R.
>
>
>
>


--------------050606030609000701040807
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Aha, so you *always* give the talk progressing downward, such that
    you visit 3 after the last slide in 2.&nbsp; I had imagined the 2D
    functionality as allowing for digressions/elaborations, kind of like
    backup slides.<br>
    <br>
    Anyway, sorry for the confusion!&nbsp; GUIs are tough; let's go systems
    programming.<br>
    <br>
    <div class="moz-cite-prefix">On 07/23/2014 10:51 PM, Richard Mortier
      wrote:<br>
    </div>
    <blockquote
      cite="mid:80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      i suspect the sheer awesome power of reveal.js has not been
      revealed :) &nbsp;(admittedly the complete lack of instructions is not
      helpful here... ;)&nbsp;
      <div><br>
      </div>
      <div>it's a 2-d deck -- use the down arrow as well (when the
        navigation arrows in the bottom right corner indicate it
        highlighted)...</div>
      <div>
        <div><br>
          <div>
            <div>On 23 Jul 2014, at 20:39, Mindy &lt;<a
                moz-do-not-send="true"
                href="mailto:mindy@somerandomidiot.com">mindy@somerandomidiot.com</a>&gt;
              wrote:</div>
            <br class="Apple-interchange-newline">
            <blockquote type="cite">
              <meta content="text/html; charset=ISO-8859-1"
                http-equiv="Content-Type">
              <div text="#000000" bgcolor="#FFFFFF"> Slide 3 looks like
                a bullet-point-boundary-adjusted version of slide 2 to
                me - if there's something different between them, maybe
                it should be highlighted? <br>
                <br>
                This may just be because of my own background, but the
                slides under (1) seem to me to say "you want Mirage
                because doing systems administration at any kind of
                scale has these pain points and it will help with them,
                and yes also this cool thing is actually usable", but
                3-5 is a really great call-to-action for our personal
                lives and the private sphere (which is what brought me
                to Mirage!).&nbsp; I hope the talk will link these things a
                bit more explicitly; it took me a minute's puzzling to
                figure out why I found 3-5 to be a bit abrupt.<br>
                <br>
                I look forward to the outpouring of delight and positive
                feeling I am sure to see on Twitter tomorrow. :)<br>
                <br>
                <div class="moz-cite-prefix">On 07/23/2014 10:08 PM,
                  Richard Mortier wrote:<br>
                </div>
                <blockquote
                  cite="mid:44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk"
                  type="cite">
                  <pre wrap="">...is now live at <a moz-do-not-send="true" href="http://decks.openmirage.org">decks.openmirage.org</a> -- any last minute comments welcome.

</pre>
                  <br>
                  <fieldset class="mimeAttachmentHeader"></fieldset>
                  <br>
                  <pre wrap="">_______________________________________________
MirageOS-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>
</pre>
                </blockquote>
                <br>
              </div>
              _______________________________________________<br>
              MirageOS-devel mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a><br>
<a class="moz-txt-link-freetext" href="http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a><br>
            </blockquote>
          </div>
          <br>
          <div>
            <span class="Apple-style-span" style="border-collapse:
              separate; font-family: Verdana; border-spacing: 0px;"><span
                class="Apple-style-span" style="border-collapse:
                separate; color: rgb(0, 0, 0); font-family: Verdana;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; line-height: normal;
                orphans: 2; text-align: -webkit-auto; text-indent: 0px;
                text-transform: none; white-space: normal; widows: 2;
                word-spacing: 0px; -webkit-border-horizontal-spacing:
                0px; -webkit-border-vertical-spacing: 0px;
                -webkit-text-decorations-in-effect: none;
                -webkit-text-size-adjust: auto;
                -webkit-text-stroke-width: 0px; ">
                <div style="word-wrap: break-word; -webkit-nbsp-mode:
                  space; -webkit-line-break: after-white-space; ">
                  <div><span class="Apple-style-span"
                      style="font-family: monospace; "><br
                        class="Apple-interchange-newline">
                      --</span><span class="Apple-style-span"
                      style="font-family: monospace; ">&nbsp;</span><span
                      class="Apple-style-span" style="font-family:
                      monospace; "><br>
                    </span><span class="Apple-style-span"
                      style="font-family: monospace; ">Cheers,</span><span
                      class="Apple-style-span" style="font-family:
                      monospace; "><br>
                    </span><span class="Apple-style-span"
                      style="font-family: monospace; "><br>
                    </span><span class="Apple-style-span"
                      style="font-family: monospace; ">R.</span></div>
                  <div><span class="Apple-style-span"
                      style="font-family: monospace; "><br>
                    </span></div>
                </div>
              </span><br class="Apple-interchange-newline">
            </span><br class="Apple-interchange-newline">
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------050606030609000701040807--


--===============3789956172720138910==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============3789956172720138910==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 03:56:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 03:56:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAA8y-0000aJ-8x; Thu, 24 Jul 2014 03:56:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mindy@somerandomidiot.com>) id 1XAA8x-0000aE-Dj
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 03:56:35 +0000
Received: from [85.158.143.35:22014] by server-3.bemta-4.messagelabs.com id
	C1/38-06192-2F380D35; Thu, 24 Jul 2014 03:56:34 +0000
X-Env-Sender: mindy@somerandomidiot.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1406174193!19745264!1
X-Originating-IP: [217.70.183.198]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_60_70,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11849 invoked from network); 24 Jul 2014 03:56:33 -0000
Received: from relay6-d.mail.gandi.net (HELO relay6-d.mail.gandi.net)
	(217.70.183.198)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 Jul 2014 03:56:33 -0000
Received: from mfilter20-d.gandi.net (mfilter20-d.gandi.net [217.70.178.148])
	by relay6-d.mail.gandi.net (Postfix) with ESMTP id 06648FB87E;
	Thu, 24 Jul 2014 05:56:33 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mfilter20-d.gandi.net
Received: from relay6-d.mail.gandi.net ([217.70.183.198])
	by mfilter20-d.gandi.net (mfilter20-d.gandi.net [10.0.15.180])
	(amavisd-new, port 10024)
	with ESMTP id Ncx3N7WiJKmw; Thu, 24 Jul 2014 05:56:31 +0200 (CEST)
X-Originating-IP: 71.86.229.122
Received: from [192.168.1.104] (71-86-229-122.static.ftbg.wi.charter.com
	[71.86.229.122]) (Authenticated sender: guybrush@somerandomidiot.com)
	by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 97756FB874;
	Thu, 24 Jul 2014 05:56:30 +0200 (CEST)
Message-ID: <53D083E9.7080209@somerandomidiot.com>
Date: Wed, 23 Jul 2014 22:56:25 -0500
From: Mindy <mindy@somerandomidiot.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
	<53D07FDE.3080807@somerandomidiot.com>
	<80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk>
In-Reply-To: <80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3789956172720138910=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a multi-part message in MIME format.
--===============3789956172720138910==
Content-Type: multipart/alternative;
 boundary="------------050606030609000701040807"

This is a multi-part message in MIME format.
--------------050606030609000701040807
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Aha, so you *always* give the talk progressing downward, such that you 
visit 3 after the last slide in 2.  I had imagined the 2D functionality 
as allowing for digressions/elaborations, kind of like backup slides.

Anyway, sorry for the confusion!  GUIs are tough; let's go systems 
programming.

On 07/23/2014 10:51 PM, Richard Mortier wrote:
> i suspect the sheer awesome power of reveal.js has not been revealed 
> :)  (admittedly the complete lack of instructions is not helpful 
> here... ;)
>
> it's a 2-d deck -- use the down arrow as well (when the navigation 
> arrows in the bottom right corner indicate it highlighted)...
>
> On 23 Jul 2014, at 20:39, Mindy <mindy@somerandomidiot.com 
> <mailto:mindy@somerandomidiot.com>> wrote:
>
>> Slide 3 looks like a bullet-point-boundary-adjusted version of slide 
>> 2 to me - if there's something different between them, maybe it 
>> should be highlighted?
>>
>> This may just be because of my own background, but the slides under 
>> (1) seem to me to say "you want Mirage because doing systems 
>> administration at any kind of scale has these pain points and it will 
>> help with them, and yes also this cool thing is actually usable", but 
>> 3-5 is a really great call-to-action for our personal lives and the 
>> private sphere (which is what brought me to Mirage!).  I hope the 
>> talk will link these things a bit more explicitly; it took me a 
>> minute's puzzling to figure out why I found 3-5 to be a bit abrupt.
>>
>> I look forward to the outpouring of delight and positive feeling I am 
>> sure to see on Twitter tomorrow. :)
>>
>> On 07/23/2014 10:08 PM, Richard Mortier wrote:
>>> ...is now live atdecks.openmirage.org  <http://decks.openmirage.org>  -- any last minute comments welcome.
>>>
>>>
>>>
>>> _______________________________________________
>>> MirageOS-devel mailing list
>>> MirageOS-devel@lists.xenproject.org
>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>>
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org 
>> <mailto:MirageOS-devel@lists.xenproject.org>
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>
>
> --
> Cheers,
>
> R.
>
>
>
>


--------------050606030609000701040807
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Aha, so you *always* give the talk progressing downward, such that
    you visit 3 after the last slide in 2.&nbsp; I had imagined the 2D
    functionality as allowing for digressions/elaborations, kind of like
    backup slides.<br>
    <br>
    Anyway, sorry for the confusion!&nbsp; GUIs are tough; let's go systems
    programming.<br>
    <br>
    <div class="moz-cite-prefix">On 07/23/2014 10:51 PM, Richard Mortier
      wrote:<br>
    </div>
    <blockquote
      cite="mid:80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      i suspect the sheer awesome power of reveal.js has not been
      revealed :) &nbsp;(admittedly the complete lack of instructions is not
      helpful here... ;)&nbsp;
      <div><br>
      </div>
      <div>it's a 2-d deck -- use the down arrow as well (when the
        navigation arrows in the bottom right corner indicate it
        highlighted)...</div>
      <div>
        <div><br>
          <div>
            <div>On 23 Jul 2014, at 20:39, Mindy &lt;<a
                moz-do-not-send="true"
                href="mailto:mindy@somerandomidiot.com">mindy@somerandomidiot.com</a>&gt;
              wrote:</div>
            <br class="Apple-interchange-newline">
            <blockquote type="cite">
              <meta content="text/html; charset=ISO-8859-1"
                http-equiv="Content-Type">
              <div text="#000000" bgcolor="#FFFFFF"> Slide 3 looks like
                a bullet-point-boundary-adjusted version of slide 2 to
                me - if there's something different between them, maybe
                it should be highlighted? <br>
                <br>
                This may just be because of my own background, but the
                slides under (1) seem to me to say "you want Mirage
                because doing systems administration at any kind of
                scale has these pain points and it will help with them,
                and yes also this cool thing is actually usable", but
                3-5 is a really great call-to-action for our personal
                lives and the private sphere (which is what brought me
                to Mirage!).&nbsp; I hope the talk will link these things a
                bit more explicitly; it took me a minute's puzzling to
                figure out why I found 3-5 to be a bit abrupt.<br>
                <br>
                I look forward to the outpouring of delight and positive
                feeling I am sure to see on Twitter tomorrow. :)<br>
                <br>
                <div class="moz-cite-prefix">On 07/23/2014 10:08 PM,
                  Richard Mortier wrote:<br>
                </div>
                <blockquote
                  cite="mid:44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk"
                  type="cite">
                  <pre wrap="">...is now live at <a moz-do-not-send="true" href="http://decks.openmirage.org">decks.openmirage.org</a> -- any last minute comments welcome.

</pre>
                  <br>
                  <fieldset class="mimeAttachmentHeader"></fieldset>
                  <br>
                  <pre wrap="">_______________________________________________
MirageOS-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>
</pre>
                </blockquote>
                <br>
              </div>
              _______________________________________________<br>
              MirageOS-devel mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a><br>
<a class="moz-txt-link-freetext" href="http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a><br>
            </blockquote>
          </div>
          <br>
          <div>
            <span class="Apple-style-span" style="border-collapse:
              separate; font-family: Verdana; border-spacing: 0px;"><span
                class="Apple-style-span" style="border-collapse:
                separate; color: rgb(0, 0, 0); font-family: Verdana;
                font-style: normal; font-variant: normal; font-weight:
                normal; letter-spacing: normal; line-height: normal;
                orphans: 2; text-align: -webkit-auto; text-indent: 0px;
                text-transform: none; white-space: normal; widows: 2;
                word-spacing: 0px; -webkit-border-horizontal-spacing:
                0px; -webkit-border-vertical-spacing: 0px;
                -webkit-text-decorations-in-effect: none;
                -webkit-text-size-adjust: auto;
                -webkit-text-stroke-width: 0px; ">
                <div style="word-wrap: break-word; -webkit-nbsp-mode:
                  space; -webkit-line-break: after-white-space; ">
                  <div><span class="Apple-style-span"
                      style="font-family: monospace; "><br
                        class="Apple-interchange-newline">
                      --</span><span class="Apple-style-span"
                      style="font-family: monospace; ">&nbsp;</span><span
                      class="Apple-style-span" style="font-family:
                      monospace; "><br>
                    </span><span class="Apple-style-span"
                      style="font-family: monospace; ">Cheers,</span><span
                      class="Apple-style-span" style="font-family:
                      monospace; "><br>
                    </span><span class="Apple-style-span"
                      style="font-family: monospace; "><br>
                    </span><span class="Apple-style-span"
                      style="font-family: monospace; ">R.</span></div>
                  <div><span class="Apple-style-span"
                      style="font-family: monospace; "><br>
                    </span></div>
                </div>
              </span><br class="Apple-interchange-newline">
            </span><br class="Apple-interchange-newline">
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------050606030609000701040807--


--===============3789956172720138910==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============3789956172720138910==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 06:34:59 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 06:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XACcB-0004mC-6w; Thu, 24 Jul 2014 06:34:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XACc9-0004m3-OO
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 06:34:53 +0000
Received: from [85.158.137.68:35521] by server-6.bemta-3.messagelabs.com id
	3F/59-29521-D09A0D35; Thu, 24 Jul 2014 06:34:53 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-7.tower-31.messagelabs.com!1406183691!13747539!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1597 invoked from network); 24 Jul 2014 06:34:52 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-7.tower-31.messagelabs.com with SMTP;
	24 Jul 2014 06:34:52 -0000
Received: (qmail 2453 invoked from network); 24 Jul 2014 06:34:50 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 24 Jul 2014 06:34:50 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 00754-06 for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 07:34:42 +0100 (BST)
Received: (qmail 2397 invoked by uid 599); 24 Jul 2014 06:34:42 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 24 Jul 2014 07:34:42 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XACby-0002Ty-M3; Thu, 24 Jul 2014 07:34:42 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Mindy <mindy@somerandomidiot.com>
Date: Thu, 24 Jul 2014 07:34:39 +0100
Thread-Topic: [MirageOS-devel] oscon'14 deck
Thread-Index: Ac+nCVoYUsj0VbWXTmuGYql4HqygOw==
Message-ID: <65021564-20E3-4650-A85D-539D92B407D0@nottingham.ac.uk>
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
	<53D07FDE.3080807@somerandomidiot.com>
	<80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk>
	<53D083E9.7080209@somerandomidiot.com>
In-Reply-To: <53D083E9.7080209@somerandomidiot.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2734701821106913033=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============2734701821106913033==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_F7844DD5-B834-4C8A-9D64-0891B07317D4";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_F7844DD5-B834-4C8A-9D64-0891B07317D4
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_38C06385-1E64-4172-A3D8-401D1CACF194"


--Apple-Mail=_38C06385-1E64-4172-A3D8-401D1CACF194
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1


On 23 Jul 2014, at 20:56, Mindy <mindy@somerandomidiot.com> wrote:

> Aha, so you *always* give the talk progressing downward, such that you =
visit 3 after the last slide in 2.  I had imagined the 2D functionality =
as allowing for digressions/elaborations, kind of like backup slides.

yeah, it should be really. but i'm rarely organised enough to use it =
consistently...
(frankly it feels a bit weird having everything this ready this many =
hours before giving it!)

> Anyway, sorry for the confusion!  GUIs are tough; let's go systems =
programming.

:)

--=20
Cheers,

R.





--Apple-Mail=_38C06385-1E64-4172-A3D8-401D1CACF194
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space;"><br><div><div>On 23 Jul 2014, at 20:56, Mindy &lt;<a =
href=3D"mailto:mindy@somerandomidiot.com">mindy@somerandomidiot.com</a>&gt=
; wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite">
 =20
    <meta content=3D"text/html; charset=3DISO-8859-1" =
http-equiv=3D"Content-Type">
 =20
  <div text=3D"#000000" bgcolor=3D"#FFFFFF">
    Aha, so you *always* give the talk progressing downward, such that
    you visit 3 after the last slide in 2.&nbsp; I had imagined the 2D
    functionality as allowing for digressions/elaborations, kind of like
    backup slides.<br></div></blockquote><div><br></div>yeah, it should =
be really. but i'm rarely organised enough to use it =
consistently...</div><div>(frankly it feels a bit weird having =
everything this ready this many hours before giving =
it!)<br><br><blockquote type=3D"cite"><div text=3D"#000000" =
bgcolor=3D"#FFFFFF">Anyway, sorry for the confusion!&nbsp; GUIs are =
tough; let's go systems
    programming.<br></div></blockquote><div><br></div>:)</div><div><span =
class=3D"Apple-style-span" style=3D"font-family: =
monospace;"><br></span></div><div><span class=3D"Apple-style-span" =
style=3D"font-family: monospace;">--</span><span =
class=3D"Apple-style-span" style=3D"orphans: 2; text-align: =
-webkit-auto; widows: 2; font-family: =
monospace;">&nbsp;</span></div><div apple-content-edited=3D"true"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; color: =
rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: =
normal; font-weight: normal; letter-spacing: normal; line-height: =
normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; =
text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px;  "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Verdana; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
-webkit-auto; text-indent: 0px; text-transform: none; white-space: =
normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: =
0px; -webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px;  "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; ">Cheers,</span><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
"><br></span><span class=3D"Apple-style-span" style=3D"font-family: =
monospace; "><br></span><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; ">R.</span></div><div><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
"><br></span></div></div></span><br =
class=3D"Apple-interchange-newline"></span><br =
class=3D"Apple-interchange-newline">
</div>
<br></body></html>=

--Apple-Mail=_38C06385-1E64-4172-A3D8-401D1CACF194--

--Apple-Mail=_F7844DD5-B834-4C8A-9D64-0891B07317D4
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT0Kj/AAoJEOLF27JWwSg35TAP/2FlRUmAYUw7QW6YpDkq+w63
mmbfCvSQvkFC2+BJtYP78Os6XrNu8q8GdSL/z9F96SWWJP6+UP7WE6k8DRywfbRh
cMl2K8nT/sCFvQuw0HidYDzJAoidFXeESxnU5y7w84dA+3zw2xox4LL00VR/6Qeh
Bc/ps1Rec/Ofof5ju9FRmaauEYK36y1VcFTZYdDWDkNUc9gCldrxdnN1yZWa/UMX
FoK+e/vQvO7xwPiQ+JLioNcxD9h1WifIn0ti+9ISIlqLfjk+RbZW/pZ8XJK9Nv6N
FCZKwoYwZkPbRn9g8RI6RMp+VXc5rJ9Lv05t4JyMHxG2R8mMPFVESqE03dl5fw58
EhvghLKp8TWCBJyIlXM8QdL3+Faj5O9/Qy2IvDIFirSgbAwNRLlfloY88z/+N1rU
3kVUfn4dqC6RaW703W4HCTLXJTpthLVE6YCS7Gb0Cvhgsn6zB/VOVM2iThRUI7UP
hkStY1dW/NofD5LUzG0mihAoax00FIwKEV4VUq3XnShzH3TElg8OVfh5IYqFEYQp
iVNZE1x9qZMVdn2tAzmApoYZMRrz5J+sP202nhRvNZZrnUCDtHf2uvAWc6YlP8qM
HZk9L+1OO8mg7JGny2drSrM/H6fdLPGxa0WaKeFrdkLakVWBV4XU8Ryb52Ehbxpv
ix+D20IW3bTFRB8XI/uO
=7JQx
-----END PGP SIGNATURE-----

--Apple-Mail=_F7844DD5-B834-4C8A-9D64-0891B07317D4--


--===============2734701821106913033==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2734701821106913033==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 06:34:59 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 06:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XACcB-0004mC-6w; Thu, 24 Jul 2014 06:34:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XACc9-0004m3-OO
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 06:34:53 +0000
Received: from [85.158.137.68:35521] by server-6.bemta-3.messagelabs.com id
	3F/59-29521-D09A0D35; Thu, 24 Jul 2014 06:34:53 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-7.tower-31.messagelabs.com!1406183691!13747539!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1597 invoked from network); 24 Jul 2014 06:34:52 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-7.tower-31.messagelabs.com with SMTP;
	24 Jul 2014 06:34:52 -0000
Received: (qmail 2453 invoked from network); 24 Jul 2014 06:34:50 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 24 Jul 2014 06:34:50 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 00754-06 for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 07:34:42 +0100 (BST)
Received: (qmail 2397 invoked by uid 599); 24 Jul 2014 06:34:42 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 24 Jul 2014 07:34:42 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XACby-0002Ty-M3; Thu, 24 Jul 2014 07:34:42 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Mindy <mindy@somerandomidiot.com>
Date: Thu, 24 Jul 2014 07:34:39 +0100
Thread-Topic: [MirageOS-devel] oscon'14 deck
Thread-Index: Ac+nCVoYUsj0VbWXTmuGYql4HqygOw==
Message-ID: <65021564-20E3-4650-A85D-539D92B407D0@nottingham.ac.uk>
References: <44F5941A-D9C3-4DD8-AE84-BCF5538D9ABA@nottingham.ac.uk>
	<53D07FDE.3080807@somerandomidiot.com>
	<80CE692E-48E6-40AA-B224-6928739E91B7@nottingham.ac.uk>
	<53D083E9.7080209@somerandomidiot.com>
In-Reply-To: <53D083E9.7080209@somerandomidiot.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] oscon'14 deck
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2734701821106913033=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============2734701821106913033==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_F7844DD5-B834-4C8A-9D64-0891B07317D4";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_F7844DD5-B834-4C8A-9D64-0891B07317D4
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_38C06385-1E64-4172-A3D8-401D1CACF194"


--Apple-Mail=_38C06385-1E64-4172-A3D8-401D1CACF194
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1


On 23 Jul 2014, at 20:56, Mindy <mindy@somerandomidiot.com> wrote:

> Aha, so you *always* give the talk progressing downward, such that you =
visit 3 after the last slide in 2.  I had imagined the 2D functionality =
as allowing for digressions/elaborations, kind of like backup slides.

yeah, it should be really. but i'm rarely organised enough to use it =
consistently...
(frankly it feels a bit weird having everything this ready this many =
hours before giving it!)

> Anyway, sorry for the confusion!  GUIs are tough; let's go systems =
programming.

:)

--=20
Cheers,

R.





--Apple-Mail=_38C06385-1E64-4172-A3D8-401D1CACF194
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space;"><br><div><div>On 23 Jul 2014, at 20:56, Mindy &lt;<a =
href=3D"mailto:mindy@somerandomidiot.com">mindy@somerandomidiot.com</a>&gt=
; wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite">
 =20
    <meta content=3D"text/html; charset=3DISO-8859-1" =
http-equiv=3D"Content-Type">
 =20
  <div text=3D"#000000" bgcolor=3D"#FFFFFF">
    Aha, so you *always* give the talk progressing downward, such that
    you visit 3 after the last slide in 2.&nbsp; I had imagined the 2D
    functionality as allowing for digressions/elaborations, kind of like
    backup slides.<br></div></blockquote><div><br></div>yeah, it should =
be really. but i'm rarely organised enough to use it =
consistently...</div><div>(frankly it feels a bit weird having =
everything this ready this many hours before giving =
it!)<br><br><blockquote type=3D"cite"><div text=3D"#000000" =
bgcolor=3D"#FFFFFF">Anyway, sorry for the confusion!&nbsp; GUIs are =
tough; let's go systems
    programming.<br></div></blockquote><div><br></div>:)</div><div><span =
class=3D"Apple-style-span" style=3D"font-family: =
monospace;"><br></span></div><div><span class=3D"Apple-style-span" =
style=3D"font-family: monospace;">--</span><span =
class=3D"Apple-style-span" style=3D"orphans: 2; text-align: =
-webkit-auto; widows: 2; font-family: =
monospace;">&nbsp;</span></div><div apple-content-edited=3D"true"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; color: =
rgb(0, 0, 0); font-family: Verdana; font-style: normal; font-variant: =
normal; font-weight: normal; letter-spacing: normal; line-height: =
normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; =
text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px;  "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Verdana; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
-webkit-auto; text-indent: 0px; text-transform: none; white-space: =
normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: =
0px; -webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px;  "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; ">Cheers,</span><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
"><br></span><span class=3D"Apple-style-span" style=3D"font-family: =
monospace; "><br></span><span class=3D"Apple-style-span" =
style=3D"font-family: monospace; ">R.</span></div><div><span =
class=3D"Apple-style-span" style=3D"font-family: monospace; =
"><br></span></div></div></span><br =
class=3D"Apple-interchange-newline"></span><br =
class=3D"Apple-interchange-newline">
</div>
<br></body></html>=

--Apple-Mail=_38C06385-1E64-4172-A3D8-401D1CACF194--

--Apple-Mail=_F7844DD5-B834-4C8A-9D64-0891B07317D4
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT0Kj/AAoJEOLF27JWwSg35TAP/2FlRUmAYUw7QW6YpDkq+w63
mmbfCvSQvkFC2+BJtYP78Os6XrNu8q8GdSL/z9F96SWWJP6+UP7WE6k8DRywfbRh
cMl2K8nT/sCFvQuw0HidYDzJAoidFXeESxnU5y7w84dA+3zw2xox4LL00VR/6Qeh
Bc/ps1Rec/Ofof5ju9FRmaauEYK36y1VcFTZYdDWDkNUc9gCldrxdnN1yZWa/UMX
FoK+e/vQvO7xwPiQ+JLioNcxD9h1WifIn0ti+9ISIlqLfjk+RbZW/pZ8XJK9Nv6N
FCZKwoYwZkPbRn9g8RI6RMp+VXc5rJ9Lv05t4JyMHxG2R8mMPFVESqE03dl5fw58
EhvghLKp8TWCBJyIlXM8QdL3+Faj5O9/Qy2IvDIFirSgbAwNRLlfloY88z/+N1rU
3kVUfn4dqC6RaW703W4HCTLXJTpthLVE6YCS7Gb0Cvhgsn6zB/VOVM2iThRUI7UP
hkStY1dW/NofD5LUzG0mihAoax00FIwKEV4VUq3XnShzH3TElg8OVfh5IYqFEYQp
iVNZE1x9qZMVdn2tAzmApoYZMRrz5J+sP202nhRvNZZrnUCDtHf2uvAWc6YlP8qM
HZk9L+1OO8mg7JGny2drSrM/H6fdLPGxa0WaKeFrdkLakVWBV4XU8Ryb52Ehbxpv
ix+D20IW3bTFRB8XI/uO
=7JQx
-----END PGP SIGNATURE-----

--Apple-Mail=_F7844DD5-B834-4C8A-9D64-0891B07317D4--


--===============2734701821106913033==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2734701821106913033==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 07:24:54 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 07:24:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XADOU-00074H-S2; Thu, 24 Jul 2014 07:24:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XADOT-000749-7B
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 07:24:49 +0000
Received: from [193.109.254.147:50701] by server-11.bemta-14.messagelabs.com
	id AC/3E-14213-0C4B0D35; Thu, 24 Jul 2014 07:24:48 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1406186686!19276587!1
X-Originating-IP: [209.85.218.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7638 invoked from network); 24 Jul 2014 07:24:47 -0000
Received: from mail-oi0-f41.google.com (HELO mail-oi0-f41.google.com)
	(209.85.218.41)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 Jul 2014 07:24:47 -0000
Received: by mail-oi0-f41.google.com with SMTP id a141so1778754oig.0
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 00:24:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=V25y6Wuz8WO17EloAls9A/d6+6kHTK9lDsBHR2DgjSc=;
	b=Fr62NXOeBv+FVwT3ubBbZZq2JRr6vyESmEjGvC/3s+g7o9Blqet2vi4DPDt76n8jZD
	srIgNeXJxkRhfIHsBE5z0yRh5b9oalZx9YDxpiYXN1Co2Vr+h9zGvF65t/uKhnsE0/iR
	KebzXFDj5H3dtJf+lh+gCA47wJ3Nl+OiZjLoNG4hwlYGrZqXTO1gWX+pj2DVdEGfb+iw
	z2azx7HJn8qbkI3393sSUpoqGXsCJQXMwZRFglYbs8/kWv0uzu3sjsx/GFTGJ0GJs2hE
	/MX9E83pdHGI4rfQNVY9VRqIlsmSpDM1hRJvFhm9JyfJPinmgZLrICmwBsYq6+8ft8B8
	2wew==
MIME-Version: 1.0
X-Received: by 10.182.205.231 with SMTP id lj7mr9626428obc.37.1406186685899;
	Thu, 24 Jul 2014 00:24:45 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Thu, 24 Jul 2014 00:24:45 -0700 (PDT)
In-Reply-To: <90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
Date: Thu, 24 Jul 2014 08:24:45 +0100
Message-ID: <CAG4opy9YN-X7Rzi=-Se_ZRuhR3LMvxkBkDamR3Xecaa253=g7Q@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 04:00, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 21 Jul 2014, at 16:10, Thomas Leonard <talex5@gmail.com> wrote:
>
>> What are the rules about alignment for cstructs?
>>
>> Allocating the buffer like this works:
>>
>>  let data = Io_page.get 1 |> Io_page.to_cstruct
>>  let () = Cstruct.blit_from_string (Buffer.contents buffer) 0 data 0
>> (Buffer.length buffer)
>>
>> But using Cstruct.of_string doesn't. It does look like Netif assumes
>> the structs are page aligned. e.g.
>>
>>  if page.Cstruct.off + len > page_size then begin
>>    (* netback rejects packets that cross page boundaries *)
>>    let msg =
>>      Printf.sprintf "Invalid page: offset=%d, length=%d"
>> page.Cstruct.off len in
>>    print_endline msg;
>>    Lwt.fail (Failure msg)
>>  end else
>
> Argh, this is exactly the problem.  Netif requires page aligned buffers
> (in theory, sub-page grants are possible, but ill-advised for performance
> reasons).
>
> Cstruct.of_string calls Cstruct.create, which calls Bigarray.Array1.create
> which isn't page-aligned.  It does need to go through Io_page to ensure it's
> page-aligned.
>
> We don't protect this distinction using phantom types, and it's bitten us
> several times now through these hard-to-spot dynamic failures :-/
>
> Making Cstruct's always page aligned is too expensive for the 'casual'
> small Cstructs (as seen in OCaml TLS for example), so ensure your buffer
> originates from Io_page is the best bet for now.  An issue on how to
> ensure this is checked statically would be good to have (but involve
> a fair bit of mechanical code motion).

I notice that FLOW explicitly states that the buffer need not be page-aligned:

module type FLOW = sig
  type buffer
  (** Abstract type for a memory buffer that may not be page aligned. *)

  val write : flow -> buffer -> [`Ok of unit | `Eof | `Error of error ] io

Also, it can fail even if it is aligned:

S.TCPV4.write flow (Io_page.get 10 |> Io_page.to_cstruct)

gives

RX exn Failure("Invalid page: offset=2920, length=1460")

(presumably because splitting the pages into TCP-packet-sized chunks
loses the alignment)


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 07:24:54 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 07:24:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XADOU-00074H-S2; Thu, 24 Jul 2014 07:24:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XADOT-000749-7B
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 07:24:49 +0000
Received: from [193.109.254.147:50701] by server-11.bemta-14.messagelabs.com
	id AC/3E-14213-0C4B0D35; Thu, 24 Jul 2014 07:24:48 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1406186686!19276587!1
X-Originating-IP: [209.85.218.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7638 invoked from network); 24 Jul 2014 07:24:47 -0000
Received: from mail-oi0-f41.google.com (HELO mail-oi0-f41.google.com)
	(209.85.218.41)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 Jul 2014 07:24:47 -0000
Received: by mail-oi0-f41.google.com with SMTP id a141so1778754oig.0
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 00:24:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=V25y6Wuz8WO17EloAls9A/d6+6kHTK9lDsBHR2DgjSc=;
	b=Fr62NXOeBv+FVwT3ubBbZZq2JRr6vyESmEjGvC/3s+g7o9Blqet2vi4DPDt76n8jZD
	srIgNeXJxkRhfIHsBE5z0yRh5b9oalZx9YDxpiYXN1Co2Vr+h9zGvF65t/uKhnsE0/iR
	KebzXFDj5H3dtJf+lh+gCA47wJ3Nl+OiZjLoNG4hwlYGrZqXTO1gWX+pj2DVdEGfb+iw
	z2azx7HJn8qbkI3393sSUpoqGXsCJQXMwZRFglYbs8/kWv0uzu3sjsx/GFTGJ0GJs2hE
	/MX9E83pdHGI4rfQNVY9VRqIlsmSpDM1hRJvFhm9JyfJPinmgZLrICmwBsYq6+8ft8B8
	2wew==
MIME-Version: 1.0
X-Received: by 10.182.205.231 with SMTP id lj7mr9626428obc.37.1406186685899;
	Thu, 24 Jul 2014 00:24:45 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Thu, 24 Jul 2014 00:24:45 -0700 (PDT)
In-Reply-To: <90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
Date: Thu, 24 Jul 2014 08:24:45 +0100
Message-ID: <CAG4opy9YN-X7Rzi=-Se_ZRuhR3LMvxkBkDamR3Xecaa253=g7Q@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 22 July 2014 04:00, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 21 Jul 2014, at 16:10, Thomas Leonard <talex5@gmail.com> wrote:
>
>> What are the rules about alignment for cstructs?
>>
>> Allocating the buffer like this works:
>>
>>  let data = Io_page.get 1 |> Io_page.to_cstruct
>>  let () = Cstruct.blit_from_string (Buffer.contents buffer) 0 data 0
>> (Buffer.length buffer)
>>
>> But using Cstruct.of_string doesn't. It does look like Netif assumes
>> the structs are page aligned. e.g.
>>
>>  if page.Cstruct.off + len > page_size then begin
>>    (* netback rejects packets that cross page boundaries *)
>>    let msg =
>>      Printf.sprintf "Invalid page: offset=%d, length=%d"
>> page.Cstruct.off len in
>>    print_endline msg;
>>    Lwt.fail (Failure msg)
>>  end else
>
> Argh, this is exactly the problem.  Netif requires page aligned buffers
> (in theory, sub-page grants are possible, but ill-advised for performance
> reasons).
>
> Cstruct.of_string calls Cstruct.create, which calls Bigarray.Array1.create
> which isn't page-aligned.  It does need to go through Io_page to ensure it's
> page-aligned.
>
> We don't protect this distinction using phantom types, and it's bitten us
> several times now through these hard-to-spot dynamic failures :-/
>
> Making Cstruct's always page aligned is too expensive for the 'casual'
> small Cstructs (as seen in OCaml TLS for example), so ensure your buffer
> originates from Io_page is the best bet for now.  An issue on how to
> ensure this is checked statically would be good to have (but involve
> a fair bit of mechanical code motion).

I notice that FLOW explicitly states that the buffer need not be page-aligned:

module type FLOW = sig
  type buffer
  (** Abstract type for a memory buffer that may not be page aligned. *)

  val write : flow -> buffer -> [`Ok of unit | `Eof | `Error of error ] io

Also, it can fail even if it is aligned:

S.TCPV4.write flow (Io_page.get 10 |> Io_page.to_cstruct)

gives

RX exn Failure("Invalid page: offset=2920, length=1460")

(presumably because splitting the pages into TCP-packet-sized chunks
loses the alignment)


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 07:48:20 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 07:48:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XADlD-0008CG-Nm; Thu, 24 Jul 2014 07:48:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yallop@gmail.com>) id 1XADlD-0008C7-65
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 07:48:19 +0000
Received: from [85.158.139.211:39238] by server-17.bemta-5.messagelabs.com id
	FB/11-08943-24AB0D35; Thu, 24 Jul 2014 07:48:18 +0000
X-Env-Sender: yallop@gmail.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1406188097!17315808!1
X-Originating-IP: [74.125.82.169]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16152 invoked from network); 24 Jul 2014 07:48:17 -0000
Received: from mail-we0-f169.google.com (HELO mail-we0-f169.google.com)
	(74.125.82.169)
	by server-7.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	24 Jul 2014 07:48:17 -0000
Received: by mail-we0-f169.google.com with SMTP id u56so2287489wes.14
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 00:48:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type
	:content-transfer-encoding;
	bh=/Wt4r4R+f9TtGTbORBnsmEe5hIXF2xVxlIgxbcE/ji4=;
	b=YIN8Fz5pgVQs56JmKkuqyfkyVFL4L/xyOKonakkwbRW5vss26Drno8uu1rj5D7+Neb
	jTp466q0yyg4E1RG1pgkEmOwkXALU7mMeFXLRt8O7RovO+/G0j3Y2jJye6gtR2zQuqgV
	Ae6nX5DIYID0I3NKtKoiRs4xS8syHyRcX0+z43tzCJP5OeVDfK2jFInF6vy/kbjYqvCP
	IFpMg2+JLtAUTEo4bIcc7zUlBU63XD6d1SLq3qanbWNSwBcXkhK9lZGBkYfaIpGpnpHW
	BHnM3cLFg1SkZppGKB8EBfm+aD5bhbdsHc/+RNbYR4QL9+52AqileD+EdY7TgdtUZ/w/
	xMbA==
MIME-Version: 1.0
X-Received: by 10.194.8.35 with SMTP id o3mr9280659wja.3.1406188097467; Thu,
	24 Jul 2014 00:48:17 -0700 (PDT)
Received: by 10.216.212.6 with HTTP; Thu, 24 Jul 2014 00:48:17 -0700 (PDT)
Date: Thu, 24 Jul 2014 08:48:17 +0100
Message-ID: <CAAxsn=EuWQqwhzc4RWQRLirMHxC6Zfu+v=SwbhAxFZ0pJVE9yw@mail.gmail.com>
From: Jeremy Yallop <yallop@gmail.com>
To: cam-compiler-hacking@lists.ocaml.org, 
	"cl-ocamllabs@lists.cam.ac.uk" <cl-ocamllabs@lists.cam.ac.uk>, 
	"cl-ocamllabs-staff@lists.cam.ac.uk" <cl-ocamllabs-staff@lists.cam.ac.uk>, 
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, netos@cl.cam.ac.uk
Subject: [MirageOS-devel] OCaml compiler hacking next Friday (1st Aug) at
	Citrix
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

VGhlIG5leHQgQ2FtYnJpZGdlIE9DYW1sIGNvbXBpbGVyIGhhY2tpbmcgc2Vzc2lvbiB3aWxsIGJl
IG5leHQgRnJpZGF5CmV2ZW5pbmcgKDFzdCBBdWd1c3QpIGF0IENpdHJpeCdzIG9mZmljZSBpbiB0
aGUgU2NpZW5jZSBQYXJrLgoKV2UnbGwgc3RhcnQgYXQgNi4zMHBtIHdpdGggYSBkZW1vIG9mIG1v
ZHVsYXIgaW1wbGljaXRzCihPQ2FtbC1mbGF2b3VyZWQgb3ZlcmxvYWRpbmcpIGJ5IEZyw6lkw6ly
aWMgQm91ciEKCkFsbCB3ZWxjb21lOiBpZiB5b3UncmUgbG9jYWwgdG8gQ2FtYnJpZGdlIGFuZCBp
bnRlcmVzdGVkIGluCmNvbnRyaWJ1dGluZyB0byB0aGUgT0NhbWwgY29tcGlsZXIsIHBsZWFzZSBj
b21lIGFsb25nISAgRnVydGhlcgpkZXRhaWxzIGFyZSBvbiB0aGUgYmxvZzoKCiAgaHR0cDovL29j
YW1sbGFicy5naXRodWIuaW8vY29tcGlsZXItaGFja2luZy8yMDE0LzA3LzI0L2NvbXBpbGVyLWhh
Y2tpbmctYXQtY2l0cml4Lmh0bWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pcmFnZU9TLWRldmVsIG1haWxpbmcgbGlzdApNaXJhZ2VPUy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwOi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9t
YWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 07:48:20 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 07:48:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XADlD-0008CG-Nm; Thu, 24 Jul 2014 07:48:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yallop@gmail.com>) id 1XADlD-0008C7-65
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 07:48:19 +0000
Received: from [85.158.139.211:39238] by server-17.bemta-5.messagelabs.com id
	FB/11-08943-24AB0D35; Thu, 24 Jul 2014 07:48:18 +0000
X-Env-Sender: yallop@gmail.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1406188097!17315808!1
X-Originating-IP: [74.125.82.169]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16152 invoked from network); 24 Jul 2014 07:48:17 -0000
Received: from mail-we0-f169.google.com (HELO mail-we0-f169.google.com)
	(74.125.82.169)
	by server-7.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	24 Jul 2014 07:48:17 -0000
Received: by mail-we0-f169.google.com with SMTP id u56so2287489wes.14
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 00:48:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type
	:content-transfer-encoding;
	bh=/Wt4r4R+f9TtGTbORBnsmEe5hIXF2xVxlIgxbcE/ji4=;
	b=YIN8Fz5pgVQs56JmKkuqyfkyVFL4L/xyOKonakkwbRW5vss26Drno8uu1rj5D7+Neb
	jTp466q0yyg4E1RG1pgkEmOwkXALU7mMeFXLRt8O7RovO+/G0j3Y2jJye6gtR2zQuqgV
	Ae6nX5DIYID0I3NKtKoiRs4xS8syHyRcX0+z43tzCJP5OeVDfK2jFInF6vy/kbjYqvCP
	IFpMg2+JLtAUTEo4bIcc7zUlBU63XD6d1SLq3qanbWNSwBcXkhK9lZGBkYfaIpGpnpHW
	BHnM3cLFg1SkZppGKB8EBfm+aD5bhbdsHc/+RNbYR4QL9+52AqileD+EdY7TgdtUZ/w/
	xMbA==
MIME-Version: 1.0
X-Received: by 10.194.8.35 with SMTP id o3mr9280659wja.3.1406188097467; Thu,
	24 Jul 2014 00:48:17 -0700 (PDT)
Received: by 10.216.212.6 with HTTP; Thu, 24 Jul 2014 00:48:17 -0700 (PDT)
Date: Thu, 24 Jul 2014 08:48:17 +0100
Message-ID: <CAAxsn=EuWQqwhzc4RWQRLirMHxC6Zfu+v=SwbhAxFZ0pJVE9yw@mail.gmail.com>
From: Jeremy Yallop <yallop@gmail.com>
To: cam-compiler-hacking@lists.ocaml.org, 
	"cl-ocamllabs@lists.cam.ac.uk" <cl-ocamllabs@lists.cam.ac.uk>, 
	"cl-ocamllabs-staff@lists.cam.ac.uk" <cl-ocamllabs-staff@lists.cam.ac.uk>, 
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, netos@cl.cam.ac.uk
Subject: [MirageOS-devel] OCaml compiler hacking next Friday (1st Aug) at
	Citrix
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

VGhlIG5leHQgQ2FtYnJpZGdlIE9DYW1sIGNvbXBpbGVyIGhhY2tpbmcgc2Vzc2lvbiB3aWxsIGJl
IG5leHQgRnJpZGF5CmV2ZW5pbmcgKDFzdCBBdWd1c3QpIGF0IENpdHJpeCdzIG9mZmljZSBpbiB0
aGUgU2NpZW5jZSBQYXJrLgoKV2UnbGwgc3RhcnQgYXQgNi4zMHBtIHdpdGggYSBkZW1vIG9mIG1v
ZHVsYXIgaW1wbGljaXRzCihPQ2FtbC1mbGF2b3VyZWQgb3ZlcmxvYWRpbmcpIGJ5IEZyw6lkw6ly
aWMgQm91ciEKCkFsbCB3ZWxjb21lOiBpZiB5b3UncmUgbG9jYWwgdG8gQ2FtYnJpZGdlIGFuZCBp
bnRlcmVzdGVkIGluCmNvbnRyaWJ1dGluZyB0byB0aGUgT0NhbWwgY29tcGlsZXIsIHBsZWFzZSBj
b21lIGFsb25nISAgRnVydGhlcgpkZXRhaWxzIGFyZSBvbiB0aGUgYmxvZzoKCiAgaHR0cDovL29j
YW1sbGFicy5naXRodWIuaW8vY29tcGlsZXItaGFja2luZy8yMDE0LzA3LzI0L2NvbXBpbGVyLWhh
Y2tpbmctYXQtY2l0cml4Lmh0bWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pcmFnZU9TLWRldmVsIG1haWxpbmcgbGlzdApNaXJhZ2VPUy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwOi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9t
YWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 15:22:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 15:22:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAKqQ-0002Bh-M1; Thu, 24 Jul 2014 15:22:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XAKqP-0002Bc-IG
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 15:22:09 +0000
Received: from [193.109.254.147:54058] by server-15.bemta-14.messagelabs.com
	id C5/34-30948-0A421D35; Thu, 24 Jul 2014 15:22:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1406215327!19401910!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12042 invoked from network); 24 Jul 2014 15:22:07 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-14.tower-27.messagelabs.com with SMTP;
	24 Jul 2014 15:22:07 -0000
Received: (qmail 12206 invoked by uid 634); 24 Jul 2014 15:22:07 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-128-216.public.wayport.net (HELO [192.168.5.118])
	(64.134.128.216)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 24 Jul 2014 16:22:07 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9YN-X7Rzi=-Se_ZRuhR3LMvxkBkDamR3Xecaa253=g7Q@mail.gmail.com>
Date: Thu, 24 Jul 2014 08:22:04 -0700
Message-Id: <6C748D44-4FDE-4BC8-86AC-A8150F5D79AA@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy9YN-X7Rzi=-Se_ZRuhR3LMvxkBkDamR3Xecaa253=g7Q@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 24 Jul 2014, at 00:24, Thomas Leonard <talex5@gmail.com> wrote:
> 
> I notice that FLOW explicitly states that the buffer need not be page-aligned:
> 
> module type FLOW = sig
>  type buffer
>  (** Abstract type for a memory buffer that may not be page aligned. *)
> 
>  val write : flow -> buffer -> [`Ok of unit | `Eof | `Error of error ] io

I think there's a terminology confusion here that needs to be corrected
somewhere in the docs:

- the Bigarray underlying the Cstruct must always be page-aligned if it's
  ever going to be used for a grant, since otherwise the offset in the grant
  entry is wrong.  Allocate through Io_page to ensure this for now.

- the Cstruct view may not be page-aligned if the off!=0.  This shouldn't
  matter from the perspective of granting it, since the backend should
  adjust the offset in the grant entry to account for the Cstruct offset.
  If it doesn't do this right now, that's a definite bug.

- Granters should be aware that the backend may see more of a Cstruct
  view than they intend, since the grantee could potentially see the whole
  Io_page (need to check into Xen sub-page grants to see if that's better
  supported now -- it would only work with grant copies I imagine).

> 
> Also, it can fail even if it is aligned:
> 
> S.TCPV4.write flow (Io_page.get 10 |> Io_page.to_cstruct)
> 
> gives
> 
> RX exn Failure("Invalid page: offset=2920, length=1460")
> 
> (presumably because splitting the pages into TCP-packet-sized chunks
> loses the alignment)

Some seat belts definitely need to be applied to this API...

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 15:22:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 15:22:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAKqQ-0002Bh-M1; Thu, 24 Jul 2014 15:22:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XAKqP-0002Bc-IG
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 15:22:09 +0000
Received: from [193.109.254.147:54058] by server-15.bemta-14.messagelabs.com
	id C5/34-30948-0A421D35; Thu, 24 Jul 2014 15:22:08 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1406215327!19401910!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12042 invoked from network); 24 Jul 2014 15:22:07 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-14.tower-27.messagelabs.com with SMTP;
	24 Jul 2014 15:22:07 -0000
Received: (qmail 12206 invoked by uid 634); 24 Jul 2014 15:22:07 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from ip-64-134-128-216.public.wayport.net (HELO [192.168.5.118])
	(64.134.128.216)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 24 Jul 2014 16:22:07 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9YN-X7Rzi=-Se_ZRuhR3LMvxkBkDamR3Xecaa253=g7Q@mail.gmail.com>
Date: Thu, 24 Jul 2014 08:22:04 -0700
Message-Id: <6C748D44-4FDE-4BC8-86AC-A8150F5D79AA@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy9YN-X7Rzi=-Se_ZRuhR3LMvxkBkDamR3Xecaa253=g7Q@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 24 Jul 2014, at 00:24, Thomas Leonard <talex5@gmail.com> wrote:
> 
> I notice that FLOW explicitly states that the buffer need not be page-aligned:
> 
> module type FLOW = sig
>  type buffer
>  (** Abstract type for a memory buffer that may not be page aligned. *)
> 
>  val write : flow -> buffer -> [`Ok of unit | `Eof | `Error of error ] io

I think there's a terminology confusion here that needs to be corrected
somewhere in the docs:

- the Bigarray underlying the Cstruct must always be page-aligned if it's
  ever going to be used for a grant, since otherwise the offset in the grant
  entry is wrong.  Allocate through Io_page to ensure this for now.

- the Cstruct view may not be page-aligned if the off!=0.  This shouldn't
  matter from the perspective of granting it, since the backend should
  adjust the offset in the grant entry to account for the Cstruct offset.
  If it doesn't do this right now, that's a definite bug.

- Granters should be aware that the backend may see more of a Cstruct
  view than they intend, since the grantee could potentially see the whole
  Io_page (need to check into Xen sub-page grants to see if that's better
  supported now -- it would only work with grant copies I imagine).

> 
> Also, it can fail even if it is aligned:
> 
> S.TCPV4.write flow (Io_page.get 10 |> Io_page.to_cstruct)
> 
> gives
> 
> RX exn Failure("Invalid page: offset=2920, length=1460")
> 
> (presumably because splitting the pages into TCP-packet-sized chunks
> loses the alignment)

Some seat belts definitely need to be applied to this API...

-anil

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 16:30:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 16:30:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XALun-0006lV-Va; Thu, 24 Jul 2014 16:30:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XALum-0006lN-3d
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 16:30:44 +0000
Received: from [85.158.137.68:20184] by server-3.bemta-3.messagelabs.com id
	40/44-22751-3B431D35; Thu, 24 Jul 2014 16:30:43 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1406219440!13397234!1
X-Originating-IP: [209.85.218.44]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5842 invoked from network); 24 Jul 2014 16:30:41 -0000
Received: from mail-oi0-f44.google.com (HELO mail-oi0-f44.google.com)
	(209.85.218.44)
	by server-6.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	24 Jul 2014 16:30:41 -0000
Received: by mail-oi0-f44.google.com with SMTP id x69so2274310oia.17
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 09:30:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=BT32tg25rKnXTgoGsss8KPHQ9ZjgAec5Z3/IKuovoVk=;
	b=ilve9H7IFvLKKEIHGGK7j838ZVaAAGaJBWDMEfbSYZrx/04efsYK1l1sRMDEDDRpbe
	7hmH7YI1eThiNOFUR7OlUDdT2r+PwJ6x+dqrLI4bcVXjwv28xOTwkgam95LfVrZNM+6u
	nshgOaVm8vp30r1Y2KAamI5ocqoJrPalsDkhpAxT6yliLj/hmTxUBsniZelayQg3d/ts
	4DUFZeZ0yRg6w1y6+SEEQS+xMjGTp7WTPUnc6qpiwNlnER7JTLgoUs1bmxnr0d4lWq6e
	AcKOepMEBUYpzWR7Xx8puXpf+n30Nn+qRqTe6iOp71U1P9uIgIfazaOhEU1LxGkRVkEA
	Ni1A==
MIME-Version: 1.0
X-Received: by 10.182.97.234 with SMTP id ed10mr14297963obb.31.1406219440257; 
	Thu, 24 Jul 2014 09:30:40 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Thu, 24 Jul 2014 09:30:40 -0700 (PDT)
In-Reply-To: <BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
Date: Thu, 24 Jul 2014 17:30:40 +0100
Message-ID: <CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

T24gMjMgSnVseSAyMDE0IDEzOjEwLCBBbmlsIE1hZGhhdmFwZWRkeSA8YW5pbEByZWNvaWwub3Jn
PiB3cm90ZToKPiBPbiAyMyBKdWwgMjAxNCwgYXQgMDI6NDYsIERhdmUgU2NvdHQgPERhdmUuU2Nv
dHRAY2l0cml4LmNvbT4gd3JvdGU6Cj4KPj4gT24gMjMgSnVsIDIwMTQsIGF0IDA4OjEwLCBUaG9t
YXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Cj4+PiBPbiAyMiBKdWx5IDIw
MTQgMTM6MTcsIEFuaWwgTWFkaGF2YXBlZGR5IDxhbmlsQHJlY29pbC5vcmc+IHdyb3RlOgo+Pj4+
IE9uIDIyIEp1bCAyMDE0LCBhdCAwMjowMSwgVGhvbWFzIExlb25hcmQgPHRhbGV4NUBnbWFpbC5j
b20+IHdyb3RlOgo+Pj4+Cj4+Pj4+IE9uIDIyIEp1bHkgMjAxNCAwOToxNCwgQW5pbCBNYWRoYXZh
cGVkZHkgPGFuaWxAcmVjb2lsLm9yZz4gd3JvdGU6Cj4+Pj4+PiBPbiAyMiBKdWwgMjAxNCwgYXQg
MDE6MTAsIFRob21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4+Pj4+Pgo+
Pj4+Pj4+IEkgbm90aWNlZCBJJ20gZ2V0dGluZyBhIGxvdCBvZiB0aGVzZSBpbiB0aGUgZG9tMCBs
b2cgKGRtc2cpOgo+Pj4+Pj4+Cj4+Pj4+Pj4gSnVsIDIyIDA4OjA5OjA1IGN1YmlldHJ1Y2sga2Vy
bmVsOiBbMTE4OTIuMTI4MjQxXQo+Pj4+Pj4+IHhlbl9hZGRfcGh5c190b19tYWNoX2VudHJ5OiBj
YW5ub3QgYWRkIHBmbj0weDAwMDc5YWJlIC0+Cj4+Pj4+Pj4gbWZuPTB4MDAwYmVkODc6IHBmbj0w
eDAwMDc5OWE2IC0+IG1mbj0weDAwMGJlZDg3IGFscmVhZHkgZXhpc3RzCj4+Pj4+Pj4gSnVsIDIy
IDA4OjA5OjA1IGN1YmlldHJ1Y2sga2VybmVsOiBbMTE4OTIuMTI4NzI3XQo+Pj4+Pj4+IHhlbl9h
ZGRfbWFjaF90b19waHlzX2VudHJ5OiBjYW5ub3QgYWRkIHBmbj0weDAwMDc5YmNiIC0+Cj4+Pj4+
Pj4gbWZuPTB4MDAwYmVkODc6IHBmbj0weDAwMDc5OWE2IC0+IG1mbj0weDAwMGJlZDg3IGFscmVh
ZHkgZXhpc3RzCj4+Pj4+Pj4gSnVsIDIyIDA4OjA5OjA1IGN1YmlldHJ1Y2sga2VybmVsOiBbMTE4
OTIuMTMzMjY0XQo+Pj4+Pj4+IHhlbl9hZGRfcGh5c190b19tYWNoX2VudHJ5OiBjYW5ub3QgYWRk
IHBmbj0weDAwMDc5YjcwIC0+Cj4+Pj4+Pj4gbWZuPTB4MDAwYmVkODc6IHBmbj0weDAwMDc5YmQ3
IC0+IG1mbj0weDAwMGJlZDg3IGFscmVhZHkgZXhpc3RzCj4+Pj4+Pj4gSnVsIDIyIDA4OjA5OjA5
IGN1YmlldHJ1Y2sga2VybmVsOiBbMTE4OTYuMDQxMTA2XQo+Pj4+Pj4+IHhlbl9hZGRfcGh5c190
b19tYWNoX2VudHJ5OiBjYW5ub3QgYWRkIHBmbj0weDAwMDc5OTlhIC0+Cj4+Pj4+Pj4gbWZuPTB4
MDAwYmVkODc6IHBmbj0weDAwMDc5YjJiIC0+IG1mbj0weDAwMGJlZDg3IGFscmVhZHkgZXhpc3Rz
Cj4+Pj4+Pgo+Pj4+Pj4gVGhhdCBsb29rcyBsaWtlIHRoaXMgYnVnIGluIFhlbi9BUk0vbmV0YmFj
azoKPj4+Pj4+IGh0dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi11
c2Vycy8yMDE0LTA3L21zZzAwMDY3Lmh0bWwKPj4+Pj4KPj4+Pj4gQWhhISBUaGlzIHNlZW1zIHRv
IGZpeCBpdCAoSSBjYW4gYnJvd3NlIG1pcmFnZS13d3cgd2l0aG91dCBodWdlIGRlbGF5cyk6Cj4+
Pj4+Cj4+Pj4+IGRpZmYgLS1naXQgYS9saWIvbmV0aWYubWwgYi9saWIvbmV0aWYubWwKPj4+Pj4g
aW5kZXggNGUwMmU1ZS4uM2NjNzc2MCAxMDA2NDQKPj4+Pj4gLS0tIGEvbGliL25ldGlmLm1sCj4+
Pj4+ICsrKyBiL2xpYi9uZXRpZi5tbAo+Pj4+PiBAQCAtNDU1LDcgKzQ1NSw3IEBAIGxldCB3cml0
ZXYgbmYgcGFnZXMgPQo+Pj4+PiAgICAgICAgbHd0IHJlc3RfdGggPSB4bWl0IG90aGVyX3BhZ2Vz
IGluCj4+Pj4+ICAgICAgICAoKiBBbGwgZnJhZ21lbnRzIGFyZSBub3cgd3JpdHRlbiwgd2UgY2Fu
IG5vdyBub3RpZnkgdGhlIGJhY2tlbmQgKikKPj4+Pj4gICAgICAgIEx3dF9yaW5nLkZyb250LnB1
c2ggbmYudC50eF9jbGllbnQgKG5vdGlmeSBuZi50KTsKPj4+Pj4gLSAgICAgICAgIHJldHVybiAo
KQo+Pj4+PiArICAgICAgICAgam9pbiByZXN0X3RoCj4+Pj4+ICAgKQo+Pj4+Pgo+Pj4+PiBsZXQg
d2FpdF9mb3JfcGx1ZyBuZiA9Cj4+Pj4+Cj4+Pj4+IE5vdCB2ZXJ5IGVmZmljaWVudCwgYnV0IGF0
IGxlYXN0IGl0IHdvcmtzISBMb29rcyBsaWtlIHRoZSBYZW4gcGVvcGxlCj4+Pj4+IHdpbGwgZml4
IGl0IGF0IHNvbWUgcG9pbnQuCj4+Pj4KPj4+PiBUaGF0J3MgZ29pbmcgdG8gc2VyaWFsaXplIHJl
cXVlc3RzIG9uIHRoZSBUWCByaW5nLCBpc24ndCBpdD8gIE1pZ2h0Cj4+Pj4gYmUgd29ydGggbWFr
aW5nIGNvbmRpdGlvbmFsIHZpYSBhIGZlYXR1cmUgZmxhZyBpZiBpdCdzIGdvaW5nIHRvIHRha2UK
Pj4+PiB4ODYgdHJhbnNtaXQgcGVyZm9ybWFuY2UgZG93bi4KCkkndmUgZG9uZSBzb21lIHRlc3Rz
LCBhbmQgdGhpcyBhYnNvbHV0ZWx5IGtpbGxzIHBlcmZvcm1hbmNlLiBTZW5kaW5nIGEKbG9hZCBv
ZiBzaW1wbGUgMUsgVURQIHBhY2tldHMsIHRoZSBDdWJpZVRydWNrIHNlbmRzIGF0IDI4IEtCL3Mg
d2l0aAp0aGlzIHBhdGNoIGFuZCAxLDUzMSBLQi9zIHdpdGggdGhlIHdhaXQgb3V0c2lkZSB0aGUg
bXV0ZXguCgpIb3dldmVyLCB0aGlzIHN0aWxsIGlzbid0IHF1aXRlIHJpZ2h0LCBiZWNhdXNlIGlu
IHRoZSBmYXN0IGNhc2UgSSBzZW5kCmFsbCB0aGUgcGFja2V0cyBhbmQgdGhlbiB3YWl0IGZvciB0
aGVtIGFsbCB0byBjb21wbGV0ZS4gQnV0IHJlYWxseSBJJ2QKbGlrZSB0aGUgc2VuZGVyIHRvIHNs
b3cgZG93biB3aGVuIHRoZSByZWNlaXZlciBpcyBnZXR0aW5nIGJlaGluZCwKcmF0aGVyIHRoYW4g
YWxsb2NhdGluZyBldmVyIG1vcmUgbWVtb3J5IHRvIHRoZSBxdWV1ZS4gRG9pbmcgdGhhdCB3aWxs
CnJlcXVpcmUgYW4gQVBJIGNoYW5nZSBJIHRoaW5rLgoKPj4+IEZMT1cud3JpdGV2IGlzIGRlZmlu
ZWQgYXM6Cj4+Pgo+Pj4gdmFsIHdyaXRldiA6IGZsb3cgLT4gYnVmZmVyIGxpc3QgLT4gW2BPayBv
ZiB1bml0IHwgYEVvZiB8IGBFcnJvciBvZiBlcnJvciBdIGlvCj4+PiAoKiogW3dyaXRldiBmbG93
IGJ1ZmZlcnNdIHdpbGwgYmxvY2sgdW50aWwgdGhlIGNvbnRlbnRzIG9mIFtidWZmZXIgbGlzdF0K
Pj4+ICAgICBhcmUgYWxsIHN1Y2Nlc3NmdWxseSB0cmFuc21pdHRlZCB0byB0aGUgcmVtb3RlIGVu
ZHBvaW50LiBUaGUgcmVzdWx0Cj4+PiAgICAgW2BPayAoKV0gaW5kaWNhdGVzIHN1Y2Nlc3MsIFtg
RW9mXSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29ubmVjdGlvbiBpcyBub3cKPj4+ICAgICBjbG9zZWQg
YW5kIFtgRXJyb3JdIGluZGljYXRlcyBzb21lIG90aGVyIGVycm9yLiAqKQo+Pj4KPj4+IEkgdG9v
ayB0aGlzIHRvIG1lYW4gdGhhdCB3aGVuIHlvdSBnZXQgYE9rIGJhY2ssIHRoZSBidWZmZXJzIGFy
ZSBubwo+Pj4gbG9uZ2VyIG5lZWRlZCBhbmQgY2FuIGJlIHVzZWQgZm9yIHNvbWV0aGluZyBlbHNl
LiBMb29raW5nIGF0IHRoZQo+Pj4gaW1wbGVtZW50YXRpb24sIGl0IHNlZW1zIHRoYXQgYE9rIGp1
c3QgbWVhbnMgdGhhdCB0aGUgcmVjZWl2ZXIgaGFzCj4+PiBiZWVuIGdpdmVuIGFjY2VzcyB0byB0
aGUgYnVmZmVycywgYnV0IG1pZ2h0IG5vdCBoYXZlIHJlYWQgdGhlbSB5ZXQuCj4+Pgo+Pj4gU28g
YWN0dWFsbHksIEkgdGhpbmsgdGhpcyBjaGFuZ2UgbWlnaHQgYmUgY29ycmVjdCBmb3IgeDg2IHRv
bywKPj4+IGFsdGhvdWdoIHBlcmhhcHMgaXQgc2hvdWxkIGJlIG1vdmVkIG91dCBvZiB0aGUgbXV0
ZXguCj4+Cj4+IFllYWgsIEkgdGhpbmsgeW914oCZcmUgcmlnaHQhCj4+Cj4KPiBBZ3JlZWQuICBD
b3VsZCB5b3UgZHJvcCBpbiBhIHB1bGwgcmVxdWVzdCBmb3IgdGhhdCBvbiBtaXJhZ2UvbWlyYWdl
LW5ldC14ZW4sIFRob21hcz8gIEknbGwgdGVzdCBhbmQgbWVyZ2Ugb24gbXkgQ3ViaWUgdG8gdXNl
IGZvciB0aGUgT1NDT04gdGFsayB0b21vcnJvdyAobm93IGFwcHJvYWNoaW5nIGZhc3QgOikKPgo+
PiBJIHRoaW5rIGl04oCZcyB0aW1lIHRvIHRoaW5rIGFib3V0IHJ1bm5pbmcgcmVndWxhciBwZXJm
b3JtYW5jZSBiZW5jaG1hcmtzLiBOb3cgdGhhdCB3ZSBoYXZlIHRoZSBsaXR0bGUgdGVzdHZtWzFd
IHdoaWNoIGNhbiBiZSBjb250cm9sbGVkIG92ZXIgdmNoYW4vSFRUUFsyXSwgd2UgY291bGQgYWRk
IHRoZSBpcGVyZiBleGFtcGxlIGNvZGUgdG8gaXQgYW5kIHRoZW4gc2V0IHVwIHNvbWUgdGVzdCBj
YXNlcy4gSWYgd2UgbWFkZSB0aGUgdGVzdHMgZWFzeSB0byBzY3JpcHQgdGhlbiB3ZSBtaWdodCBi
ZSBhYmxlIHRvIHJ1biB0aGVtIG9uIHRoZSBzYW1lIGhhcmR3YXJlIHdlIHVzZSBmb3IgWGVuc2Vy
dmVyIGFuZCBiZW5jaG1hcmsgdGhlbSBhZ2FpbnN0IFdpbmRvd3MgYW5kIExpbnV4Lgo+Pgo+Cj4g
SSdkIG1pc3NlZCB0aGlzISAgSSBjYW4gY2VydGFpbmx5IGFycmFuZ2UgdG8gaGF2ZSBhIGRlZGlj
YXRlZCBVYnVudHUgYm94IHJ1biB0aGUgdGVzdHMgcmVndWxhcmx5IGhlcmUgaW4gdGhlIENvbXB1
dGVyIExhYiBhbmQgcHVibGlzaCB0aGVtIHRvIEdpdCwgaWYgeW91IGNhbiBwcm92aWRlIGFuIGFw
cHJvcHJpYXRlIHNoZWxsIGhhcm5lc3MuICBUZXN0aW5nIG9uIGJvdGggWGVuU2VydmVyIGFuZCBV
YnVudHUncyBYZW4gc2hvdWxkIGdpdmUgdXMgc29tZSBzcHJlYWQgaW4gdGhlIHNvZnR3YXJlIHZl
cnNpb25zLgo+Cj4+IEkgd29uZGVyIGlmIHdl4oCZbGwgaGF2ZSB0byBleHBhbmQgdGhlIEZMT1cg
aW50ZXJmYWNlIGEgYml0LiBJIG5vdGljZSB0aGVyZeKAmXMgYSB0cmVuZCB0b3dhcmRzIG9mZmVy
aW5nIGFwcGxpY2F0aW9ucyBtb3JlIGNvbnRyb2wgb3ZlciBxdWV1ZXMgKGUuZy4gVk1EUSkgc28g
d2UgbWlnaHQgd2FudCB0byBkbyB0aGUgc2FtZS4gVGhpcyB3b3VsZCBhbGxvdyBhbiBhcHAgdG8g
4oCYcHVzaOKAmSByZXF1ZXN0cyBvbnRvIHRoZSBxdWV1ZSBhbmQgYmxvY2sgKHdoaWNoIHdvdWxk
IGl0c2VsZiBibG9jayBpZiB0aGUgcXVldWUgbWF4IHNpemUgd2FzIGhpdCkgYW5kIHRoZW4gd2Fp
dCBmb3IgdGhlIHdvcmsgdG8gYmUgY29tcGxldGVkIGFuZCB0aGUgYnVmZmVycyBmcmVlLgo+Cj4g
WWVhaCwgYW5kIENvcmUvQXN5bmMgUGlwZSBtb2RlbCBpcyBhIGdvb2Qgd2F5IHRvIG1vZGVsIHRo
ZSBpbnRlcmZhY2UgaGVyZS4KClRoaXM/CgpodHRwczovL29jYW1sLmphbmVzdHJlZXQuY29tL29j
YW1sLWNvcmUvMTExLjIxLjAwL2RvYy9hc3luYy8jU3RkLlBpcGUKClNvdW5kcyByZWFzb25hYmxl
LiBJIGd1ZXNzIHdlIHNob3VsZCBtYWtlIHRoZSBjc3RydWN0cyAoZm9yZXZlcikKcmVhZC1vbmx5
IG9uY2UgdGhleSd2ZSBiZWVuIHN1Ym1pdHRlZCwgYW5kIHJlbHkgb24gdGhlIEdDIHRvIHJlY3lj
bGUKdGhlbS4gVGhlbiB0aGUgY2FsbGVyIGRvZXNuJ3QgaGF2ZSB0byBjYXJlIHdoZW4gdGhleSdy
ZSBmcmVlZCBidXQgd2UKY2FuIHN0aWxsIHByb3ZpZGUgYmFjay1wcmVzc3VyZS4gVGhpcyBpcyBi
YXNpY2FsbHkgd2hhdCB3ZSBoYWQgYmVmb3JlLgpUaGUgY2hhbmdlcyB3b3VsZCBiZToKCjEpIGNo
YW5nZSB0aGUgZG9jdW1lbnRhdGlvbiB0byBzYXkgdGhhdCB3cml0ZXYgb25seSBibG9ja3MgdW50
aWwgaXQncwpyZWFkeSBmb3IgbW9yZSBwYWNrZXRzIHRvIGJlIHN1Ym1pdHRlZCwgbm90IHVudGls
IHRoZXNlIG9uZXMgaGF2ZSBiZWVuCnNlbnQuCjIpIGRvY3VtZW50IHRoYXQgYnVmZmVycyBjYW5u
b3QgYmUgcmV1c2VkLgozKSBhZGQgYSB3YXkgdG8gbWFrZSBhIGNzdHJ1Y3QgZm9yZXZlciBpbW11
dGFibGUuCgo+IC1hbmlsCj4KPgo+Pgo+PiBDaGVlcnMsCj4+IERhdmUKPj4KPj4gWzFdIGh0dHBz
Oi8vZ2l0aHViLmNvbS9taXJhZ2UveGVuLXRlc3R2bQo+PiBbMl0gaHR0cHM6Ly9naXRodWIuY29t
L21pcmFnZS90ZXN0dm0taWRsCj4+Cj4+Pgo+Pj4gKGlmIHlvdSBjYWxsIHdyaXRldiB3aXRoIGEg
c2luZ2xldG9uIGxpc3QgdGhlbiBpdCBkb2VzIHdhaXQgaW5zaWRlIHRoZQo+Pj4gbXV0ZXggYWxy
ZWFkeSkKCgoKCi0tIApEciBUaG9tYXMgTGVvbmFyZCAgICAgICAgaHR0cDovLzBpbnN0YWxsLm5l
dC8KR1BHOiA5MjQyIDk4MDcgQzk4NSAzQzA3IDQ0QTYgIDhCOUEgQUUwNyA4MjgwIDU5QTUgM0ND
MQpHUEc6IERBOTggMjVBRSBDQUQwIDg5NzUgN0NEQSAgQkQ4RSAwNzEzIDNGOTYgQ0E3NCBEOEJB
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VP
Uy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJh
Z2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 24 16:30:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 24 Jul 2014 16:30:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XALun-0006lV-Va; Thu, 24 Jul 2014 16:30:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XALum-0006lN-3d
	for mirageos-devel@lists.xenproject.org; Thu, 24 Jul 2014 16:30:44 +0000
Received: from [85.158.137.68:20184] by server-3.bemta-3.messagelabs.com id
	40/44-22751-3B431D35; Thu, 24 Jul 2014 16:30:43 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1406219440!13397234!1
X-Originating-IP: [209.85.218.44]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5842 invoked from network); 24 Jul 2014 16:30:41 -0000
Received: from mail-oi0-f44.google.com (HELO mail-oi0-f44.google.com)
	(209.85.218.44)
	by server-6.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	24 Jul 2014 16:30:41 -0000
Received: by mail-oi0-f44.google.com with SMTP id x69so2274310oia.17
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 24 Jul 2014 09:30:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=BT32tg25rKnXTgoGsss8KPHQ9ZjgAec5Z3/IKuovoVk=;
	b=ilve9H7IFvLKKEIHGGK7j838ZVaAAGaJBWDMEfbSYZrx/04efsYK1l1sRMDEDDRpbe
	7hmH7YI1eThiNOFUR7OlUDdT2r+PwJ6x+dqrLI4bcVXjwv28xOTwkgam95LfVrZNM+6u
	nshgOaVm8vp30r1Y2KAamI5ocqoJrPalsDkhpAxT6yliLj/hmTxUBsniZelayQg3d/ts
	4DUFZeZ0yRg6w1y6+SEEQS+xMjGTp7WTPUnc6qpiwNlnER7JTLgoUs1bmxnr0d4lWq6e
	AcKOepMEBUYpzWR7Xx8puXpf+n30Nn+qRqTe6iOp71U1P9uIgIfazaOhEU1LxGkRVkEA
	Ni1A==
MIME-Version: 1.0
X-Received: by 10.182.97.234 with SMTP id ed10mr14297963obb.31.1406219440257; 
	Thu, 24 Jul 2014 09:30:40 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Thu, 24 Jul 2014 09:30:40 -0700 (PDT)
In-Reply-To: <BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
Date: Thu, 24 Jul 2014 17:30:40 +0100
Message-ID: <CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

T24gMjMgSnVseSAyMDE0IDEzOjEwLCBBbmlsIE1hZGhhdmFwZWRkeSA8YW5pbEByZWNvaWwub3Jn
PiB3cm90ZToKPiBPbiAyMyBKdWwgMjAxNCwgYXQgMDI6NDYsIERhdmUgU2NvdHQgPERhdmUuU2Nv
dHRAY2l0cml4LmNvbT4gd3JvdGU6Cj4KPj4gT24gMjMgSnVsIDIwMTQsIGF0IDA4OjEwLCBUaG9t
YXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Cj4+PiBPbiAyMiBKdWx5IDIw
MTQgMTM6MTcsIEFuaWwgTWFkaGF2YXBlZGR5IDxhbmlsQHJlY29pbC5vcmc+IHdyb3RlOgo+Pj4+
IE9uIDIyIEp1bCAyMDE0LCBhdCAwMjowMSwgVGhvbWFzIExlb25hcmQgPHRhbGV4NUBnbWFpbC5j
b20+IHdyb3RlOgo+Pj4+Cj4+Pj4+IE9uIDIyIEp1bHkgMjAxNCAwOToxNCwgQW5pbCBNYWRoYXZh
cGVkZHkgPGFuaWxAcmVjb2lsLm9yZz4gd3JvdGU6Cj4+Pj4+PiBPbiAyMiBKdWwgMjAxNCwgYXQg
MDE6MTAsIFRob21hcyBMZW9uYXJkIDx0YWxleDVAZ21haWwuY29tPiB3cm90ZToKPj4+Pj4+Pgo+
Pj4+Pj4+IEkgbm90aWNlZCBJJ20gZ2V0dGluZyBhIGxvdCBvZiB0aGVzZSBpbiB0aGUgZG9tMCBs
b2cgKGRtc2cpOgo+Pj4+Pj4+Cj4+Pj4+Pj4gSnVsIDIyIDA4OjA5OjA1IGN1YmlldHJ1Y2sga2Vy
bmVsOiBbMTE4OTIuMTI4MjQxXQo+Pj4+Pj4+IHhlbl9hZGRfcGh5c190b19tYWNoX2VudHJ5OiBj
YW5ub3QgYWRkIHBmbj0weDAwMDc5YWJlIC0+Cj4+Pj4+Pj4gbWZuPTB4MDAwYmVkODc6IHBmbj0w
eDAwMDc5OWE2IC0+IG1mbj0weDAwMGJlZDg3IGFscmVhZHkgZXhpc3RzCj4+Pj4+Pj4gSnVsIDIy
IDA4OjA5OjA1IGN1YmlldHJ1Y2sga2VybmVsOiBbMTE4OTIuMTI4NzI3XQo+Pj4+Pj4+IHhlbl9h
ZGRfbWFjaF90b19waHlzX2VudHJ5OiBjYW5ub3QgYWRkIHBmbj0weDAwMDc5YmNiIC0+Cj4+Pj4+
Pj4gbWZuPTB4MDAwYmVkODc6IHBmbj0weDAwMDc5OWE2IC0+IG1mbj0weDAwMGJlZDg3IGFscmVh
ZHkgZXhpc3RzCj4+Pj4+Pj4gSnVsIDIyIDA4OjA5OjA1IGN1YmlldHJ1Y2sga2VybmVsOiBbMTE4
OTIuMTMzMjY0XQo+Pj4+Pj4+IHhlbl9hZGRfcGh5c190b19tYWNoX2VudHJ5OiBjYW5ub3QgYWRk
IHBmbj0weDAwMDc5YjcwIC0+Cj4+Pj4+Pj4gbWZuPTB4MDAwYmVkODc6IHBmbj0weDAwMDc5YmQ3
IC0+IG1mbj0weDAwMGJlZDg3IGFscmVhZHkgZXhpc3RzCj4+Pj4+Pj4gSnVsIDIyIDA4OjA5OjA5
IGN1YmlldHJ1Y2sga2VybmVsOiBbMTE4OTYuMDQxMTA2XQo+Pj4+Pj4+IHhlbl9hZGRfcGh5c190
b19tYWNoX2VudHJ5OiBjYW5ub3QgYWRkIHBmbj0weDAwMDc5OTlhIC0+Cj4+Pj4+Pj4gbWZuPTB4
MDAwYmVkODc6IHBmbj0weDAwMDc5YjJiIC0+IG1mbj0weDAwMGJlZDg3IGFscmVhZHkgZXhpc3Rz
Cj4+Pj4+Pgo+Pj4+Pj4gVGhhdCBsb29rcyBsaWtlIHRoaXMgYnVnIGluIFhlbi9BUk0vbmV0YmFj
azoKPj4+Pj4+IGh0dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi11
c2Vycy8yMDE0LTA3L21zZzAwMDY3Lmh0bWwKPj4+Pj4KPj4+Pj4gQWhhISBUaGlzIHNlZW1zIHRv
IGZpeCBpdCAoSSBjYW4gYnJvd3NlIG1pcmFnZS13d3cgd2l0aG91dCBodWdlIGRlbGF5cyk6Cj4+
Pj4+Cj4+Pj4+IGRpZmYgLS1naXQgYS9saWIvbmV0aWYubWwgYi9saWIvbmV0aWYubWwKPj4+Pj4g
aW5kZXggNGUwMmU1ZS4uM2NjNzc2MCAxMDA2NDQKPj4+Pj4gLS0tIGEvbGliL25ldGlmLm1sCj4+
Pj4+ICsrKyBiL2xpYi9uZXRpZi5tbAo+Pj4+PiBAQCAtNDU1LDcgKzQ1NSw3IEBAIGxldCB3cml0
ZXYgbmYgcGFnZXMgPQo+Pj4+PiAgICAgICAgbHd0IHJlc3RfdGggPSB4bWl0IG90aGVyX3BhZ2Vz
IGluCj4+Pj4+ICAgICAgICAoKiBBbGwgZnJhZ21lbnRzIGFyZSBub3cgd3JpdHRlbiwgd2UgY2Fu
IG5vdyBub3RpZnkgdGhlIGJhY2tlbmQgKikKPj4+Pj4gICAgICAgIEx3dF9yaW5nLkZyb250LnB1
c2ggbmYudC50eF9jbGllbnQgKG5vdGlmeSBuZi50KTsKPj4+Pj4gLSAgICAgICAgIHJldHVybiAo
KQo+Pj4+PiArICAgICAgICAgam9pbiByZXN0X3RoCj4+Pj4+ICAgKQo+Pj4+Pgo+Pj4+PiBsZXQg
d2FpdF9mb3JfcGx1ZyBuZiA9Cj4+Pj4+Cj4+Pj4+IE5vdCB2ZXJ5IGVmZmljaWVudCwgYnV0IGF0
IGxlYXN0IGl0IHdvcmtzISBMb29rcyBsaWtlIHRoZSBYZW4gcGVvcGxlCj4+Pj4+IHdpbGwgZml4
IGl0IGF0IHNvbWUgcG9pbnQuCj4+Pj4KPj4+PiBUaGF0J3MgZ29pbmcgdG8gc2VyaWFsaXplIHJl
cXVlc3RzIG9uIHRoZSBUWCByaW5nLCBpc24ndCBpdD8gIE1pZ2h0Cj4+Pj4gYmUgd29ydGggbWFr
aW5nIGNvbmRpdGlvbmFsIHZpYSBhIGZlYXR1cmUgZmxhZyBpZiBpdCdzIGdvaW5nIHRvIHRha2UK
Pj4+PiB4ODYgdHJhbnNtaXQgcGVyZm9ybWFuY2UgZG93bi4KCkkndmUgZG9uZSBzb21lIHRlc3Rz
LCBhbmQgdGhpcyBhYnNvbHV0ZWx5IGtpbGxzIHBlcmZvcm1hbmNlLiBTZW5kaW5nIGEKbG9hZCBv
ZiBzaW1wbGUgMUsgVURQIHBhY2tldHMsIHRoZSBDdWJpZVRydWNrIHNlbmRzIGF0IDI4IEtCL3Mg
d2l0aAp0aGlzIHBhdGNoIGFuZCAxLDUzMSBLQi9zIHdpdGggdGhlIHdhaXQgb3V0c2lkZSB0aGUg
bXV0ZXguCgpIb3dldmVyLCB0aGlzIHN0aWxsIGlzbid0IHF1aXRlIHJpZ2h0LCBiZWNhdXNlIGlu
IHRoZSBmYXN0IGNhc2UgSSBzZW5kCmFsbCB0aGUgcGFja2V0cyBhbmQgdGhlbiB3YWl0IGZvciB0
aGVtIGFsbCB0byBjb21wbGV0ZS4gQnV0IHJlYWxseSBJJ2QKbGlrZSB0aGUgc2VuZGVyIHRvIHNs
b3cgZG93biB3aGVuIHRoZSByZWNlaXZlciBpcyBnZXR0aW5nIGJlaGluZCwKcmF0aGVyIHRoYW4g
YWxsb2NhdGluZyBldmVyIG1vcmUgbWVtb3J5IHRvIHRoZSBxdWV1ZS4gRG9pbmcgdGhhdCB3aWxs
CnJlcXVpcmUgYW4gQVBJIGNoYW5nZSBJIHRoaW5rLgoKPj4+IEZMT1cud3JpdGV2IGlzIGRlZmlu
ZWQgYXM6Cj4+Pgo+Pj4gdmFsIHdyaXRldiA6IGZsb3cgLT4gYnVmZmVyIGxpc3QgLT4gW2BPayBv
ZiB1bml0IHwgYEVvZiB8IGBFcnJvciBvZiBlcnJvciBdIGlvCj4+PiAoKiogW3dyaXRldiBmbG93
IGJ1ZmZlcnNdIHdpbGwgYmxvY2sgdW50aWwgdGhlIGNvbnRlbnRzIG9mIFtidWZmZXIgbGlzdF0K
Pj4+ICAgICBhcmUgYWxsIHN1Y2Nlc3NmdWxseSB0cmFuc21pdHRlZCB0byB0aGUgcmVtb3RlIGVu
ZHBvaW50LiBUaGUgcmVzdWx0Cj4+PiAgICAgW2BPayAoKV0gaW5kaWNhdGVzIHN1Y2Nlc3MsIFtg
RW9mXSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29ubmVjdGlvbiBpcyBub3cKPj4+ICAgICBjbG9zZWQg
YW5kIFtgRXJyb3JdIGluZGljYXRlcyBzb21lIG90aGVyIGVycm9yLiAqKQo+Pj4KPj4+IEkgdG9v
ayB0aGlzIHRvIG1lYW4gdGhhdCB3aGVuIHlvdSBnZXQgYE9rIGJhY2ssIHRoZSBidWZmZXJzIGFy
ZSBubwo+Pj4gbG9uZ2VyIG5lZWRlZCBhbmQgY2FuIGJlIHVzZWQgZm9yIHNvbWV0aGluZyBlbHNl
LiBMb29raW5nIGF0IHRoZQo+Pj4gaW1wbGVtZW50YXRpb24sIGl0IHNlZW1zIHRoYXQgYE9rIGp1
c3QgbWVhbnMgdGhhdCB0aGUgcmVjZWl2ZXIgaGFzCj4+PiBiZWVuIGdpdmVuIGFjY2VzcyB0byB0
aGUgYnVmZmVycywgYnV0IG1pZ2h0IG5vdCBoYXZlIHJlYWQgdGhlbSB5ZXQuCj4+Pgo+Pj4gU28g
YWN0dWFsbHksIEkgdGhpbmsgdGhpcyBjaGFuZ2UgbWlnaHQgYmUgY29ycmVjdCBmb3IgeDg2IHRv
bywKPj4+IGFsdGhvdWdoIHBlcmhhcHMgaXQgc2hvdWxkIGJlIG1vdmVkIG91dCBvZiB0aGUgbXV0
ZXguCj4+Cj4+IFllYWgsIEkgdGhpbmsgeW914oCZcmUgcmlnaHQhCj4+Cj4KPiBBZ3JlZWQuICBD
b3VsZCB5b3UgZHJvcCBpbiBhIHB1bGwgcmVxdWVzdCBmb3IgdGhhdCBvbiBtaXJhZ2UvbWlyYWdl
LW5ldC14ZW4sIFRob21hcz8gIEknbGwgdGVzdCBhbmQgbWVyZ2Ugb24gbXkgQ3ViaWUgdG8gdXNl
IGZvciB0aGUgT1NDT04gdGFsayB0b21vcnJvdyAobm93IGFwcHJvYWNoaW5nIGZhc3QgOikKPgo+
PiBJIHRoaW5rIGl04oCZcyB0aW1lIHRvIHRoaW5rIGFib3V0IHJ1bm5pbmcgcmVndWxhciBwZXJm
b3JtYW5jZSBiZW5jaG1hcmtzLiBOb3cgdGhhdCB3ZSBoYXZlIHRoZSBsaXR0bGUgdGVzdHZtWzFd
IHdoaWNoIGNhbiBiZSBjb250cm9sbGVkIG92ZXIgdmNoYW4vSFRUUFsyXSwgd2UgY291bGQgYWRk
IHRoZSBpcGVyZiBleGFtcGxlIGNvZGUgdG8gaXQgYW5kIHRoZW4gc2V0IHVwIHNvbWUgdGVzdCBj
YXNlcy4gSWYgd2UgbWFkZSB0aGUgdGVzdHMgZWFzeSB0byBzY3JpcHQgdGhlbiB3ZSBtaWdodCBi
ZSBhYmxlIHRvIHJ1biB0aGVtIG9uIHRoZSBzYW1lIGhhcmR3YXJlIHdlIHVzZSBmb3IgWGVuc2Vy
dmVyIGFuZCBiZW5jaG1hcmsgdGhlbSBhZ2FpbnN0IFdpbmRvd3MgYW5kIExpbnV4Lgo+Pgo+Cj4g
SSdkIG1pc3NlZCB0aGlzISAgSSBjYW4gY2VydGFpbmx5IGFycmFuZ2UgdG8gaGF2ZSBhIGRlZGlj
YXRlZCBVYnVudHUgYm94IHJ1biB0aGUgdGVzdHMgcmVndWxhcmx5IGhlcmUgaW4gdGhlIENvbXB1
dGVyIExhYiBhbmQgcHVibGlzaCB0aGVtIHRvIEdpdCwgaWYgeW91IGNhbiBwcm92aWRlIGFuIGFw
cHJvcHJpYXRlIHNoZWxsIGhhcm5lc3MuICBUZXN0aW5nIG9uIGJvdGggWGVuU2VydmVyIGFuZCBV
YnVudHUncyBYZW4gc2hvdWxkIGdpdmUgdXMgc29tZSBzcHJlYWQgaW4gdGhlIHNvZnR3YXJlIHZl
cnNpb25zLgo+Cj4+IEkgd29uZGVyIGlmIHdl4oCZbGwgaGF2ZSB0byBleHBhbmQgdGhlIEZMT1cg
aW50ZXJmYWNlIGEgYml0LiBJIG5vdGljZSB0aGVyZeKAmXMgYSB0cmVuZCB0b3dhcmRzIG9mZmVy
aW5nIGFwcGxpY2F0aW9ucyBtb3JlIGNvbnRyb2wgb3ZlciBxdWV1ZXMgKGUuZy4gVk1EUSkgc28g
d2UgbWlnaHQgd2FudCB0byBkbyB0aGUgc2FtZS4gVGhpcyB3b3VsZCBhbGxvdyBhbiBhcHAgdG8g
4oCYcHVzaOKAmSByZXF1ZXN0cyBvbnRvIHRoZSBxdWV1ZSBhbmQgYmxvY2sgKHdoaWNoIHdvdWxk
IGl0c2VsZiBibG9jayBpZiB0aGUgcXVldWUgbWF4IHNpemUgd2FzIGhpdCkgYW5kIHRoZW4gd2Fp
dCBmb3IgdGhlIHdvcmsgdG8gYmUgY29tcGxldGVkIGFuZCB0aGUgYnVmZmVycyBmcmVlLgo+Cj4g
WWVhaCwgYW5kIENvcmUvQXN5bmMgUGlwZSBtb2RlbCBpcyBhIGdvb2Qgd2F5IHRvIG1vZGVsIHRo
ZSBpbnRlcmZhY2UgaGVyZS4KClRoaXM/CgpodHRwczovL29jYW1sLmphbmVzdHJlZXQuY29tL29j
YW1sLWNvcmUvMTExLjIxLjAwL2RvYy9hc3luYy8jU3RkLlBpcGUKClNvdW5kcyByZWFzb25hYmxl
LiBJIGd1ZXNzIHdlIHNob3VsZCBtYWtlIHRoZSBjc3RydWN0cyAoZm9yZXZlcikKcmVhZC1vbmx5
IG9uY2UgdGhleSd2ZSBiZWVuIHN1Ym1pdHRlZCwgYW5kIHJlbHkgb24gdGhlIEdDIHRvIHJlY3lj
bGUKdGhlbS4gVGhlbiB0aGUgY2FsbGVyIGRvZXNuJ3QgaGF2ZSB0byBjYXJlIHdoZW4gdGhleSdy
ZSBmcmVlZCBidXQgd2UKY2FuIHN0aWxsIHByb3ZpZGUgYmFjay1wcmVzc3VyZS4gVGhpcyBpcyBi
YXNpY2FsbHkgd2hhdCB3ZSBoYWQgYmVmb3JlLgpUaGUgY2hhbmdlcyB3b3VsZCBiZToKCjEpIGNo
YW5nZSB0aGUgZG9jdW1lbnRhdGlvbiB0byBzYXkgdGhhdCB3cml0ZXYgb25seSBibG9ja3MgdW50
aWwgaXQncwpyZWFkeSBmb3IgbW9yZSBwYWNrZXRzIHRvIGJlIHN1Ym1pdHRlZCwgbm90IHVudGls
IHRoZXNlIG9uZXMgaGF2ZSBiZWVuCnNlbnQuCjIpIGRvY3VtZW50IHRoYXQgYnVmZmVycyBjYW5u
b3QgYmUgcmV1c2VkLgozKSBhZGQgYSB3YXkgdG8gbWFrZSBhIGNzdHJ1Y3QgZm9yZXZlciBpbW11
dGFibGUuCgo+IC1hbmlsCj4KPgo+Pgo+PiBDaGVlcnMsCj4+IERhdmUKPj4KPj4gWzFdIGh0dHBz
Oi8vZ2l0aHViLmNvbS9taXJhZ2UveGVuLXRlc3R2bQo+PiBbMl0gaHR0cHM6Ly9naXRodWIuY29t
L21pcmFnZS90ZXN0dm0taWRsCj4+Cj4+Pgo+Pj4gKGlmIHlvdSBjYWxsIHdyaXRldiB3aXRoIGEg
c2luZ2xldG9uIGxpc3QgdGhlbiBpdCBkb2VzIHdhaXQgaW5zaWRlIHRoZQo+Pj4gbXV0ZXggYWxy
ZWFkeSkKCgoKCi0tIApEciBUaG9tYXMgTGVvbmFyZCAgICAgICAgaHR0cDovLzBpbnN0YWxsLm5l
dC8KR1BHOiA5MjQyIDk4MDcgQzk4NSAzQzA3IDQ0QTYgIDhCOUEgQUUwNyA4MjgwIDU5QTUgM0ND
MQpHUEc6IERBOTggMjVBRSBDQUQwIDg5NzUgN0NEQSAgQkQ4RSAwNzEzIDNGOTYgQ0E3NCBEOEJB
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VP
Uy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9taXJh
Z2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 25 11:54:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 25 Jul 2014 11:54:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAe5B-0005uy-1h; Fri, 25 Jul 2014 11:54:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XAe59-0005us-TZ
	for mirageos-devel@lists.xenproject.org; Fri, 25 Jul 2014 11:54:40 +0000
Received: from [85.158.143.35:16337] by server-1.bemta-4.messagelabs.com id
	3E/9D-05872-F7542D35; Fri, 25 Jul 2014 11:54:39 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1406289277!20129185!1
X-Originating-IP: [209.85.219.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22021 invoked from network); 25 Jul 2014 11:54:38 -0000
Received: from mail-oa0-f48.google.com (HELO mail-oa0-f48.google.com)
	(209.85.219.48)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 Jul 2014 11:54:38 -0000
Received: by mail-oa0-f48.google.com with SMTP id m1so5319521oag.21
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 25 Jul 2014 04:54:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=yUECqhoVkzmnSTAgfg0Cy0JCUyuLhrZtwzUnCtOS6II=;
	b=NfQN7uaR6doTEkhJhpya8hkem1iAK03iVe0hWKQc/3g4ZGtBWZQdzdzBGl+RrvSOPQ
	49QhbQRgXP9Gji8yusoK7OdiuC1wxxIUS7R1Icri/1k3wMQOLjERBpdIW11gktFbAbAH
	F3Ey0550pMAM2a13tiwuycEjBfjInRI5BmkkvcXMEQt41Up5xplYn4neHutWPns3dWVu
	qE8jaFvCoSOuDO0ERCi5vq3cAQZsjl7dM5a8GJsq8N347E0VudnNrbcrIqyPeJ/UBun3
	OXTwCtk0iBiYrudMFWpNBeiHlnzm6aQ8oVLW/Rb3T9LiljHZYdG08CkxfJvhJK1MofZl
	yaDw==
MIME-Version: 1.0
X-Received: by 10.182.3.100 with SMTP id b4mr4124299obb.79.1406289276821; Fri,
	25 Jul 2014 04:54:36 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Fri, 25 Jul 2014 04:54:36 -0700 (PDT)
In-Reply-To: <CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
	<CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
Date: Fri, 25 Jul 2014 12:54:36 +0100
Message-ID: <CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 24 July 2014 17:30, Thomas Leonard <talex5@gmail.com> wrote:
> On 23 July 2014 13:10, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 23 Jul 2014, at 02:46, Dave Scott <Dave.Scott@citrix.com> wrote:
>>
>>> On 23 Jul 2014, at 08:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>
>>>> On 22 July 2014 13:17, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>>> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>>>>>
>>>>>> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>>>>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>>>>>>
>>>>>>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>>>>>>>
>>>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
>>>>>>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>>>>>>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
>>>>>>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
>>>>>>>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
>>>>>>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
>>>>>>>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
>>>>>>>
>>>>>>> That looks like this bug in Xen/ARM/netback:
>>>>>>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
>>>>>>
>>>>>> Aha! This seems to fix it (I can browse mirage-www without huge delays):
>>>>>>
>>>>>> diff --git a/lib/netif.ml b/lib/netif.ml
>>>>>> index 4e02e5e..3cc7760 100644
>>>>>> --- a/lib/netif.ml
>>>>>> +++ b/lib/netif.ml
>>>>>> @@ -455,7 +455,7 @@ let writev nf pages =
>>>>>>        lwt rest_th = xmit other_pages in
>>>>>>        (* All fragments are now written, we can now notify the backend *)
>>>>>>        Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
>>>>>> -         return ()
>>>>>> +         join rest_th
>>>>>>   )
>>>>>>
>>>>>> let wait_for_plug nf =
>>>>>>
>>>>>> Not very efficient, but at least it works! Looks like the Xen people
>>>>>> will fix it at some point.
>>>>>
>>>>> That's going to serialize requests on the TX ring, isn't it?  Might
>>>>> be worth making conditional via a feature flag if it's going to take
>>>>> x86 transmit performance down.
>
> I've done some tests, and this absolutely kills performance. Sending a
> load of simple 1K UDP packets, the CubieTruck sends at 28 KB/s with
> this patch and 1,531 KB/s with the wait outside the mutex.
>
> However, this still isn't quite right, because in the fast case I send
> all the packets and then wait for them all to complete. But really I'd
> like the sender to slow down when the receiver is getting behind,
> rather than allocating ever more memory to the queue. Doing that will
> require an API change I think.

Here's a slightly better work-around:

https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad

It changes the TCP packet splitting code so that the second part of
the page is copied to a new IO page. This avoids sending the same
physical page to Linux twice (which is what doesn't work).

With this, the previous hack can be reverted.

In my testing, this increased the streaming TCP download speed from 56
KB/s to 3.9 MB/s on the CubieTruck.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 25 11:54:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 25 Jul 2014 11:54:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAe5B-0005uy-1h; Fri, 25 Jul 2014 11:54:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XAe59-0005us-TZ
	for mirageos-devel@lists.xenproject.org; Fri, 25 Jul 2014 11:54:40 +0000
Received: from [85.158.143.35:16337] by server-1.bemta-4.messagelabs.com id
	3E/9D-05872-F7542D35; Fri, 25 Jul 2014 11:54:39 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1406289277!20129185!1
X-Originating-IP: [209.85.219.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22021 invoked from network); 25 Jul 2014 11:54:38 -0000
Received: from mail-oa0-f48.google.com (HELO mail-oa0-f48.google.com)
	(209.85.219.48)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 Jul 2014 11:54:38 -0000
Received: by mail-oa0-f48.google.com with SMTP id m1so5319521oag.21
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 25 Jul 2014 04:54:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=yUECqhoVkzmnSTAgfg0Cy0JCUyuLhrZtwzUnCtOS6II=;
	b=NfQN7uaR6doTEkhJhpya8hkem1iAK03iVe0hWKQc/3g4ZGtBWZQdzdzBGl+RrvSOPQ
	49QhbQRgXP9Gji8yusoK7OdiuC1wxxIUS7R1Icri/1k3wMQOLjERBpdIW11gktFbAbAH
	F3Ey0550pMAM2a13tiwuycEjBfjInRI5BmkkvcXMEQt41Up5xplYn4neHutWPns3dWVu
	qE8jaFvCoSOuDO0ERCi5vq3cAQZsjl7dM5a8GJsq8N347E0VudnNrbcrIqyPeJ/UBun3
	OXTwCtk0iBiYrudMFWpNBeiHlnzm6aQ8oVLW/Rb3T9LiljHZYdG08CkxfJvhJK1MofZl
	yaDw==
MIME-Version: 1.0
X-Received: by 10.182.3.100 with SMTP id b4mr4124299obb.79.1406289276821; Fri,
	25 Jul 2014 04:54:36 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Fri, 25 Jul 2014 04:54:36 -0700 (PDT)
In-Reply-To: <CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
	<CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
Date: Fri, 25 Jul 2014 12:54:36 +0100
Message-ID: <CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 24 July 2014 17:30, Thomas Leonard <talex5@gmail.com> wrote:
> On 23 July 2014 13:10, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 23 Jul 2014, at 02:46, Dave Scott <Dave.Scott@citrix.com> wrote:
>>
>>> On 23 Jul 2014, at 08:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>
>>>> On 22 July 2014 13:17, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>>> On 22 Jul 2014, at 02:01, Thomas Leonard <talex5@gmail.com> wrote:
>>>>>
>>>>>> On 22 July 2014 09:14, Anil Madhavapeddy <anil@recoil.org> wrote:
>>>>>>> On 22 Jul 2014, at 01:10, Thomas Leonard <talex5@gmail.com> wrote:
>>>>>>>>
>>>>>>>> I noticed I'm getting a lot of these in the dom0 log (dmsg):
>>>>>>>>
>>>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128241]
>>>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079abe ->
>>>>>>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.128727]
>>>>>>>> xen_add_mach_to_phys_entry: cannot add pfn=0x00079bcb ->
>>>>>>>> mfn=0x000bed87: pfn=0x000799a6 -> mfn=0x000bed87 already exists
>>>>>>>> Jul 22 08:09:05 cubietruck kernel: [11892.133264]
>>>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x00079b70 ->
>>>>>>>> mfn=0x000bed87: pfn=0x00079bd7 -> mfn=0x000bed87 already exists
>>>>>>>> Jul 22 08:09:09 cubietruck kernel: [11896.041106]
>>>>>>>> xen_add_phys_to_mach_entry: cannot add pfn=0x0007999a ->
>>>>>>>> mfn=0x000bed87: pfn=0x00079b2b -> mfn=0x000bed87 already exists
>>>>>>>
>>>>>>> That looks like this bug in Xen/ARM/netback:
>>>>>>> http://lists.xenproject.org/archives/html/xen-users/2014-07/msg00067.html
>>>>>>
>>>>>> Aha! This seems to fix it (I can browse mirage-www without huge delays):
>>>>>>
>>>>>> diff --git a/lib/netif.ml b/lib/netif.ml
>>>>>> index 4e02e5e..3cc7760 100644
>>>>>> --- a/lib/netif.ml
>>>>>> +++ b/lib/netif.ml
>>>>>> @@ -455,7 +455,7 @@ let writev nf pages =
>>>>>>        lwt rest_th = xmit other_pages in
>>>>>>        (* All fragments are now written, we can now notify the backend *)
>>>>>>        Lwt_ring.Front.push nf.t.tx_client (notify nf.t);
>>>>>> -         return ()
>>>>>> +         join rest_th
>>>>>>   )
>>>>>>
>>>>>> let wait_for_plug nf =
>>>>>>
>>>>>> Not very efficient, but at least it works! Looks like the Xen people
>>>>>> will fix it at some point.
>>>>>
>>>>> That's going to serialize requests on the TX ring, isn't it?  Might
>>>>> be worth making conditional via a feature flag if it's going to take
>>>>> x86 transmit performance down.
>
> I've done some tests, and this absolutely kills performance. Sending a
> load of simple 1K UDP packets, the CubieTruck sends at 28 KB/s with
> this patch and 1,531 KB/s with the wait outside the mutex.
>
> However, this still isn't quite right, because in the fast case I send
> all the packets and then wait for them all to complete. But really I'd
> like the sender to slow down when the receiver is getting behind,
> rather than allocating ever more memory to the queue. Doing that will
> require an API change I think.

Here's a slightly better work-around:

https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad

It changes the TCP packet splitting code so that the second part of
the page is copied to a new IO page. This avoids sending the same
physical page to Linux twice (which is what doesn't work).

With this, the previous hack can be reverted.

In my testing, this increased the streaming TCP download speed from 56
KB/s to 3.9 MB/s on the CubieTruck.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 25 17:36:02 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 25 Jul 2014 17:36:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAjPQ-0006uc-Ny; Fri, 25 Jul 2014 17:35:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <russell.pavlicek.xen@gmail.com>) id 1XAjPP-0006uT-Nx
	for mirageos-devel@lists.xenproject.org; Fri, 25 Jul 2014 17:35:55 +0000
Received: from [85.158.139.211:25686] by server-7.bemta-5.messagelabs.com id
	B5/C5-30869-B7592D35; Fri, 25 Jul 2014 17:35:55 +0000
X-Env-Sender: russell.pavlicek.xen@gmail.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1406309753!10082579!1
X-Originating-IP: [209.85.215.46]
X-SpamReason: No, hits=2.5 required=7.0 tests=RCVD_BY_IP,
  SUSPICIOUS_RECIPS
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7980 invoked from network); 25 Jul 2014 17:35:54 -0000
Received: from mail-la0-f46.google.com (HELO mail-la0-f46.google.com)
	(209.85.215.46)
	by server-3.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	25 Jul 2014 17:35:54 -0000
Received: by mail-la0-f46.google.com with SMTP id b8so3268198lan.5
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 25 Jul 2014 10:35:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:date:message-id:subject:from:to:content-type;
	bh=nAOMfZGKMqhT4JG64nphrc8G6NQLDxto9eK2WeUiF7c=;
	b=cLZ2pukMk8z8BKs1AjT5SSko7yY2Vikx/LHBdSv/+0oaXMrRUtlVaOVKMWH7vCTmym
	8sD3XLdQctiggTxfKSTDmIXPQAnC0MIGp7ysw4u3x02O+Jda7eeJvl3jPXnFpz4bqlea
	yI6QT9xvMKveM39UhyxVTCMoS4LqK+6Bq+XG+7kufNkvuc1BrQfy/xl+a9WSubRkpKVq
	rU3TuueuV84ruHf/dMtrNbD3D0+OPHV55gG9qgZ50PW0z6WD4E1ENgRU/lJ0OSHUdnD0
	s8tlT3a4AHNQmpG99LV0NViRi+tCK9vENHFJVaXtRl6IE9trVrBfd2towmu1+SBTuOXy
	9EuA==
MIME-Version: 1.0
X-Received: by 10.152.20.165 with SMTP id o5mr3924628lae.78.1406309753482;
	Fri, 25 Jul 2014 10:35:53 -0700 (PDT)
Received: by 10.112.22.39 with HTTP; Fri, 25 Jul 2014 10:35:53 -0700 (PDT)
Date: Fri, 25 Jul 2014 13:35:53 -0400
X-Google-Sender-Auth: w2YvmkbQh4W3-uTJ4D8oTCdX-U0
Message-ID: <CAHehzX0K3Xd=Ew8jXHuZ6QmL_8LSCGJOd6fED--HJ+g1UHwPKw@mail.gmail.com>
From: Russ Pavlicek <russell.pavlicek@xenproject.org>
To: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	xen-devel@lists.xen.org, 
	mirageos-devel@lists.xenproject.org, xs-devel@lists.xenserver.org, 
	xen-api@lists.xen.org
Subject: [MirageOS-devel] Xen Project Document Day is This Wednesday,
	July 30: Beginner's Guide needs
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a reminder that next Wednesday, July 30, is Xen Project Document Day.

Xen Project Document Day is a day to help improve overall Xen Project
documentation, particularly that of the Wiki.

This month, it would be great if we could include the incomplete bits
needed for the Beginner's Guide, including at least one decent diagram
and some of the missing information called out in the Architecture
section:

http://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide

All the information you need to participate in Document Day is here:

http://wiki.xenproject.org/wiki/Xen_Document_Days

If you get a few moments in the next week, please take a look at the
current TODO list to see other items which need attention:

http://wiki.xenproject.org/wiki/Xen_Document_Days/TODO

So please think about how you can help out.  If you haven't requested
to be made a Wiki editor, save time and do it now so you are ready to
go on Document Day.  Just fill out the form below:

http://xenproject.org/component/content/article/100-misc/145-request-to-be-made-a-wiki-editor.html

We hope to see you Wednesday in #xendocs!

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 25 17:36:02 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 25 Jul 2014 17:36:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAjPQ-0006uc-Ny; Fri, 25 Jul 2014 17:35:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <russell.pavlicek.xen@gmail.com>) id 1XAjPP-0006uT-Nx
	for mirageos-devel@lists.xenproject.org; Fri, 25 Jul 2014 17:35:55 +0000
Received: from [85.158.139.211:25686] by server-7.bemta-5.messagelabs.com id
	B5/C5-30869-B7592D35; Fri, 25 Jul 2014 17:35:55 +0000
X-Env-Sender: russell.pavlicek.xen@gmail.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1406309753!10082579!1
X-Originating-IP: [209.85.215.46]
X-SpamReason: No, hits=2.5 required=7.0 tests=RCVD_BY_IP,
  SUSPICIOUS_RECIPS
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7980 invoked from network); 25 Jul 2014 17:35:54 -0000
Received: from mail-la0-f46.google.com (HELO mail-la0-f46.google.com)
	(209.85.215.46)
	by server-3.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	25 Jul 2014 17:35:54 -0000
Received: by mail-la0-f46.google.com with SMTP id b8so3268198lan.5
	for <mirageos-devel@lists.xenproject.org>;
	Fri, 25 Jul 2014 10:35:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:date:message-id:subject:from:to:content-type;
	bh=nAOMfZGKMqhT4JG64nphrc8G6NQLDxto9eK2WeUiF7c=;
	b=cLZ2pukMk8z8BKs1AjT5SSko7yY2Vikx/LHBdSv/+0oaXMrRUtlVaOVKMWH7vCTmym
	8sD3XLdQctiggTxfKSTDmIXPQAnC0MIGp7ysw4u3x02O+Jda7eeJvl3jPXnFpz4bqlea
	yI6QT9xvMKveM39UhyxVTCMoS4LqK+6Bq+XG+7kufNkvuc1BrQfy/xl+a9WSubRkpKVq
	rU3TuueuV84ruHf/dMtrNbD3D0+OPHV55gG9qgZ50PW0z6WD4E1ENgRU/lJ0OSHUdnD0
	s8tlT3a4AHNQmpG99LV0NViRi+tCK9vENHFJVaXtRl6IE9trVrBfd2towmu1+SBTuOXy
	9EuA==
MIME-Version: 1.0
X-Received: by 10.152.20.165 with SMTP id o5mr3924628lae.78.1406309753482;
	Fri, 25 Jul 2014 10:35:53 -0700 (PDT)
Received: by 10.112.22.39 with HTTP; Fri, 25 Jul 2014 10:35:53 -0700 (PDT)
Date: Fri, 25 Jul 2014 13:35:53 -0400
X-Google-Sender-Auth: w2YvmkbQh4W3-uTJ4D8oTCdX-U0
Message-ID: <CAHehzX0K3Xd=Ew8jXHuZ6QmL_8LSCGJOd6fED--HJ+g1UHwPKw@mail.gmail.com>
From: Russ Pavlicek <russell.pavlicek@xenproject.org>
To: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	xen-devel@lists.xen.org, 
	mirageos-devel@lists.xenproject.org, xs-devel@lists.xenserver.org, 
	xen-api@lists.xen.org
Subject: [MirageOS-devel] Xen Project Document Day is This Wednesday,
	July 30: Beginner's Guide needs
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a reminder that next Wednesday, July 30, is Xen Project Document Day.

Xen Project Document Day is a day to help improve overall Xen Project
documentation, particularly that of the Wiki.

This month, it would be great if we could include the incomplete bits
needed for the Beginner's Guide, including at least one decent diagram
and some of the missing information called out in the Architecture
section:

http://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide

All the information you need to participate in Document Day is here:

http://wiki.xenproject.org/wiki/Xen_Document_Days

If you get a few moments in the next week, please take a look at the
current TODO list to see other items which need attention:

http://wiki.xenproject.org/wiki/Xen_Document_Days/TODO

So please think about how you can help out.  If you haven't requested
to be made a Wiki editor, save time and do it now so you are ready to
go on Document Day.  Just fill out the form below:

http://xenproject.org/component/content/article/100-misc/145-request-to-be-made-a-wiki-editor.html

We hope to see you Wednesday in #xendocs!

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 25 23:31:59 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 25 Jul 2014 23:31:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAoxp-0007Wq-Qi; Fri, 25 Jul 2014 23:31:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XAoxo-0007Wl-CK
	for mirageos-devel@lists.xenproject.org; Fri, 25 Jul 2014 23:31:48 +0000
Received: from [85.158.137.68:58121] by server-11.bemta-3.messagelabs.com id
	A6/78-04507-3E8E2D35; Fri, 25 Jul 2014 23:31:47 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-3.tower-31.messagelabs.com!1406331106!18157052!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16474 invoked from network); 25 Jul 2014 23:31:46 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-3.tower-31.messagelabs.com with SMTP;
	25 Jul 2014 23:31:46 -0000
Received: (qmail 27313 invoked by uid 634); 25 Jul 2014 23:31:46 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from Unknown (HELO [10.1.0.212]) (12.168.40.226)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 26 Jul 2014 00:31:42 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
Date: Fri, 25 Jul 2014 16:31:36 -0700
Message-Id: <CC4AA681-C1CF-40F7-A540-39BD9DF94404@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
	<CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
	<CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 25 Jul 2014, at 04:54, Thomas Leonard <talex5@gmail.com> wrote:
> 
> Here's a slightly better work-around:
> 
> https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad
> 
> It changes the TCP packet splitting code so that the second part of
> the page is copied to a new IO page. This avoids sending the same
> physical page to Linux twice (which is what doesn't work).
> 
> With this, the previous hack can be reverted.
> 
> In my testing, this increased the streaming TCP download speed from 56
> KB/s to 3.9 MB/s on the CubieTruck.

This is certainly a fix that works, but I'm loath to insert an unnecessary
copy in the TCP stack just because of a limitation in Xen/ARM (that will go
away in Xen 4.5, I expect).

Could we keep track of the active grants in the Gnttab libary, and force a
page duplication at that point instead?  That would fix it for any other
Cstruct consumers as well, and be a more logical place to insert Xen
version detection in the future to remove the extra copy if not needed.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Fri Jul 25 23:31:59 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 25 Jul 2014 23:31:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAoxp-0007Wq-Qi; Fri, 25 Jul 2014 23:31:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XAoxo-0007Wl-CK
	for mirageos-devel@lists.xenproject.org; Fri, 25 Jul 2014 23:31:48 +0000
Received: from [85.158.137.68:58121] by server-11.bemta-3.messagelabs.com id
	A6/78-04507-3E8E2D35; Fri, 25 Jul 2014 23:31:47 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-3.tower-31.messagelabs.com!1406331106!18157052!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16474 invoked from network); 25 Jul 2014 23:31:46 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-3.tower-31.messagelabs.com with SMTP;
	25 Jul 2014 23:31:46 -0000
Received: (qmail 27313 invoked by uid 634); 25 Jul 2014 23:31:46 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from Unknown (HELO [10.1.0.212]) (12.168.40.226)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 26 Jul 2014 00:31:42 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
Date: Fri, 25 Jul 2014 16:31:36 -0700
Message-Id: <CC4AA681-C1CF-40F7-A540-39BD9DF94404@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
	<CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
	<CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
	mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 25 Jul 2014, at 04:54, Thomas Leonard <talex5@gmail.com> wrote:
> 
> Here's a slightly better work-around:
> 
> https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad
> 
> It changes the TCP packet splitting code so that the second part of
> the page is copied to a new IO page. This avoids sending the same
> physical page to Linux twice (which is what doesn't work).
> 
> With this, the previous hack can be reverted.
> 
> In my testing, this increased the streaming TCP download speed from 56
> KB/s to 3.9 MB/s on the CubieTruck.

This is certainly a fix that works, but I'm loath to insert an unnecessary
copy in the TCP stack just because of a limitation in Xen/ARM (that will go
away in Xen 4.5, I expect).

Could we keep track of the active grants in the Gnttab libary, and force a
page duplication at that point instead?  That would fix it for any other
Cstruct consumers as well, and be a more logical place to insert Xen
version detection in the future to remove the extra copy if not needed.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 26 09:27:31 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 26 Jul 2014 09:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAyGE-0005Fg-46; Sat, 26 Jul 2014 09:27:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1XAyGD-0005Fb-8K
	for mirageos-devel@lists.xenproject.org; Sat, 26 Jul 2014 09:27:25 +0000
Received: from [193.109.254.147:8642] by server-15.bemta-14.messagelabs.com id
	53/71-30948-C7473D35; Sat, 26 Jul 2014 09:27:24 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1406366841!11846411!1
X-Originating-IP: [209.85.220.41]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23508 invoked from network); 26 Jul 2014 09:27:22 -0000
Received: from mail-pa0-f41.google.com (HELO mail-pa0-f41.google.com)
	(209.85.220.41)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	26 Jul 2014 09:27:22 -0000
Received: by mail-pa0-f41.google.com with SMTP id rd3so7456862pab.14
	for <mirageos-devel@lists.xenproject.org>;
	Sat, 26 Jul 2014 02:27:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=D5PVejajsGcMAO9YAN/WomFeoFMhlwPQ3NQwJuVAE00=;
	b=Su6z6yWmZbz1AAKWN+FtfCyihg9nOu6WGlDDjzzEC/uOPRmUF8c0z/Lbmk0U5Q1f5O
	iQ9DXpIvf+TOWi8tUomjxPRrtNeS2q1riHjYaQC4fyZOQ6ICbHWHrZ8HYKK0OWVM15oK
	deZzL8sIdiStm0Tuar6wkDK5F9n23rDqsr47Gxk+cHYjGVmp5dD48Tmh8l6Iffn9X6J6
	lmfamFh6flDzQ63n3X+7M0KQW5ZwufKDnqplCvGrbvk4WnR9uPu4SFWxOA7UYwVuqsvh
	QNocYnepL+BZn5cTIm3j5oqx3gb7tfiPlyQ3Z5R+zmWHI1+y6GcYesJNcc/zIFGby+YN
	Gg4w==
MIME-Version: 1.0
X-Received: by 10.70.102.66 with SMTP id fm2mr24565536pdb.102.1406366840981;
	Sat, 26 Jul 2014 02:27:20 -0700 (PDT)
Received: by 10.70.5.5 with HTTP; Sat, 26 Jul 2014 02:27:20 -0700 (PDT)
In-Reply-To: <CC4AA681-C1CF-40F7-A540-39BD9DF94404@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
	<CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
	<CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
	<CC4AA681-C1CF-40F7-A540-39BD9DF94404@recoil.org>
Date: Sat, 26 Jul 2014 10:27:20 +0100
Message-ID: <CAG_esB1ezd+iAQ+Cbc281aaQseZoEiSLVH8PfGUEUk9ZgUFfEg@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7818496884834517288=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============7818496884834517288==
Content-Type: multipart/alternative; boundary=001a11c30bbefb129b04ff154bdc

--001a11c30bbefb129b04ff154bdc
Content-Type: text/plain; charset=UTF-8

On Saturday, July 26, 2014, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 25 Jul 2014, at 04:54, Thomas Leonard <talex5@gmail.com <javascript:;>>
> wrote:
> >
> > Here's a slightly better work-around:
> >
> >
> https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad
> >
> > It changes the TCP packet splitting code so that the second part of
> > the page is copied to a new IO page. This avoids sending the same
> > physical page to Linux twice (which is what doesn't work).
> >
> > With this, the previous hack can be reverted.
> >
> > In my testing, this increased the streaming TCP download speed from 56
> > KB/s to 3.9 MB/s on the CubieTruck.
>
> This is certainly a fix that works, but I'm loath to insert an unnecessary
> copy in the TCP stack just because of a limitation in Xen/ARM (that will go
> away in Xen 4.5, I expect).
>
> Could we keep track of the active grants in the Gnttab libary, and force a
> page duplication at that point instead?  That would fix it for any other
> Cstruct consumers as well, and be a more logical place to insert Xen
> version detection in the future to remove the extra copy if not needed.


If the problem is granting the same page twice, would it be enough to
maintain a map of page address to (grant index * refount), and then
"grant_access" could return the existing grant id and bump the refcount? I
think we just need to share the grant, rather than duplicate the page. (Is
that right?)

Cheers,
Dave



>
> -anil
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org <javascript:;>
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>


-- 
Dave Scott

--001a11c30bbefb129b04ff154bdc
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<br><br>On Saturday, July 26, 2014, Anil Madhavapeddy &lt;<a href=3D"mailto=
:anil@recoil.org">anil@recoil.org</a>&gt; wrote:<br><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex">
On 25 Jul 2014, at 04:54, Thomas Leonard &lt;<a href=3D"javascript:;" oncli=
ck=3D"_e(event, &#39;cvml&#39;, &#39;talex5@gmail.com&#39;)">talex5@gmail.c=
om</a>&gt; wrote:<br>
&gt;<br>
&gt; Here&#39;s a slightly better work-around:<br>
&gt;<br>
&gt; <a href=3D"https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1=
cece7d0fb979273a96be78233ad" target=3D"_blank">https://github.com/talex5/mi=
rage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad</a><br>
&gt;<br>
&gt; It changes the TCP packet splitting code so that the second part of<br=
>
&gt; the page is copied to a new IO page. This avoids sending the same<br>
&gt; physical page to Linux twice (which is what doesn&#39;t work).<br>
&gt;<br>
&gt; With this, the previous hack can be reverted.<br>
&gt;<br>
&gt; In my testing, this increased the streaming TCP download speed from 56=
<br>
&gt; KB/s to 3.9 MB/s on the CubieTruck.<br>
<br>
This is certainly a fix that works, but I&#39;m loath to insert an unnecess=
ary<br>
copy in the TCP stack just because of a limitation in Xen/ARM (that will go=
<br>
away in Xen 4.5, I expect).<br>
<br>
Could we keep track of the active grants in the Gnttab libary, and force a<=
br>
page duplication at that point instead? =C2=A0That would fix it for any oth=
er<br>
Cstruct consumers as well, and be a more logical place to insert Xen<br>
version detection in the future to remove the extra copy if not needed.</bl=
ockquote><div><br></div><div>If the problem is granting the same page twice=
, would=C2=A0it be enough to maintain a map of page address to (grant index=
 * refount), and then &quot;grant_access&quot; could return the existing gr=
ant id and bump the refcount? I think we just need to share the grant, rath=
er than duplicate the page. (Is that right?)</div>
<div><br></div><div>Cheers,</div><div>Dave</div><div><br></div><div>=C2=A0<=
/div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le=
ft:1px #ccc solid;padding-left:1ex">
<br>
-anil<br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"javascript:;" onclick=3D"_e(event, &#39;cvml&#39;, &#39;MirageOS=
-devel@lists.xenproject.org&#39;)">MirageOS-devel@lists.xenproject.org</a><=
br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</blockquote><br><br>-- <br>Dave Scott<br>

--001a11c30bbefb129b04ff154bdc--


--===============7818496884834517288==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============7818496884834517288==--


From mirageos-devel-bounces@lists.xenproject.org Sat Jul 26 09:27:31 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 26 Jul 2014 09:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAyGE-0005Fg-46; Sat, 26 Jul 2014 09:27:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1XAyGD-0005Fb-8K
	for mirageos-devel@lists.xenproject.org; Sat, 26 Jul 2014 09:27:25 +0000
Received: from [193.109.254.147:8642] by server-15.bemta-14.messagelabs.com id
	53/71-30948-C7473D35; Sat, 26 Jul 2014 09:27:24 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1406366841!11846411!1
X-Originating-IP: [209.85.220.41]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23508 invoked from network); 26 Jul 2014 09:27:22 -0000
Received: from mail-pa0-f41.google.com (HELO mail-pa0-f41.google.com)
	(209.85.220.41)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	26 Jul 2014 09:27:22 -0000
Received: by mail-pa0-f41.google.com with SMTP id rd3so7456862pab.14
	for <mirageos-devel@lists.xenproject.org>;
	Sat, 26 Jul 2014 02:27:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=D5PVejajsGcMAO9YAN/WomFeoFMhlwPQ3NQwJuVAE00=;
	b=Su6z6yWmZbz1AAKWN+FtfCyihg9nOu6WGlDDjzzEC/uOPRmUF8c0z/Lbmk0U5Q1f5O
	iQ9DXpIvf+TOWi8tUomjxPRrtNeS2q1riHjYaQC4fyZOQ6ICbHWHrZ8HYKK0OWVM15oK
	deZzL8sIdiStm0Tuar6wkDK5F9n23rDqsr47Gxk+cHYjGVmp5dD48Tmh8l6Iffn9X6J6
	lmfamFh6flDzQ63n3X+7M0KQW5ZwufKDnqplCvGrbvk4WnR9uPu4SFWxOA7UYwVuqsvh
	QNocYnepL+BZn5cTIm3j5oqx3gb7tfiPlyQ3Z5R+zmWHI1+y6GcYesJNcc/zIFGby+YN
	Gg4w==
MIME-Version: 1.0
X-Received: by 10.70.102.66 with SMTP id fm2mr24565536pdb.102.1406366840981;
	Sat, 26 Jul 2014 02:27:20 -0700 (PDT)
Received: by 10.70.5.5 with HTTP; Sat, 26 Jul 2014 02:27:20 -0700 (PDT)
In-Reply-To: <CC4AA681-C1CF-40F7-A540-39BD9DF94404@recoil.org>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
	<CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
	<CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
	<CC4AA681-C1CF-40F7-A540-39BD9DF94404@recoil.org>
Date: Sat, 26 Jul 2014 10:27:20 +0100
Message-ID: <CAG_esB1ezd+iAQ+Cbc281aaQseZoEiSLVH8PfGUEUk9ZgUFfEg@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7818496884834517288=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============7818496884834517288==
Content-Type: multipart/alternative; boundary=001a11c30bbefb129b04ff154bdc

--001a11c30bbefb129b04ff154bdc
Content-Type: text/plain; charset=UTF-8

On Saturday, July 26, 2014, Anil Madhavapeddy <anil@recoil.org> wrote:

> On 25 Jul 2014, at 04:54, Thomas Leonard <talex5@gmail.com <javascript:;>>
> wrote:
> >
> > Here's a slightly better work-around:
> >
> >
> https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad
> >
> > It changes the TCP packet splitting code so that the second part of
> > the page is copied to a new IO page. This avoids sending the same
> > physical page to Linux twice (which is what doesn't work).
> >
> > With this, the previous hack can be reverted.
> >
> > In my testing, this increased the streaming TCP download speed from 56
> > KB/s to 3.9 MB/s on the CubieTruck.
>
> This is certainly a fix that works, but I'm loath to insert an unnecessary
> copy in the TCP stack just because of a limitation in Xen/ARM (that will go
> away in Xen 4.5, I expect).
>
> Could we keep track of the active grants in the Gnttab libary, and force a
> page duplication at that point instead?  That would fix it for any other
> Cstruct consumers as well, and be a more logical place to insert Xen
> version detection in the future to remove the extra copy if not needed.


If the problem is granting the same page twice, would it be enough to
maintain a map of page address to (grant index * refount), and then
"grant_access" could return the existing grant id and bump the refcount? I
think we just need to share the grant, rather than duplicate the page. (Is
that right?)

Cheers,
Dave



>
> -anil
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org <javascript:;>
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>


-- 
Dave Scott

--001a11c30bbefb129b04ff154bdc
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<br><br>On Saturday, July 26, 2014, Anil Madhavapeddy &lt;<a href=3D"mailto=
:anil@recoil.org">anil@recoil.org</a>&gt; wrote:<br><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex">
On 25 Jul 2014, at 04:54, Thomas Leonard &lt;<a href=3D"javascript:;" oncli=
ck=3D"_e(event, &#39;cvml&#39;, &#39;talex5@gmail.com&#39;)">talex5@gmail.c=
om</a>&gt; wrote:<br>
&gt;<br>
&gt; Here&#39;s a slightly better work-around:<br>
&gt;<br>
&gt; <a href=3D"https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1=
cece7d0fb979273a96be78233ad" target=3D"_blank">https://github.com/talex5/mi=
rage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad</a><br>
&gt;<br>
&gt; It changes the TCP packet splitting code so that the second part of<br=
>
&gt; the page is copied to a new IO page. This avoids sending the same<br>
&gt; physical page to Linux twice (which is what doesn&#39;t work).<br>
&gt;<br>
&gt; With this, the previous hack can be reverted.<br>
&gt;<br>
&gt; In my testing, this increased the streaming TCP download speed from 56=
<br>
&gt; KB/s to 3.9 MB/s on the CubieTruck.<br>
<br>
This is certainly a fix that works, but I&#39;m loath to insert an unnecess=
ary<br>
copy in the TCP stack just because of a limitation in Xen/ARM (that will go=
<br>
away in Xen 4.5, I expect).<br>
<br>
Could we keep track of the active grants in the Gnttab libary, and force a<=
br>
page duplication at that point instead? =C2=A0That would fix it for any oth=
er<br>
Cstruct consumers as well, and be a more logical place to insert Xen<br>
version detection in the future to remove the extra copy if not needed.</bl=
ockquote><div><br></div><div>If the problem is granting the same page twice=
, would=C2=A0it be enough to maintain a map of page address to (grant index=
 * refount), and then &quot;grant_access&quot; could return the existing gr=
ant id and bump the refcount? I think we just need to share the grant, rath=
er than duplicate the page. (Is that right?)</div>
<div><br></div><div>Cheers,</div><div>Dave</div><div><br></div><div>=C2=A0<=
/div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le=
ft:1px #ccc solid;padding-left:1ex">
<br>
-anil<br>
_______________________________________________<br>
MirageOS-devel mailing list<br>
<a href=3D"javascript:;" onclick=3D"_e(event, &#39;cvml&#39;, &#39;MirageOS=
-devel@lists.xenproject.org&#39;)">MirageOS-devel@lists.xenproject.org</a><=
br>
<a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-de=
vel" target=3D"_blank">http://lists.xenproject.org/cgi-bin/mailman/listinfo=
/mirageos-devel</a><br>
</blockquote><br><br>-- <br>Dave Scott<br>

--001a11c30bbefb129b04ff154bdc--


--===============7818496884834517288==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============7818496884834517288==--


From mirageos-devel-bounces@lists.xenproject.org Sat Jul 26 09:40:52 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 26 Jul 2014 09:40:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAyTC-0006Ab-I9; Sat, 26 Jul 2014 09:40:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1XAyTB-0006AU-34
	for mirageos-devel@lists.xenproject.org; Sat, 26 Jul 2014 09:40:49 +0000
Received: from [85.158.137.68:20191] by server-10.bemta-3.messagelabs.com id
	95/6E-28313-0A773D35; Sat, 26 Jul 2014 09:40:48 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1406367647!18109687!1
X-Originating-IP: [74.125.82.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18978 invoked from network); 26 Jul 2014 09:40:47 -0000
Received: from mail-wg0-f52.google.com (HELO mail-wg0-f52.google.com)
	(74.125.82.52)
	by server-4.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	26 Jul 2014 09:40:47 -0000
Received: by mail-wg0-f52.google.com with SMTP id a1so5079108wgh.23
	for <mirageos-devel@lists.xenproject.org>;
	Sat, 26 Jul 2014 02:40:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:from:content-type:content-transfer-encoding:subject:date
	:references:to:message-id:mime-version;
	bh=oc+B8ziputD+hxVAaPwsThJEZ+4WbYq8LdVjGHYlXmU=;
	b=fz5E1VFnoXqBw5AuSrjB4L2F+tBLVfzDXMNsNLEzYFUtKZafSxvHpsLYA7TELQn0Sp
	8/xgiT64krWmKPQXXo3J5xE4lvNKVFje7QrwXdbkO0th1R1marjYsfpZl5+HBTRwdWeZ
	EkkFrM05U7fbH2IXpdVBbqGgUMYspOvh3uk2xU2WKRTGEPOb5t8GhNK0tunvdHxSEE5Y
	ND/mZnZJ0qAXzECPTSg5ZGBhuntEqjDCyUdb99u8YqwqSrp7cPcD1XtUvhzk8mSiDqIp
	PmbHbrFFcKVk7WtuOFzWl+9QLNN5V8Xj7pCpw6DF2Cmbb1407BZpfjf3+Ncd6aqnNTrN
	Rl8Q==
X-Received: by 10.180.38.51 with SMTP id d19mr12376230wik.10.1406367646617;
	Sat, 26 Jul 2014 02:40:46 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122])
	by mx.google.com with ESMTPSA id ez1sm5630524wib.15.2014.07.26.02.40.45
	for <mirageos-devel@lists.xenproject.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Sat, 26 Jul 2014 02:40:45 -0700 (PDT)
From: Thomas Gazagnaire <thomas@gazagnaire.org>
Date: Sat, 26 Jul 2014 10:40:46 +0100
References: <EDC9688F-834E-421E-8073-007BA1F4FDCB@gazagnaire.org>
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
Message-Id: <23CB688E-AE78-4134-9D2D-318735D179B7@gazagnaire.org>
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
X-Mailer: Apple Mail (2.1878.6)
Subject: [MirageOS-devel] Fwd:  blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I've accidentally made this replies directly to Malcom ... sharing them on the list as it could interest more people.

Thomas

> From: Thomas Gazagnaire <thomas@gazagnaire.org>
> Subject: Re: [MirageOS-devel] blog post on Irmin
> Date: 22 July 2014 11:35:02 BST
> To: Malcolm Matalka <mmatalka@gmail.com>
> 
> In some cases, doing 2-way merge is not possible (ex: distributed counters where you represent them as int). In some cases, 2-way merge is not efficient / not precise (ex: 2-way merge of files). But sometimes, it's good enough for what you need and want (ex: CRDT where all what you need to do your merge is in the state anyway). So I think it's good to let the user choose. What I'm thinking currently (but this could change) is to make the ~old argument in the 3-merge function lazy.
> 
> To come back to your initial question: if you have no information on the context in which your are using the two concurrent values, yes you have a conflict. But you can also know that you are adding values in a given record of a  type t (the type t is the context). In this case, you can associate the semantics you want to each field -- they can each have their own semantics guarantees. For instance, you might want to store all updates in a set, and the read always returns the full set, a semantics very close to amazon's Dynamo: in Irmin terms, the merge function for that field will be just a set union.
> 
> I plan to write a more detailed post on merges and conflicts in Irmin over the summer.
> 
> Thomas
> 
> 
> 
> On 22 Jul 2014, at 09:55, Malcolm Matalka <mmatalka@gmail.com> wrote:
> 
>> Hrm, if someone has to be able to handle a 2-way merge anyways, then
>> doesn't that make the 3-way merge less useful?  If I can add/add any two
>> values then I need to be able to do 2 way resolution on any two values
>> anyways.
>> 
>> Thomas Gazagnaire <thomas@gazagnaire.org> writes:
>> 
>>>> In the blog post it says merge's are always done as a 3-way merge.  Does
>>>> that mean it's not possible to create the same key concurrently,
>>>> producing a situation where you have conflicting values but no 'old'
>>>> value?
>>> 
>>> By default, it is indeed the case. It is called an `add/add` conflict: see https://github.com/mirage/irmin/blob/32e8dfde86d8cfd37173fc65aa7514f3a9b50c6a/lib/core/irminMerge.ml#L225
>>> 
>>> we plan to add some more limited 2-merge functions (to deal with such cases) later on.
>>> 
>>> An other option is to defined your own custom data-type and wrap it in a `'a option` type. You can then define your 3-merge function on 't option` and specify what you want to have in that case.
>>> 
>>> --
>>> Thomas
>>> 
>>> 
>>>> 
>>>> Anil Madhavapeddy <anil@recoil.org> writes:
>>>> 
>>>>> On 21 Jul 2014, at 01:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> For those who haven't seen it yet, we've published a blog post on Irmin last friday:
>>>>>> 
>>>>>> http://openmirage.org/blog/introducing-irmin
>>>>>> 
>>>>>> the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687
>>>>>> 
>>>>> 
>>>>> And a followup just went live by Dave on his use of Irmin in Xenstore (perhaps
>>>>> not the simplest one to start with, but hey, it's a pretty darn "real world" use
>>>>> case).  Perhaps something more gentle like calendar sync next though :-)
>>>>> 
>>>>> http://openmirage.org/blog/introducing-irmin-in-xenstore
>>>>> 
>>>>> -anil
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> MirageOS-devel mailing list
>>>>> MirageOS-devel@lists.xenproject.org
>>>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sat Jul 26 09:40:52 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 26 Jul 2014 09:40:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XAyTC-0006Ab-I9; Sat, 26 Jul 2014 09:40:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <thomas.gazagnaire@gmail.com>) id 1XAyTB-0006AU-34
	for mirageos-devel@lists.xenproject.org; Sat, 26 Jul 2014 09:40:49 +0000
Received: from [85.158.137.68:20191] by server-10.bemta-3.messagelabs.com id
	95/6E-28313-0A773D35; Sat, 26 Jul 2014 09:40:48 +0000
X-Env-Sender: thomas.gazagnaire@gmail.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1406367647!18109687!1
X-Originating-IP: [74.125.82.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18978 invoked from network); 26 Jul 2014 09:40:47 -0000
Received: from mail-wg0-f52.google.com (HELO mail-wg0-f52.google.com)
	(74.125.82.52)
	by server-4.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	26 Jul 2014 09:40:47 -0000
Received: by mail-wg0-f52.google.com with SMTP id a1so5079108wgh.23
	for <mirageos-devel@lists.xenproject.org>;
	Sat, 26 Jul 2014 02:40:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:from:content-type:content-transfer-encoding:subject:date
	:references:to:message-id:mime-version;
	bh=oc+B8ziputD+hxVAaPwsThJEZ+4WbYq8LdVjGHYlXmU=;
	b=fz5E1VFnoXqBw5AuSrjB4L2F+tBLVfzDXMNsNLEzYFUtKZafSxvHpsLYA7TELQn0Sp
	8/xgiT64krWmKPQXXo3J5xE4lvNKVFje7QrwXdbkO0th1R1marjYsfpZl5+HBTRwdWeZ
	EkkFrM05U7fbH2IXpdVBbqGgUMYspOvh3uk2xU2WKRTGEPOb5t8GhNK0tunvdHxSEE5Y
	ND/mZnZJ0qAXzECPTSg5ZGBhuntEqjDCyUdb99u8YqwqSrp7cPcD1XtUvhzk8mSiDqIp
	PmbHbrFFcKVk7WtuOFzWl+9QLNN5V8Xj7pCpw6DF2Cmbb1407BZpfjf3+Ncd6aqnNTrN
	Rl8Q==
X-Received: by 10.180.38.51 with SMTP id d19mr12376230wik.10.1406367646617;
	Sat, 26 Jul 2014 02:40:46 -0700 (PDT)
Received: from [192.168.0.8] (cpc25-cmbg14-2-0-cust121.5-4.cable.virginm.net.
	[213.106.112.122])
	by mx.google.com with ESMTPSA id ez1sm5630524wib.15.2014.07.26.02.40.45
	for <mirageos-devel@lists.xenproject.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Sat, 26 Jul 2014 02:40:45 -0700 (PDT)
From: Thomas Gazagnaire <thomas@gazagnaire.org>
Date: Sat, 26 Jul 2014 10:40:46 +0100
References: <EDC9688F-834E-421E-8073-007BA1F4FDCB@gazagnaire.org>
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
Message-Id: <23CB688E-AE78-4134-9D2D-318735D179B7@gazagnaire.org>
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
X-Mailer: Apple Mail (2.1878.6)
Subject: [MirageOS-devel] Fwd:  blog post on Irmin
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I've accidentally made this replies directly to Malcom ... sharing them on the list as it could interest more people.

Thomas

> From: Thomas Gazagnaire <thomas@gazagnaire.org>
> Subject: Re: [MirageOS-devel] blog post on Irmin
> Date: 22 July 2014 11:35:02 BST
> To: Malcolm Matalka <mmatalka@gmail.com>
> 
> In some cases, doing 2-way merge is not possible (ex: distributed counters where you represent them as int). In some cases, 2-way merge is not efficient / not precise (ex: 2-way merge of files). But sometimes, it's good enough for what you need and want (ex: CRDT where all what you need to do your merge is in the state anyway). So I think it's good to let the user choose. What I'm thinking currently (but this could change) is to make the ~old argument in the 3-merge function lazy.
> 
> To come back to your initial question: if you have no information on the context in which your are using the two concurrent values, yes you have a conflict. But you can also know that you are adding values in a given record of a  type t (the type t is the context). In this case, you can associate the semantics you want to each field -- they can each have their own semantics guarantees. For instance, you might want to store all updates in a set, and the read always returns the full set, a semantics very close to amazon's Dynamo: in Irmin terms, the merge function for that field will be just a set union.
> 
> I plan to write a more detailed post on merges and conflicts in Irmin over the summer.
> 
> Thomas
> 
> 
> 
> On 22 Jul 2014, at 09:55, Malcolm Matalka <mmatalka@gmail.com> wrote:
> 
>> Hrm, if someone has to be able to handle a 2-way merge anyways, then
>> doesn't that make the 3-way merge less useful?  If I can add/add any two
>> values then I need to be able to do 2 way resolution on any two values
>> anyways.
>> 
>> Thomas Gazagnaire <thomas@gazagnaire.org> writes:
>> 
>>>> In the blog post it says merge's are always done as a 3-way merge.  Does
>>>> that mean it's not possible to create the same key concurrently,
>>>> producing a situation where you have conflicting values but no 'old'
>>>> value?
>>> 
>>> By default, it is indeed the case. It is called an `add/add` conflict: see https://github.com/mirage/irmin/blob/32e8dfde86d8cfd37173fc65aa7514f3a9b50c6a/lib/core/irminMerge.ml#L225
>>> 
>>> we plan to add some more limited 2-merge functions (to deal with such cases) later on.
>>> 
>>> An other option is to defined your own custom data-type and wrap it in a `'a option` type. You can then define your 3-merge function on 't option` and specify what you want to have in that case.
>>> 
>>> --
>>> Thomas
>>> 
>>> 
>>>> 
>>>> Anil Madhavapeddy <anil@recoil.org> writes:
>>>> 
>>>>> On 21 Jul 2014, at 01:43, Thomas Gazagnaire <thomas@gazagnaire.org> wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> For those who haven't seen it yet, we've published a blog post on Irmin last friday:
>>>>>> 
>>>>>> http://openmirage.org/blog/introducing-irmin
>>>>>> 
>>>>>> the thread on HN with interesting comments: https://news.ycombinator.com/item?id=8053687
>>>>>> 
>>>>> 
>>>>> And a followup just went live by Dave on his use of Irmin in Xenstore (perhaps
>>>>> not the simplest one to start with, but hey, it's a pretty darn "real world" use
>>>>> case).  Perhaps something more gentle like calendar sync next though :-)
>>>>> 
>>>>> http://openmirage.org/blog/introducing-irmin-in-xenstore
>>>>> 
>>>>> -anil
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> MirageOS-devel mailing list
>>>>> MirageOS-devel@lists.xenproject.org
>>>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Sun Jul 27 14:24:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 27 Jul 2014 14:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBPMt-00054X-E1; Sun, 27 Jul 2014 14:24:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Joao.Martins@neclab.eu>) id 1XAhG8-0003XW-QS
	for mirageos-devel@lists.xenproject.org; Fri, 25 Jul 2014 15:18:12 +0000
Received: from [85.158.143.35:42033] by server-2.bemta-4.messagelabs.com id
	AE/0F-04525-43572D35; Fri, 25 Jul 2014 15:18:12 +0000
X-Env-Sender: Joao.Martins@neclab.eu
X-Msg-Ref: server-4.tower-21.messagelabs.com!1406301489!20179809!1
X-Originating-IP: [195.37.70.40]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_40_50,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19733 invoked from network); 25 Jul 2014 15:18:09 -0000
Received: from mailer1.neclab.eu (HELO mailer1.neclab.eu) (195.37.70.40)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 Jul 2014 15:18:09 -0000
Received: from localhost (localhost [127.0.0.1])
	by mailer1.neclab.eu (Postfix) with ESMTP id E80D7107837;
	Fri, 25 Jul 2014 17:18:08 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
	by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id iFjTpVxyU2vL; Fri, 25 Jul 2014 17:18:08 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (methone.office.hd [192.168.24.54])
	(using TLSv1 with cipher AES128-SHA (128/128 bits))
	(No client certificate requested)
	by mailer1.neclab.eu (Postfix) with ESMTPS id C9FA7107834;
	Fri, 25 Jul 2014 17:17:58 +0200 (CEST)
Received: from PALLENE.office.hd ([169.254.1.96]) by METHONE.office.hd
	([192.168.24.54]) with mapi id 14.01.0323.003; Fri, 25 Jul 2014 17:17:58
	+0200
From: Joao Martins <Joao.Martins@neclab.eu>
To: Anil Madhavapeddy <anil@recoil.org>
Thread-Topic: suspend/resume in MiniOS
Thread-Index: AQHPmpCMrvwrR+tL4U2GvZrcnKW2ZZuw4JGA
Date: Fri, 25 Jul 2014 15:17:58 +0000
Message-ID: <5D13371A-6081-4D92-A62D-6050008B9813@neclab.eu>
References: <C87B0C44-5EF5-4148-8A83-D93A522067AF@recoil.org>
In-Reply-To: <C87B0C44-5EF5-4148-8A83-D93A522067AF@recoil.org>
Accept-Language: en-US, de-DE
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.1.99.29]
MIME-Version: 1.0
X-Mailman-Approved-At: Sun, 27 Jul 2014 14:24:06 +0000
Cc: Felipe Huici <Felipe.Huici@neclab.eu>,
	Filipe Manco <Filipe.Manco@neclab.eu>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] suspend/resume in MiniOS
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0235458512479994528=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0235458512479994528==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_5D13371A60814D92A62D6050008B9813neclabeu_"

--_000_5D13371A60814D92A62D6050008B9813neclabeu_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hey Anil,

CCing Filipe, the author of suspend/resume work, he should have comments on=
 the arch_rebuild_p2m.

These are *not yet* against xen-unstable, but you can checkout the implemen=
tation here:

https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944

Cheers,
Joao

On 08 Jul 2014, at 11:39, Anil Madhavapeddy <anil@recoil.org<mailto:anil@re=
coil.org>> wrote:

We're just about ready to merge in Thomas Leonard's external MiniOS patches=
 into Mirage:
https://github.com/mirage/mirage-platform/pull/93

The only known regression from our local MiniOS to the external one is x86 =
suspend/resume support, so I wanted to find out what the latest state of up=
stream support is.

CCing Joao/Felipe: you mentioned at the hackathon that you had patches; are=
 these available against xen-unstable for us to merge?

Jon Ludlam did the original MirageOS support; any comments on the arch_rebu=
ild_p2m query from Thomas?

cheers,
Anil




--_000_5D13371A60814D92A62D6050008B9813neclabeu_
Content-Type: text/html; charset="us-ascii"
Content-ID: <127744EB40EDDC499D0ACDE135242C87@office.hd>
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
</head>
<body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-lin=
e-break: after-white-space;">
<div>Hey Anil,</div>
<div><br>
</div>
<div>CCing Filipe, the author of suspend/resume work, he should have commen=
ts on the arch_rebuild_p2m.</div>
<div><br>
</div>
<div>These are *not yet* against xen-unstable, but you can checkout the imp=
lementation here:</div>
<div><br>
</div>
<div><a href=3D"https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c=
#L944">https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944</a>=
</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Joao</div>
<br>
<div>
<div>On 08 Jul 2014, at 11:39, Anil Madhavapeddy &lt;<a href=3D"mailto:anil=
@recoil.org">anil@recoil.org</a>&gt; wrote:</div>
<br class=3D"Apple-interchange-newline">
<blockquote type=3D"cite">We're just about ready to merge in Thomas Leonard=
's external MiniOS patches into Mirage:<br>
<a href=3D"https://github.com/mirage/mirage-platform/pull/93">https://githu=
b.com/mirage/mirage-platform/pull/93</a><br>
<br>
The only known regression from our local MiniOS to the external one is x86 =
suspend/resume support, so I wanted to find out what the latest state of up=
stream support is.<br>
<br>
CCing Joao/Felipe: you mentioned at the hackathon that you had patches; are=
 these available against xen-unstable for us to merge?<br>
<br>
Jon Ludlam did the original MirageOS support; any comments on the arch_rebu=
ild_p2m query from Thomas?<br>
<br>
cheers,<br>
Anil<br>
<br>
<br>
</blockquote>
</div>
<br>
</body>
</html>

--_000_5D13371A60814D92A62D6050008B9813neclabeu_--


--===============0235458512479994528==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0235458512479994528==--


From mirageos-devel-bounces@lists.xenproject.org Sun Jul 27 14:24:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 27 Jul 2014 14:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBPMt-00054X-E1; Sun, 27 Jul 2014 14:24:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Joao.Martins@neclab.eu>) id 1XAhG8-0003XW-QS
	for mirageos-devel@lists.xenproject.org; Fri, 25 Jul 2014 15:18:12 +0000
Received: from [85.158.143.35:42033] by server-2.bemta-4.messagelabs.com id
	AE/0F-04525-43572D35; Fri, 25 Jul 2014 15:18:12 +0000
X-Env-Sender: Joao.Martins@neclab.eu
X-Msg-Ref: server-4.tower-21.messagelabs.com!1406301489!20179809!1
X-Originating-IP: [195.37.70.40]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_40_50,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19733 invoked from network); 25 Jul 2014 15:18:09 -0000
Received: from mailer1.neclab.eu (HELO mailer1.neclab.eu) (195.37.70.40)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 Jul 2014 15:18:09 -0000
Received: from localhost (localhost [127.0.0.1])
	by mailer1.neclab.eu (Postfix) with ESMTP id E80D7107837;
	Fri, 25 Jul 2014 17:18:08 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
	by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id iFjTpVxyU2vL; Fri, 25 Jul 2014 17:18:08 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (methone.office.hd [192.168.24.54])
	(using TLSv1 with cipher AES128-SHA (128/128 bits))
	(No client certificate requested)
	by mailer1.neclab.eu (Postfix) with ESMTPS id C9FA7107834;
	Fri, 25 Jul 2014 17:17:58 +0200 (CEST)
Received: from PALLENE.office.hd ([169.254.1.96]) by METHONE.office.hd
	([192.168.24.54]) with mapi id 14.01.0323.003; Fri, 25 Jul 2014 17:17:58
	+0200
From: Joao Martins <Joao.Martins@neclab.eu>
To: Anil Madhavapeddy <anil@recoil.org>
Thread-Topic: suspend/resume in MiniOS
Thread-Index: AQHPmpCMrvwrR+tL4U2GvZrcnKW2ZZuw4JGA
Date: Fri, 25 Jul 2014 15:17:58 +0000
Message-ID: <5D13371A-6081-4D92-A62D-6050008B9813@neclab.eu>
References: <C87B0C44-5EF5-4148-8A83-D93A522067AF@recoil.org>
In-Reply-To: <C87B0C44-5EF5-4148-8A83-D93A522067AF@recoil.org>
Accept-Language: en-US, de-DE
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.1.99.29]
MIME-Version: 1.0
X-Mailman-Approved-At: Sun, 27 Jul 2014 14:24:06 +0000
Cc: Felipe Huici <Felipe.Huici@neclab.eu>,
	Filipe Manco <Filipe.Manco@neclab.eu>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] suspend/resume in MiniOS
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0235458512479994528=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============0235458512479994528==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_5D13371A60814D92A62D6050008B9813neclabeu_"

--_000_5D13371A60814D92A62D6050008B9813neclabeu_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hey Anil,

CCing Filipe, the author of suspend/resume work, he should have comments on=
 the arch_rebuild_p2m.

These are *not yet* against xen-unstable, but you can checkout the implemen=
tation here:

https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944

Cheers,
Joao

On 08 Jul 2014, at 11:39, Anil Madhavapeddy <anil@recoil.org<mailto:anil@re=
coil.org>> wrote:

We're just about ready to merge in Thomas Leonard's external MiniOS patches=
 into Mirage:
https://github.com/mirage/mirage-platform/pull/93

The only known regression from our local MiniOS to the external one is x86 =
suspend/resume support, so I wanted to find out what the latest state of up=
stream support is.

CCing Joao/Felipe: you mentioned at the hackathon that you had patches; are=
 these available against xen-unstable for us to merge?

Jon Ludlam did the original MirageOS support; any comments on the arch_rebu=
ild_p2m query from Thomas?

cheers,
Anil




--_000_5D13371A60814D92A62D6050008B9813neclabeu_
Content-Type: text/html; charset="us-ascii"
Content-ID: <127744EB40EDDC499D0ACDE135242C87@office.hd>
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
</head>
<body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-lin=
e-break: after-white-space;">
<div>Hey Anil,</div>
<div><br>
</div>
<div>CCing Filipe, the author of suspend/resume work, he should have commen=
ts on the arch_rebuild_p2m.</div>
<div><br>
</div>
<div>These are *not yet* against xen-unstable, but you can checkout the imp=
lementation here:</div>
<div><br>
</div>
<div><a href=3D"https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c=
#L944">https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944</a>=
</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Joao</div>
<br>
<div>
<div>On 08 Jul 2014, at 11:39, Anil Madhavapeddy &lt;<a href=3D"mailto:anil=
@recoil.org">anil@recoil.org</a>&gt; wrote:</div>
<br class=3D"Apple-interchange-newline">
<blockquote type=3D"cite">We're just about ready to merge in Thomas Leonard=
's external MiniOS patches into Mirage:<br>
<a href=3D"https://github.com/mirage/mirage-platform/pull/93">https://githu=
b.com/mirage/mirage-platform/pull/93</a><br>
<br>
The only known regression from our local MiniOS to the external one is x86 =
suspend/resume support, so I wanted to find out what the latest state of up=
stream support is.<br>
<br>
CCing Joao/Felipe: you mentioned at the hackathon that you had patches; are=
 these available against xen-unstable for us to merge?<br>
<br>
Jon Ludlam did the original MirageOS support; any comments on the arch_rebu=
ild_p2m query from Thomas?<br>
<br>
cheers,<br>
Anil<br>
<br>
<br>
</blockquote>
</div>
<br>
</body>
</html>

--_000_5D13371A60814D92A62D6050008B9813neclabeu_--


--===============0235458512479994528==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============0235458512479994528==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 09:19:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 09:19:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBh5g-00042p-FS; Mon, 28 Jul 2014 09:19:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Jonathan.Ludlam@citrix.com>) id 1XBh5f-00041k-5X
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 09:19:31 +0000
Received: from [85.158.139.211:64843] by server-3.bemta-5.messagelabs.com id
	3F/76-13873-2A516D35; Mon, 28 Jul 2014 09:19:30 +0000
X-Env-Sender: Jonathan.Ludlam@citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1406539168!17922544!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23645 invoked from network); 28 Jul 2014 09:19:29 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	28 Jul 2014 09:19:29 -0000
X-IronPort-AV: E=Sophos;i="5.01,747,1400025600"; 
	d="scan'208,217";a="156833103"
Received: from accessns.citrite.net (HELO FTLPEX01CL03.citrite.net)
	([10.9.154.239])
	by FTLPIPO02.CITRIX.COM with ESMTP; 28 Jul 2014 09:19:29 +0000
Received: from [10.80.3.75] (10.80.3.75) by FTLPEX01CL03.citrite.net
	(10.13.107.80) with Microsoft SMTP Server id 14.3.181.6;
	Mon, 28 Jul 2014 05:19:26 -0400
Message-ID: <53D615A0.2080400@eu.citrix.com>
Date: Mon, 28 Jul 2014 10:19:28 +0100
From: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: <mirageos-devel@lists.xenproject.org>
References: <C87B0C44-5EF5-4148-8A83-D93A522067AF@recoil.org>
	<5D13371A-6081-4D92-A62D-6050008B9813@neclab.eu>
In-Reply-To: <5D13371A-6081-4D92-A62D-6050008B9813@neclab.eu>
X-Originating-IP: [10.80.3.75]
X-DLP: MIA1
Subject: Re: [MirageOS-devel] suspend/resume in MiniOS
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1509542423384662675=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1509542423384662675==
Content-Type: multipart/alternative;
	boundary="------------020601070208050605000804"

--------------020601070208050605000804
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

Hi all,

It'd be great to get all of the suspend/resume code back into upstream.
The arch_rebuild_p2m function we need in Mirage is quite
straightforward; we never mess with it at runtime so we just need to set
it up at start of day, and fix it on resume. It looks to be the same for
clickos too. I wonder if any other of the potential mini-os users need
anything more complicated? 

The implementation for mirage is here:
https://github.com/mirage/mirage-platform/blob/d263551d45727882ebebc20c6a601618ec9574ec/xen/runtime/kernel/x86_mm.c#L872

I prefer the variable names of the cnplab implementation, but the mirage
one looks like it has slightly less code duplication. I'm not very
bothered though :-)

Jon


On 25/07/14 16:17, Joao Martins wrote:
> Hey Anil,
>
> CCing Filipe, the author of suspend/resume work, he should have
> comments on the arch_rebuild_p2m.
>
> These are *not yet* against xen-unstable, but you can checkout the
> implementation here:
>
> https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944
>
> Cheers,
> Joao
>
> On 08 Jul 2014, at 11:39, Anil Madhavapeddy <anil@recoil.org
> <mailto:anil@recoil.org>> wrote:
>
>> We're just about ready to merge in Thomas Leonard's external MiniOS
>> patches into Mirage:
>> https://github.com/mirage/mirage-platform/pull/93
>>
>> The only known regression from our local MiniOS to the external one
>> is x86 suspend/resume support, so I wanted to find out what the
>> latest state of upstream support is.
>>
>> CCing Joao/Felipe: you mentioned at the hackathon that you had
>> patches; are these available against xen-unstable for us to merge?
>>
>> Jon Ludlam did the original MirageOS support; any comments on the
>> arch_rebuild_p2m query from Thomas?
>>
>> cheers,
>> Anil
>>
>>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--------------020601070208050605000804
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi all,<br>
      <br>
      It'd be great to get all of the suspend/resume code back into
      upstream. The arch_rebuild_p2m function we need in Mirage is quite
      straightforward; we never mess with it at runtime so we just need
      to set it up at start of day, and fix it on resume. It looks to be
      the same for clickos too. I wonder if any other of the potential
      mini-os users need anything more complicated?&nbsp; <br>
      <br>
      The implementation for mirage is here:
<a class="moz-txt-link-freetext" href="https://github.com/mirage/mirage-platform/blob/d263551d45727882ebebc20c6a601618ec9574ec/xen/runtime/kernel/x86_mm.c#L872">https://github.com/mirage/mirage-platform/blob/d263551d45727882ebebc20c6a601618ec9574ec/xen/runtime/kernel/x86_mm.c#L872</a><br>
      <br>
      I prefer the variable names of the cnplab implementation, but the
      mirage one looks like it has slightly less code duplication. I'm
      not very bothered though :-)<br>
      <br>
      Jon<br>
      <br>
      <br>
      On 25/07/14 16:17, Joao Martins wrote:<br>
    </div>
    <blockquote
      cite="mid:5D13371A-6081-4D92-A62D-6050008B9813@neclab.eu"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <div>Hey Anil,</div>
      <div><br>
      </div>
      <div>CCing Filipe, the author of suspend/resume work, he should
        have comments on the arch_rebuild_p2m.</div>
      <div><br>
      </div>
      <div>These are *not yet* against xen-unstable, but you can
        checkout the implementation here:</div>
      <div><br>
      </div>
      <div><a moz-do-not-send="true"
          href="https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944">https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944</a></div>
      <div><br>
      </div>
      <div>Cheers,</div>
      <div>Joao</div>
      <br>
      <div>
        <div>On 08 Jul 2014, at 11:39, Anil Madhavapeddy &lt;<a
            moz-do-not-send="true" href="mailto:anil@recoil.org">anil@recoil.org</a>&gt;
          wrote:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite">We're just about ready to merge in
          Thomas Leonard's external MiniOS patches into Mirage:<br>
          <a moz-do-not-send="true"
            href="https://github.com/mirage/mirage-platform/pull/93">https://github.com/mirage/mirage-platform/pull/93</a><br>
          <br>
          The only known regression from our local MiniOS to the
          external one is x86 suspend/resume support, so I wanted to
          find out what the latest state of upstream support is.<br>
          <br>
          CCing Joao/Felipe: you mentioned at the hackathon that you had
          patches; are these available against xen-unstable for us to
          merge?<br>
          <br>
          Jon Ludlam did the original MirageOS support; any comments on
          the arch_rebuild_p2m query from Thomas?<br>
          <br>
          cheers,<br>
          Anil<br>
          <br>
          <br>
        </blockquote>
      </div>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
MirageOS-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a>
<a class="moz-txt-link-freetext" href="http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------020601070208050605000804--


--===============1509542423384662675==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1509542423384662675==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 09:19:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 09:19:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBh5g-00042p-FS; Mon, 28 Jul 2014 09:19:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Jonathan.Ludlam@citrix.com>) id 1XBh5f-00041k-5X
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 09:19:31 +0000
Received: from [85.158.139.211:64843] by server-3.bemta-5.messagelabs.com id
	3F/76-13873-2A516D35; Mon, 28 Jul 2014 09:19:30 +0000
X-Env-Sender: Jonathan.Ludlam@citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1406539168!17922544!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23645 invoked from network); 28 Jul 2014 09:19:29 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	28 Jul 2014 09:19:29 -0000
X-IronPort-AV: E=Sophos;i="5.01,747,1400025600"; 
	d="scan'208,217";a="156833103"
Received: from accessns.citrite.net (HELO FTLPEX01CL03.citrite.net)
	([10.9.154.239])
	by FTLPIPO02.CITRIX.COM with ESMTP; 28 Jul 2014 09:19:29 +0000
Received: from [10.80.3.75] (10.80.3.75) by FTLPEX01CL03.citrite.net
	(10.13.107.80) with Microsoft SMTP Server id 14.3.181.6;
	Mon, 28 Jul 2014 05:19:26 -0400
Message-ID: <53D615A0.2080400@eu.citrix.com>
Date: Mon, 28 Jul 2014 10:19:28 +0100
From: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: <mirageos-devel@lists.xenproject.org>
References: <C87B0C44-5EF5-4148-8A83-D93A522067AF@recoil.org>
	<5D13371A-6081-4D92-A62D-6050008B9813@neclab.eu>
In-Reply-To: <5D13371A-6081-4D92-A62D-6050008B9813@neclab.eu>
X-Originating-IP: [10.80.3.75]
X-DLP: MIA1
Subject: Re: [MirageOS-devel] suspend/resume in MiniOS
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1509542423384662675=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1509542423384662675==
Content-Type: multipart/alternative;
	boundary="------------020601070208050605000804"

--------------020601070208050605000804
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

Hi all,

It'd be great to get all of the suspend/resume code back into upstream.
The arch_rebuild_p2m function we need in Mirage is quite
straightforward; we never mess with it at runtime so we just need to set
it up at start of day, and fix it on resume. It looks to be the same for
clickos too. I wonder if any other of the potential mini-os users need
anything more complicated? 

The implementation for mirage is here:
https://github.com/mirage/mirage-platform/blob/d263551d45727882ebebc20c6a601618ec9574ec/xen/runtime/kernel/x86_mm.c#L872

I prefer the variable names of the cnplab implementation, but the mirage
one looks like it has slightly less code duplication. I'm not very
bothered though :-)

Jon


On 25/07/14 16:17, Joao Martins wrote:
> Hey Anil,
>
> CCing Filipe, the author of suspend/resume work, he should have
> comments on the arch_rebuild_p2m.
>
> These are *not yet* against xen-unstable, but you can checkout the
> implementation here:
>
> https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944
>
> Cheers,
> Joao
>
> On 08 Jul 2014, at 11:39, Anil Madhavapeddy <anil@recoil.org
> <mailto:anil@recoil.org>> wrote:
>
>> We're just about ready to merge in Thomas Leonard's external MiniOS
>> patches into Mirage:
>> https://github.com/mirage/mirage-platform/pull/93
>>
>> The only known regression from our local MiniOS to the external one
>> is x86 suspend/resume support, so I wanted to find out what the
>> latest state of upstream support is.
>>
>> CCing Joao/Felipe: you mentioned at the hackathon that you had
>> patches; are these available against xen-unstable for us to merge?
>>
>> Jon Ludlam did the original MirageOS support; any comments on the
>> arch_rebuild_p2m query from Thomas?
>>
>> cheers,
>> Anil
>>
>>
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--------------020601070208050605000804
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi all,<br>
      <br>
      It'd be great to get all of the suspend/resume code back into
      upstream. The arch_rebuild_p2m function we need in Mirage is quite
      straightforward; we never mess with it at runtime so we just need
      to set it up at start of day, and fix it on resume. It looks to be
      the same for clickos too. I wonder if any other of the potential
      mini-os users need anything more complicated?&nbsp; <br>
      <br>
      The implementation for mirage is here:
<a class="moz-txt-link-freetext" href="https://github.com/mirage/mirage-platform/blob/d263551d45727882ebebc20c6a601618ec9574ec/xen/runtime/kernel/x86_mm.c#L872">https://github.com/mirage/mirage-platform/blob/d263551d45727882ebebc20c6a601618ec9574ec/xen/runtime/kernel/x86_mm.c#L872</a><br>
      <br>
      I prefer the variable names of the cnplab implementation, but the
      mirage one looks like it has slightly less code duplication. I'm
      not very bothered though :-)<br>
      <br>
      Jon<br>
      <br>
      <br>
      On 25/07/14 16:17, Joao Martins wrote:<br>
    </div>
    <blockquote
      cite="mid:5D13371A-6081-4D92-A62D-6050008B9813@neclab.eu"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <div>Hey Anil,</div>
      <div><br>
      </div>
      <div>CCing Filipe, the author of suspend/resume work, he should
        have comments on the arch_rebuild_p2m.</div>
      <div><br>
      </div>
      <div>These are *not yet* against xen-unstable, but you can
        checkout the implementation here:</div>
      <div><br>
      </div>
      <div><a moz-do-not-send="true"
          href="https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944">https://github.com/cnplab/mini-os/blob/master/arch/x86/mm.c#L944</a></div>
      <div><br>
      </div>
      <div>Cheers,</div>
      <div>Joao</div>
      <br>
      <div>
        <div>On 08 Jul 2014, at 11:39, Anil Madhavapeddy &lt;<a
            moz-do-not-send="true" href="mailto:anil@recoil.org">anil@recoil.org</a>&gt;
          wrote:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite">We're just about ready to merge in
          Thomas Leonard's external MiniOS patches into Mirage:<br>
          <a moz-do-not-send="true"
            href="https://github.com/mirage/mirage-platform/pull/93">https://github.com/mirage/mirage-platform/pull/93</a><br>
          <br>
          The only known regression from our local MiniOS to the
          external one is x86 suspend/resume support, so I wanted to
          find out what the latest state of upstream support is.<br>
          <br>
          CCing Joao/Felipe: you mentioned at the hackathon that you had
          patches; are these available against xen-unstable for us to
          merge?<br>
          <br>
          Jon Ludlam did the original MirageOS support; any comments on
          the arch_rebuild_p2m query from Thomas?<br>
          <br>
          cheers,<br>
          Anil<br>
          <br>
          <br>
        </blockquote>
      </div>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
MirageOS-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.xenproject.org</a>
<a class="moz-txt-link-freetext" href="http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------020601070208050605000804--


--===============1509542423384662675==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1509542423384662675==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 16:47:58 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 16:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBo5Z-0004VZ-U6; Mon, 28 Jul 2014 16:47:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XBo5Y-0004VL-TG
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 16:47:53 +0000
Received: from [193.109.254.147:24446] by server-6.bemta-14.messagelabs.com id
	EA/B2-31278-8BE76D35; Mon, 28 Jul 2014 16:47:52 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1406566071!12278502!1
X-Originating-IP: [157.55.2.12]
X-SpamReason: No, hits=0.2 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_50_60,HTML_MESSAGE,ML_RADAR_SPEW_LINKS_1,ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,ML_RADAR_SPEW_LINKS_2,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11810 invoked from network); 28 Jul 2014 16:47:51 -0000
Received: from dub004-omc3s3.hotmail.com (HELO DUB004-OMC3S3.hotmail.com)
	(157.55.2.12)
	by server-15.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	28 Jul 2014 16:47:51 -0000
Received: from DUB128-W65 ([157.55.2.7]) by DUB004-OMC3S3.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Mon, 28 Jul 2014 09:47:50 -0700
X-TMN: [QskCcM5crlR1433Vs+cr8b+kBUU3Jcmv]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W65AE3B04EE06E0EB9F4946B4FB0@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Mon, 28 Jul 2014 16:47:50 +0000
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 28 Jul 2014 16:47:50.0996 (UTC)
	FILETIME=[AB647940:01CFAA83]
Subject: [MirageOS-devel] libvirt & crosscompiling for cubieboard
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5963321211214255909=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============5963321211214255909==
Content-Type: multipart/alternative;
	boundary="_2886fd76-d181-4ce6-9463-119a52bfa842_"

--_2886fd76-d181-4ce6-9463-119a52bfa842_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

It's been a long libvirt journey with the end almost in sight. I'll post th=
e steps a little later (they need cleaning up).

However=2C I'm faced with trying to cross compile to arm in order to do a r=
emote 'create'.

Where is the best place to start=2C I've come across https://github.com/cgr=
eenhalgh/ocaml-crosscompiling and http://lists.xenproject.org/archives/html=
/mirageos-devel/2013-09/msg00082.html etc.=20

Cheers
Nick
 		 	   		  =

--_2886fd76-d181-4ce6-9463-119a52bfa842_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>It's been a long libvirt journey=
 with the end almost in sight. I'll post the steps a little later (they nee=
d cleaning up).<br><br>However=2C I'm faced with trying to cross compile to=
 arm in order to do a remote 'create'.<br><br>Where is the best place to st=
art=2C I've come across <a href=3D"https://github.com/cgreenhalgh/ocaml-cro=
sscompiling" target=3D"_blank">https://github.com/cgreenhalgh/ocaml-crossco=
mpiling</a> and <a href=3D"http://lists.xenproject.org/archives/html/mirage=
os-devel/2013-09/msg00082.html" target=3D"_blank">http://lists.xenproject.o=
rg/archives/html/mirageos-devel/2013-09/msg00082.html</a> etc. <br><br>Chee=
rs<br>Nick<br> 		 	   		  </div></body>
</html>=

--_2886fd76-d181-4ce6-9463-119a52bfa842_--


--===============5963321211214255909==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============5963321211214255909==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 16:47:58 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 16:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBo5Z-0004VZ-U6; Mon, 28 Jul 2014 16:47:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XBo5Y-0004VL-TG
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 16:47:53 +0000
Received: from [193.109.254.147:24446] by server-6.bemta-14.messagelabs.com id
	EA/B2-31278-8BE76D35; Mon, 28 Jul 2014 16:47:52 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1406566071!12278502!1
X-Originating-IP: [157.55.2.12]
X-SpamReason: No, hits=0.2 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_50_60,HTML_MESSAGE,ML_RADAR_SPEW_LINKS_1,ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,ML_RADAR_SPEW_LINKS_2,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11810 invoked from network); 28 Jul 2014 16:47:51 -0000
Received: from dub004-omc3s3.hotmail.com (HELO DUB004-OMC3S3.hotmail.com)
	(157.55.2.12)
	by server-15.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	28 Jul 2014 16:47:51 -0000
Received: from DUB128-W65 ([157.55.2.7]) by DUB004-OMC3S3.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Mon, 28 Jul 2014 09:47:50 -0700
X-TMN: [QskCcM5crlR1433Vs+cr8b+kBUU3Jcmv]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W65AE3B04EE06E0EB9F4946B4FB0@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Mon, 28 Jul 2014 16:47:50 +0000
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 28 Jul 2014 16:47:50.0996 (UTC)
	FILETIME=[AB647940:01CFAA83]
Subject: [MirageOS-devel] libvirt & crosscompiling for cubieboard
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5963321211214255909=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============5963321211214255909==
Content-Type: multipart/alternative;
	boundary="_2886fd76-d181-4ce6-9463-119a52bfa842_"

--_2886fd76-d181-4ce6-9463-119a52bfa842_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

It's been a long libvirt journey with the end almost in sight. I'll post th=
e steps a little later (they need cleaning up).

However=2C I'm faced with trying to cross compile to arm in order to do a r=
emote 'create'.

Where is the best place to start=2C I've come across https://github.com/cgr=
eenhalgh/ocaml-crosscompiling and http://lists.xenproject.org/archives/html=
/mirageos-devel/2013-09/msg00082.html etc.=20

Cheers
Nick
 		 	   		  =

--_2886fd76-d181-4ce6-9463-119a52bfa842_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>It's been a long libvirt journey=
 with the end almost in sight. I'll post the steps a little later (they nee=
d cleaning up).<br><br>However=2C I'm faced with trying to cross compile to=
 arm in order to do a remote 'create'.<br><br>Where is the best place to st=
art=2C I've come across <a href=3D"https://github.com/cgreenhalgh/ocaml-cro=
sscompiling" target=3D"_blank">https://github.com/cgreenhalgh/ocaml-crossco=
mpiling</a> and <a href=3D"http://lists.xenproject.org/archives/html/mirage=
os-devel/2013-09/msg00082.html" target=3D"_blank">http://lists.xenproject.o=
rg/archives/html/mirageos-devel/2013-09/msg00082.html</a> etc. <br><br>Chee=
rs<br>Nick<br> 		 	   		  </div></body>
</html>=

--_2886fd76-d181-4ce6-9463-119a52bfa842_--


--===============5963321211214255909==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============5963321211214255909==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 17:23:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 17:23:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBoe3-0006fS-S5; Mon, 28 Jul 2014 17:23:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XBoe2-0006fL-8c
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 17:23:30 +0000
Received: from [85.158.137.68:34557] by server-6.bemta-3.messagelabs.com id
	3C/E5-29521-11786D35; Mon, 28 Jul 2014 17:23:29 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1406568208!18390581!1
X-Originating-IP: [157.55.2.32]
X-SpamReason: No, hits=1.0 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_10_20, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_12, ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5371 invoked from network); 28 Jul 2014 17:23:28 -0000
Received: from dub004-omc3s23.hotmail.com (HELO DUB004-OMC3S23.hotmail.com)
	(157.55.2.32)
	by server-2.tower-31.messagelabs.com with AES128-SHA encrypted SMTP;
	28 Jul 2014 17:23:28 -0000
Received: from DUB128-W70 ([157.55.2.8]) by DUB004-OMC3S23.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Mon, 28 Jul 2014 10:23:28 -0700
X-TMN: [aMJG9vicg9ZZf5KbCVkeysKTYY6FWhDH]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Mon, 28 Jul 2014 17:23:27 +0000
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 28 Jul 2014 17:23:28.0031 (UTC)
	FILETIME=[A52A22F0:01CFAA88]
Subject: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1203728422247726810=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1203728422247726810==
Content-Type: multipart/alternative;
	boundary="_60a69e56-fa49-41e6-9471-07dcedfc2dde_"

--_60a69e56-fa49-41e6-9471-07dcedfc2dde_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Trying to compile this - which=2C of course=2C compiles on x86=2C  - doesn'=
t quite make it on arm. Any ideas?


mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make run
ocamlbuild -classic-display -use-ocamlfind -pkgs lwt.syntax=2Ccstruct=2Cio-=
page=2Clwt=2Cmirage-console-xen=2Cmirage-http=2Cmirage-net-xen=2Cmirage-typ=
es=2Cmirage-types.lwt=2Ctcpip.dhcpv4=2Ctcpip.ethif=2Ctcpip.tcpv4=2Ctcpip.ud=
pv4 -tags "syntax(camlp4o)=2Cannot=2Cbin_annot=2Cstrict_sequence=2Cprincipa=
l" -cflag -g -lflags -g=2C-linkpkg=2C-dontlink=2Cunix main.native.o
ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package tcpip.ud=
pv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -packag=
e mirage-types.lwt -package mirage-types -package mirage-net-xen -package m=
irage-http -package mirage-console-xen -package lwt -package io-page -packa=
ge cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx static1.cmx mai=
n.cmx -o main.native.o
+ ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package tcpip.=
udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -pack=
age mirage-types.lwt -package mirage-types -package mirage-net-xen -package=
 mirage-http -package mirage-console-xen -package lwt -package io-page -pac=
kage cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx static1.cmx m=
ain.cmx -o main.native.o
File "_none_"=2C line 1:
Error: No implementations provided for the following modules:
         Re_str referenced from dispatch.cmx
Command exited with code 2.
make: *** [main.native.o] Error 10

 		 	   		  =

--_60a69e56-fa49-41e6-9471-07dcedfc2dde_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>Trying to compile this - which=
=2C of course=2C compiles on x86=2C&nbsp=3B - doesn't quite make it on arm.=
 Any ideas?<br><br><br>mirage@cubie0:~/mirage-skeleton/xen/static_website+i=
p$ make run<br>ocamlbuild -classic-display -use-ocamlfind -pkgs lwt.syntax=
=2Ccstruct=2Cio-page=2Clwt=2Cmirage-console-xen=2Cmirage-http=2Cmirage-net-=
xen=2Cmirage-types=2Cmirage-types.lwt=2Ctcpip.dhcpv4=2Ctcpip.ethif=2Ctcpip.=
tcpv4=2Ctcpip.udpv4 -tags "syntax(camlp4o)=2Cannot=2Cbin_annot=2Cstrict_seq=
uence=2Cprincipal" -cflag -g -lflags -g=2C-linkpkg=2C-dontlink=2Cunix main.=
native.o<br>ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -pack=
age tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dh=
cpv4 -package mirage-types.lwt -package mirage-types -package mirage-net-xe=
n -package mirage-http -package mirage-console-xen -package lwt -package io=
-page -package cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx sta=
tic1.cmx main.cmx -o main.native.o<br>+ ocamlfind ocamlopt -g -linkpkg -don=
tlink unix -output-obj -package tcpip.udpv4 -package tcpip.tcpv4 -package t=
cpip.ethif -package tcpip.dhcpv4 -package mirage-types.lwt -package mirage-=
types -package mirage-net-xen -package mirage-http -package mirage-console-=
xen -package lwt -package io-page -package cstruct -package lwt.syntax -syn=
tax camlp4o dispatch.cmx static1.cmx main.cmx -o main.native.o<br>File "_no=
ne_"=2C line 1:<br>Error: No implementations provided for the following mod=
ules:<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B R=
e_str referenced from dispatch.cmx<br>Command exited with code 2.<br>make: =
*** [main.native.o] Error 10<br><br> 		 	   		  </div></body>
</html>=

--_60a69e56-fa49-41e6-9471-07dcedfc2dde_--


--===============1203728422247726810==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1203728422247726810==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 17:23:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 17:23:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBoe3-0006fS-S5; Mon, 28 Jul 2014 17:23:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XBoe2-0006fL-8c
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 17:23:30 +0000
Received: from [85.158.137.68:34557] by server-6.bemta-3.messagelabs.com id
	3C/E5-29521-11786D35; Mon, 28 Jul 2014 17:23:29 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1406568208!18390581!1
X-Originating-IP: [157.55.2.32]
X-SpamReason: No, hits=1.0 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_10_20, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_12, ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5371 invoked from network); 28 Jul 2014 17:23:28 -0000
Received: from dub004-omc3s23.hotmail.com (HELO DUB004-OMC3S23.hotmail.com)
	(157.55.2.32)
	by server-2.tower-31.messagelabs.com with AES128-SHA encrypted SMTP;
	28 Jul 2014 17:23:28 -0000
Received: from DUB128-W70 ([157.55.2.8]) by DUB004-OMC3S23.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Mon, 28 Jul 2014 10:23:28 -0700
X-TMN: [aMJG9vicg9ZZf5KbCVkeysKTYY6FWhDH]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Mon, 28 Jul 2014 17:23:27 +0000
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 28 Jul 2014 17:23:28.0031 (UTC)
	FILETIME=[A52A22F0:01CFAA88]
Subject: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1203728422247726810=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============1203728422247726810==
Content-Type: multipart/alternative;
	boundary="_60a69e56-fa49-41e6-9471-07dcedfc2dde_"

--_60a69e56-fa49-41e6-9471-07dcedfc2dde_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Trying to compile this - which=2C of course=2C compiles on x86=2C  - doesn'=
t quite make it on arm. Any ideas?


mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make run
ocamlbuild -classic-display -use-ocamlfind -pkgs lwt.syntax=2Ccstruct=2Cio-=
page=2Clwt=2Cmirage-console-xen=2Cmirage-http=2Cmirage-net-xen=2Cmirage-typ=
es=2Cmirage-types.lwt=2Ctcpip.dhcpv4=2Ctcpip.ethif=2Ctcpip.tcpv4=2Ctcpip.ud=
pv4 -tags "syntax(camlp4o)=2Cannot=2Cbin_annot=2Cstrict_sequence=2Cprincipa=
l" -cflag -g -lflags -g=2C-linkpkg=2C-dontlink=2Cunix main.native.o
ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package tcpip.ud=
pv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -packag=
e mirage-types.lwt -package mirage-types -package mirage-net-xen -package m=
irage-http -package mirage-console-xen -package lwt -package io-page -packa=
ge cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx static1.cmx mai=
n.cmx -o main.native.o
+ ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package tcpip.=
udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -pack=
age mirage-types.lwt -package mirage-types -package mirage-net-xen -package=
 mirage-http -package mirage-console-xen -package lwt -package io-page -pac=
kage cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx static1.cmx m=
ain.cmx -o main.native.o
File "_none_"=2C line 1:
Error: No implementations provided for the following modules:
         Re_str referenced from dispatch.cmx
Command exited with code 2.
make: *** [main.native.o] Error 10

 		 	   		  =

--_60a69e56-fa49-41e6-9471-07dcedfc2dde_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>Trying to compile this - which=
=2C of course=2C compiles on x86=2C&nbsp=3B - doesn't quite make it on arm.=
 Any ideas?<br><br><br>mirage@cubie0:~/mirage-skeleton/xen/static_website+i=
p$ make run<br>ocamlbuild -classic-display -use-ocamlfind -pkgs lwt.syntax=
=2Ccstruct=2Cio-page=2Clwt=2Cmirage-console-xen=2Cmirage-http=2Cmirage-net-=
xen=2Cmirage-types=2Cmirage-types.lwt=2Ctcpip.dhcpv4=2Ctcpip.ethif=2Ctcpip.=
tcpv4=2Ctcpip.udpv4 -tags "syntax(camlp4o)=2Cannot=2Cbin_annot=2Cstrict_seq=
uence=2Cprincipal" -cflag -g -lflags -g=2C-linkpkg=2C-dontlink=2Cunix main.=
native.o<br>ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -pack=
age tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dh=
cpv4 -package mirage-types.lwt -package mirage-types -package mirage-net-xe=
n -package mirage-http -package mirage-console-xen -package lwt -package io=
-page -package cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx sta=
tic1.cmx main.cmx -o main.native.o<br>+ ocamlfind ocamlopt -g -linkpkg -don=
tlink unix -output-obj -package tcpip.udpv4 -package tcpip.tcpv4 -package t=
cpip.ethif -package tcpip.dhcpv4 -package mirage-types.lwt -package mirage-=
types -package mirage-net-xen -package mirage-http -package mirage-console-=
xen -package lwt -package io-page -package cstruct -package lwt.syntax -syn=
tax camlp4o dispatch.cmx static1.cmx main.cmx -o main.native.o<br>File "_no=
ne_"=2C line 1:<br>Error: No implementations provided for the following mod=
ules:<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B R=
e_str referenced from dispatch.cmx<br>Command exited with code 2.<br>make: =
*** [main.native.o] Error 10<br><br> 		 	   		  </div></body>
</html>=

--_60a69e56-fa49-41e6-9471-07dcedfc2dde_--


--===============1203728422247726810==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============1203728422247726810==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 17:39:27 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 17:39:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBotO-0007tR-NR; Mon, 28 Jul 2014 17:39:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XBotO-0007tL-3v
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 17:39:22 +0000
Received: from [193.109.254.147:56715] by server-15.bemta-14.messagelabs.com
	id A5/4F-30948-9CA86D35; Mon, 28 Jul 2014 17:39:21 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1406569160!12267009!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.1 required=7.0 tests=HTML_30_40,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26624 invoked from network); 28 Jul 2014 17:39:20 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-9.tower-27.messagelabs.com with SMTP;
	28 Jul 2014 17:39:20 -0000
Received: (qmail 486 invoked by uid 634); 28 Jul 2014 17:39:19 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 28 Jul 2014 18:39:18 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
Date: Mon, 28 Jul 2014 18:39:17 +0100
Message-Id: <A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5579392054405290770=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============5579392054405290770==
Content-Type: multipart/alternative; boundary="Apple-Mail=_D2B7BE81-A7E4-4793-BC8F-D5A5ACD7B022"


--Apple-Mail=_D2B7BE81-A7E4-4793-BC8F-D5A5ACD7B022
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

This was (read: should have been) fixed 2 months ago in
=
https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b80856e398847=
82f70c8a359b247

Can you try updating to latest sources and check if it still happens?

-a

On 28 Jul 2014, at 18:23, buzz heavyyear <buzzheavyyear@hotmail.com> =
wrote:

> Trying to compile this - which, of course, compiles on x86,  - doesn't =
quite make it on arm. Any ideas?
>=20
>=20
> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make run
> ocamlbuild -classic-display -use-ocamlfind -pkgs =
lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-x=
en,mirage-types,mirage-types.lwt,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpi=
p.udpv4 -tags =
"syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g =
-lflags -g,-linkpkg,-dontlink,unix main.native.o
> ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package =
tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package =
tcpip.dhcpv4 -package mirage-types.lwt -package mirage-types -package =
mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax =
camlp4o dispatch.cmx static1.cmx main.cmx -o main.native.o
> + ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package =
tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package =
tcpip.dhcpv4 -package mirage-types.lwt -package mirage-types -package =
mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax =
camlp4o dispatch.cmx static1.cmx main.cmx -o main.native.o
> File "_none_", line 1:
> Error: No implementations provided for the following modules:
>          Re_str referenced from dispatch.cmx
> Command exited with code 2.
> make: *** [main.native.o] Error 10
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_D2B7BE81-A7E4-4793-BC8F-D5A5ACD7B022
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">This =
was (read: should have been) fixed 2 months ago in<div><a =
href=3D"https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b8085=
6e39884782f70c8a359b247">https://github.com/mirage/mirage-skeleton/commit/=
fe32f34c2411b80856e39884782f70c8a359b247</a></div><div><br></div><div>Can =
you try updating to latest sources and check if it still =
happens?</div><div><br></div><div>-a</div><div><br><div><div>On 28 Jul =
2014, at 18:23, buzz heavyyear &lt;<a =
href=3D"mailto:buzzheavyyear@hotmail.com">buzzheavyyear@hotmail.com</a>&gt=
; wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div class=3D"hmmessage" style=3D"font-size: 12pt; =
font-family: Calibri; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;"><div dir=3D"ltr">Trying to compile this =
- which, of course, compiles on x86,&nbsp; - doesn't quite make it on =
arm. Any =
ideas?<br><br><br>mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ =
make run<br>ocamlbuild -classic-display -use-ocamlfind -pkgs =
lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-x=
en,mirage-types,mirage-types.lwt,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpi=
p.udpv4 -tags =
"syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g =
-lflags -g,-linkpkg,-dontlink,unix main.native.o<br>ocamlfind ocamlopt =
-g -linkpkg -dontlink unix -output-obj -package tcpip.udpv4 -package =
tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package =
mirage-types.lwt -package mirage-types -package mirage-net-xen -package =
mirage-http -package mirage-console-xen -package lwt -package io-page =
-package cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx =
static1.cmx main.cmx -o main.native.o<br>+ ocamlfind ocamlopt -g =
-linkpkg -dontlink unix -output-obj -package tcpip.udpv4 -package =
tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package =
mirage-types.lwt -package mirage-types -package mirage-net-xen -package =
mirage-http -package mirage-console-xen -package lwt -package io-page =
-package cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx =
static1.cmx main.cmx -o main.native.o<br>File "_none_", line =
1:<br>Error: No implementations provided for the following =
modules:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Re_str =
referenced from dispatch.cmx<br>Command exited with code 2.<br>make: *** =
[main.native.o] Error =
10<br><br></div>_______________________________________________<br>MirageO=
S-devel mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br><a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>=
</div></blockquote></div><br></div></body></html>=

--Apple-Mail=_D2B7BE81-A7E4-4793-BC8F-D5A5ACD7B022--


--===============5579392054405290770==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============5579392054405290770==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 17:39:27 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 17:39:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBotO-0007tR-NR; Mon, 28 Jul 2014 17:39:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XBotO-0007tL-3v
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 17:39:22 +0000
Received: from [193.109.254.147:56715] by server-15.bemta-14.messagelabs.com
	id A5/4F-30948-9CA86D35; Mon, 28 Jul 2014 17:39:21 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1406569160!12267009!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.1 required=7.0 tests=HTML_30_40,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26624 invoked from network); 28 Jul 2014 17:39:20 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-9.tower-27.messagelabs.com with SMTP;
	28 Jul 2014 17:39:20 -0000
Received: (qmail 486 invoked by uid 634); 28 Jul 2014 17:39:19 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 28 Jul 2014 18:39:18 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
Date: Mon, 28 Jul 2014 18:39:17 +0100
Message-Id: <A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5579392054405290770=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============5579392054405290770==
Content-Type: multipart/alternative; boundary="Apple-Mail=_D2B7BE81-A7E4-4793-BC8F-D5A5ACD7B022"


--Apple-Mail=_D2B7BE81-A7E4-4793-BC8F-D5A5ACD7B022
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

This was (read: should have been) fixed 2 months ago in
=
https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b80856e398847=
82f70c8a359b247

Can you try updating to latest sources and check if it still happens?

-a

On 28 Jul 2014, at 18:23, buzz heavyyear <buzzheavyyear@hotmail.com> =
wrote:

> Trying to compile this - which, of course, compiles on x86,  - doesn't =
quite make it on arm. Any ideas?
>=20
>=20
> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make run
> ocamlbuild -classic-display -use-ocamlfind -pkgs =
lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-x=
en,mirage-types,mirage-types.lwt,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpi=
p.udpv4 -tags =
"syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g =
-lflags -g,-linkpkg,-dontlink,unix main.native.o
> ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package =
tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package =
tcpip.dhcpv4 -package mirage-types.lwt -package mirage-types -package =
mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax =
camlp4o dispatch.cmx static1.cmx main.cmx -o main.native.o
> + ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package =
tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package =
tcpip.dhcpv4 -package mirage-types.lwt -package mirage-types -package =
mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax =
camlp4o dispatch.cmx static1.cmx main.cmx -o main.native.o
> File "_none_", line 1:
> Error: No implementations provided for the following modules:
>          Re_str referenced from dispatch.cmx
> Command exited with code 2.
> make: *** [main.native.o] Error 10
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_D2B7BE81-A7E4-4793-BC8F-D5A5ACD7B022
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">This =
was (read: should have been) fixed 2 months ago in<div><a =
href=3D"https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b8085=
6e39884782f70c8a359b247">https://github.com/mirage/mirage-skeleton/commit/=
fe32f34c2411b80856e39884782f70c8a359b247</a></div><div><br></div><div>Can =
you try updating to latest sources and check if it still =
happens?</div><div><br></div><div>-a</div><div><br><div><div>On 28 Jul =
2014, at 18:23, buzz heavyyear &lt;<a =
href=3D"mailto:buzzheavyyear@hotmail.com">buzzheavyyear@hotmail.com</a>&gt=
; wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div class=3D"hmmessage" style=3D"font-size: 12pt; =
font-family: Calibri; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;"><div dir=3D"ltr">Trying to compile this =
- which, of course, compiles on x86,&nbsp; - doesn't quite make it on =
arm. Any =
ideas?<br><br><br>mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ =
make run<br>ocamlbuild -classic-display -use-ocamlfind -pkgs =
lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-x=
en,mirage-types,mirage-types.lwt,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpi=
p.udpv4 -tags =
"syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g =
-lflags -g,-linkpkg,-dontlink,unix main.native.o<br>ocamlfind ocamlopt =
-g -linkpkg -dontlink unix -output-obj -package tcpip.udpv4 -package =
tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package =
mirage-types.lwt -package mirage-types -package mirage-net-xen -package =
mirage-http -package mirage-console-xen -package lwt -package io-page =
-package cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx =
static1.cmx main.cmx -o main.native.o<br>+ ocamlfind ocamlopt -g =
-linkpkg -dontlink unix -output-obj -package tcpip.udpv4 -package =
tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package =
mirage-types.lwt -package mirage-types -package mirage-net-xen -package =
mirage-http -package mirage-console-xen -package lwt -package io-page =
-package cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx =
static1.cmx main.cmx -o main.native.o<br>File "_none_", line =
1:<br>Error: No implementations provided for the following =
modules:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Re_str =
referenced from dispatch.cmx<br>Command exited with code 2.<br>make: *** =
[main.native.o] Error =
10<br><br></div>_______________________________________________<br>MirageO=
S-devel mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br><a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>=
</div></blockquote></div><br></div></body></html>=

--Apple-Mail=_D2B7BE81-A7E4-4793-BC8F-D5A5ACD7B022--


--===============5579392054405290770==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============5579392054405290770==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 17:42:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 17:42:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBowl-0008FA-Dd; Mon, 28 Jul 2014 17:42:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XBowj-0008Eu-Lp
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 17:42:49 +0000
Received: from [193.109.254.147:28944] by server-12.bemta-14.messagelabs.com
	id 59/02-23840-99B86D35; Mon, 28 Jul 2014 17:42:49 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-6.tower-27.messagelabs.com!1406569368!12267333!1
X-Originating-IP: [151.236.209.33]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5124 invoked from network); 28 Jul 2014 17:42:48 -0000
Received: from engine01-20433-7.icritical.com (HELO
	engine01-20433-7.icritical.com) (151.236.209.33)
	by server-6.tower-27.messagelabs.com with SMTP;
	28 Jul 2014 17:42:48 -0000
Received: (qmail 9525 invoked from network); 28 Jul 2014 17:38:07 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-7.icritical.com with SMTP; 28 Jul 2014 17:38:07 -0000
Received: from engine01-20433-7.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-7.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 08971-03 for <mirageos-devel@lists.xenproject.org>;
	Mon, 28 Jul 2014 18:38:00 +0100 (BST)
Received: (qmail 9329 invoked by uid 599); 28 Jul 2014 17:38:00 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine01-20433-7.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 28 Jul 2014 18:38:00 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XBos4-0006jc-Bq; Mon, 28 Jul 2014 18:38:00 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Masoud Koleini <masoud.koleini@nottingham.ac.uk>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Mon, 28 Jul 2014 18:37:34 +0100
Thread-Topic: Test environment for OpenFlow switch
Thread-Index: Ac+qiqx499NLgaOYQhKwSR1yd+LXWQ==
Message-ID: <E39108F0-3D3D-43C0-B7A8-8651B0F272CD@nottingham.ac.uk>
References: <53D685EC.6050405@nottingham.ac.uk>
In-Reply-To: <53D685EC.6050405@nottingham.ac.uk>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-7.icritical.com
Cc: Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Test environment for OpenFlow switch
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6315755216780617775=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6315755216780617775==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_49F1A390-9257-4168-AE02-56D73B9E1D2F";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_49F1A390-9257-4168-AE02-56D73B9E1D2F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

masoud: to the list!

On 28 Jul 2014, at 19:18, Masoud Koleini =
<masoud.koleini@nottingham.ac.uk> wrote:

> Dear Anil,
>=20
> I am on the process of modifying current implementation of Mirage=20
> OpenFlow to use tcpip library instead of mirage-net. Frenetic=20
> implementation of OpenFlow only contains the controller.
>=20
> I am now investigating the communication between the switch and=20
> controller. For the controller, I am using Beacon for the tests. So, I=20=

> have to set up a test environment for the switch.
>=20
> The modification of OpenFlow switch at the moment supports unix=20
> configuration. I use tap0 for the controller interface, and other tap=20=

> devised for switch ports. But I need your advice for the right set up.
>=20
> First, can I have both the controller and switch on the same OS (I use=20=

> Ubuntu)? What would be the configuration in this case (which I =
couldn't=20
> make it work today,) or if I run switch application on a virtual =
machine?
>=20
> Best regards,
> Masoud


--=20
Cheers,

R.





--Apple-Mail=_49F1A390-9257-4168-AE02-56D73B9E1D2F
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT1opeAAoJEOLF27JWwSg3xIQP/A/3BHjwPbX/RU5R33H8y6F4
/ljjOekJBTx2n1g1TYeEL5SN1dJrAYxQH59H/5R9SQ3CwBN3LrzpoLokALUUua4G
L3U9kaVtoRVpEW6MrfRVi5I36a1Y14ywADrABFvhrRboaH0x5S5z/8sivGOhA2z0
WTu5Pm5Gh1eiiQO2w+TVThIDG5bTZwtR2H0/2tCrrTN02/9EdE4tf21Ok85MC4fR
XtrpqKv8l7dhSKSsNLUpEXIoVFIKC8/sGWhB+SIq1rgxzajPKVqtOC0/0iPxamLd
vvijLIp4cJeH73UUC99HYMCfmE/ryAfsXzV+N9SVMWxx9oyrMOpL6vyvj2KfKERt
0ltxaB5IPjxJWmJhGd/hdB1JFa8OojuzxHh+Vy+1PK1vYDQMzFV9aajHVcpgUQAq
2PtZ7Pxxrzxp0zyaAK/BJykZU1NRz4RSkouDtX+zFRmruqGe4eYbyfAP0MSAaP6+
d/QrUxXa9MrVYvioaDYFDpk4xClZ1YkbLy+Mx9S/ezWPDJ1rTAjpyUw+cw0y4IjN
GV3s776iJQ613uPTOEpEkzXtrj/+LRfa/jsLmNkdO+bv8ULewe/z3gQlrDQyQlwD
bHOtFjp5KJeC23tXknP8mKer5F80GoCNX0XMqv+dr4nVmLnL/0Gea7GDEo6xexaF
1phFU+ebBj0bCl9vbg96
=6iUJ
-----END PGP SIGNATURE-----

--Apple-Mail=_49F1A390-9257-4168-AE02-56D73B9E1D2F--


--===============6315755216780617775==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6315755216780617775==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 17:42:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 17:42:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBowl-0008FA-Dd; Mon, 28 Jul 2014 17:42:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XBowj-0008Eu-Lp
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 17:42:49 +0000
Received: from [193.109.254.147:28944] by server-12.bemta-14.messagelabs.com
	id 59/02-23840-99B86D35; Mon, 28 Jul 2014 17:42:49 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-6.tower-27.messagelabs.com!1406569368!12267333!1
X-Originating-IP: [151.236.209.33]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5124 invoked from network); 28 Jul 2014 17:42:48 -0000
Received: from engine01-20433-7.icritical.com (HELO
	engine01-20433-7.icritical.com) (151.236.209.33)
	by server-6.tower-27.messagelabs.com with SMTP;
	28 Jul 2014 17:42:48 -0000
Received: (qmail 9525 invoked from network); 28 Jul 2014 17:38:07 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-7.icritical.com with SMTP; 28 Jul 2014 17:38:07 -0000
Received: from engine01-20433-7.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-7.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 08971-03 for <mirageos-devel@lists.xenproject.org>;
	Mon, 28 Jul 2014 18:38:00 +0100 (BST)
Received: (qmail 9329 invoked by uid 599); 28 Jul 2014 17:38:00 -0000
Received: from unknown (HELO smtp4.nottingham.ac.uk) (128.243.220.65)
	by engine01-20433-7.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 28 Jul 2014 18:38:00 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XBos4-0006jc-Bq; Mon, 28 Jul 2014 18:38:00 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Masoud Koleini <masoud.koleini@nottingham.ac.uk>,
	"mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Mon, 28 Jul 2014 18:37:34 +0100
Thread-Topic: Test environment for OpenFlow switch
Thread-Index: Ac+qiqx499NLgaOYQhKwSR1yd+LXWQ==
Message-ID: <E39108F0-3D3D-43C0-B7A8-8651B0F272CD@nottingham.ac.uk>
References: <53D685EC.6050405@nottingham.ac.uk>
In-Reply-To: <53D685EC.6050405@nottingham.ac.uk>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-7.icritical.com
Cc: Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Test environment for OpenFlow switch
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6315755216780617775=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6315755216780617775==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_49F1A390-9257-4168-AE02-56D73B9E1D2F";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_49F1A390-9257-4168-AE02-56D73B9E1D2F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

masoud: to the list!

On 28 Jul 2014, at 19:18, Masoud Koleini =
<masoud.koleini@nottingham.ac.uk> wrote:

> Dear Anil,
>=20
> I am on the process of modifying current implementation of Mirage=20
> OpenFlow to use tcpip library instead of mirage-net. Frenetic=20
> implementation of OpenFlow only contains the controller.
>=20
> I am now investigating the communication between the switch and=20
> controller. For the controller, I am using Beacon for the tests. So, I=20=

> have to set up a test environment for the switch.
>=20
> The modification of OpenFlow switch at the moment supports unix=20
> configuration. I use tap0 for the controller interface, and other tap=20=

> devised for switch ports. But I need your advice for the right set up.
>=20
> First, can I have both the controller and switch on the same OS (I use=20=

> Ubuntu)? What would be the configuration in this case (which I =
couldn't=20
> make it work today,) or if I run switch application on a virtual =
machine?
>=20
> Best regards,
> Masoud


--=20
Cheers,

R.





--Apple-Mail=_49F1A390-9257-4168-AE02-56D73B9E1D2F
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT1opeAAoJEOLF27JWwSg3xIQP/A/3BHjwPbX/RU5R33H8y6F4
/ljjOekJBTx2n1g1TYeEL5SN1dJrAYxQH59H/5R9SQ3CwBN3LrzpoLokALUUua4G
L3U9kaVtoRVpEW6MrfRVi5I36a1Y14ywADrABFvhrRboaH0x5S5z/8sivGOhA2z0
WTu5Pm5Gh1eiiQO2w+TVThIDG5bTZwtR2H0/2tCrrTN02/9EdE4tf21Ok85MC4fR
XtrpqKv8l7dhSKSsNLUpEXIoVFIKC8/sGWhB+SIq1rgxzajPKVqtOC0/0iPxamLd
vvijLIp4cJeH73UUC99HYMCfmE/ryAfsXzV+N9SVMWxx9oyrMOpL6vyvj2KfKERt
0ltxaB5IPjxJWmJhGd/hdB1JFa8OojuzxHh+Vy+1PK1vYDQMzFV9aajHVcpgUQAq
2PtZ7Pxxrzxp0zyaAK/BJykZU1NRz4RSkouDtX+zFRmruqGe4eYbyfAP0MSAaP6+
d/QrUxXa9MrVYvioaDYFDpk4xClZ1YkbLy+Mx9S/ezWPDJ1rTAjpyUw+cw0y4IjN
GV3s776iJQ613uPTOEpEkzXtrj/+LRfa/jsLmNkdO+bv8ULewe/z3gQlrDQyQlwD
bHOtFjp5KJeC23tXknP8mKer5F80GoCNX0XMqv+dr4nVmLnL/0Gea7GDEo6xexaF
1phFU+ebBj0bCl9vbg96
=6iUJ
-----END PGP SIGNATURE-----

--Apple-Mail=_49F1A390-9257-4168-AE02-56D73B9E1D2F--


--===============6315755216780617775==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6315755216780617775==--


From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 18:02:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 18:02:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBpG2-0000Wi-De; Mon, 28 Jul 2014 18:02:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1XBpG0-0000Wb-VG
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 18:02:45 +0000
Received: from [85.158.139.211:17654] by server-12.bemta-5.messagelabs.com id
	01/EB-22251-44096D35; Mon, 28 Jul 2014 18:02:44 +0000
X-Env-Sender: masoud.koleini@nottingham.ac.uk
X-Msg-Ref: server-8.tower-206.messagelabs.com!1406570563!18024102!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18755 invoked from network); 28 Jul 2014 18:02:43 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-8.tower-206.messagelabs.com with SMTP;
	28 Jul 2014 18:02:43 -0000
Received: (qmail 4348 invoked from network); 28 Jul 2014 18:02:41 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 28 Jul 2014 18:02:41 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 01431-09 for <mirageos-devel@lists.xenproject.org>;
	Mon, 28 Jul 2014 19:02:37 +0100 (BST)
Received: (qmail 4259 invoked by uid 599); 28 Jul 2014 18:02:37 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 28 Jul 2014 19:02:37 +0100
Received: from cirrus.cs.nott.ac.uk ([128.243.23.185])
	by smtp3.nottingham.ac.uk with esmtp (Exim 4.77)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1XBpFs-00054X-56
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 19:02:37 +0100
Message-ID: <53D6903C.60101@nottingham.ac.uk>
Date: Mon, 28 Jul 2014 19:02:36 +0100
From: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Thunderbird/31.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Subject: [MirageOS-devel] Test environment for OpenFlow switch
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi all,

I am modifying the implementation of Mirage OpenFlow to use tcpip 
library instead of mirage-net. I am using Beacon for the controller and 
now setting up a test environment for the switch.

The switch implementation uses tap0 for the controller interface, and 
other tap devised for switch ports. What could be the best test 
environment set-up (under Mirage unix config)? Can I have both the 
controller and switch operate on the same OS (Ubuntu)? What would be the 
configuration in this case, or in the case that I run switch application 
on a virtual machine?

Thanks


This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Mon Jul 28 18:02:47 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2014 18:02:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XBpG2-0000Wi-De; Mon, 28 Jul 2014 18:02:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1XBpG0-0000Wb-VG
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 18:02:45 +0000
Received: from [85.158.139.211:17654] by server-12.bemta-5.messagelabs.com id
	01/EB-22251-44096D35; Mon, 28 Jul 2014 18:02:44 +0000
X-Env-Sender: masoud.koleini@nottingham.ac.uk
X-Msg-Ref: server-8.tower-206.messagelabs.com!1406570563!18024102!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18755 invoked from network); 28 Jul 2014 18:02:43 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-8.tower-206.messagelabs.com with SMTP;
	28 Jul 2014 18:02:43 -0000
Received: (qmail 4348 invoked from network); 28 Jul 2014 18:02:41 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 28 Jul 2014 18:02:41 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 01431-09 for <mirageos-devel@lists.xenproject.org>;
	Mon, 28 Jul 2014 19:02:37 +0100 (BST)
Received: (qmail 4259 invoked by uid 599); 28 Jul 2014 18:02:37 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Mon, 28 Jul 2014 19:02:37 +0100
Received: from cirrus.cs.nott.ac.uk ([128.243.23.185])
	by smtp3.nottingham.ac.uk with esmtp (Exim 4.77)
	(envelope-from <masoud.koleini@nottingham.ac.uk>) id 1XBpFs-00054X-56
	for mirageos-devel@lists.xenproject.org; Mon, 28 Jul 2014 19:02:37 +0100
Message-ID: <53D6903C.60101@nottingham.ac.uk>
Date: Mon, 28 Jul 2014 19:02:36 +0100
From: Masoud Koleini <masoud.koleini@nottingham.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Thunderbird/31.0
MIME-Version: 1.0
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Subject: [MirageOS-devel] Test environment for OpenFlow switch
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi all,

I am modifying the implementation of Mirage OpenFlow to use tcpip 
library instead of mirage-net. I am using Beacon for the controller and 
now setting up a test environment for the switch.

The switch implementation uses tap0 for the controller interface, and 
other tap devised for switch ports. What could be the best test 
environment set-up (under Mirage unix config)? Can I have both the 
controller and switch operate on the same OS (Ubuntu)? What would be the 
configuration in this case, or in the case that I run switch application 
on a virtual machine?

Thanks


This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 08:09:38 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 08:09:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC2TU-0007Pc-GZ; Tue, 29 Jul 2014 08:09:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XC2TT-0007PM-IB
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 08:09:31 +0000
Received: from [85.158.143.35:52518] by server-1.bemta-4.messagelabs.com id
	80/8F-05872-AB657D35; Tue, 29 Jul 2014 08:09:30 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1406621370!12127237!1
X-Originating-IP: [157.55.2.107]
X-SpamReason: No, hits=0.4 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_60_70,HTML_MESSAGE,ML_RADAR_SPEW_LINKS_1,ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8086 invoked from network); 29 Jul 2014 08:09:30 -0000
Received: from dub004-omc4s32.hotmail.com (HELO DUB004-OMC4S32.hotmail.com)
	(157.55.2.107)
	by server-9.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	29 Jul 2014 08:09:30 -0000
Received: from DUB128-W85 ([157.55.2.71]) by DUB004-OMC4S32.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Tue, 29 Jul 2014 01:09:29 -0700
X-TMN: [XVFWPsH0XV2oNUby9txcRKi0XPwU5D4Y]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Date: Tue, 29 Jul 2014 08:09:29 +0000
Importance: Normal
In-Reply-To: <A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>,
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
MIME-Version: 1.0
X-OriginalArrivalTime: 29 Jul 2014 08:09:29.0970 (UTC)
	FILETIME=[6C264520:01CFAB04]
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8665944963680213604=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============8665944963680213604==
Content-Type: multipart/alternative;
	boundary="_c2149436-d115-43c9-ac67-e7c651d9f5d6_"

--_c2149436-d115-43c9-ac67-e7c651d9f5d6_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

>This was (read: should have been) fixed 2 months ago inhttps://github.com/=
mirage/mirage-skeleton/commit/fe32f34c2411b80856e39884782f70c8a359b247
Thanks - yes=2C this was fixed in static_website but not in xen/static_webs=
ite+ip
 		 	   		  =

--_c2149436-d115-43c9-ac67-e7c651d9f5d6_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>&gt=3BThis was (read: should hav=
e been) fixed 2 months ago in<div><div><a href=3D"https://github.com/mirage=
/mirage-skeleton/commit/fe32f34c2411b80856e39884782f70c8a359b247" target=3D=
"_blank">https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b8085=
6e39884782f70c8a359b247</a></div><br>Thanks - yes=2C this was fixed in stat=
ic_website but not in xen/static_website+ip<br></div> 		 	   		  </div></bo=
dy>
</html>=

--_c2149436-d115-43c9-ac67-e7c651d9f5d6_--


--===============8665944963680213604==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============8665944963680213604==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 08:09:38 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 08:09:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC2TU-0007Pc-GZ; Tue, 29 Jul 2014 08:09:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XC2TT-0007PM-IB
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 08:09:31 +0000
Received: from [85.158.143.35:52518] by server-1.bemta-4.messagelabs.com id
	80/8F-05872-AB657D35; Tue, 29 Jul 2014 08:09:30 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1406621370!12127237!1
X-Originating-IP: [157.55.2.107]
X-SpamReason: No, hits=0.4 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_60_70,HTML_MESSAGE,ML_RADAR_SPEW_LINKS_1,ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8086 invoked from network); 29 Jul 2014 08:09:30 -0000
Received: from dub004-omc4s32.hotmail.com (HELO DUB004-OMC4S32.hotmail.com)
	(157.55.2.107)
	by server-9.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	29 Jul 2014 08:09:30 -0000
Received: from DUB128-W85 ([157.55.2.71]) by DUB004-OMC4S32.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Tue, 29 Jul 2014 01:09:29 -0700
X-TMN: [XVFWPsH0XV2oNUby9txcRKi0XPwU5D4Y]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Date: Tue, 29 Jul 2014 08:09:29 +0000
Importance: Normal
In-Reply-To: <A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>,
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
MIME-Version: 1.0
X-OriginalArrivalTime: 29 Jul 2014 08:09:29.0970 (UTC)
	FILETIME=[6C264520:01CFAB04]
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8665944963680213604=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============8665944963680213604==
Content-Type: multipart/alternative;
	boundary="_c2149436-d115-43c9-ac67-e7c651d9f5d6_"

--_c2149436-d115-43c9-ac67-e7c651d9f5d6_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

>This was (read: should have been) fixed 2 months ago inhttps://github.com/=
mirage/mirage-skeleton/commit/fe32f34c2411b80856e39884782f70c8a359b247
Thanks - yes=2C this was fixed in static_website but not in xen/static_webs=
ite+ip
 		 	   		  =

--_c2149436-d115-43c9-ac67-e7c651d9f5d6_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>&gt=3BThis was (read: should hav=
e been) fixed 2 months ago in<div><div><a href=3D"https://github.com/mirage=
/mirage-skeleton/commit/fe32f34c2411b80856e39884782f70c8a359b247" target=3D=
"_blank">https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b8085=
6e39884782f70c8a359b247</a></div><br>Thanks - yes=2C this was fixed in stat=
ic_website but not in xen/static_website+ip<br></div> 		 	   		  </div></bo=
dy>
</html>=

--_c2149436-d115-43c9-ac67-e7c651d9f5d6_--


--===============8665944963680213604==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============8665944963680213604==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 09:59:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 09:59:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC4Bz-0003nY-A6; Tue, 29 Jul 2014 09:59:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XC4Bx-0003nT-EE
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 09:59:33 +0000
Received: from [85.158.143.35:24819] by server-1.bemta-4.messagelabs.com id
	55/1D-05872-48077D35; Tue, 29 Jul 2014 09:59:32 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1406627970!4828627!1
X-Originating-IP: [157.55.2.101]
X-SpamReason: No, hits=1.0 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_10_20, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_12, ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6042 invoked from network); 29 Jul 2014 09:59:31 -0000
Received: from dub004-omc4s26.hotmail.com (HELO DUB004-OMC4S26.hotmail.com)
	(157.55.2.101)
	by server-13.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	29 Jul 2014 09:59:31 -0000
Received: from DUB128-W16 ([157.55.2.71]) by DUB004-OMC4S26.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Tue, 29 Jul 2014 02:59:30 -0700
X-TMN: [PrXeQiFZCXfjHkhD9nOnO3L6Z8cFoD8C]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Date: Tue, 29 Jul 2014 09:59:30 +0000
Importance: Normal
In-Reply-To: <DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>, ,
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>,
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
MIME-Version: 1.0
X-OriginalArrivalTime: 29 Jul 2014 09:59:30.0475 (UTC)
	FILETIME=[CA5B67B0:01CFAB13]
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6382639134370845019=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6382639134370845019==
Content-Type: multipart/alternative;
	boundary="_6b600a3a-e4c1-4a3a-9d2e-f3c8fdb58757_"

--_6b600a3a-e4c1-4a3a-9d2e-f3c8fdb58757_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Still having problems with this. I'm building static_website+ip via ssh on =
the cubieboard and the build complains of not having libssl=2C libpthread a=
nd libssl=2C even though the libraries are installed (checked via apt-find =
and apt-get).

mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ mirage configure --x=
en
Mirage      Using scanned config file: config.ml
Mirage      Processing: /home/mirage/mirage-skeleton/xen/static_website+ip/=
config.ml
Mirage      =3D> rm -rf /home/mirage/mirage-skeleton/xen/static_website+ip/=
_build/config.*
Mirage      =3D> cd /home/mirage/mirage-skeleton/xen/static_website+ip && o=
camlbuild -use-ocamlfind -tags annot=2Cbin_annot -pkg mirage config.cmxs
www         Using configuration: /home/mirage/mirage-skeleton/xen/static_we=
bsite+ip/config.ml
www         1 job [Dispatch.Main]
www         Installing OPAM packages.
www         =3D> opam install --yes crunch cstruct io-page lwt mirage-conso=
le-xen mirage-http mirage-net-xen mirage-types mirage-xen re
[NOTE] Package re is already installed (current version is 1.2.2).
[NOTE] Package mirage-xen is already installed (current version is pinned).
[NOTE] Package mirage-types is already installed (current version is 1.2.0)=
.
[NOTE] Package mirage-net-xen is already installed (current version is 1.1.=
2).
[NOTE] Package mirage-http is already installed (current version is 1.1.0).
[NOTE] Package mirage-console-xen is already installed (current version is =
1.0.2).
[NOTE] Package lwt is already installed (current version is 2.4.5).
[NOTE] Package io-page is already installed (current version is 1.1.1).
[NOTE] Package cstruct is already installed (current version is 1.3.1).
[NOTE] Package crunch is already installed (current version is 1.3.0).
www         =3D> ocamlfind query -r -separator ' ' -format %d/%a -predicate=
s native lwt.syntax cstruct io-page lwt mirage-console-xen mirage-http mira=
ge-net-xen mirage-types mirage-types.lwt re.str tcpip.dhcpv4 tcpip.ethif tc=
pip.tcpv4 tcpip.udpv4
www         =3D> ocamlobjinfo /usr/lib/ocaml/unix.cmxa /usr/lib/ocaml/bigar=
ray.cmxa /home/mirage/.opam/system/lib/bytes/bytes.cmxa /home/mirage/.opam/=
system/lib/ocplib-endian/ocplib_endian.cmxa /home/mirage/.opam/system/lib/o=
cplib-endian/bigstring.cmxa /home/mirage/.opam/system/lib/sexplib/sexplib.c=
mxa /home/mirage/.opam/system/lib/cstruct/cstruct.cmxa /home/mirage/.opam/s=
ystem/lib/io-page/io_page.cmxa /home/mirage/.opam/system/lib/lwt/lwt.cmxa /=
home/mirage/.opam/system/lib/xenstore/xenstore.cmxa /home/mirage/.opam/syst=
em/lib/xenstore/xenstore_client_lwt.cmxa /home/mirage/.opam/system/lib/shar=
ed-memory-ring/shared_memory_ring.cmxa /home/mirage/.opam/system/lib/shared=
-memory-ring/console_ring.cmxa /home/mirage/.opam/system/lib/shared-memory-=
ring/xenstore_ring.cmxa /home/mirage/.opam/system/lib/shared-memory-ring/lw=
t_shared_memory_ring.cmxa /home/mirage/.opam/system/lib/mirage-clock-xen/mi=
rage-clock.cmxa /home/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa /home/mi=
rage/.opam/system/lib/xen-evtchn/xen_evtchn.cmxa /home/mirage/.opam/system/=
lib/mirage-xen/oS.cmxa /home/mirage/.opam/system/lib/mirage-console-xen/mir=
age-console.cmxa /home/mirage/.opam/system/lib/re/re.cmxa /home/mirage/.opa=
m/system/lib/re/re_posix.cmxa /home/mirage/.opam/system/lib/stringext/strin=
gext.cmxa /home/mirage/.opam/system/lib/uri/uri.cmxa /home/mirage/.opam/sys=
tem/lib/re/re_emacs.cmxa /home/mirage/.opam/system/lib/uri/services.cmxa /h=
ome/mirage/.opam/system/lib/fieldslib/fieldslib.cmxa /home/mirage/.opam/sys=
tem/lib/cohttp/cohttp.cmxa /home/mirage/.opam/system/lib/conduit/conduit.cm=
xa /home/mirage/.opam/system/lib/lwt/lwt-log.cmxa /home/mirage/.opam/system=
/lib/lwt/lwt-unix.cmxa /home/mirage/.opam/system/lib/ssl/ssl.cmxa /home/mir=
age/.opam/system/lib/lwt/lwt-ssl.cmxa /home/mirage/.opam/system/lib/conduit=
/conduit-lwt.cmxa /home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa /hom=
e/mirage/.opam/system/lib/ipaddr/ipaddr.cmxa /home/mirage/.opam/system/lib/=
tcpip/channel.cmxa /home/mirage/.opam/system/lib/mirage-http/mirage-http.cm=
xa /home/mirage/.opam/system/lib/mirage-net-xen/mirage-net-xen.cmxa /home/m=
irage/.opam/system/lib/re/re_str.cmxa /home/mirage/.opam/system/lib/tcpip/t=
cpip.cmxa /home/mirage/.opam/system/lib/tcpip/udpv4.cmxa /home/mirage/.opam=
/system/lib/tcpip/dhcpv4.cmxa /home/mirage/.opam/system/lib/tcpip/ethif.cmx=
a /home/mirage/.opam/system/lib/tcpip/ipv4.cmxa /home/mirage/.opam/system/l=
ib/tcpip/tcpv4.cmxa

www         =3D> ocamlfind printconf path
www         Generating: main.ml
www         Generating: /home/mirage/mirage-skeleton/xen/static_website+ip/=
static1.ml
www         =3D> ocaml-crunch -o static1.ml /home/mirage/mirage-skeleton/xe=
n/static_website+ip/./htdocs
mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend
opam install crunch cstruct io-page lwt mirage-console-xen mirage-http mira=
ge-net-xen mirage-types mirage-xen re --verbose
[NOTE] Package re is already installed (current version is 1.2.2).
[NOTE] Package mirage-xen is already installed (current version is pinned).
[NOTE] Package mirage-types is already installed (current version is 1.2.0)=
.
[NOTE] Package mirage-net-xen is already installed (current version is 1.1.=
2).
[NOTE] Package mirage-http is already installed (current version is 1.1.0).
[NOTE] Package mirage-console-xen is already installed (current version is =
1.0.2).
[NOTE] Package lwt is already installed (current version is 2.4.5).
[NOTE] Package io-page is already installed (current version is 1.1.1).
[NOTE] Package cstruct is already installed (current version is 1.3.1).
[NOTE] Package crunch is already installed (current version is 1.3.0).
mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make
ocamlbuild -classic-display -use-ocamlfind -pkgs lwt.syntax=2Ccstruct=2Cio-=
page=2Clwt=2Cmirage-console-xen=2Cmirage-http=2Cmirage-net-xen=2Cmirage-typ=
es=2Cmirage-types.lwt=2Cre.str=2Ctcpip.dhcpv4=2Ctcpip.ethif=2Ctcpip.tcpv4=
=2Ctcpip.udpv4 -tags "syntax(camlp4o)=2Cannot=2Cbin_annot=2Cstrict_sequence=
=2Cprincipal" -cflag -g -lflags -g=2C-linkpkg=2C-dontlink=2Cunix main.nativ=
e.o
ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip=
.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -pac=
kage mirage-types -package mirage-net-xen -package mirage-http -package mir=
age-console-xen -package lwt -package io-page -package cstruct -package lwt=
.syntax -syntax camlp4o -modules main.ml > main.ml.depends
ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip=
.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -pac=
kage mirage-types -package mirage-net-xen -package mirage-http -package mir=
age-console-xen -package lwt -package io-page -package cstruct -package lwt=
.syntax -syntax camlp4o -modules dispatch.ml > dispatch.ml.depends
ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip=
.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -pac=
kage mirage-types -package mirage-net-xen -package mirage-http -package mir=
age-console-xen -package lwt -package io-page -package cstruct -package lwt=
.syntax -syntax camlp4o -modules static1.mli > static1.mli.depends
ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -packa=
ge tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhc=
pv4 -package re.str -package mirage-types.lwt -package mirage-types -packag=
e mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -=
o dispatch.cmo dispatch.ml
+ ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -pac=
kage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.d=
hcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pack=
age mirage-net-xen -package mirage-http -package mirage-console-xen -packag=
e lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o=
 -o dispatch.cmo dispatch.ml
File "dispatch.ml"=2C line 89=2C characters 8-16:
Warning 26: unused variable callback.
File "dispatch.ml"=2C line 94=2C characters 8-19:
Warning 26: unused variable conn_closed.
ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -packa=
ge tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhc=
pv4 -package re.str -package mirage-types.lwt -package mirage-types -packag=
e mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -=
o static1.cmi static1.mli
ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -packa=
ge tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhc=
pv4 -package re.str -package mirage-types.lwt -package mirage-types -packag=
e mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -=
o main.cmo main.ml
ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip=
.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -pac=
kage mirage-types -package mirage-net-xen -package mirage-http -package mir=
age-console-xen -package lwt -package io-page -package cstruct -package lwt=
.syntax -syntax camlp4o -modules static1.ml > static1.ml.depends
ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence -pac=
kage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.d=
hcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pack=
age mirage-net-xen -package mirage-http -package mirage-console-xen -packag=
e lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o=
 -o dispatch.cmx dispatch.ml
+ ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence -p=
ackage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip=
.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pa=
ckage mirage-net-xen -package mirage-http -package mirage-console-xen -pack=
age lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp=
4o -o dispatch.cmx dispatch.ml
File "dispatch.ml"=2C line 89=2C characters 8-16:
Warning 26: unused variable callback.
File "dispatch.ml"=2C line 94=2C characters 8-19:
Warning 26: unused variable conn_closed.
ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence -pac=
kage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.d=
hcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pack=
age mirage-net-xen -package mirage-http -package mirage-console-xen -packag=
e lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o=
 -o static1.cmx static1.ml
ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence -pac=
kage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.d=
hcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pack=
age mirage-net-xen -package mirage-http -package mirage-console-xen -packag=
e lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o=
 -o main.cmx main.ml
ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package tcpip.ud=
pv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -packag=
e re.str -package mirage-types.lwt -package mirage-types -package mirage-ne=
t-xen -package mirage-http -package mirage-console-xen -package lwt -packag=
e io-page -package cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx=
 static1.cmx main.cmx -o main.native.o
pkg-config --print-errors --exists openlibm 'libminios-xen >=3D 0.2'
ld -d -static -nostdlib --start-group \
      $(pkg-config --static --libs openlibm 'libminios-xen >=3D 0.2') \
      _build/main.native.o /home/mirage/.opam/system/lib/mirage-xen/libocam=
l.a \
      /home/mirage/.opam/system/lib/mirage-xen/libxencaml.a --end-group \
      -L/usr/lib/ocaml \
      -lbigarray \
      -L/home/mirage/.opam/system/lib/cstruct \
      -lcstruct_stubs \
      -L/home/mirage/.opam/system/lib/shared-memory-ring \
      -lshared_memory_ring_stubs \
      -L/home/mirage/.opam/system/lib/lwt \
      -llwt-unix_stubs \
      -lpthread \
      -L/home/mirage/.opam/system/lib/ssl \
      -lssl_stubs \
      -lcrypto \
      -lssl \
      -L/home/mirage/.opam/system/lib/tcpip \
      -ltcpip_stubs \
      /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \
      -o mir-www.elf
ld: cannot find -lpthread
ld: cannot find -lcrypto
ld: cannot find -lssl
make: *** [build] Error 1

 		 	   		  =

--_6b600a3a-e4c1-4a3a-9d2e-f3c8fdb58757_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>Still having problems with this.=
 I'm building static_website+ip via ssh on the cubieboard and the build com=
plains of not having libssl=2C libpthread and libssl=2C even though the lib=
raries are installed (checked via apt-find and apt-get).<br><br>mirage@cubi=
e0:~/mirage-skeleton/xen/static_website+ip$ mirage configure --xen<br>Mirag=
e&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Using scanned config file: config=
.ml<br>Mirage&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Processing: /home/mir=
age/mirage-skeleton/xen/static_website+ip/config.ml<br>Mirage&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B rm -rf /home/mirage/mirage-skeleton/x=
en/static_website+ip/_build/config.*<br>Mirage&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B =3D&gt=3B cd /home/mirage/mirage-skeleton/xen/static_website+ip=
 &amp=3B&amp=3B ocamlbuild -use-ocamlfind -tags annot=2Cbin_annot -pkg mira=
ge config.cmxs<br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B Using configuration: /home/mirage/mirage-skeleton/xen/static_we=
bsite+ip/config.ml<br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n=
bsp=3B&nbsp=3B 1 job [Dispatch.Main]<br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Installing OPAM packages.<br>www&nbsp=3B&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B opam insta=
ll --yes crunch cstruct io-page lwt mirage-console-xen mirage-http mirage-n=
et-xen mirage-types mirage-xen re<br>[NOTE] Package re is already installed=
 (current version is 1.2.2).<br>[NOTE] Package mirage-xen is already instal=
led (current version is pinned).<br>[NOTE] Package mirage-types is already =
installed (current version is 1.2.0).<br>[NOTE] Package mirage-net-xen is a=
lready installed (current version is 1.1.2).<br>[NOTE] Package mirage-http =
is already installed (current version is 1.1.0).<br>[NOTE] Package mirage-c=
onsole-xen is already installed (current version is 1.0.2).<br>[NOTE] Packa=
ge lwt is already installed (current version is 2.4.5).<br>[NOTE] Package i=
o-page is already installed (current version is 1.1.1).<br>[NOTE] Package c=
struct is already installed (current version is 1.3.1).<br>[NOTE] Package c=
runch is already installed (current version is 1.3.0).<br>www&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B ocamlfind que=
ry -r -separator ' ' -format %d/%a -predicates native lwt.syntax cstruct io=
-page lwt mirage-console-xen mirage-http mirage-net-xen mirage-types mirage=
-types.lwt re.str tcpip.dhcpv4 tcpip.ethif tcpip.tcpv4 tcpip.udpv4<br>www&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B oc=
amlobjinfo /usr/lib/ocaml/unix.cmxa /usr/lib/ocaml/bigarray.cmxa /home/mira=
ge/.opam/system/lib/bytes/bytes.cmxa /home/mirage/.opam/system/lib/ocplib-e=
ndian/ocplib_endian.cmxa /home/mirage/.opam/system/lib/ocplib-endian/bigstr=
ing.cmxa /home/mirage/.opam/system/lib/sexplib/sexplib.cmxa /home/mirage/.o=
pam/system/lib/cstruct/cstruct.cmxa /home/mirage/.opam/system/lib/io-page/i=
o_page.cmxa /home/mirage/.opam/system/lib/lwt/lwt.cmxa /home/mirage/.opam/s=
ystem/lib/xenstore/xenstore.cmxa /home/mirage/.opam/system/lib/xenstore/xen=
store_client_lwt.cmxa /home/mirage/.opam/system/lib/shared-memory-ring/shar=
ed_memory_ring.cmxa /home/mirage/.opam/system/lib/shared-memory-ring/consol=
e_ring.cmxa /home/mirage/.opam/system/lib/shared-memory-ring/xenstore_ring.=
cmxa /home/mirage/.opam/system/lib/shared-memory-ring/lwt_shared_memory_rin=
g.cmxa /home/mirage/.opam/system/lib/mirage-clock-xen/mirage-clock.cmxa /ho=
me/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa /home/mirage/.opam/system/l=
ib/xen-evtchn/xen_evtchn.cmxa /home/mirage/.opam/system/lib/mirage-xen/oS.c=
mxa /home/mirage/.opam/system/lib/mirage-console-xen/mirage-console.cmxa /h=
ome/mirage/.opam/system/lib/re/re.cmxa /home/mirage/.opam/system/lib/re/re_=
posix.cmxa /home/mirage/.opam/system/lib/stringext/stringext.cmxa /home/mir=
age/.opam/system/lib/uri/uri.cmxa /home/mirage/.opam/system/lib/re/re_emacs=
.cmxa /home/mirage/.opam/system/lib/uri/services.cmxa /home/mirage/.opam/sy=
stem/lib/fieldslib/fieldslib.cmxa /home/mirage/.opam/system/lib/cohttp/coht=
tp.cmxa /home/mirage/.opam/system/lib/conduit/conduit.cmxa /home/mirage/.op=
am/system/lib/lwt/lwt-log.cmxa /home/mirage/.opam/system/lib/lwt/lwt-unix.c=
mxa /home/mirage/.opam/system/lib/ssl/ssl.cmxa /home/mirage/.opam/system/li=
b/lwt/lwt-ssl.cmxa /home/mirage/.opam/system/lib/conduit/conduit-lwt.cmxa /=
home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa /home/mirage/.opam/syst=
em/lib/ipaddr/ipaddr.cmxa /home/mirage/.opam/system/lib/tcpip/channel.cmxa =
/home/mirage/.opam/system/lib/mirage-http/mirage-http.cmxa /home/mirage/.op=
am/system/lib/mirage-net-xen/mirage-net-xen.cmxa /home/mirage/.opam/system/=
lib/re/re_str.cmxa /home/mirage/.opam/system/lib/tcpip/tcpip.cmxa /home/mir=
age/.opam/system/lib/tcpip/udpv4.cmxa /home/mirage/.opam/system/lib/tcpip/d=
hcpv4.cmxa /home/mirage/.opam/system/lib/tcpip/ethif.cmxa /home/mirage/.opa=
m/system/lib/tcpip/ipv4.cmxa /home/mirage/.opam/system/lib/tcpip/tcpv4.cmxa=
<br><br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
 =3D&gt=3B ocamlfind printconf path<br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Generating: main.ml<br>www&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Generating: /home/mirage/mi=
rage-skeleton/xen/static_website+ip/static1.ml<br>www&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B ocaml-crunch -o stati=
c1.ml /home/mirage/mirage-skeleton/xen/static_website+ip/./htdocs<br>mirage=
@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend<br>opam instal=
l crunch cstruct io-page lwt mirage-console-xen mirage-http mirage-net-xen =
mirage-types mirage-xen re --verbose<br>[NOTE] Package re is already instal=
led (current version is 1.2.2).<br>[NOTE] Package mirage-xen is already ins=
talled (current version is pinned).<br>[NOTE] Package mirage-types is alrea=
dy installed (current version is 1.2.0).<br>[NOTE] Package mirage-net-xen i=
s already installed (current version is 1.1.2).<br>[NOTE] Package mirage-ht=
tp is already installed (current version is 1.1.0).<br>[NOTE] Package mirag=
e-console-xen is already installed (current version is 1.0.2).<br>[NOTE] Pa=
ckage lwt is already installed (current version is 2.4.5).<br>[NOTE] Packag=
e io-page is already installed (current version is 1.1.1).<br>[NOTE] Packag=
e cstruct is already installed (current version is 1.3.1).<br>[NOTE] Packag=
e crunch is already installed (current version is 1.3.0).<br>mirage@cubie0:=
~/mirage-skeleton/xen/static_website+ip$ make<br>ocamlbuild -classic-displa=
y -use-ocamlfind -pkgs lwt.syntax=2Ccstruct=2Cio-page=2Clwt=2Cmirage-consol=
e-xen=2Cmirage-http=2Cmirage-net-xen=2Cmirage-types=2Cmirage-types.lwt=2Cre=
.str=2Ctcpip.dhcpv4=2Ctcpip.ethif=2Ctcpip.tcpv4=2Ctcpip.udpv4 -tags "syntax=
(camlp4o)=2Cannot=2Cbin_annot=2Cstrict_sequence=2Cprincipal" -cflag -g -lfl=
ags -g=2C-linkpkg=2C-dontlink=2Cunix main.native.o<br>ocamlfind ocamldep -p=
ackage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip=
.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pa=
ckage mirage-net-xen -package mirage-http -package mirage-console-xen -pack=
age lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp=
4o -modules main.ml &gt=3B main.ml.depends<br>ocamlfind ocamldep -package t=
cpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 =
-package re.str -package mirage-types.lwt -package mirage-types -package mi=
rage-net-xen -package mirage-http -package mirage-console-xen -package lwt =
-package io-page -package cstruct -package lwt.syntax -syntax camlp4o -modu=
les dispatch.ml &gt=3B dispatch.ml.depends<br>ocamlfind ocamldep -package t=
cpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 =
-package re.str -package mirage-types.lwt -package mirage-types -package mi=
rage-net-xen -package mirage-http -package mirage-console-xen -package lwt =
-package io-page -package cstruct -package lwt.syntax -syntax camlp4o -modu=
les static1.mli &gt=3B static1.mli.depends<br>ocamlfind ocamlc -c -g -annot=
 -bin-annot -principal -strict-sequence -package tcpip.udpv4 -package tcpip=
.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package re.str -package =
mirage-types.lwt -package mirage-types -package mirage-net-xen -package mir=
age-http -package mirage-console-xen -package lwt -package io-page -package=
 cstruct -package lwt.syntax -syntax camlp4o -o dispatch.cmo dispatch.ml<br=
>+ ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -pa=
ckage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.=
dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pac=
kage mirage-net-xen -package mirage-http -package mirage-console-xen -packa=
ge lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4=
o -o dispatch.cmo dispatch.ml<br>File "dispatch.ml"=2C line 89=2C character=
s 8-16:<br>Warning 26: unused variable callback.<br>File "dispatch.ml"=2C l=
ine 94=2C characters 8-19:<br>Warning 26: unused variable conn_closed.<br>o=
camlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -packag=
e tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcp=
v4 -package re.str -package mirage-types.lwt -package mirage-types -package=
 mirage-net-xen -package mirage-http -package mirage-console-xen -package l=
wt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -o=
 static1.cmi static1.mli<br>ocamlfind ocamlc -c -g -annot -bin-annot -princ=
ipal -strict-sequence -package tcpip.udpv4 -package tcpip.tcpv4 -package tc=
pip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -=
package mirage-types -package mirage-net-xen -package mirage-http -package =
mirage-console-xen -package lwt -package io-page -package cstruct -package =
lwt.syntax -syntax camlp4o -o main.cmo main.ml<br>ocamlfind ocamldep -packa=
ge tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhc=
pv4 -package re.str -package mirage-types.lwt -package mirage-types -packag=
e mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -=
modules static1.ml &gt=3B static1.ml.depends<br>ocamlfind ocamlopt -c -g -a=
nnot -bin-annot -principal -strict-sequence -package tcpip.udpv4 -package t=
cpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package re.str -pack=
age mirage-types.lwt -package mirage-types -package mirage-net-xen -package=
 mirage-http -package mirage-console-xen -package lwt -package io-page -pac=
kage cstruct -package lwt.syntax -syntax camlp4o -o dispatch.cmx dispatch.m=
l<br>+ ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequen=
ce -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package =
tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-type=
s -package mirage-net-xen -package mirage-http -package mirage-console-xen =
-package lwt -package io-page -package cstruct -package lwt.syntax -syntax =
camlp4o -o dispatch.cmx dispatch.ml<br>File "dispatch.ml"=2C line 89=2C cha=
racters 8-16:<br>Warning 26: unused variable callback.<br>File "dispatch.ml=
"=2C line 94=2C characters 8-19:<br>Warning 26: unused variable conn_closed=
.<br>ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence=
 -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tc=
pip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types =
-package mirage-net-xen -package mirage-http -package mirage-console-xen -p=
ackage lwt -package io-page -package cstruct -package lwt.syntax -syntax ca=
mlp4o -o static1.cmx static1.ml<br>ocamlfind ocamlopt -c -g -annot -bin-ann=
ot -principal -strict-sequence -package tcpip.udpv4 -package tcpip.tcpv4 -p=
ackage tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-ty=
pes.lwt -package mirage-types -package mirage-net-xen -package mirage-http =
-package mirage-console-xen -package lwt -package io-page -package cstruct =
-package lwt.syntax -syntax camlp4o -o main.cmx main.ml<br>ocamlfind ocamlo=
pt -g -linkpkg -dontlink unix -output-obj -package tcpip.udpv4 -package tcp=
ip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package re.str -packag=
e mirage-types.lwt -package mirage-types -package mirage-net-xen -package m=
irage-http -package mirage-console-xen -package lwt -package io-page -packa=
ge cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx static1.cmx mai=
n.cmx -o main.native.o<br>pkg-config --print-errors --exists openlibm 'libm=
inios-xen &gt=3B=3D 0.2'<br>ld -d -static -nostdlib --start-group \<br>&nbs=
p=3B&nbsp=3B&nbsp=3B &nbsp=3B $(pkg-config --static --libs openlibm 'libmin=
ios-xen &gt=3B=3D 0.2') \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B _build/main.=
native.o /home/mirage/.opam/system/lib/mirage-xen/libocaml.a \<br>&nbsp=3B&=
nbsp=3B&nbsp=3B &nbsp=3B /home/mirage/.opam/system/lib/mirage-xen/libxencam=
l.a --end-group \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -L/usr/lib/ocaml \<b=
r>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -lbigarray \<br>&nbsp=3B&nbsp=3B&nbsp=
=3B &nbsp=3B -L/home/mirage/.opam/system/lib/cstruct \<br>&nbsp=3B&nbsp=3B&=
nbsp=3B &nbsp=3B -lcstruct_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -L/=
home/mirage/.opam/system/lib/shared-memory-ring \<br>&nbsp=3B&nbsp=3B&nbsp=
=3B &nbsp=3B -lshared_memory_ring_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B -L/home/mirage/.opam/system/lib/lwt \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B -llwt-unix_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -lpthread \<br>=
&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -L/home/mirage/.opam/system/lib/ssl \<br>=
&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -lssl_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B=
 &nbsp=3B -lcrypto \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -lssl \<br>&nbsp=
=3B&nbsp=3B&nbsp=3B &nbsp=3B -L/home/mirage/.opam/system/lib/tcpip \<br>&nb=
sp=3B&nbsp=3B&nbsp=3B &nbsp=3B -ltcpip_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B =
&nbsp=3B /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \<br>&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B -o mir-www.elf<br>ld: cannot find -lpthread<br>ld: can=
not find -lcrypto<br>ld: cannot find -lssl<br>make: *** [build] Error 1<br>=
<br> 		 	   		  </div></body>
</html>=

--_6b600a3a-e4c1-4a3a-9d2e-f3c8fdb58757_--


--===============6382639134370845019==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6382639134370845019==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 09:59:37 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 09:59:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC4Bz-0003nY-A6; Tue, 29 Jul 2014 09:59:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XC4Bx-0003nT-EE
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 09:59:33 +0000
Received: from [85.158.143.35:24819] by server-1.bemta-4.messagelabs.com id
	55/1D-05872-48077D35; Tue, 29 Jul 2014 09:59:32 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1406627970!4828627!1
X-Originating-IP: [157.55.2.101]
X-SpamReason: No, hits=1.0 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_10_20, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_12, ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6042 invoked from network); 29 Jul 2014 09:59:31 -0000
Received: from dub004-omc4s26.hotmail.com (HELO DUB004-OMC4S26.hotmail.com)
	(157.55.2.101)
	by server-13.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	29 Jul 2014 09:59:31 -0000
Received: from DUB128-W16 ([157.55.2.71]) by DUB004-OMC4S26.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Tue, 29 Jul 2014 02:59:30 -0700
X-TMN: [PrXeQiFZCXfjHkhD9nOnO3L6Z8cFoD8C]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Date: Tue, 29 Jul 2014 09:59:30 +0000
Importance: Normal
In-Reply-To: <DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>, ,
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>,
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
MIME-Version: 1.0
X-OriginalArrivalTime: 29 Jul 2014 09:59:30.0475 (UTC)
	FILETIME=[CA5B67B0:01CFAB13]
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6382639134370845019=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============6382639134370845019==
Content-Type: multipart/alternative;
	boundary="_6b600a3a-e4c1-4a3a-9d2e-f3c8fdb58757_"

--_6b600a3a-e4c1-4a3a-9d2e-f3c8fdb58757_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Still having problems with this. I'm building static_website+ip via ssh on =
the cubieboard and the build complains of not having libssl=2C libpthread a=
nd libssl=2C even though the libraries are installed (checked via apt-find =
and apt-get).

mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ mirage configure --x=
en
Mirage      Using scanned config file: config.ml
Mirage      Processing: /home/mirage/mirage-skeleton/xen/static_website+ip/=
config.ml
Mirage      =3D> rm -rf /home/mirage/mirage-skeleton/xen/static_website+ip/=
_build/config.*
Mirage      =3D> cd /home/mirage/mirage-skeleton/xen/static_website+ip && o=
camlbuild -use-ocamlfind -tags annot=2Cbin_annot -pkg mirage config.cmxs
www         Using configuration: /home/mirage/mirage-skeleton/xen/static_we=
bsite+ip/config.ml
www         1 job [Dispatch.Main]
www         Installing OPAM packages.
www         =3D> opam install --yes crunch cstruct io-page lwt mirage-conso=
le-xen mirage-http mirage-net-xen mirage-types mirage-xen re
[NOTE] Package re is already installed (current version is 1.2.2).
[NOTE] Package mirage-xen is already installed (current version is pinned).
[NOTE] Package mirage-types is already installed (current version is 1.2.0)=
.
[NOTE] Package mirage-net-xen is already installed (current version is 1.1.=
2).
[NOTE] Package mirage-http is already installed (current version is 1.1.0).
[NOTE] Package mirage-console-xen is already installed (current version is =
1.0.2).
[NOTE] Package lwt is already installed (current version is 2.4.5).
[NOTE] Package io-page is already installed (current version is 1.1.1).
[NOTE] Package cstruct is already installed (current version is 1.3.1).
[NOTE] Package crunch is already installed (current version is 1.3.0).
www         =3D> ocamlfind query -r -separator ' ' -format %d/%a -predicate=
s native lwt.syntax cstruct io-page lwt mirage-console-xen mirage-http mira=
ge-net-xen mirage-types mirage-types.lwt re.str tcpip.dhcpv4 tcpip.ethif tc=
pip.tcpv4 tcpip.udpv4
www         =3D> ocamlobjinfo /usr/lib/ocaml/unix.cmxa /usr/lib/ocaml/bigar=
ray.cmxa /home/mirage/.opam/system/lib/bytes/bytes.cmxa /home/mirage/.opam/=
system/lib/ocplib-endian/ocplib_endian.cmxa /home/mirage/.opam/system/lib/o=
cplib-endian/bigstring.cmxa /home/mirage/.opam/system/lib/sexplib/sexplib.c=
mxa /home/mirage/.opam/system/lib/cstruct/cstruct.cmxa /home/mirage/.opam/s=
ystem/lib/io-page/io_page.cmxa /home/mirage/.opam/system/lib/lwt/lwt.cmxa /=
home/mirage/.opam/system/lib/xenstore/xenstore.cmxa /home/mirage/.opam/syst=
em/lib/xenstore/xenstore_client_lwt.cmxa /home/mirage/.opam/system/lib/shar=
ed-memory-ring/shared_memory_ring.cmxa /home/mirage/.opam/system/lib/shared=
-memory-ring/console_ring.cmxa /home/mirage/.opam/system/lib/shared-memory-=
ring/xenstore_ring.cmxa /home/mirage/.opam/system/lib/shared-memory-ring/lw=
t_shared_memory_ring.cmxa /home/mirage/.opam/system/lib/mirage-clock-xen/mi=
rage-clock.cmxa /home/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa /home/mi=
rage/.opam/system/lib/xen-evtchn/xen_evtchn.cmxa /home/mirage/.opam/system/=
lib/mirage-xen/oS.cmxa /home/mirage/.opam/system/lib/mirage-console-xen/mir=
age-console.cmxa /home/mirage/.opam/system/lib/re/re.cmxa /home/mirage/.opa=
m/system/lib/re/re_posix.cmxa /home/mirage/.opam/system/lib/stringext/strin=
gext.cmxa /home/mirage/.opam/system/lib/uri/uri.cmxa /home/mirage/.opam/sys=
tem/lib/re/re_emacs.cmxa /home/mirage/.opam/system/lib/uri/services.cmxa /h=
ome/mirage/.opam/system/lib/fieldslib/fieldslib.cmxa /home/mirage/.opam/sys=
tem/lib/cohttp/cohttp.cmxa /home/mirage/.opam/system/lib/conduit/conduit.cm=
xa /home/mirage/.opam/system/lib/lwt/lwt-log.cmxa /home/mirage/.opam/system=
/lib/lwt/lwt-unix.cmxa /home/mirage/.opam/system/lib/ssl/ssl.cmxa /home/mir=
age/.opam/system/lib/lwt/lwt-ssl.cmxa /home/mirage/.opam/system/lib/conduit=
/conduit-lwt.cmxa /home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa /hom=
e/mirage/.opam/system/lib/ipaddr/ipaddr.cmxa /home/mirage/.opam/system/lib/=
tcpip/channel.cmxa /home/mirage/.opam/system/lib/mirage-http/mirage-http.cm=
xa /home/mirage/.opam/system/lib/mirage-net-xen/mirage-net-xen.cmxa /home/m=
irage/.opam/system/lib/re/re_str.cmxa /home/mirage/.opam/system/lib/tcpip/t=
cpip.cmxa /home/mirage/.opam/system/lib/tcpip/udpv4.cmxa /home/mirage/.opam=
/system/lib/tcpip/dhcpv4.cmxa /home/mirage/.opam/system/lib/tcpip/ethif.cmx=
a /home/mirage/.opam/system/lib/tcpip/ipv4.cmxa /home/mirage/.opam/system/l=
ib/tcpip/tcpv4.cmxa

www         =3D> ocamlfind printconf path
www         Generating: main.ml
www         Generating: /home/mirage/mirage-skeleton/xen/static_website+ip/=
static1.ml
www         =3D> ocaml-crunch -o static1.ml /home/mirage/mirage-skeleton/xe=
n/static_website+ip/./htdocs
mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend
opam install crunch cstruct io-page lwt mirage-console-xen mirage-http mira=
ge-net-xen mirage-types mirage-xen re --verbose
[NOTE] Package re is already installed (current version is 1.2.2).
[NOTE] Package mirage-xen is already installed (current version is pinned).
[NOTE] Package mirage-types is already installed (current version is 1.2.0)=
.
[NOTE] Package mirage-net-xen is already installed (current version is 1.1.=
2).
[NOTE] Package mirage-http is already installed (current version is 1.1.0).
[NOTE] Package mirage-console-xen is already installed (current version is =
1.0.2).
[NOTE] Package lwt is already installed (current version is 2.4.5).
[NOTE] Package io-page is already installed (current version is 1.1.1).
[NOTE] Package cstruct is already installed (current version is 1.3.1).
[NOTE] Package crunch is already installed (current version is 1.3.0).
mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make
ocamlbuild -classic-display -use-ocamlfind -pkgs lwt.syntax=2Ccstruct=2Cio-=
page=2Clwt=2Cmirage-console-xen=2Cmirage-http=2Cmirage-net-xen=2Cmirage-typ=
es=2Cmirage-types.lwt=2Cre.str=2Ctcpip.dhcpv4=2Ctcpip.ethif=2Ctcpip.tcpv4=
=2Ctcpip.udpv4 -tags "syntax(camlp4o)=2Cannot=2Cbin_annot=2Cstrict_sequence=
=2Cprincipal" -cflag -g -lflags -g=2C-linkpkg=2C-dontlink=2Cunix main.nativ=
e.o
ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip=
.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -pac=
kage mirage-types -package mirage-net-xen -package mirage-http -package mir=
age-console-xen -package lwt -package io-page -package cstruct -package lwt=
.syntax -syntax camlp4o -modules main.ml > main.ml.depends
ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip=
.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -pac=
kage mirage-types -package mirage-net-xen -package mirage-http -package mir=
age-console-xen -package lwt -package io-page -package cstruct -package lwt=
.syntax -syntax camlp4o -modules dispatch.ml > dispatch.ml.depends
ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip=
.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -pac=
kage mirage-types -package mirage-net-xen -package mirage-http -package mir=
age-console-xen -package lwt -package io-page -package cstruct -package lwt=
.syntax -syntax camlp4o -modules static1.mli > static1.mli.depends
ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -packa=
ge tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhc=
pv4 -package re.str -package mirage-types.lwt -package mirage-types -packag=
e mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -=
o dispatch.cmo dispatch.ml
+ ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -pac=
kage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.d=
hcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pack=
age mirage-net-xen -package mirage-http -package mirage-console-xen -packag=
e lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o=
 -o dispatch.cmo dispatch.ml
File "dispatch.ml"=2C line 89=2C characters 8-16:
Warning 26: unused variable callback.
File "dispatch.ml"=2C line 94=2C characters 8-19:
Warning 26: unused variable conn_closed.
ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -packa=
ge tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhc=
pv4 -package re.str -package mirage-types.lwt -package mirage-types -packag=
e mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -=
o static1.cmi static1.mli
ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -packa=
ge tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhc=
pv4 -package re.str -package mirage-types.lwt -package mirage-types -packag=
e mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -=
o main.cmo main.ml
ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip=
.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -pac=
kage mirage-types -package mirage-net-xen -package mirage-http -package mir=
age-console-xen -package lwt -package io-page -package cstruct -package lwt=
.syntax -syntax camlp4o -modules static1.ml > static1.ml.depends
ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence -pac=
kage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.d=
hcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pack=
age mirage-net-xen -package mirage-http -package mirage-console-xen -packag=
e lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o=
 -o dispatch.cmx dispatch.ml
+ ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence -p=
ackage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip=
.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pa=
ckage mirage-net-xen -package mirage-http -package mirage-console-xen -pack=
age lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp=
4o -o dispatch.cmx dispatch.ml
File "dispatch.ml"=2C line 89=2C characters 8-16:
Warning 26: unused variable callback.
File "dispatch.ml"=2C line 94=2C characters 8-19:
Warning 26: unused variable conn_closed.
ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence -pac=
kage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.d=
hcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pack=
age mirage-net-xen -package mirage-http -package mirage-console-xen -packag=
e lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o=
 -o static1.cmx static1.ml
ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence -pac=
kage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.d=
hcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pack=
age mirage-net-xen -package mirage-http -package mirage-console-xen -packag=
e lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o=
 -o main.cmx main.ml
ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package tcpip.ud=
pv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -packag=
e re.str -package mirage-types.lwt -package mirage-types -package mirage-ne=
t-xen -package mirage-http -package mirage-console-xen -package lwt -packag=
e io-page -package cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx=
 static1.cmx main.cmx -o main.native.o
pkg-config --print-errors --exists openlibm 'libminios-xen >=3D 0.2'
ld -d -static -nostdlib --start-group \
      $(pkg-config --static --libs openlibm 'libminios-xen >=3D 0.2') \
      _build/main.native.o /home/mirage/.opam/system/lib/mirage-xen/libocam=
l.a \
      /home/mirage/.opam/system/lib/mirage-xen/libxencaml.a --end-group \
      -L/usr/lib/ocaml \
      -lbigarray \
      -L/home/mirage/.opam/system/lib/cstruct \
      -lcstruct_stubs \
      -L/home/mirage/.opam/system/lib/shared-memory-ring \
      -lshared_memory_ring_stubs \
      -L/home/mirage/.opam/system/lib/lwt \
      -llwt-unix_stubs \
      -lpthread \
      -L/home/mirage/.opam/system/lib/ssl \
      -lssl_stubs \
      -lcrypto \
      -lssl \
      -L/home/mirage/.opam/system/lib/tcpip \
      -ltcpip_stubs \
      /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \
      -o mir-www.elf
ld: cannot find -lpthread
ld: cannot find -lcrypto
ld: cannot find -lssl
make: *** [build] Error 1

 		 	   		  =

--_6b600a3a-e4c1-4a3a-9d2e-f3c8fdb58757_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>Still having problems with this.=
 I'm building static_website+ip via ssh on the cubieboard and the build com=
plains of not having libssl=2C libpthread and libssl=2C even though the lib=
raries are installed (checked via apt-find and apt-get).<br><br>mirage@cubi=
e0:~/mirage-skeleton/xen/static_website+ip$ mirage configure --xen<br>Mirag=
e&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Using scanned config file: config=
.ml<br>Mirage&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Processing: /home/mir=
age/mirage-skeleton/xen/static_website+ip/config.ml<br>Mirage&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B rm -rf /home/mirage/mirage-skeleton/x=
en/static_website+ip/_build/config.*<br>Mirage&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B =3D&gt=3B cd /home/mirage/mirage-skeleton/xen/static_website+ip=
 &amp=3B&amp=3B ocamlbuild -use-ocamlfind -tags annot=2Cbin_annot -pkg mira=
ge config.cmxs<br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B Using configuration: /home/mirage/mirage-skeleton/xen/static_we=
bsite+ip/config.ml<br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n=
bsp=3B&nbsp=3B 1 job [Dispatch.Main]<br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Installing OPAM packages.<br>www&nbsp=3B&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B opam insta=
ll --yes crunch cstruct io-page lwt mirage-console-xen mirage-http mirage-n=
et-xen mirage-types mirage-xen re<br>[NOTE] Package re is already installed=
 (current version is 1.2.2).<br>[NOTE] Package mirage-xen is already instal=
led (current version is pinned).<br>[NOTE] Package mirage-types is already =
installed (current version is 1.2.0).<br>[NOTE] Package mirage-net-xen is a=
lready installed (current version is 1.1.2).<br>[NOTE] Package mirage-http =
is already installed (current version is 1.1.0).<br>[NOTE] Package mirage-c=
onsole-xen is already installed (current version is 1.0.2).<br>[NOTE] Packa=
ge lwt is already installed (current version is 2.4.5).<br>[NOTE] Package i=
o-page is already installed (current version is 1.1.1).<br>[NOTE] Package c=
struct is already installed (current version is 1.3.1).<br>[NOTE] Package c=
runch is already installed (current version is 1.3.0).<br>www&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B ocamlfind que=
ry -r -separator ' ' -format %d/%a -predicates native lwt.syntax cstruct io=
-page lwt mirage-console-xen mirage-http mirage-net-xen mirage-types mirage=
-types.lwt re.str tcpip.dhcpv4 tcpip.ethif tcpip.tcpv4 tcpip.udpv4<br>www&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B oc=
amlobjinfo /usr/lib/ocaml/unix.cmxa /usr/lib/ocaml/bigarray.cmxa /home/mira=
ge/.opam/system/lib/bytes/bytes.cmxa /home/mirage/.opam/system/lib/ocplib-e=
ndian/ocplib_endian.cmxa /home/mirage/.opam/system/lib/ocplib-endian/bigstr=
ing.cmxa /home/mirage/.opam/system/lib/sexplib/sexplib.cmxa /home/mirage/.o=
pam/system/lib/cstruct/cstruct.cmxa /home/mirage/.opam/system/lib/io-page/i=
o_page.cmxa /home/mirage/.opam/system/lib/lwt/lwt.cmxa /home/mirage/.opam/s=
ystem/lib/xenstore/xenstore.cmxa /home/mirage/.opam/system/lib/xenstore/xen=
store_client_lwt.cmxa /home/mirage/.opam/system/lib/shared-memory-ring/shar=
ed_memory_ring.cmxa /home/mirage/.opam/system/lib/shared-memory-ring/consol=
e_ring.cmxa /home/mirage/.opam/system/lib/shared-memory-ring/xenstore_ring.=
cmxa /home/mirage/.opam/system/lib/shared-memory-ring/lwt_shared_memory_rin=
g.cmxa /home/mirage/.opam/system/lib/mirage-clock-xen/mirage-clock.cmxa /ho=
me/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa /home/mirage/.opam/system/l=
ib/xen-evtchn/xen_evtchn.cmxa /home/mirage/.opam/system/lib/mirage-xen/oS.c=
mxa /home/mirage/.opam/system/lib/mirage-console-xen/mirage-console.cmxa /h=
ome/mirage/.opam/system/lib/re/re.cmxa /home/mirage/.opam/system/lib/re/re_=
posix.cmxa /home/mirage/.opam/system/lib/stringext/stringext.cmxa /home/mir=
age/.opam/system/lib/uri/uri.cmxa /home/mirage/.opam/system/lib/re/re_emacs=
.cmxa /home/mirage/.opam/system/lib/uri/services.cmxa /home/mirage/.opam/sy=
stem/lib/fieldslib/fieldslib.cmxa /home/mirage/.opam/system/lib/cohttp/coht=
tp.cmxa /home/mirage/.opam/system/lib/conduit/conduit.cmxa /home/mirage/.op=
am/system/lib/lwt/lwt-log.cmxa /home/mirage/.opam/system/lib/lwt/lwt-unix.c=
mxa /home/mirage/.opam/system/lib/ssl/ssl.cmxa /home/mirage/.opam/system/li=
b/lwt/lwt-ssl.cmxa /home/mirage/.opam/system/lib/conduit/conduit-lwt.cmxa /=
home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa /home/mirage/.opam/syst=
em/lib/ipaddr/ipaddr.cmxa /home/mirage/.opam/system/lib/tcpip/channel.cmxa =
/home/mirage/.opam/system/lib/mirage-http/mirage-http.cmxa /home/mirage/.op=
am/system/lib/mirage-net-xen/mirage-net-xen.cmxa /home/mirage/.opam/system/=
lib/re/re_str.cmxa /home/mirage/.opam/system/lib/tcpip/tcpip.cmxa /home/mir=
age/.opam/system/lib/tcpip/udpv4.cmxa /home/mirage/.opam/system/lib/tcpip/d=
hcpv4.cmxa /home/mirage/.opam/system/lib/tcpip/ethif.cmxa /home/mirage/.opa=
m/system/lib/tcpip/ipv4.cmxa /home/mirage/.opam/system/lib/tcpip/tcpv4.cmxa=
<br><br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
 =3D&gt=3B ocamlfind printconf path<br>www&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Generating: main.ml<br>www&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Generating: /home/mirage/mi=
rage-skeleton/xen/static_website+ip/static1.ml<br>www&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B =3D&gt=3B ocaml-crunch -o stati=
c1.ml /home/mirage/mirage-skeleton/xen/static_website+ip/./htdocs<br>mirage=
@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend<br>opam instal=
l crunch cstruct io-page lwt mirage-console-xen mirage-http mirage-net-xen =
mirage-types mirage-xen re --verbose<br>[NOTE] Package re is already instal=
led (current version is 1.2.2).<br>[NOTE] Package mirage-xen is already ins=
talled (current version is pinned).<br>[NOTE] Package mirage-types is alrea=
dy installed (current version is 1.2.0).<br>[NOTE] Package mirage-net-xen i=
s already installed (current version is 1.1.2).<br>[NOTE] Package mirage-ht=
tp is already installed (current version is 1.1.0).<br>[NOTE] Package mirag=
e-console-xen is already installed (current version is 1.0.2).<br>[NOTE] Pa=
ckage lwt is already installed (current version is 2.4.5).<br>[NOTE] Packag=
e io-page is already installed (current version is 1.1.1).<br>[NOTE] Packag=
e cstruct is already installed (current version is 1.3.1).<br>[NOTE] Packag=
e crunch is already installed (current version is 1.3.0).<br>mirage@cubie0:=
~/mirage-skeleton/xen/static_website+ip$ make<br>ocamlbuild -classic-displa=
y -use-ocamlfind -pkgs lwt.syntax=2Ccstruct=2Cio-page=2Clwt=2Cmirage-consol=
e-xen=2Cmirage-http=2Cmirage-net-xen=2Cmirage-types=2Cmirage-types.lwt=2Cre=
.str=2Ctcpip.dhcpv4=2Ctcpip.ethif=2Ctcpip.tcpv4=2Ctcpip.udpv4 -tags "syntax=
(camlp4o)=2Cannot=2Cbin_annot=2Cstrict_sequence=2Cprincipal" -cflag -g -lfl=
ags -g=2C-linkpkg=2C-dontlink=2Cunix main.native.o<br>ocamlfind ocamldep -p=
ackage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip=
.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pa=
ckage mirage-net-xen -package mirage-http -package mirage-console-xen -pack=
age lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp=
4o -modules main.ml &gt=3B main.ml.depends<br>ocamlfind ocamldep -package t=
cpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 =
-package re.str -package mirage-types.lwt -package mirage-types -package mi=
rage-net-xen -package mirage-http -package mirage-console-xen -package lwt =
-package io-page -package cstruct -package lwt.syntax -syntax camlp4o -modu=
les dispatch.ml &gt=3B dispatch.ml.depends<br>ocamlfind ocamldep -package t=
cpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 =
-package re.str -package mirage-types.lwt -package mirage-types -package mi=
rage-net-xen -package mirage-http -package mirage-console-xen -package lwt =
-package io-page -package cstruct -package lwt.syntax -syntax camlp4o -modu=
les static1.mli &gt=3B static1.mli.depends<br>ocamlfind ocamlc -c -g -annot=
 -bin-annot -principal -strict-sequence -package tcpip.udpv4 -package tcpip=
.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package re.str -package =
mirage-types.lwt -package mirage-types -package mirage-net-xen -package mir=
age-http -package mirage-console-xen -package lwt -package io-page -package=
 cstruct -package lwt.syntax -syntax camlp4o -o dispatch.cmo dispatch.ml<br=
>+ ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -pa=
ckage tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.=
dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types -pac=
kage mirage-net-xen -package mirage-http -package mirage-console-xen -packa=
ge lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4=
o -o dispatch.cmo dispatch.ml<br>File "dispatch.ml"=2C line 89=2C character=
s 8-16:<br>Warning 26: unused variable callback.<br>File "dispatch.ml"=2C l=
ine 94=2C characters 8-19:<br>Warning 26: unused variable conn_closed.<br>o=
camlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -packag=
e tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcp=
v4 -package re.str -package mirage-types.lwt -package mirage-types -package=
 mirage-net-xen -package mirage-http -package mirage-console-xen -package l=
wt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -o=
 static1.cmi static1.mli<br>ocamlfind ocamlc -c -g -annot -bin-annot -princ=
ipal -strict-sequence -package tcpip.udpv4 -package tcpip.tcpv4 -package tc=
pip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt -=
package mirage-types -package mirage-net-xen -package mirage-http -package =
mirage-console-xen -package lwt -package io-page -package cstruct -package =
lwt.syntax -syntax camlp4o -o main.cmo main.ml<br>ocamlfind ocamldep -packa=
ge tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhc=
pv4 -package re.str -package mirage-types.lwt -package mirage-types -packag=
e mirage-net-xen -package mirage-http -package mirage-console-xen -package =
lwt -package io-page -package cstruct -package lwt.syntax -syntax camlp4o -=
modules static1.ml &gt=3B static1.ml.depends<br>ocamlfind ocamlopt -c -g -a=
nnot -bin-annot -principal -strict-sequence -package tcpip.udpv4 -package t=
cpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package re.str -pack=
age mirage-types.lwt -package mirage-types -package mirage-net-xen -package=
 mirage-http -package mirage-console-xen -package lwt -package io-page -pac=
kage cstruct -package lwt.syntax -syntax camlp4o -o dispatch.cmx dispatch.m=
l<br>+ ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequen=
ce -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package =
tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-type=
s -package mirage-net-xen -package mirage-http -package mirage-console-xen =
-package lwt -package io-page -package cstruct -package lwt.syntax -syntax =
camlp4o -o dispatch.cmx dispatch.ml<br>File "dispatch.ml"=2C line 89=2C cha=
racters 8-16:<br>Warning 26: unused variable callback.<br>File "dispatch.ml=
"=2C line 94=2C characters 8-19:<br>Warning 26: unused variable conn_closed=
.<br>ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence=
 -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tc=
pip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types =
-package mirage-net-xen -package mirage-http -package mirage-console-xen -p=
ackage lwt -package io-page -package cstruct -package lwt.syntax -syntax ca=
mlp4o -o static1.cmx static1.ml<br>ocamlfind ocamlopt -c -g -annot -bin-ann=
ot -principal -strict-sequence -package tcpip.udpv4 -package tcpip.tcpv4 -p=
ackage tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-ty=
pes.lwt -package mirage-types -package mirage-net-xen -package mirage-http =
-package mirage-console-xen -package lwt -package io-page -package cstruct =
-package lwt.syntax -syntax camlp4o -o main.cmx main.ml<br>ocamlfind ocamlo=
pt -g -linkpkg -dontlink unix -output-obj -package tcpip.udpv4 -package tcp=
ip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4 -package re.str -packag=
e mirage-types.lwt -package mirage-types -package mirage-net-xen -package m=
irage-http -package mirage-console-xen -package lwt -package io-page -packa=
ge cstruct -package lwt.syntax -syntax camlp4o dispatch.cmx static1.cmx mai=
n.cmx -o main.native.o<br>pkg-config --print-errors --exists openlibm 'libm=
inios-xen &gt=3B=3D 0.2'<br>ld -d -static -nostdlib --start-group \<br>&nbs=
p=3B&nbsp=3B&nbsp=3B &nbsp=3B $(pkg-config --static --libs openlibm 'libmin=
ios-xen &gt=3B=3D 0.2') \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B _build/main.=
native.o /home/mirage/.opam/system/lib/mirage-xen/libocaml.a \<br>&nbsp=3B&=
nbsp=3B&nbsp=3B &nbsp=3B /home/mirage/.opam/system/lib/mirage-xen/libxencam=
l.a --end-group \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -L/usr/lib/ocaml \<b=
r>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -lbigarray \<br>&nbsp=3B&nbsp=3B&nbsp=
=3B &nbsp=3B -L/home/mirage/.opam/system/lib/cstruct \<br>&nbsp=3B&nbsp=3B&=
nbsp=3B &nbsp=3B -lcstruct_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -L/=
home/mirage/.opam/system/lib/shared-memory-ring \<br>&nbsp=3B&nbsp=3B&nbsp=
=3B &nbsp=3B -lshared_memory_ring_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B -L/home/mirage/.opam/system/lib/lwt \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B -llwt-unix_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -lpthread \<br>=
&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -L/home/mirage/.opam/system/lib/ssl \<br>=
&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -lssl_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B=
 &nbsp=3B -lcrypto \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B -lssl \<br>&nbsp=
=3B&nbsp=3B&nbsp=3B &nbsp=3B -L/home/mirage/.opam/system/lib/tcpip \<br>&nb=
sp=3B&nbsp=3B&nbsp=3B &nbsp=3B -ltcpip_stubs \<br>&nbsp=3B&nbsp=3B&nbsp=3B =
&nbsp=3B /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \<br>&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B -o mir-www.elf<br>ld: cannot find -lpthread<br>ld: can=
not find -lcrypto<br>ld: cannot find -lssl<br>make: *** [build] Error 1<br>=
<br> 		 	   		  </div></body>
</html>=

--_6b600a3a-e4c1-4a3a-9d2e-f3c8fdb58757_--


--===============6382639134370845019==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6382639134370845019==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 10:03:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 10:03:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC4Fo-0003u3-MC; Tue, 29 Jul 2014 10:03:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XC4Fn-0003ty-4L
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 10:03:31 +0000
Received: from [85.158.139.211:64622] by server-6.bemta-5.messagelabs.com id
	EE/31-06284-27177D35; Tue, 29 Jul 2014 10:03:30 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1406628205!18211536!1
X-Originating-IP: [209.85.218.49]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30362 invoked from network); 29 Jul 2014 10:03:27 -0000
Received: from mail-oi0-f49.google.com (HELO mail-oi0-f49.google.com)
	(209.85.218.49)
	by server-7.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	29 Jul 2014 10:03:27 -0000
Received: by mail-oi0-f49.google.com with SMTP id u20so7103558oif.36
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 29 Jul 2014 03:03:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=sgjRA0/d2HbaQGxVdeK3sUcCrBXw5Rs66ApOvhwhPV8=;
	b=oMyaQrhdcd2o+ruHHdu2lAiDZ1xhWYpZgAHqsGmpebRqKGw5cVDWOBckgatQ7vgWnD
	w6P4BDpE3XABxCtx8NvQqOaMK8wVJcJpptRlCCw4x775C7v7BbXPNvc16GBM1ezLX80C
	o6Acilu3J/P5Q3rKKO0qLYOrgqMzv8Ice6CU6ZB6ZP6kSgUrXfXFas8YbDQ5/RquTdEW
	yfJPL9N6xtk0h5wD2Y1NpsRRidRWWQ43xoMc1BmpOvQ8/IczWS4Rnwx8sm6SbEckBEoM
	ci4/qLuwYBnz+XfMQwaap1rTJoiTzJCCKKzFWK5PYYN1RoXjxf4ChL0Wa64iCnS/gM6O
	J6tg==
MIME-Version: 1.0
X-Received: by 10.182.104.104 with SMTP id gd8mr1603356obb.17.1406628205049;
	Tue, 29 Jul 2014 03:03:25 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 29 Jul 2014 03:03:24 -0700 (PDT)
In-Reply-To: <DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
	<DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
Date: Tue, 29 Jul 2014 11:03:24 +0100
Message-ID: <CAG4opy8joK=v9ikO+zMDwD+2vGvuUb=DxaSfNrDfjsAsKhKjDg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 29 July 2014 10:59, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
> Still having problems with this. I'm building static_website+ip via ssh on
> the cubieboard and the build complains of not having libssl, libpthread and
> libssl, even though the libraries are installed (checked via apt-find and
> apt-get).
>
> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ mirage configure
> --xen
> Mirage      Using scanned config file: config.ml
> Mirage      Processing:
> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
> Mirage      => rm -rf
> /home/mirage/mirage-skeleton/xen/static_website+ip/_build/config.*
> Mirage      => cd /home/mirage/mirage-skeleton/xen/static_website+ip &&
> ocamlbuild -use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs
> www         Using configuration:
> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
> www         1 job [Dispatch.Main]
> www         Installing OPAM packages.
> www         => opam install --yes crunch cstruct io-page lwt
> mirage-console-xen mirage-http mirage-net-xen mirage-types mirage-xen re
> [NOTE] Package re is already installed (current version is 1.2.2).
> [NOTE] Package mirage-xen is already installed (current version is pinned).
> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
> [NOTE] Package mirage-net-xen is already installed (current version is
> 1.1.2).
> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
> [NOTE] Package mirage-console-xen is already installed (current version is
> 1.0.2).
> [NOTE] Package lwt is already installed (current version is 2.4.5).
> [NOTE] Package io-page is already installed (current version is 1.1.1).
> [NOTE] Package cstruct is already installed (current version is 1.3.1).
> [NOTE] Package crunch is already installed (current version is 1.3.0).
> www         => ocamlfind query -r -separator ' ' -format %d/%a -predicates
> native lwt.syntax cstruct io-page lwt mirage-console-xen mirage-http
> mirage-net-xen mirage-types mirage-types.lwt re.str tcpip.dhcpv4 tcpip.ethif
> tcpip.tcpv4 tcpip.udpv4
> www         => ocamlobjinfo /usr/lib/ocaml/unix.cmxa
> /usr/lib/ocaml/bigarray.cmxa /home/mirage/.opam/system/lib/bytes/bytes.cmxa
> /home/mirage/.opam/system/lib/ocplib-endian/ocplib_endian.cmxa
> /home/mirage/.opam/system/lib/ocplib-endian/bigstring.cmxa
> /home/mirage/.opam/system/lib/sexplib/sexplib.cmxa
> /home/mirage/.opam/system/lib/cstruct/cstruct.cmxa
> /home/mirage/.opam/system/lib/io-page/io_page.cmxa
> /home/mirage/.opam/system/lib/lwt/lwt.cmxa
> /home/mirage/.opam/system/lib/xenstore/xenstore.cmxa
> /home/mirage/.opam/system/lib/xenstore/xenstore_client_lwt.cmxa
> /home/mirage/.opam/system/lib/shared-memory-ring/shared_memory_ring.cmxa
> /home/mirage/.opam/system/lib/shared-memory-ring/console_ring.cmxa
> /home/mirage/.opam/system/lib/shared-memory-ring/xenstore_ring.cmxa
> /home/mirage/.opam/system/lib/shared-memory-ring/lwt_shared_memory_ring.cmxa
> /home/mirage/.opam/system/lib/mirage-clock-xen/mirage-clock.cmxa
> /home/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa
> /home/mirage/.opam/system/lib/xen-evtchn/xen_evtchn.cmxa
> /home/mirage/.opam/system/lib/mirage-xen/oS.cmxa
> /home/mirage/.opam/system/lib/mirage-console-xen/mirage-console.cmxa
> /home/mirage/.opam/system/lib/re/re.cmxa
> /home/mirage/.opam/system/lib/re/re_posix.cmxa
> /home/mirage/.opam/system/lib/stringext/stringext.cmxa
> /home/mirage/.opam/system/lib/uri/uri.cmxa
> /home/mirage/.opam/system/lib/re/re_emacs.cmxa
> /home/mirage/.opam/system/lib/uri/services.cmxa
> /home/mirage/.opam/system/lib/fieldslib/fieldslib.cmxa
> /home/mirage/.opam/system/lib/cohttp/cohttp.cmxa
> /home/mirage/.opam/system/lib/conduit/conduit.cmxa
> /home/mirage/.opam/system/lib/lwt/lwt-log.cmxa
> /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa
> /home/mirage/.opam/system/lib/ssl/ssl.cmxa
> /home/mirage/.opam/system/lib/lwt/lwt-ssl.cmxa
> /home/mirage/.opam/system/lib/conduit/conduit-lwt.cmxa
> /home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa
> /home/mirage/.opam/system/lib/ipaddr/ipaddr.cmxa
> /home/mirage/.opam/system/lib/tcpip/channel.cmxa
> /home/mirage/.opam/system/lib/mirage-http/mirage-http.cmxa
> /home/mirage/.opam/system/lib/mirage-net-xen/mirage-net-xen.cmxa
> /home/mirage/.opam/system/lib/re/re_str.cmxa
> /home/mirage/.opam/system/lib/tcpip/tcpip.cmxa
> /home/mirage/.opam/system/lib/tcpip/udpv4.cmxa
> /home/mirage/.opam/system/lib/tcpip/dhcpv4.cmxa
> /home/mirage/.opam/system/lib/tcpip/ethif.cmxa
> /home/mirage/.opam/system/lib/tcpip/ipv4.cmxa
> /home/mirage/.opam/system/lib/tcpip/tcpv4.cmxa
>
> www         => ocamlfind printconf path
> www         Generating: main.ml
> www         Generating:
> /home/mirage/mirage-skeleton/xen/static_website+ip/static1.ml
> www         => ocaml-crunch -o static1.ml
> /home/mirage/mirage-skeleton/xen/static_website+ip/./htdocs
> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend
> opam install crunch cstruct io-page lwt mirage-console-xen mirage-http
> mirage-net-xen mirage-types mirage-xen re --verbose
> [NOTE] Package re is already installed (current version is 1.2.2).
> [NOTE] Package mirage-xen is already installed (current version is pinned).
> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
> [NOTE] Package mirage-net-xen is already installed (current version is
> 1.1.2).
> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
> [NOTE] Package mirage-console-xen is already installed (current version is
> 1.0.2).
> [NOTE] Package lwt is already installed (current version is 2.4.5).
> [NOTE] Package io-page is already installed (current version is 1.1.1).
> [NOTE] Package cstruct is already installed (current version is 1.3.1).
> [NOTE] Package crunch is already installed (current version is 1.3.0).
> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make
> ocamlbuild -classic-display -use-ocamlfind -pkgs
> lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-xen,mirage-types,mirage-types.lwt,re.str,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpip.udpv4
> -tags "syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g
> -lflags -g,-linkpkg,-dontlink,unix main.native.o
> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
> -package mirage-types -package mirage-net-xen -package mirage-http -package
> mirage-console-xen -package lwt -package io-page -package cstruct -package
> lwt.syntax -syntax camlp4o -modules main.ml > main.ml.depends
> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
> -package mirage-types -package mirage-net-xen -package mirage-http -package
> mirage-console-xen -package lwt -package io-page -package cstruct -package
> lwt.syntax -syntax camlp4o -modules dispatch.ml > dispatch.ml.depends
> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
> -package mirage-types -package mirage-net-xen -package mirage-http -package
> mirage-console-xen -package lwt -package io-page -package cstruct -package
> lwt.syntax -syntax camlp4o -modules static1.mli > static1.mli.depends
> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o dispatch.cmo dispatch.ml
> + ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o dispatch.cmo dispatch.ml
> File "dispatch.ml", line 89, characters 8-16:
> Warning 26: unused variable callback.
> File "dispatch.ml", line 94, characters 8-19:
> Warning 26: unused variable conn_closed.
> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o static1.cmi static1.mli
> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o main.cmo main.ml
> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
> -package mirage-types -package mirage-net-xen -package mirage-http -package
> mirage-console-xen -package lwt -package io-page -package cstruct -package
> lwt.syntax -syntax camlp4o -modules static1.ml > static1.ml.depends
> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o dispatch.cmx dispatch.ml
> + ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o dispatch.cmx dispatch.ml
> File "dispatch.ml", line 89, characters 8-16:
> Warning 26: unused variable callback.
> File "dispatch.ml", line 94, characters 8-19:
> Warning 26: unused variable conn_closed.
> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o static1.cmx static1.ml
> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o main.cmx main.ml
> ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package
> tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4
> -package re.str -package mirage-types.lwt -package mirage-types -package
> mirage-net-xen -package mirage-http -package mirage-console-xen -package lwt
> -package io-page -package cstruct -package lwt.syntax -syntax camlp4o
> dispatch.cmx static1.cmx main.cmx -o main.native.o
> pkg-config --print-errors --exists openlibm 'libminios-xen >= 0.2'
> ld -d -static -nostdlib --start-group \
>       $(pkg-config --static --libs openlibm 'libminios-xen >= 0.2') \
>       _build/main.native.o
> /home/mirage/.opam/system/lib/mirage-xen/libocaml.a \
>       /home/mirage/.opam/system/lib/mirage-xen/libxencaml.a --end-group \
>       -L/usr/lib/ocaml \
>       -lbigarray \
>       -L/home/mirage/.opam/system/lib/cstruct \
>       -lcstruct_stubs \
>       -L/home/mirage/.opam/system/lib/shared-memory-ring \
>       -lshared_memory_ring_stubs \
>       -L/home/mirage/.opam/system/lib/lwt \
>       -llwt-unix_stubs \
>       -lpthread \
>       -L/home/mirage/.opam/system/lib/ssl \
>       -lssl_stubs \
>       -lcrypto \
>       -lssl \
>       -L/home/mirage/.opam/system/lib/tcpip \
>       -ltcpip_stubs \
>       /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \
>       -o mir-www.elf
> ld: cannot find -lpthread
> ld: cannot find -lcrypto
> ld: cannot find -lssl
> make: *** [build] Error 1

You can just remove these manually from the Makefile for now.

The other problem you may hit is running out of stack space on the
larger examples. The Git version of Mini-OS extends the old 16 KB
stack by 1MB, or you can use the work-around here:

https://github.com/mirage/mirage/issues/274


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 10:03:32 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 10:03:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC4Fo-0003u3-MC; Tue, 29 Jul 2014 10:03:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XC4Fn-0003ty-4L
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 10:03:31 +0000
Received: from [85.158.139.211:64622] by server-6.bemta-5.messagelabs.com id
	EE/31-06284-27177D35; Tue, 29 Jul 2014 10:03:30 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1406628205!18211536!1
X-Originating-IP: [209.85.218.49]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30362 invoked from network); 29 Jul 2014 10:03:27 -0000
Received: from mail-oi0-f49.google.com (HELO mail-oi0-f49.google.com)
	(209.85.218.49)
	by server-7.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	29 Jul 2014 10:03:27 -0000
Received: by mail-oi0-f49.google.com with SMTP id u20so7103558oif.36
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 29 Jul 2014 03:03:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=sgjRA0/d2HbaQGxVdeK3sUcCrBXw5Rs66ApOvhwhPV8=;
	b=oMyaQrhdcd2o+ruHHdu2lAiDZ1xhWYpZgAHqsGmpebRqKGw5cVDWOBckgatQ7vgWnD
	w6P4BDpE3XABxCtx8NvQqOaMK8wVJcJpptRlCCw4x775C7v7BbXPNvc16GBM1ezLX80C
	o6Acilu3J/P5Q3rKKO0qLYOrgqMzv8Ice6CU6ZB6ZP6kSgUrXfXFas8YbDQ5/RquTdEW
	yfJPL9N6xtk0h5wD2Y1NpsRRidRWWQ43xoMc1BmpOvQ8/IczWS4Rnwx8sm6SbEckBEoM
	ci4/qLuwYBnz+XfMQwaap1rTJoiTzJCCKKzFWK5PYYN1RoXjxf4ChL0Wa64iCnS/gM6O
	J6tg==
MIME-Version: 1.0
X-Received: by 10.182.104.104 with SMTP id gd8mr1603356obb.17.1406628205049;
	Tue, 29 Jul 2014 03:03:25 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 29 Jul 2014 03:03:24 -0700 (PDT)
In-Reply-To: <DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
	<DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
Date: Tue, 29 Jul 2014 11:03:24 +0100
Message-ID: <CAG4opy8joK=v9ikO+zMDwD+2vGvuUb=DxaSfNrDfjsAsKhKjDg@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
Cc: "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 29 July 2014 10:59, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
> Still having problems with this. I'm building static_website+ip via ssh on
> the cubieboard and the build complains of not having libssl, libpthread and
> libssl, even though the libraries are installed (checked via apt-find and
> apt-get).
>
> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ mirage configure
> --xen
> Mirage      Using scanned config file: config.ml
> Mirage      Processing:
> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
> Mirage      => rm -rf
> /home/mirage/mirage-skeleton/xen/static_website+ip/_build/config.*
> Mirage      => cd /home/mirage/mirage-skeleton/xen/static_website+ip &&
> ocamlbuild -use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs
> www         Using configuration:
> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
> www         1 job [Dispatch.Main]
> www         Installing OPAM packages.
> www         => opam install --yes crunch cstruct io-page lwt
> mirage-console-xen mirage-http mirage-net-xen mirage-types mirage-xen re
> [NOTE] Package re is already installed (current version is 1.2.2).
> [NOTE] Package mirage-xen is already installed (current version is pinned).
> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
> [NOTE] Package mirage-net-xen is already installed (current version is
> 1.1.2).
> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
> [NOTE] Package mirage-console-xen is already installed (current version is
> 1.0.2).
> [NOTE] Package lwt is already installed (current version is 2.4.5).
> [NOTE] Package io-page is already installed (current version is 1.1.1).
> [NOTE] Package cstruct is already installed (current version is 1.3.1).
> [NOTE] Package crunch is already installed (current version is 1.3.0).
> www         => ocamlfind query -r -separator ' ' -format %d/%a -predicates
> native lwt.syntax cstruct io-page lwt mirage-console-xen mirage-http
> mirage-net-xen mirage-types mirage-types.lwt re.str tcpip.dhcpv4 tcpip.ethif
> tcpip.tcpv4 tcpip.udpv4
> www         => ocamlobjinfo /usr/lib/ocaml/unix.cmxa
> /usr/lib/ocaml/bigarray.cmxa /home/mirage/.opam/system/lib/bytes/bytes.cmxa
> /home/mirage/.opam/system/lib/ocplib-endian/ocplib_endian.cmxa
> /home/mirage/.opam/system/lib/ocplib-endian/bigstring.cmxa
> /home/mirage/.opam/system/lib/sexplib/sexplib.cmxa
> /home/mirage/.opam/system/lib/cstruct/cstruct.cmxa
> /home/mirage/.opam/system/lib/io-page/io_page.cmxa
> /home/mirage/.opam/system/lib/lwt/lwt.cmxa
> /home/mirage/.opam/system/lib/xenstore/xenstore.cmxa
> /home/mirage/.opam/system/lib/xenstore/xenstore_client_lwt.cmxa
> /home/mirage/.opam/system/lib/shared-memory-ring/shared_memory_ring.cmxa
> /home/mirage/.opam/system/lib/shared-memory-ring/console_ring.cmxa
> /home/mirage/.opam/system/lib/shared-memory-ring/xenstore_ring.cmxa
> /home/mirage/.opam/system/lib/shared-memory-ring/lwt_shared_memory_ring.cmxa
> /home/mirage/.opam/system/lib/mirage-clock-xen/mirage-clock.cmxa
> /home/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa
> /home/mirage/.opam/system/lib/xen-evtchn/xen_evtchn.cmxa
> /home/mirage/.opam/system/lib/mirage-xen/oS.cmxa
> /home/mirage/.opam/system/lib/mirage-console-xen/mirage-console.cmxa
> /home/mirage/.opam/system/lib/re/re.cmxa
> /home/mirage/.opam/system/lib/re/re_posix.cmxa
> /home/mirage/.opam/system/lib/stringext/stringext.cmxa
> /home/mirage/.opam/system/lib/uri/uri.cmxa
> /home/mirage/.opam/system/lib/re/re_emacs.cmxa
> /home/mirage/.opam/system/lib/uri/services.cmxa
> /home/mirage/.opam/system/lib/fieldslib/fieldslib.cmxa
> /home/mirage/.opam/system/lib/cohttp/cohttp.cmxa
> /home/mirage/.opam/system/lib/conduit/conduit.cmxa
> /home/mirage/.opam/system/lib/lwt/lwt-log.cmxa
> /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa
> /home/mirage/.opam/system/lib/ssl/ssl.cmxa
> /home/mirage/.opam/system/lib/lwt/lwt-ssl.cmxa
> /home/mirage/.opam/system/lib/conduit/conduit-lwt.cmxa
> /home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa
> /home/mirage/.opam/system/lib/ipaddr/ipaddr.cmxa
> /home/mirage/.opam/system/lib/tcpip/channel.cmxa
> /home/mirage/.opam/system/lib/mirage-http/mirage-http.cmxa
> /home/mirage/.opam/system/lib/mirage-net-xen/mirage-net-xen.cmxa
> /home/mirage/.opam/system/lib/re/re_str.cmxa
> /home/mirage/.opam/system/lib/tcpip/tcpip.cmxa
> /home/mirage/.opam/system/lib/tcpip/udpv4.cmxa
> /home/mirage/.opam/system/lib/tcpip/dhcpv4.cmxa
> /home/mirage/.opam/system/lib/tcpip/ethif.cmxa
> /home/mirage/.opam/system/lib/tcpip/ipv4.cmxa
> /home/mirage/.opam/system/lib/tcpip/tcpv4.cmxa
>
> www         => ocamlfind printconf path
> www         Generating: main.ml
> www         Generating:
> /home/mirage/mirage-skeleton/xen/static_website+ip/static1.ml
> www         => ocaml-crunch -o static1.ml
> /home/mirage/mirage-skeleton/xen/static_website+ip/./htdocs
> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend
> opam install crunch cstruct io-page lwt mirage-console-xen mirage-http
> mirage-net-xen mirage-types mirage-xen re --verbose
> [NOTE] Package re is already installed (current version is 1.2.2).
> [NOTE] Package mirage-xen is already installed (current version is pinned).
> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
> [NOTE] Package mirage-net-xen is already installed (current version is
> 1.1.2).
> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
> [NOTE] Package mirage-console-xen is already installed (current version is
> 1.0.2).
> [NOTE] Package lwt is already installed (current version is 2.4.5).
> [NOTE] Package io-page is already installed (current version is 1.1.1).
> [NOTE] Package cstruct is already installed (current version is 1.3.1).
> [NOTE] Package crunch is already installed (current version is 1.3.0).
> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make
> ocamlbuild -classic-display -use-ocamlfind -pkgs
> lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-xen,mirage-types,mirage-types.lwt,re.str,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpip.udpv4
> -tags "syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g
> -lflags -g,-linkpkg,-dontlink,unix main.native.o
> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
> -package mirage-types -package mirage-net-xen -package mirage-http -package
> mirage-console-xen -package lwt -package io-page -package cstruct -package
> lwt.syntax -syntax camlp4o -modules main.ml > main.ml.depends
> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
> -package mirage-types -package mirage-net-xen -package mirage-http -package
> mirage-console-xen -package lwt -package io-page -package cstruct -package
> lwt.syntax -syntax camlp4o -modules dispatch.ml > dispatch.ml.depends
> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
> -package mirage-types -package mirage-net-xen -package mirage-http -package
> mirage-console-xen -package lwt -package io-page -package cstruct -package
> lwt.syntax -syntax camlp4o -modules static1.mli > static1.mli.depends
> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o dispatch.cmo dispatch.ml
> + ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o dispatch.cmo dispatch.ml
> File "dispatch.ml", line 89, characters 8-16:
> Warning 26: unused variable callback.
> File "dispatch.ml", line 94, characters 8-19:
> Warning 26: unused variable conn_closed.
> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o static1.cmi static1.mli
> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o main.cmo main.ml
> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
> -package mirage-types -package mirage-net-xen -package mirage-http -package
> mirage-console-xen -package lwt -package io-page -package cstruct -package
> lwt.syntax -syntax camlp4o -modules static1.ml > static1.ml.depends
> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o dispatch.cmx dispatch.ml
> + ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o dispatch.cmx dispatch.ml
> File "dispatch.ml", line 89, characters 8-16:
> Warning 26: unused variable callback.
> File "dispatch.ml", line 94, characters 8-19:
> Warning 26: unused variable conn_closed.
> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o static1.cmx static1.ml
> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
> -package mirage-net-xen -package mirage-http -package mirage-console-xen
> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
> camlp4o -o main.cmx main.ml
> ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package
> tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4
> -package re.str -package mirage-types.lwt -package mirage-types -package
> mirage-net-xen -package mirage-http -package mirage-console-xen -package lwt
> -package io-page -package cstruct -package lwt.syntax -syntax camlp4o
> dispatch.cmx static1.cmx main.cmx -o main.native.o
> pkg-config --print-errors --exists openlibm 'libminios-xen >= 0.2'
> ld -d -static -nostdlib --start-group \
>       $(pkg-config --static --libs openlibm 'libminios-xen >= 0.2') \
>       _build/main.native.o
> /home/mirage/.opam/system/lib/mirage-xen/libocaml.a \
>       /home/mirage/.opam/system/lib/mirage-xen/libxencaml.a --end-group \
>       -L/usr/lib/ocaml \
>       -lbigarray \
>       -L/home/mirage/.opam/system/lib/cstruct \
>       -lcstruct_stubs \
>       -L/home/mirage/.opam/system/lib/shared-memory-ring \
>       -lshared_memory_ring_stubs \
>       -L/home/mirage/.opam/system/lib/lwt \
>       -llwt-unix_stubs \
>       -lpthread \
>       -L/home/mirage/.opam/system/lib/ssl \
>       -lssl_stubs \
>       -lcrypto \
>       -lssl \
>       -L/home/mirage/.opam/system/lib/tcpip \
>       -ltcpip_stubs \
>       /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \
>       -o mir-www.elf
> ld: cannot find -lpthread
> ld: cannot find -lcrypto
> ld: cannot find -lssl
> make: *** [build] Error 1

You can just remove these manually from the Makefile for now.

The other problem you may hit is running out of stack space on the
larger examples. The Git version of Mini-OS extends the old 16 KB
stack by 1MB, or you can use the work-around here:

https://github.com/mirage/mirage/issues/274


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 10:27:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 10:27:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC4dI-0004Wv-Kx; Tue, 29 Jul 2014 10:27:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XC4dH-0004WS-8y
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 10:27:47 +0000
Received: from [85.158.137.68:9758] by server-5.bemta-3.messagelabs.com id
	48/C0-30889-22777D35; Tue, 29 Jul 2014 10:27:46 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1406629664!18669976!1
X-Originating-IP: [157.55.2.18]
X-SpamReason: No, hits=0.7 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_40_50,HTML_MESSAGE,ML_RADAR_SPEW_LINKS_1,ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,ML_RADAR_SPEW_LINKS_2,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3168 invoked from network); 29 Jul 2014 10:27:44 -0000
Received: from dub004-omc3s9.hotmail.com (HELO DUB004-OMC3S9.hotmail.com)
	(157.55.2.18)
	by server-3.tower-31.messagelabs.com with AES128-SHA encrypted SMTP;
	29 Jul 2014 10:27:44 -0000
Received: from DUB128-W28 ([157.55.2.9]) by DUB004-OMC3S9.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Tue, 29 Jul 2014 03:27:43 -0700
X-TMN: [UOg5EMurFcttSdVpEygkYVx6gACaPHa4]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Tue, 29 Jul 2014 10:27:43 +0000
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 29 Jul 2014 10:27:43.0751 (UTC)
	FILETIME=[BBA0D170:01CFAB17]
Subject: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2794373547476711793=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============2794373547476711793==
Content-Type: multipart/alternative;
	boundary="_5f3baec8-d94e-4d0b-9258-374104a769fd_"

--_5f3baec8-d94e-4d0b-9258-374104a769fd_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hope this is useful to somebody. It ended up being a bit of a journey as th=
e packaged version of the arm libvirt didn't include the xen driver. First =
part cribbed from Thomas's cubieboard build instructions.




http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2
http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2

1. Download and unpack the image for your board.

2. Copy to the SDcard=2C e.g.
dd if=3Dcubie.img of=3D/dev/mmcblk0

3. Boot the device. It should get an IP address by DHCP.

The devices announce a .local name using mDNS=2C so you should be able to s=
sh to $BOARD.local
4. ssh mirage@cubieboard2.local.


To change hostname of the cubieboard:

1. edit /etc/hosts
127.0.1.1       newname

2. edit /etc/hostname
newname

To change the cubieboard to get a static ip address:

1. edit /etc/network/interfaces and update with:

//
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
  up ip link set eth0 up

auto br0
iface br0 inet static
  bridge_ports eth0
  address 192.168.1.11
  broadcast 192.168.1.255
  netmask 255.255.255.0
  gateway 192.168.1.254
//

reboot

To set up ssh:

1. ssh mirage@192.168.1.11 (password: mirage)

2. ssh-keygen

3. logout (ctrl-d)

4. scp ~/.ssh/id_rsa.pub mirage@192.168.1.11:.ssh/authorized_keys

5. ssh  mirage@192.168.1.11

6. chmod 700 ~/.ssh

7. chmod 600 ~/.ssh/authorized_keys

You should now have a working Xen host ("xl list" to list current VMs=2C "l=
vcreate" to create guest disks).

To install the ARM version of mirage:

1. opam init

2. opam install mirage-xen-minios

3. opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs

4. opam pin mirage-xen https://github.com/mirage/mirage-platform

5. opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum

6. opam install mirage

(You should now be able to follow the rest of the Mirage tutorial:)

To install libvirt (the precompiled version doesn't contain the drivers for=
 xen):

1. sudo apt-get install uuid-dev libxml2-dev libdevmapper-dev libpciaccess-=
dev libnl-dev libxen-dev libgnutls-dev

2. download a release tarball from libvirt.org (I used 1.2.6) (download to =
local machine=2C decompress=2C scp libvirt-1.2.6.tar mirage@cubieboard2:

3. ssh mirage@cubieboard2=3B tar xf libvirt-1.2.6.tar=3B rm libvirt-1.2.6.t=
ar=3B cd libvirt-1.2.6

3. ./configure --prefix=3D/usr --localstatedir=3D/var  --sysconfdir=3D/etc =
--with-xen --with-qemu=3Dno --with-gnutls --with-uml=3Dno --with-openvz=3Dn=
o --with-vmware=3Dno --with-phyp=3Dno --with-xenapi=3Dno --with-libxl=3Dyes=
 --with-vbox=3Dno --with-lxc=3Dno --with-esx=3Dno  --with-hyperv=3Dno --wit=
h-parallels=3Dno --with-init-script=3Dupstart

4. make

5. sudo make install

6. Add the two scripts (below=2C if they don't already exist) to /etc/init.=
d/libvirt-bin and /etc/default/libvirt-bin

6. Ensure that /etc/default/libvirt-bin has '-l' to libvirtd_opts

7. Follow the instructions in http://wiki.libvirt.org/page/TLSSetup in inst=
all tls on the cubieboards and admin machine

8. cd /etc/rc5.d
   sudo ln -s ../init.d/libvirt-bin S22libvirt-bin

9. cd /etc/rc6.d
   sudo ln -s ../init.d/libvirt-bin K19libvirt-bin
   sudo  update-rc.d libvirt-bin defaults
   sudo service libvirt-bin start

10. Reboot the board

11. From the admin machine=2C edit /etc/hosts and add the cubieboardd addre=
sses and names so that (a) the names are resolvable and (b) matches the nam=
e on the certificates

ie.
192.168.1.10 cubieboard2

Test that the admin machine can talk to the cubieboard:

1. sudo virsh -c xen://cubieboard2/system hostname

..... and you should get 'cubieboard2' returned=2C if not=2C ssh to the cub=
ieboard and check/restart the daemon (sudo service libvirt-bin start)


To set up the admin machine to ensure another user (instead of root) can ru=
n virsh commands:

On the admin machine

1. Add the user to the libvirt group (on older releases of libvirt=2C this =
group is sometimes 'libvirtd')

2. Ensure that the clientcert.pem and clientkey.pem in /etc/pki/libvirt bel=
ong to the libvirt group=2C ie:
sudo chgrp libvirt /etc/pki/libvirt/clientcert.pem
sudo chmod 440 /etc/pki/libvirt/clientcert.pem
sudo chgrp libvirt /etc/pki/libvirt/private/clientkey.pem
sudo chmod 440 /etc/pki/libvirt/private/clientkey.pem

3. Edit /etc/libvirt/libvirtd.conf and ensure unix_sock_group=2C unix_sock_=
ro_perms=2C unix_sock_rw_perms are uncommented=2C allowing users in the lib=
virt(d) group to use tls=2C ie
unix_sock_group =3D "libvirt"
unix_sock_ro_perms =3D "0777"
unix_sock_rw_perms =3D "0770"

On the cubieboard

4. ssh into the cubieboard and create a user which matches the 'admin' user=
 ( - 'nick' in my case)=2C
sudo adduser 'username'

5. create a 'libvirt' group if one doesn't already exist
sudo addgroup libvirt

6. add the admin user to the libvirt group
sudo adduser 'username' libvirt

7. reboot


The cubieboard should now be accessible remotely from a non-root account.

Clone the mirage example mirage-skeleton/xen/static_website+ip=20

Compile the example (this currently needs to be built on a cubieboard)=2C a=
nd then edit www.xl. Change the ipaddress=2C gateway etc. to suit=2C and th=
en run the virsh 'domxml-from-native' translator to get the xml file requir=
ed for deployment=20

virsh -c xen:/// domxml-from-native xen-xm www.xl > www.xml

virsh -c xen://cubie0/system create www.xml

---------------------------------------------------------------

/etc/default/libvirt-bin
------------------------

# Defaults for libvirt-bin initscript (/etc/init.d/libvirt-bin)
# This is a POSIX shell fragment

# Start libvirtd to handle qemu/kvm:
start_libvirtd=3D"yes"

# options passed to libvirtd=2C add "-l" to listen on tcp
libvirtd_opts=3D"-d -l"

# pass in location of kerberos keytab
#export KRB5_KTNAME=3D/etc/libvirt/libvirt.keytab



----------------------------------------------------------------



/etc/init.d/libvirt-bin
-----------------------

#! /bin/sh
#
# Init script for libvirtd
#
# (c) 2007 Guido Guenther <agx@sigxcpu.org>
# based on the skeletons that comes with dh_make
#
### BEGIN INIT INFO
# Provides:          libvirt-bin libvirtd
# Required-Start:    $network $local_fs $remote_fs $syslog
# Required-Stop:     $local_fs $remote_fs $syslog
# Should-Start:      hal avahi cgconfig
# Should-Stop:       hal avahi cgconfig
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: libvirt management daemon
### END INIT INFO

PATH=3D/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=3D/usr/sbin/libvirtd
NAME=3Dlibvirtd
DESC=3D"libvirt management daemon"
export PATH

test -x $DAEMON || exit 0
. /lib/lsb/init-functions

PIDFILE=3D/var/run/$NAME.pid
DODTIME=3D1                   # Time to wait for the server to die=2C in se=
conds

# Include libvirtd defaults if available
if [ -f /etc/default/libvirt-bin ] =3B then
    . /etc/default/libvirt-bin
fi

check_start_libvirtd_option() {
  if [ ! "$start_libvirtd" =3D "yes" ]=3B then
    log_warning_msg "Not starting libvirt management daemon libvirtd=2C dis=
abled via /etc/default/libvirt-bin"
    return 1
  else
    return 0
  fi
}

running_pid()
{
    # Check if a given process pid's cmdline matches a given name
    pid=3D$1
    name=3D$2
    [ -z "$pid" ] && return 1=20
    [ ! -d /proc/$pid ] &&  return 1
    cmd=3D`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1=
`
    # Is this the expected child?
    [ "$cmd" !=3D "$name" ] &&  return 1
    return 0
}

running()
{
# Check if the process is running looking at /proc
# (works for all users)
    # No pidfile=2C probably no daemon present
    [ ! -f "$PIDFILE" ] && return 1
    # Obtain the pid and check it against the binary name
    pid=3D`cat $PIDFILE`
    running_pid $pid $DAEMON || return 1
    return 0
}

force_stop() {
# Forcefully kill the process
    [ ! -f "$PIDFILE" ] && return
    if running =3B then
        kill -15 $pid
        # Is it really dead?
        [ -n "$DODTIME" ] && sleep "$DODTIME"s
        if running =3B then
            kill -9 $pid
            [ -n "$DODTIME" ] && sleep "$DODTIME"s
            if running =3B then
                echo "Cannot kill $LABEL (pid=3D$pid)!"
                exit 1
            fi
        fi
    fi
    rm -f $PIDFILE
    return 0
}

case "$1" in
  start)
    if check_start_libvirtd_option=3B then
        log_daemon_msg "Starting $DESC" "$NAME"
            if running =3B  then
                    log_progress_msg "already running"
                    log_end_msg 0
                    exit 0
            fi
        rm -f /var/run/libvirtd.pid
        start-stop-daemon --start --quiet --pidfile $PIDFILE \
            --exec $DAEMON -- $libvirtd_opts
        if running=3B then
            log_end_msg 0
        else
            log_end_msg 1
        fi
    fi
    =3B=3B
  stop)
    log_daemon_msg "Stopping $DESC" "$NAME"
    if ! running =3B  then
               log_progress_msg "not running"
                log_end_msg 0
                exit 0
           fi
    start-stop-daemon --stop --quiet --pidfile $PIDFILE \
        --exec $DAEMON
    log_end_msg 0
    =3B=3B
  force-stop)
    log_daemon_msg "Forcefully stopping $DESC" "$NAME"
    force_stop
    if ! running=3B then
        log_end_msg 0
    else
        log_end_msg 1
    fi
    =3B=3B
  restart)
    if check_start_libvirtd_option=3B then
        log_daemon_msg "Restarting $DESC" "$DAEMON"
        start-stop-daemon --oknodo --stop --quiet --pidfile \
            /var/run/$NAME.pid --exec $DAEMON
        [ -n "$DODTIME" ] && sleep $DODTIME
        start-stop-daemon --start --quiet --pidfile \
            /var/run/$NAME.pid --exec $DAEMON -- $libvirtd_opts
        if running=3B then
            log_end_msg 0
        else
            log_end_msg 1
        fi
    fi
    =3B=3B
  reload|force-reload)
      if running=3B then
            log_daemon_msg "Reloading configuration of $DESC" "$NAME"
        start-stop-daemon --stop --signal 1 --quiet --pidfile \
                 /var/run/$NAME.pid --exec $DAEMON
        log_end_msg 0
    else
            log_warning_msg "libvirtd not running=2C doing nothing."
    fi
    =3B=3B
  status)
        log_daemon_msg "Checking status of $DESC" "$NAME"
        if running =3B  then
            log_progress_msg "running"
            log_end_msg 0
        else
            log_progress_msg "not running"
            log_end_msg 1
            if [ -f "$PIDFILE" ] =3B then
                exit 1
            else
                exit 3
            fi
    fi
    =3B=3B
  *)
    N=3D/etc/init.d/libvirt-bin
    echo "Usage: $N {start|stop|restart|reload|force-reload|status|force-st=
op}" >&2
    exit 1
    =3B=3B
esac

exit 0

----------------------------------------------------------------



 		 	   		  =

--_5f3baec8-d94e-4d0b-9258-374104a769fd_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>Hope this is useful to somebody.=
 It ended up being a bit of a journey as the packaged version of the arm li=
bvirt didn't include the xen driver. First part cribbed from Thomas's cubie=
board build instructions.<br><br><br><br><br>http://blobs.openmirage.org/cu=
bieboard2-xen-iso.tar.bz2<br>http://blobs.openmirage.org/cubietruck-xen-iso=
.tar.bz2<br><br>1. Download and unpack the image for your board.<br><br>2. =
Copy to the SDcard=2C e.g.<br>dd if=3Dcubie.img of=3D/dev/mmcblk0<br><br>3.=
 Boot the device. It should get an IP address by DHCP.<br><br>The devices a=
nnounce a .local name using mDNS=2C so you should be able to ssh to $BOARD.=
local<br>4. ssh mirage@cubieboard2.local.<br><br><br>To change hostname of =
the cubieboard:<br><br>1. edit /etc/hosts<br>127.0.1.1&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B newname<br><br>2. edit /etc/hostname<br>newname=
<br><br>To change the cubieboard to get a static ip address:<br><br>1. edit=
 /etc/network/interfaces and update with:<br><br>//<br>auto lo<br>iface lo =
inet loopback<br><br>auto eth0<br>iface eth0 inet manual<br>&nbsp=3B up ip =
link set eth0 up<br><br>auto br0<br>iface br0 inet static<br>&nbsp=3B bridg=
e_ports eth0<br>&nbsp=3B address 192.168.1.11<br>&nbsp=3B broadcast 192.168=
.1.255<br>&nbsp=3B netmask 255.255.255.0<br>&nbsp=3B gateway 192.168.1.254<=
br>//<br><br>reboot<br><br>To set up ssh:<br><br>1. ssh mirage@192.168.1.11=
 (password: mirage)<br><br>2. ssh-keygen<br><br>3. logout (ctrl-d)<br><br>4=
. scp ~/.ssh/id_rsa.pub mirage@192.168.1.11:.ssh/authorized_keys<br><br>5. =
ssh&nbsp=3B mirage@192.168.1.11<br><br>6. chmod 700 ~/.ssh<br><br>7. chmod =
600 ~/.ssh/authorized_keys<br><br>You should now have a working Xen host ("=
xl list" to list current VMs=2C "lvcreate" to create guest disks).<br><br>T=
o install the ARM version of mirage:<br><br>1. opam init<br><br>2. opam ins=
tall mirage-xen-minios<br><br>3. opam pin mirage https://github.com/talex5/=
mirage.git#link_c_stubs<br><br>4. opam pin mirage-xen https://github.com/mi=
rage/mirage-platform<br><br>5. opam pin tcpip https://github.com/talex5/mir=
age-tcpip.git#checksum<br><br>6. opam install mirage<br><br>(You should now=
 be able to follow the rest of the Mirage tutorial:)<br><br>To install libv=
irt (the precompiled version doesn't contain the drivers for xen):<br><br>1=
. sudo apt-get install uuid-dev libxml2-dev libdevmapper-dev libpciaccess-d=
ev libnl-dev libxen-dev libgnutls-dev<br><br>2. download a release tarball =
from libvirt.org (I used 1.2.6) (download to local machine=2C decompress=2C=
 scp libvirt-1.2.6.tar mirage@cubieboard2:<br><br>3. ssh mirage@cubieboard2=
=3B tar xf libvirt-1.2.6.tar=3B rm libvirt-1.2.6.tar=3B cd libvirt-1.2.6<br=
><br>3. ./configure --prefix=3D/usr --localstatedir=3D/var&nbsp=3B --syscon=
fdir=3D/etc --with-xen --with-qemu=3Dno --with-gnutls --with-uml=3Dno --wit=
h-openvz=3Dno --with-vmware=3Dno --with-phyp=3Dno --with-xenapi=3Dno --with=
-libxl=3Dyes --with-vbox=3Dno --with-lxc=3Dno --with-esx=3Dno&nbsp=3B --wit=
h-hyperv=3Dno --with-parallels=3Dno --with-init-script=3Dupstart<br><br>4. =
make<br><br>5. sudo make install<br><br>6. Add the two scripts (below=2C if=
 they don't already exist) to /etc/init.d/libvirt-bin and /etc/default/libv=
irt-bin<br><br>6. Ensure that /etc/default/libvirt-bin has '-l' to libvirtd=
_opts<br><br>7. Follow the instructions in http://wiki.libvirt.org/page/TLS=
Setup in install tls on the cubieboards and admin machine<br><br>8. cd /etc=
/rc5.d<br>&nbsp=3B&nbsp=3B sudo ln -s ../init.d/libvirt-bin S22libvirt-bin<=
br><br>9. cd /etc/rc6.d<br>&nbsp=3B&nbsp=3B sudo ln -s ../init.d/libvirt-bi=
n K19libvirt-bin<br>&nbsp=3B&nbsp=3B sudo&nbsp=3B update-rc.d libvirt-bin d=
efaults<br>&nbsp=3B&nbsp=3B sudo service libvirt-bin start<br><br>10. Reboo=
t the board<br><br>11. From the admin machine=2C edit /etc/hosts and add th=
e cubieboardd addresses and names so that (a) the names are resolvable and =
(b) matches the name on the certificates<br><br>ie.<br>192.168.1.10 cubiebo=
ard2<br><br>Test that the admin machine can talk to the cubieboard:<br><br>=
1. sudo virsh -c xen://cubieboard2/system hostname<br><br>..... and you sho=
uld get 'cubieboard2' returned=2C if not=2C ssh to the cubieboard and check=
/restart the daemon (sudo service libvirt-bin start)<br><br><br>To set up t=
he admin machine to ensure another user (instead of root) can run virsh com=
mands:<br><br>On the admin machine<br><br>1. Add the user to the libvirt gr=
oup (on older releases of libvirt=2C this group is sometimes 'libvirtd')<br=
><br>2. Ensure that the clientcert.pem and clientkey.pem in /etc/pki/libvir=
t belong to the libvirt group=2C ie:<br>sudo chgrp libvirt /etc/pki/libvirt=
/clientcert.pem<br>sudo chmod 440 /etc/pki/libvirt/clientcert.pem<br>sudo c=
hgrp libvirt /etc/pki/libvirt/private/clientkey.pem<br>sudo chmod 440 /etc/=
pki/libvirt/private/clientkey.pem<br><br>3. Edit /etc/libvirt/libvirtd.conf=
 and ensure unix_sock_group=2C unix_sock_ro_perms=2C unix_sock_rw_perms are=
 uncommented=2C allowing users in the libvirt(d) group to use tls=2C ie<br>=
unix_sock_group =3D "libvirt"<br>unix_sock_ro_perms =3D "0777"<br>unix_sock=
_rw_perms =3D "0770"<br><br>On the cubieboard<br><br>4. ssh into the cubieb=
oard and create a user which matches the 'admin' user ( - 'nick' in my case=
)=2C<br>sudo adduser 'username'<br><br>5. create a 'libvirt' group if one d=
oesn't already exist<br>sudo addgroup libvirt<br><br>6. add the admin user =
to the libvirt group<br>sudo adduser 'username' libvirt<br><br>7. reboot<br=
><br><br>The cubieboard should now be accessible remotely from a non-root a=
ccount.<br><br>Clone the mirage example mirage-skeleton/xen/static_website+=
ip <br><br>Compile the example (this currently needs to be built on a cubie=
board)=2C and then edit <a href=3D"www.xl." target=3D"_blank">www.xl.</a> C=
hange the ipaddress=2C gateway etc. to suit=2C and then run the virsh 'domx=
ml-from-native' translator to get the xml file required for deployment <br>=
<br>virsh -c xen:/// domxml-from-native xen-xm www.xl &gt=3B www.xml<br><br=
>virsh -c xen://cubie0/system create www.xml<br><br>-----------------------=
----------------------------------------<br><br>/etc/default/libvirt-bin<br=
>------------------------<br><br># Defaults for libvirt-bin initscript (/et=
c/init.d/libvirt-bin)<br># This is a POSIX shell fragment<br><br># Start li=
bvirtd to handle qemu/kvm:<br>start_libvirtd=3D"yes"<br><br># options passe=
d to libvirtd=2C add "-l" to listen on tcp<br>libvirtd_opts=3D"-d -l"<br><b=
r># pass in location of kerberos keytab<br>#export KRB5_KTNAME=3D/etc/libvi=
rt/libvirt.keytab<br><br><br><br>------------------------------------------=
----------------------<br><br><br><br>/etc/init.d/libvirt-bin<br>----------=
-------------<br><br>#! /bin/sh<br>#<br># Init script for libvirtd<br>#<br>=
# (c) 2007 Guido Guenther &lt=3Bagx@sigxcpu.org&gt=3B<br># based on the ske=
letons that comes with dh_make<br>#<br>### BEGIN INIT INFO<br># Provides:&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B libv=
irt-bin libvirtd<br># Required-Start:&nbsp=3B&nbsp=3B&nbsp=3B $network $loc=
al_fs $remote_fs $syslog<br># Required-Stop:&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B $local_fs $remote_fs $syslog<br># Should-Start:&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B&nbsp=3B hal avahi cgconfig<br># Should-Stop:&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B hal avahi cgconfig<br># Default-Start:&nbsp=3B&=
nbsp=3B&nbsp=3B&nbsp=3B 2 3 4 5<br># Default-Stop:&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B 0 1 6<br># Short-Description: libvirt management daemon<br>=
### END INIT INFO<br><br>PATH=3D/usr/local/sbin:/usr/local/bin:/sbin:/bin:/=
usr/sbin:/usr/bin<br>DAEMON=3D/usr/sbin/libvirtd<br>NAME=3Dlibvirtd<br>DESC=
=3D"libvirt management daemon"<br>export PATH<br><br>test -x $DAEMON || exi=
t 0<br>. /lib/lsb/init-functions<br><br>PIDFILE=3D/var/run/$NAME.pid<br>DOD=
TIME=3D1&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb=
sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B # Time to wait for the server to die=2C in seconds<br><br># Include lib=
virtd defaults if available<br>if [ -f /etc/default/libvirt-bin ] =3B then<=
br>&nbsp=3B&nbsp=3B&nbsp=3B . /etc/default/libvirt-bin<br>fi<br><br>check_s=
tart_libvirtd_option() {<br>&nbsp=3B if [ ! "$start_libvirtd" =3D "yes" ]=
=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B log_warning_msg "Not starting libvirt =
management daemon libvirtd=2C disabled via /etc/default/libvirt-bin"<br>&nb=
sp=3B&nbsp=3B&nbsp=3B return 1<br>&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B=
 return 0<br>&nbsp=3B fi<br>}<br><br>running_pid()<br>{<br>&nbsp=3B&nbsp=3B=
&nbsp=3B # Check if a given process pid's cmdline matches a given name<br>&=
nbsp=3B&nbsp=3B&nbsp=3B pid=3D$1<br>&nbsp=3B&nbsp=3B&nbsp=3B name=3D$2<br>&=
nbsp=3B&nbsp=3B&nbsp=3B [ -z "$pid" ] &amp=3B&amp=3B return 1 <br>&nbsp=3B&=
nbsp=3B&nbsp=3B [ ! -d /proc/$pid ] &amp=3B&amp=3B&nbsp=3B return 1<br>&nbs=
p=3B&nbsp=3B&nbsp=3B cmd=3D`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n=
 1 |cut -d : -f 1`<br>&nbsp=3B&nbsp=3B&nbsp=3B # Is this the expected child=
?<br>&nbsp=3B&nbsp=3B&nbsp=3B [ "$cmd" !=3D "$name" ] &amp=3B&amp=3B&nbsp=
=3B return 1<br>&nbsp=3B&nbsp=3B&nbsp=3B return 0<br>}<br><br>running()<br>=
{<br># Check if the process is running looking at /proc<br># (works for all=
 users)<br>&nbsp=3B&nbsp=3B&nbsp=3B # No pidfile=2C probably no daemon pres=
ent<br>&nbsp=3B&nbsp=3B&nbsp=3B [ ! -f "$PIDFILE" ] &amp=3B&amp=3B return 1=
<br>&nbsp=3B&nbsp=3B&nbsp=3B # Obtain the pid and check it against the bina=
ry name<br>&nbsp=3B&nbsp=3B&nbsp=3B pid=3D`cat $PIDFILE`<br>&nbsp=3B&nbsp=
=3B&nbsp=3B running_pid $pid $DAEMON || return 1<br>&nbsp=3B&nbsp=3B&nbsp=
=3B return 0<br>}<br><br>force_stop() {<br># Forcefully kill the process<br=
>&nbsp=3B&nbsp=3B&nbsp=3B [ ! -f "$PIDFILE" ] &amp=3B&amp=3B return<br>&nbs=
p=3B&nbsp=3B&nbsp=3B if running =3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B kill -15 $pid<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B # Is it really dead?<br>&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B [ -n "$DODTIME" ] &amp=3B&amp=3B sleep =
"$DODTIME"s<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B if =
running =3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B kill -9 $pid<br>&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B [ -n "$=
DODTIME" ] &amp=3B&amp=3B sleep "$DODTIME"s<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B if running =3B=
 then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B echo "Cannot kill $L=
ABEL (pid=3D$pid)!"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B exit 1=
<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B rm -f=
 $PIDFILE<br>&nbsp=3B&nbsp=3B&nbsp=3B return 0<br>}<br><br>case "$1" in<br>=
&nbsp=3B start)<br>&nbsp=3B&nbsp=3B&nbsp=3B if check_start_libvirtd_option=
=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_daemon_ms=
g "Starting $DESC" "$NAME"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B if running =3B&nbsp=3B then<br>&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_progress_msg=
 "already running"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=
=3B&nbsp=3B log_end_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B exit 0<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B rm -f /var/run/libvirtd.pid<br>&nbsp=3B&nbsp=3B&nbsp=3B=
 &nbsp=3B&nbsp=3B&nbsp=3B start-stop-daemon --start --quiet --pidfile $PIDF=
ILE \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B=
&nbsp=3B --exec $DAEMON -- $libvirtd_opts<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B if running=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B=
&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 0<br>&nbsp=3B&nbsp=3B=
&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B=
&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 1<br>&nbsp=3B&nbsp=3B=
&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbs=
p=3B&nbsp=3B&nbsp=3B =3B=3B<br>&nbsp=3B stop)<br>&nbsp=3B&nbsp=3B&nbsp=3B l=
og_daemon_msg "Stopping $DESC" "$NAME"<br>&nbsp=3B&nbsp=3B&nbsp=3B if ! run=
ning =3B&nbsp=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_progress_msg "n=
ot running"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 0<br>&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B exit 0<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=
=3B start-stop-daemon --stop --quiet --pidfile $PIDFILE \<br>&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B --exec $DAEMON<br>&nbsp=3B&nbsp=3B&nbs=
p=3B log_end_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B =3B=3B<br>&nbsp=3B force-sto=
p)<br>&nbsp=3B&nbsp=3B&nbsp=3B log_daemon_msg "Forcefully stopping $DESC" "=
$NAME"<br>&nbsp=3B&nbsp=3B&nbsp=3B force_stop<br>&nbsp=3B&nbsp=3B&nbsp=3B i=
f ! running=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B lo=
g_end_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B &n=
bsp=3B&nbsp=3B&nbsp=3B log_end_msg 1<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbs=
p=3B&nbsp=3B&nbsp=3B =3B=3B<br>&nbsp=3B restart)<br>&nbsp=3B&nbsp=3B&nbsp=
=3B if check_start_libvirtd_option=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbs=
p=3B&nbsp=3B&nbsp=3B log_daemon_msg "Restarting $DESC" "$DAEMON"<br>&nbsp=
=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B start-stop-daemon --oknodo --s=
top --quiet --pidfile \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=
=3B &nbsp=3B&nbsp=3B&nbsp=3B /var/run/$NAME.pid --exec $DAEMON<br>&nbsp=3B&=
nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B [ -n "$DODTIME" ] &amp=3B&amp=3B s=
leep $DODTIME<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B start-st=
op-daemon --start --quiet --pidfile \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&=
nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B /var/run/$NAME.pid --exec $DAEMON =
-- $libvirtd_opts<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B if r=
unning=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B log_end_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=
=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B log_end_msg 1<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=
=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B =
=3B=3B<br>&nbsp=3B reload|force-reload)<br>&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=
=3B if running=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B log_daemon_msg "Reloading configura=
tion of $DESC" "$NAME"<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B=
 start-stop-daemon --stop --signal 1 --quiet --pidfile \<br>&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B /var/run/$NAME.pid --exec $DAEMON<br>&n=
bsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 0<br>&nbsp=3B&n=
bsp=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B log_warning_msg "libvirtd not running=
=2C doing nothing."<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=
=3B =3B=3B<br>&nbsp=3B status)<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B log_daemon_msg "Checking status of $DESC" "$NAME"<br>&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B if running =3B&nbsp=3B =
then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb=
sp=3B&nbsp=3B&nbsp=3B log_progress_msg "running"<br>&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B log_end=
_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B else<br>=
&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb=
sp=3B&nbsp=3B log_progress_msg "not running"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nb=
sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 1=
<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B if [ -f "$PIDFILE" ] =3B then<br>&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B&nbsp=3B&nbsp=3B exit 1<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B exit 3<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&=
nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B =3B=3B<br>&nbsp=3B *)<br>&nbsp=3B&nb=
sp=3B&nbsp=3B N=3D/etc/init.d/libvirt-bin<br>&nbsp=3B&nbsp=3B&nbsp=3B echo =
"Usage: $N {start|stop|restart|reload|force-reload|status|force-stop}" &gt=
=3B&amp=3B2<br>&nbsp=3B&nbsp=3B&nbsp=3B exit 1<br>&nbsp=3B&nbsp=3B&nbsp=3B =
=3B=3B<br>esac<br><br>exit 0<br><br>---------------------------------------=
-------------------------<br><br><br><br> 		 	   		  </div></body>
</html>=

--_5f3baec8-d94e-4d0b-9258-374104a769fd_--


--===============2794373547476711793==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2794373547476711793==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 10:27:49 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 10:27:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC4dI-0004Wv-Kx; Tue, 29 Jul 2014 10:27:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <buzzheavyyear@hotmail.com>) id 1XC4dH-0004WS-8y
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 10:27:47 +0000
Received: from [85.158.137.68:9758] by server-5.bemta-3.messagelabs.com id
	48/C0-30889-22777D35; Tue, 29 Jul 2014 10:27:46 +0000
X-Env-Sender: buzzheavyyear@hotmail.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1406629664!18669976!1
X-Originating-IP: [157.55.2.18]
X-SpamReason: No, hits=0.7 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_40_50,HTML_MESSAGE,ML_RADAR_SPEW_LINKS_1,ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,ML_RADAR_SPEW_LINKS_2,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3168 invoked from network); 29 Jul 2014 10:27:44 -0000
Received: from dub004-omc3s9.hotmail.com (HELO DUB004-OMC3S9.hotmail.com)
	(157.55.2.18)
	by server-3.tower-31.messagelabs.com with AES128-SHA encrypted SMTP;
	29 Jul 2014 10:27:44 -0000
Received: from DUB128-W28 ([157.55.2.9]) by DUB004-OMC3S9.hotmail.com with
	Microsoft SMTPSVC(7.5.7601.22701); Tue, 29 Jul 2014 03:27:43 -0700
X-TMN: [UOg5EMurFcttSdVpEygkYVx6gACaPHa4]
X-Originating-Email: [buzzheavyyear@hotmail.com]
Message-ID: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
From: buzz heavyyear <buzzheavyyear@hotmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Date: Tue, 29 Jul 2014 10:27:43 +0000
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 29 Jul 2014 10:27:43.0751 (UTC)
	FILETIME=[BBA0D170:01CFAB17]
Subject: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2794373547476711793=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============2794373547476711793==
Content-Type: multipart/alternative;
	boundary="_5f3baec8-d94e-4d0b-9258-374104a769fd_"

--_5f3baec8-d94e-4d0b-9258-374104a769fd_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hope this is useful to somebody. It ended up being a bit of a journey as th=
e packaged version of the arm libvirt didn't include the xen driver. First =
part cribbed from Thomas's cubieboard build instructions.




http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2
http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2

1. Download and unpack the image for your board.

2. Copy to the SDcard=2C e.g.
dd if=3Dcubie.img of=3D/dev/mmcblk0

3. Boot the device. It should get an IP address by DHCP.

The devices announce a .local name using mDNS=2C so you should be able to s=
sh to $BOARD.local
4. ssh mirage@cubieboard2.local.


To change hostname of the cubieboard:

1. edit /etc/hosts
127.0.1.1       newname

2. edit /etc/hostname
newname

To change the cubieboard to get a static ip address:

1. edit /etc/network/interfaces and update with:

//
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
  up ip link set eth0 up

auto br0
iface br0 inet static
  bridge_ports eth0
  address 192.168.1.11
  broadcast 192.168.1.255
  netmask 255.255.255.0
  gateway 192.168.1.254
//

reboot

To set up ssh:

1. ssh mirage@192.168.1.11 (password: mirage)

2. ssh-keygen

3. logout (ctrl-d)

4. scp ~/.ssh/id_rsa.pub mirage@192.168.1.11:.ssh/authorized_keys

5. ssh  mirage@192.168.1.11

6. chmod 700 ~/.ssh

7. chmod 600 ~/.ssh/authorized_keys

You should now have a working Xen host ("xl list" to list current VMs=2C "l=
vcreate" to create guest disks).

To install the ARM version of mirage:

1. opam init

2. opam install mirage-xen-minios

3. opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs

4. opam pin mirage-xen https://github.com/mirage/mirage-platform

5. opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum

6. opam install mirage

(You should now be able to follow the rest of the Mirage tutorial:)

To install libvirt (the precompiled version doesn't contain the drivers for=
 xen):

1. sudo apt-get install uuid-dev libxml2-dev libdevmapper-dev libpciaccess-=
dev libnl-dev libxen-dev libgnutls-dev

2. download a release tarball from libvirt.org (I used 1.2.6) (download to =
local machine=2C decompress=2C scp libvirt-1.2.6.tar mirage@cubieboard2:

3. ssh mirage@cubieboard2=3B tar xf libvirt-1.2.6.tar=3B rm libvirt-1.2.6.t=
ar=3B cd libvirt-1.2.6

3. ./configure --prefix=3D/usr --localstatedir=3D/var  --sysconfdir=3D/etc =
--with-xen --with-qemu=3Dno --with-gnutls --with-uml=3Dno --with-openvz=3Dn=
o --with-vmware=3Dno --with-phyp=3Dno --with-xenapi=3Dno --with-libxl=3Dyes=
 --with-vbox=3Dno --with-lxc=3Dno --with-esx=3Dno  --with-hyperv=3Dno --wit=
h-parallels=3Dno --with-init-script=3Dupstart

4. make

5. sudo make install

6. Add the two scripts (below=2C if they don't already exist) to /etc/init.=
d/libvirt-bin and /etc/default/libvirt-bin

6. Ensure that /etc/default/libvirt-bin has '-l' to libvirtd_opts

7. Follow the instructions in http://wiki.libvirt.org/page/TLSSetup in inst=
all tls on the cubieboards and admin machine

8. cd /etc/rc5.d
   sudo ln -s ../init.d/libvirt-bin S22libvirt-bin

9. cd /etc/rc6.d
   sudo ln -s ../init.d/libvirt-bin K19libvirt-bin
   sudo  update-rc.d libvirt-bin defaults
   sudo service libvirt-bin start

10. Reboot the board

11. From the admin machine=2C edit /etc/hosts and add the cubieboardd addre=
sses and names so that (a) the names are resolvable and (b) matches the nam=
e on the certificates

ie.
192.168.1.10 cubieboard2

Test that the admin machine can talk to the cubieboard:

1. sudo virsh -c xen://cubieboard2/system hostname

..... and you should get 'cubieboard2' returned=2C if not=2C ssh to the cub=
ieboard and check/restart the daemon (sudo service libvirt-bin start)


To set up the admin machine to ensure another user (instead of root) can ru=
n virsh commands:

On the admin machine

1. Add the user to the libvirt group (on older releases of libvirt=2C this =
group is sometimes 'libvirtd')

2. Ensure that the clientcert.pem and clientkey.pem in /etc/pki/libvirt bel=
ong to the libvirt group=2C ie:
sudo chgrp libvirt /etc/pki/libvirt/clientcert.pem
sudo chmod 440 /etc/pki/libvirt/clientcert.pem
sudo chgrp libvirt /etc/pki/libvirt/private/clientkey.pem
sudo chmod 440 /etc/pki/libvirt/private/clientkey.pem

3. Edit /etc/libvirt/libvirtd.conf and ensure unix_sock_group=2C unix_sock_=
ro_perms=2C unix_sock_rw_perms are uncommented=2C allowing users in the lib=
virt(d) group to use tls=2C ie
unix_sock_group =3D "libvirt"
unix_sock_ro_perms =3D "0777"
unix_sock_rw_perms =3D "0770"

On the cubieboard

4. ssh into the cubieboard and create a user which matches the 'admin' user=
 ( - 'nick' in my case)=2C
sudo adduser 'username'

5. create a 'libvirt' group if one doesn't already exist
sudo addgroup libvirt

6. add the admin user to the libvirt group
sudo adduser 'username' libvirt

7. reboot


The cubieboard should now be accessible remotely from a non-root account.

Clone the mirage example mirage-skeleton/xen/static_website+ip=20

Compile the example (this currently needs to be built on a cubieboard)=2C a=
nd then edit www.xl. Change the ipaddress=2C gateway etc. to suit=2C and th=
en run the virsh 'domxml-from-native' translator to get the xml file requir=
ed for deployment=20

virsh -c xen:/// domxml-from-native xen-xm www.xl > www.xml

virsh -c xen://cubie0/system create www.xml

---------------------------------------------------------------

/etc/default/libvirt-bin
------------------------

# Defaults for libvirt-bin initscript (/etc/init.d/libvirt-bin)
# This is a POSIX shell fragment

# Start libvirtd to handle qemu/kvm:
start_libvirtd=3D"yes"

# options passed to libvirtd=2C add "-l" to listen on tcp
libvirtd_opts=3D"-d -l"

# pass in location of kerberos keytab
#export KRB5_KTNAME=3D/etc/libvirt/libvirt.keytab



----------------------------------------------------------------



/etc/init.d/libvirt-bin
-----------------------

#! /bin/sh
#
# Init script for libvirtd
#
# (c) 2007 Guido Guenther <agx@sigxcpu.org>
# based on the skeletons that comes with dh_make
#
### BEGIN INIT INFO
# Provides:          libvirt-bin libvirtd
# Required-Start:    $network $local_fs $remote_fs $syslog
# Required-Stop:     $local_fs $remote_fs $syslog
# Should-Start:      hal avahi cgconfig
# Should-Stop:       hal avahi cgconfig
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: libvirt management daemon
### END INIT INFO

PATH=3D/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=3D/usr/sbin/libvirtd
NAME=3Dlibvirtd
DESC=3D"libvirt management daemon"
export PATH

test -x $DAEMON || exit 0
. /lib/lsb/init-functions

PIDFILE=3D/var/run/$NAME.pid
DODTIME=3D1                   # Time to wait for the server to die=2C in se=
conds

# Include libvirtd defaults if available
if [ -f /etc/default/libvirt-bin ] =3B then
    . /etc/default/libvirt-bin
fi

check_start_libvirtd_option() {
  if [ ! "$start_libvirtd" =3D "yes" ]=3B then
    log_warning_msg "Not starting libvirt management daemon libvirtd=2C dis=
abled via /etc/default/libvirt-bin"
    return 1
  else
    return 0
  fi
}

running_pid()
{
    # Check if a given process pid's cmdline matches a given name
    pid=3D$1
    name=3D$2
    [ -z "$pid" ] && return 1=20
    [ ! -d /proc/$pid ] &&  return 1
    cmd=3D`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1=
`
    # Is this the expected child?
    [ "$cmd" !=3D "$name" ] &&  return 1
    return 0
}

running()
{
# Check if the process is running looking at /proc
# (works for all users)
    # No pidfile=2C probably no daemon present
    [ ! -f "$PIDFILE" ] && return 1
    # Obtain the pid and check it against the binary name
    pid=3D`cat $PIDFILE`
    running_pid $pid $DAEMON || return 1
    return 0
}

force_stop() {
# Forcefully kill the process
    [ ! -f "$PIDFILE" ] && return
    if running =3B then
        kill -15 $pid
        # Is it really dead?
        [ -n "$DODTIME" ] && sleep "$DODTIME"s
        if running =3B then
            kill -9 $pid
            [ -n "$DODTIME" ] && sleep "$DODTIME"s
            if running =3B then
                echo "Cannot kill $LABEL (pid=3D$pid)!"
                exit 1
            fi
        fi
    fi
    rm -f $PIDFILE
    return 0
}

case "$1" in
  start)
    if check_start_libvirtd_option=3B then
        log_daemon_msg "Starting $DESC" "$NAME"
            if running =3B  then
                    log_progress_msg "already running"
                    log_end_msg 0
                    exit 0
            fi
        rm -f /var/run/libvirtd.pid
        start-stop-daemon --start --quiet --pidfile $PIDFILE \
            --exec $DAEMON -- $libvirtd_opts
        if running=3B then
            log_end_msg 0
        else
            log_end_msg 1
        fi
    fi
    =3B=3B
  stop)
    log_daemon_msg "Stopping $DESC" "$NAME"
    if ! running =3B  then
               log_progress_msg "not running"
                log_end_msg 0
                exit 0
           fi
    start-stop-daemon --stop --quiet --pidfile $PIDFILE \
        --exec $DAEMON
    log_end_msg 0
    =3B=3B
  force-stop)
    log_daemon_msg "Forcefully stopping $DESC" "$NAME"
    force_stop
    if ! running=3B then
        log_end_msg 0
    else
        log_end_msg 1
    fi
    =3B=3B
  restart)
    if check_start_libvirtd_option=3B then
        log_daemon_msg "Restarting $DESC" "$DAEMON"
        start-stop-daemon --oknodo --stop --quiet --pidfile \
            /var/run/$NAME.pid --exec $DAEMON
        [ -n "$DODTIME" ] && sleep $DODTIME
        start-stop-daemon --start --quiet --pidfile \
            /var/run/$NAME.pid --exec $DAEMON -- $libvirtd_opts
        if running=3B then
            log_end_msg 0
        else
            log_end_msg 1
        fi
    fi
    =3B=3B
  reload|force-reload)
      if running=3B then
            log_daemon_msg "Reloading configuration of $DESC" "$NAME"
        start-stop-daemon --stop --signal 1 --quiet --pidfile \
                 /var/run/$NAME.pid --exec $DAEMON
        log_end_msg 0
    else
            log_warning_msg "libvirtd not running=2C doing nothing."
    fi
    =3B=3B
  status)
        log_daemon_msg "Checking status of $DESC" "$NAME"
        if running =3B  then
            log_progress_msg "running"
            log_end_msg 0
        else
            log_progress_msg "not running"
            log_end_msg 1
            if [ -f "$PIDFILE" ] =3B then
                exit 1
            else
                exit 3
            fi
    fi
    =3B=3B
  *)
    N=3D/etc/init.d/libvirt-bin
    echo "Usage: $N {start|stop|restart|reload|force-reload|status|force-st=
op}" >&2
    exit 1
    =3B=3B
esac

exit 0

----------------------------------------------------------------



 		 	   		  =

--_5f3baec8-d94e-4d0b-9258-374104a769fd_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>Hope this is useful to somebody.=
 It ended up being a bit of a journey as the packaged version of the arm li=
bvirt didn't include the xen driver. First part cribbed from Thomas's cubie=
board build instructions.<br><br><br><br><br>http://blobs.openmirage.org/cu=
bieboard2-xen-iso.tar.bz2<br>http://blobs.openmirage.org/cubietruck-xen-iso=
.tar.bz2<br><br>1. Download and unpack the image for your board.<br><br>2. =
Copy to the SDcard=2C e.g.<br>dd if=3Dcubie.img of=3D/dev/mmcblk0<br><br>3.=
 Boot the device. It should get an IP address by DHCP.<br><br>The devices a=
nnounce a .local name using mDNS=2C so you should be able to ssh to $BOARD.=
local<br>4. ssh mirage@cubieboard2.local.<br><br><br>To change hostname of =
the cubieboard:<br><br>1. edit /etc/hosts<br>127.0.1.1&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B newname<br><br>2. edit /etc/hostname<br>newname=
<br><br>To change the cubieboard to get a static ip address:<br><br>1. edit=
 /etc/network/interfaces and update with:<br><br>//<br>auto lo<br>iface lo =
inet loopback<br><br>auto eth0<br>iface eth0 inet manual<br>&nbsp=3B up ip =
link set eth0 up<br><br>auto br0<br>iface br0 inet static<br>&nbsp=3B bridg=
e_ports eth0<br>&nbsp=3B address 192.168.1.11<br>&nbsp=3B broadcast 192.168=
.1.255<br>&nbsp=3B netmask 255.255.255.0<br>&nbsp=3B gateway 192.168.1.254<=
br>//<br><br>reboot<br><br>To set up ssh:<br><br>1. ssh mirage@192.168.1.11=
 (password: mirage)<br><br>2. ssh-keygen<br><br>3. logout (ctrl-d)<br><br>4=
. scp ~/.ssh/id_rsa.pub mirage@192.168.1.11:.ssh/authorized_keys<br><br>5. =
ssh&nbsp=3B mirage@192.168.1.11<br><br>6. chmod 700 ~/.ssh<br><br>7. chmod =
600 ~/.ssh/authorized_keys<br><br>You should now have a working Xen host ("=
xl list" to list current VMs=2C "lvcreate" to create guest disks).<br><br>T=
o install the ARM version of mirage:<br><br>1. opam init<br><br>2. opam ins=
tall mirage-xen-minios<br><br>3. opam pin mirage https://github.com/talex5/=
mirage.git#link_c_stubs<br><br>4. opam pin mirage-xen https://github.com/mi=
rage/mirage-platform<br><br>5. opam pin tcpip https://github.com/talex5/mir=
age-tcpip.git#checksum<br><br>6. opam install mirage<br><br>(You should now=
 be able to follow the rest of the Mirage tutorial:)<br><br>To install libv=
irt (the precompiled version doesn't contain the drivers for xen):<br><br>1=
. sudo apt-get install uuid-dev libxml2-dev libdevmapper-dev libpciaccess-d=
ev libnl-dev libxen-dev libgnutls-dev<br><br>2. download a release tarball =
from libvirt.org (I used 1.2.6) (download to local machine=2C decompress=2C=
 scp libvirt-1.2.6.tar mirage@cubieboard2:<br><br>3. ssh mirage@cubieboard2=
=3B tar xf libvirt-1.2.6.tar=3B rm libvirt-1.2.6.tar=3B cd libvirt-1.2.6<br=
><br>3. ./configure --prefix=3D/usr --localstatedir=3D/var&nbsp=3B --syscon=
fdir=3D/etc --with-xen --with-qemu=3Dno --with-gnutls --with-uml=3Dno --wit=
h-openvz=3Dno --with-vmware=3Dno --with-phyp=3Dno --with-xenapi=3Dno --with=
-libxl=3Dyes --with-vbox=3Dno --with-lxc=3Dno --with-esx=3Dno&nbsp=3B --wit=
h-hyperv=3Dno --with-parallels=3Dno --with-init-script=3Dupstart<br><br>4. =
make<br><br>5. sudo make install<br><br>6. Add the two scripts (below=2C if=
 they don't already exist) to /etc/init.d/libvirt-bin and /etc/default/libv=
irt-bin<br><br>6. Ensure that /etc/default/libvirt-bin has '-l' to libvirtd=
_opts<br><br>7. Follow the instructions in http://wiki.libvirt.org/page/TLS=
Setup in install tls on the cubieboards and admin machine<br><br>8. cd /etc=
/rc5.d<br>&nbsp=3B&nbsp=3B sudo ln -s ../init.d/libvirt-bin S22libvirt-bin<=
br><br>9. cd /etc/rc6.d<br>&nbsp=3B&nbsp=3B sudo ln -s ../init.d/libvirt-bi=
n K19libvirt-bin<br>&nbsp=3B&nbsp=3B sudo&nbsp=3B update-rc.d libvirt-bin d=
efaults<br>&nbsp=3B&nbsp=3B sudo service libvirt-bin start<br><br>10. Reboo=
t the board<br><br>11. From the admin machine=2C edit /etc/hosts and add th=
e cubieboardd addresses and names so that (a) the names are resolvable and =
(b) matches the name on the certificates<br><br>ie.<br>192.168.1.10 cubiebo=
ard2<br><br>Test that the admin machine can talk to the cubieboard:<br><br>=
1. sudo virsh -c xen://cubieboard2/system hostname<br><br>..... and you sho=
uld get 'cubieboard2' returned=2C if not=2C ssh to the cubieboard and check=
/restart the daemon (sudo service libvirt-bin start)<br><br><br>To set up t=
he admin machine to ensure another user (instead of root) can run virsh com=
mands:<br><br>On the admin machine<br><br>1. Add the user to the libvirt gr=
oup (on older releases of libvirt=2C this group is sometimes 'libvirtd')<br=
><br>2. Ensure that the clientcert.pem and clientkey.pem in /etc/pki/libvir=
t belong to the libvirt group=2C ie:<br>sudo chgrp libvirt /etc/pki/libvirt=
/clientcert.pem<br>sudo chmod 440 /etc/pki/libvirt/clientcert.pem<br>sudo c=
hgrp libvirt /etc/pki/libvirt/private/clientkey.pem<br>sudo chmod 440 /etc/=
pki/libvirt/private/clientkey.pem<br><br>3. Edit /etc/libvirt/libvirtd.conf=
 and ensure unix_sock_group=2C unix_sock_ro_perms=2C unix_sock_rw_perms are=
 uncommented=2C allowing users in the libvirt(d) group to use tls=2C ie<br>=
unix_sock_group =3D "libvirt"<br>unix_sock_ro_perms =3D "0777"<br>unix_sock=
_rw_perms =3D "0770"<br><br>On the cubieboard<br><br>4. ssh into the cubieb=
oard and create a user which matches the 'admin' user ( - 'nick' in my case=
)=2C<br>sudo adduser 'username'<br><br>5. create a 'libvirt' group if one d=
oesn't already exist<br>sudo addgroup libvirt<br><br>6. add the admin user =
to the libvirt group<br>sudo adduser 'username' libvirt<br><br>7. reboot<br=
><br><br>The cubieboard should now be accessible remotely from a non-root a=
ccount.<br><br>Clone the mirage example mirage-skeleton/xen/static_website+=
ip <br><br>Compile the example (this currently needs to be built on a cubie=
board)=2C and then edit <a href=3D"www.xl." target=3D"_blank">www.xl.</a> C=
hange the ipaddress=2C gateway etc. to suit=2C and then run the virsh 'domx=
ml-from-native' translator to get the xml file required for deployment <br>=
<br>virsh -c xen:/// domxml-from-native xen-xm www.xl &gt=3B www.xml<br><br=
>virsh -c xen://cubie0/system create www.xml<br><br>-----------------------=
----------------------------------------<br><br>/etc/default/libvirt-bin<br=
>------------------------<br><br># Defaults for libvirt-bin initscript (/et=
c/init.d/libvirt-bin)<br># This is a POSIX shell fragment<br><br># Start li=
bvirtd to handle qemu/kvm:<br>start_libvirtd=3D"yes"<br><br># options passe=
d to libvirtd=2C add "-l" to listen on tcp<br>libvirtd_opts=3D"-d -l"<br><b=
r># pass in location of kerberos keytab<br>#export KRB5_KTNAME=3D/etc/libvi=
rt/libvirt.keytab<br><br><br><br>------------------------------------------=
----------------------<br><br><br><br>/etc/init.d/libvirt-bin<br>----------=
-------------<br><br>#! /bin/sh<br>#<br># Init script for libvirtd<br>#<br>=
# (c) 2007 Guido Guenther &lt=3Bagx@sigxcpu.org&gt=3B<br># based on the ske=
letons that comes with dh_make<br>#<br>### BEGIN INIT INFO<br># Provides:&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B libv=
irt-bin libvirtd<br># Required-Start:&nbsp=3B&nbsp=3B&nbsp=3B $network $loc=
al_fs $remote_fs $syslog<br># Required-Stop:&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B $local_fs $remote_fs $syslog<br># Should-Start:&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B&nbsp=3B hal avahi cgconfig<br># Should-Stop:&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B hal avahi cgconfig<br># Default-Start:&nbsp=3B&=
nbsp=3B&nbsp=3B&nbsp=3B 2 3 4 5<br># Default-Stop:&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B 0 1 6<br># Short-Description: libvirt management daemon<br>=
### END INIT INFO<br><br>PATH=3D/usr/local/sbin:/usr/local/bin:/sbin:/bin:/=
usr/sbin:/usr/bin<br>DAEMON=3D/usr/sbin/libvirtd<br>NAME=3Dlibvirtd<br>DESC=
=3D"libvirt management daemon"<br>export PATH<br><br>test -x $DAEMON || exi=
t 0<br>. /lib/lsb/init-functions<br><br>PIDFILE=3D/var/run/$NAME.pid<br>DOD=
TIME=3D1&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb=
sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B # Time to wait for the server to die=2C in seconds<br><br># Include lib=
virtd defaults if available<br>if [ -f /etc/default/libvirt-bin ] =3B then<=
br>&nbsp=3B&nbsp=3B&nbsp=3B . /etc/default/libvirt-bin<br>fi<br><br>check_s=
tart_libvirtd_option() {<br>&nbsp=3B if [ ! "$start_libvirtd" =3D "yes" ]=
=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B log_warning_msg "Not starting libvirt =
management daemon libvirtd=2C disabled via /etc/default/libvirt-bin"<br>&nb=
sp=3B&nbsp=3B&nbsp=3B return 1<br>&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B=
 return 0<br>&nbsp=3B fi<br>}<br><br>running_pid()<br>{<br>&nbsp=3B&nbsp=3B=
&nbsp=3B # Check if a given process pid's cmdline matches a given name<br>&=
nbsp=3B&nbsp=3B&nbsp=3B pid=3D$1<br>&nbsp=3B&nbsp=3B&nbsp=3B name=3D$2<br>&=
nbsp=3B&nbsp=3B&nbsp=3B [ -z "$pid" ] &amp=3B&amp=3B return 1 <br>&nbsp=3B&=
nbsp=3B&nbsp=3B [ ! -d /proc/$pid ] &amp=3B&amp=3B&nbsp=3B return 1<br>&nbs=
p=3B&nbsp=3B&nbsp=3B cmd=3D`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n=
 1 |cut -d : -f 1`<br>&nbsp=3B&nbsp=3B&nbsp=3B # Is this the expected child=
?<br>&nbsp=3B&nbsp=3B&nbsp=3B [ "$cmd" !=3D "$name" ] &amp=3B&amp=3B&nbsp=
=3B return 1<br>&nbsp=3B&nbsp=3B&nbsp=3B return 0<br>}<br><br>running()<br>=
{<br># Check if the process is running looking at /proc<br># (works for all=
 users)<br>&nbsp=3B&nbsp=3B&nbsp=3B # No pidfile=2C probably no daemon pres=
ent<br>&nbsp=3B&nbsp=3B&nbsp=3B [ ! -f "$PIDFILE" ] &amp=3B&amp=3B return 1=
<br>&nbsp=3B&nbsp=3B&nbsp=3B # Obtain the pid and check it against the bina=
ry name<br>&nbsp=3B&nbsp=3B&nbsp=3B pid=3D`cat $PIDFILE`<br>&nbsp=3B&nbsp=
=3B&nbsp=3B running_pid $pid $DAEMON || return 1<br>&nbsp=3B&nbsp=3B&nbsp=
=3B return 0<br>}<br><br>force_stop() {<br># Forcefully kill the process<br=
>&nbsp=3B&nbsp=3B&nbsp=3B [ ! -f "$PIDFILE" ] &amp=3B&amp=3B return<br>&nbs=
p=3B&nbsp=3B&nbsp=3B if running =3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B kill -15 $pid<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B # Is it really dead?<br>&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B [ -n "$DODTIME" ] &amp=3B&amp=3B sleep =
"$DODTIME"s<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B if =
running =3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B kill -9 $pid<br>&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B [ -n "$=
DODTIME" ] &amp=3B&amp=3B sleep "$DODTIME"s<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B if running =3B=
 then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B echo "Cannot kill $L=
ABEL (pid=3D$pid)!"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B exit 1=
<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B rm -f=
 $PIDFILE<br>&nbsp=3B&nbsp=3B&nbsp=3B return 0<br>}<br><br>case "$1" in<br>=
&nbsp=3B start)<br>&nbsp=3B&nbsp=3B&nbsp=3B if check_start_libvirtd_option=
=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_daemon_ms=
g "Starting $DESC" "$NAME"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B if running =3B&nbsp=3B then<br>&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_progress_msg=
 "already running"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=
=3B&nbsp=3B log_end_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B exit 0<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B rm -f /var/run/libvirtd.pid<br>&nbsp=3B&nbsp=3B&nbsp=3B=
 &nbsp=3B&nbsp=3B&nbsp=3B start-stop-daemon --start --quiet --pidfile $PIDF=
ILE \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B=
&nbsp=3B --exec $DAEMON -- $libvirtd_opts<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B if running=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B=
&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 0<br>&nbsp=3B&nbsp=3B=
&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B=
&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 1<br>&nbsp=3B&nbsp=3B=
&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbs=
p=3B&nbsp=3B&nbsp=3B =3B=3B<br>&nbsp=3B stop)<br>&nbsp=3B&nbsp=3B&nbsp=3B l=
og_daemon_msg "Stopping $DESC" "$NAME"<br>&nbsp=3B&nbsp=3B&nbsp=3B if ! run=
ning =3B&nbsp=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_progress_msg "n=
ot running"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 0<br>&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B exit 0<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=
=3B start-stop-daemon --stop --quiet --pidfile $PIDFILE \<br>&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B --exec $DAEMON<br>&nbsp=3B&nbsp=3B&nbs=
p=3B log_end_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B =3B=3B<br>&nbsp=3B force-sto=
p)<br>&nbsp=3B&nbsp=3B&nbsp=3B log_daemon_msg "Forcefully stopping $DESC" "=
$NAME"<br>&nbsp=3B&nbsp=3B&nbsp=3B force_stop<br>&nbsp=3B&nbsp=3B&nbsp=3B i=
f ! running=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B lo=
g_end_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B &n=
bsp=3B&nbsp=3B&nbsp=3B log_end_msg 1<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbs=
p=3B&nbsp=3B&nbsp=3B =3B=3B<br>&nbsp=3B restart)<br>&nbsp=3B&nbsp=3B&nbsp=
=3B if check_start_libvirtd_option=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbs=
p=3B&nbsp=3B&nbsp=3B log_daemon_msg "Restarting $DESC" "$DAEMON"<br>&nbsp=
=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B start-stop-daemon --oknodo --s=
top --quiet --pidfile \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=
=3B &nbsp=3B&nbsp=3B&nbsp=3B /var/run/$NAME.pid --exec $DAEMON<br>&nbsp=3B&=
nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B [ -n "$DODTIME" ] &amp=3B&amp=3B s=
leep $DODTIME<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B start-st=
op-daemon --start --quiet --pidfile \<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&=
nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B /var/run/$NAME.pid --exec $DAEMON =
-- $libvirtd_opts<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B if r=
unning=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B log_end_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=
=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B &nbsp=
=3B&nbsp=3B&nbsp=3B log_end_msg 1<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=
=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B =
=3B=3B<br>&nbsp=3B reload|force-reload)<br>&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=
=3B if running=3B then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B log_daemon_msg "Reloading configura=
tion of $DESC" "$NAME"<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B=
 start-stop-daemon --stop --signal 1 --quiet --pidfile \<br>&nbsp=3B&nbsp=
=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B /var/run/$NAME.pid --exec $DAEMON<br>&n=
bsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 0<br>&nbsp=3B&n=
bsp=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs=
p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B log_warning_msg "libvirtd not running=
=2C doing nothing."<br>&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=
=3B =3B=3B<br>&nbsp=3B status)<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&=
nbsp=3B&nbsp=3B log_daemon_msg "Checking status of $DESC" "$NAME"<br>&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B if running =3B&nbsp=3B =
then<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb=
sp=3B&nbsp=3B&nbsp=3B log_progress_msg "running"<br>&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B log_end=
_msg 0<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B else<br>=
&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb=
sp=3B&nbsp=3B log_progress_msg "not running"<br>&nbsp=3B&nbsp=3B&nbsp=3B&nb=
sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B log_end_msg 1=
<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B if [ -f "$PIDFILE" ] =3B then<br>&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B&nbsp=3B&nbsp=3B exit 1<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B else<br>&nbsp=3B&nbsp=3B&n=
bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B exit 3<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B fi<br>&nbsp=3B&nbsp=3B&=
nbsp=3B fi<br>&nbsp=3B&nbsp=3B&nbsp=3B =3B=3B<br>&nbsp=3B *)<br>&nbsp=3B&nb=
sp=3B&nbsp=3B N=3D/etc/init.d/libvirt-bin<br>&nbsp=3B&nbsp=3B&nbsp=3B echo =
"Usage: $N {start|stop|restart|reload|force-reload|status|force-stop}" &gt=
=3B&amp=3B2<br>&nbsp=3B&nbsp=3B&nbsp=3B exit 1<br>&nbsp=3B&nbsp=3B&nbsp=3B =
=3B=3B<br>esac<br><br>exit 0<br><br>---------------------------------------=
-------------------------<br><br><br><br> 		 	   		  </div></body>
</html>=

--_5f3baec8-d94e-4d0b-9258-374104a769fd_--


--===============2794373547476711793==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2794373547476711793==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 11:43:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 11:43:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC5o5-00088v-TG; Tue, 29 Jul 2014 11:43:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XC5o3-00088q-Jv
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 11:42:59 +0000
Received: from [85.158.137.68:29676] by server-1.bemta-3.messagelabs.com id
	65/30-30185-2C887D35; Tue, 29 Jul 2014 11:42:58 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-31.messagelabs.com!1406634177!18667488!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30416 invoked from network); 29 Jul 2014 11:42:57 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-31.messagelabs.com with SMTP;
	29 Jul 2014 11:42:57 -0000
Received: (qmail 14386 invoked by uid 634); 29 Jul 2014 11:42:57 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 29 Jul 2014 12:42:56 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53D6903C.60101@nottingham.ac.uk>
Date: Tue, 29 Jul 2014 13:42:55 +0200
Message-Id: <E7DCE99E-1211-4710-B3D8-D60EFD13BF1A@recoil.org>
References: <53D6903C.60101@nottingham.ac.uk>
To: Masoud Koleini <masoud.koleini@nottingham.ac.uk>,
	Haris Rotsos <Charalampos.Rotsos@cl.cam.ac.uk>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Test environment for OpenFlow switch
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi Masoud,

I'm CCing Haris Rotsos, who wrote the implementation you are referring to.  It would be very useful to have that ported to the modern Tcpip library (since we can also upgrade the switch to use a faster vchan [1] protocol quite easily from there too)

I think the tap setup on Unix will be fairly standard Linux networking -- you need to create a bridge for the switch interfaces, and one of the controller, and add the relevant tap interfaces there.

[1] http://openmirage.org/blog/update-on-vchan

-anil

On 28 Jul 2014, at 20:02, Masoud Koleini <masoud.koleini@nottingham.ac.uk> wrote:

> Hi all,
> 
> I am modifying the implementation of Mirage OpenFlow to use tcpip library instead of mirage-net. I am using Beacon for the controller and now setting up a test environment for the switch.
> 
> The switch implementation uses tap0 for the controller interface, and other tap devised for switch ports. What could be the best test environment set-up (under Mirage unix config)? Can I have both the controller and switch operate on the same OS (Ubuntu)? What would be the configuration in this case, or in the case that I run switch application on a virtual machine?
> 
> Thanks
> 
> 
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
> 
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
> 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 11:43:08 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 11:43:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC5o5-00088v-TG; Tue, 29 Jul 2014 11:43:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XC5o3-00088q-Jv
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 11:42:59 +0000
Received: from [85.158.137.68:29676] by server-1.bemta-3.messagelabs.com id
	65/30-30185-2C887D35; Tue, 29 Jul 2014 11:42:58 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-31.messagelabs.com!1406634177!18667488!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30416 invoked from network); 29 Jul 2014 11:42:57 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-31.messagelabs.com with SMTP;
	29 Jul 2014 11:42:57 -0000
Received: (qmail 14386 invoked by uid 634); 29 Jul 2014 11:42:57 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 29 Jul 2014 12:42:56 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53D6903C.60101@nottingham.ac.uk>
Date: Tue, 29 Jul 2014 13:42:55 +0200
Message-Id: <E7DCE99E-1211-4710-B3D8-D60EFD13BF1A@recoil.org>
References: <53D6903C.60101@nottingham.ac.uk>
To: Masoud Koleini <masoud.koleini@nottingham.ac.uk>,
	Haris Rotsos <Charalampos.Rotsos@cl.cam.ac.uk>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Test environment for OpenFlow switch
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

Hi Masoud,

I'm CCing Haris Rotsos, who wrote the implementation you are referring to.  It would be very useful to have that ported to the modern Tcpip library (since we can also upgrade the switch to use a faster vchan [1] protocol quite easily from there too)

I think the tap setup on Unix will be fairly standard Linux networking -- you need to create a bridge for the switch interfaces, and one of the controller, and add the relevant tap interfaces there.

[1] http://openmirage.org/blog/update-on-vchan

-anil

On 28 Jul 2014, at 20:02, Masoud Koleini <masoud.koleini@nottingham.ac.uk> wrote:

> Hi all,
> 
> I am modifying the implementation of Mirage OpenFlow to use tcpip library instead of mirage-net. I am using Beacon for the controller and now setting up a test environment for the switch.
> 
> The switch implementation uses tap0 for the controller interface, and other tap devised for switch ports. What could be the best test environment set-up (under Mirage unix config)? Can I have both the controller and switch operate on the same OS (Ubuntu)? What would be the configuration in this case, or in the case that I run switch application on a virtual machine?
> 
> Thanks
> 
> 
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
> 
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
> 
> 
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 12:04:34 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 12:04:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC68q-000194-AQ; Tue, 29 Jul 2014 12:04:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XC68o-00018v-Mp
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 12:04:26 +0000
Received: from [85.158.139.211:42809] by server-2.bemta-5.messagelabs.com id
	F9/D2-31832-ACD87D35; Tue, 29 Jul 2014 12:04:26 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1406635463!18174018!1
X-Originating-IP: [209.85.218.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8606 invoked from network); 29 Jul 2014 12:04:25 -0000
Received: from mail-oi0-f41.google.com (HELO mail-oi0-f41.google.com)
	(209.85.218.41)
	by server-8.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	29 Jul 2014 12:04:25 -0000
Received: by mail-oi0-f41.google.com with SMTP id a141so7215112oig.14
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 29 Jul 2014 05:04:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=Jmmnb7VdGkOLk5J6qVW7SIXts0xfmMlz106nV3HJCRo=;
	b=jk/NoHqW1HWHiCT8/y5FYVrxFf8Q3OJpmf+LlATxtT90UavD3tw5G9cBuAFaRPr61x
	Ro24frVK27bDhCH6M8IsvwWhMhrRKSZGSYCJWzLo82z/iWJ5CRiwTK+XKwMqTNS8kuAy
	rKB4nyRmmo5rnhQtdC7aPvC/nasG/9EwnJYrhu+HpyS1jzJ4/KJ6pIIRsFibsWNwiv7H
	Ikx62j0siXiSq4WFBb52CA3T8d9XS3ZguMN83UqsOvAMVlcWEKExQYTsklk1d4Vs6vb5
	hDtfE7Zkl72fmN0uGapRlrQl3Vg9NCx6VLbgEH73j29dL0OAU/UEAXLi3PMaxLXCq0nX
	eonQ==
MIME-Version: 1.0
X-Received: by 10.60.135.233 with SMTP id pv9mr2557385oeb.75.1406635463492;
	Tue, 29 Jul 2014 05:04:23 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 29 Jul 2014 05:04:23 -0700 (PDT)
In-Reply-To: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
Date: Tue, 29 Jul 2014 13:04:23 +0100
Message-ID: <CAG4opy-tq8z70VGY4YB4_2e0r1wNys_0zZ0n2VdNT0XNgg+gUQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 7 July 2014 10:08, Thomas Leonard <talex5@gmail.com> wrote:
> I'm writing a test Mirage service for queuing files. It's not using
> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>

I did some more tests and wrote the results up here:

  http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/

In summary:

1. Adding a block cache helped a bit, but it was still too slow.
2. Dropping FAT and writing directly to the SD card helped a lot.
3. It's now fast enough for my use, but still slower than I was expecting.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 12:04:34 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 12:04:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC68q-000194-AQ; Tue, 29 Jul 2014 12:04:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XC68o-00018v-Mp
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 12:04:26 +0000
Received: from [85.158.139.211:42809] by server-2.bemta-5.messagelabs.com id
	F9/D2-31832-ACD87D35; Tue, 29 Jul 2014 12:04:26 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1406635463!18174018!1
X-Originating-IP: [209.85.218.41]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8606 invoked from network); 29 Jul 2014 12:04:25 -0000
Received: from mail-oi0-f41.google.com (HELO mail-oi0-f41.google.com)
	(209.85.218.41)
	by server-8.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	29 Jul 2014 12:04:25 -0000
Received: by mail-oi0-f41.google.com with SMTP id a141so7215112oig.14
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 29 Jul 2014 05:04:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=Jmmnb7VdGkOLk5J6qVW7SIXts0xfmMlz106nV3HJCRo=;
	b=jk/NoHqW1HWHiCT8/y5FYVrxFf8Q3OJpmf+LlATxtT90UavD3tw5G9cBuAFaRPr61x
	Ro24frVK27bDhCH6M8IsvwWhMhrRKSZGSYCJWzLo82z/iWJ5CRiwTK+XKwMqTNS8kuAy
	rKB4nyRmmo5rnhQtdC7aPvC/nasG/9EwnJYrhu+HpyS1jzJ4/KJ6pIIRsFibsWNwiv7H
	Ikx62j0siXiSq4WFBb52CA3T8d9XS3ZguMN83UqsOvAMVlcWEKExQYTsklk1d4Vs6vb5
	hDtfE7Zkl72fmN0uGapRlrQl3Vg9NCx6VLbgEH73j29dL0OAU/UEAXLi3PMaxLXCq0nX
	eonQ==
MIME-Version: 1.0
X-Received: by 10.60.135.233 with SMTP id pv9mr2557385oeb.75.1406635463492;
	Tue, 29 Jul 2014 05:04:23 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Tue, 29 Jul 2014 05:04:23 -0700 (PDT)
In-Reply-To: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
Date: Tue, 29 Jul 2014 13:04:23 +0100
Message-ID: <CAG4opy-tq8z70VGY4YB4_2e0r1wNys_0zZ0n2VdNT0XNgg+gUQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 7 July 2014 10:08, Thomas Leonard <talex5@gmail.com> wrote:
> I'm writing a test Mirage service for queuing files. It's not using
> ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>

I did some more tests and wrote the results up here:

  http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/

In summary:

1. Adding a block cache helped a bit, but it was still too slow.
2. Dropping FAT and writing directly to the SD card helped a lot.
3. It's now fast enough for my use, but still slower than I was expecting.


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 13:04:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 13:04:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC75C-0002k2-Ky; Tue, 29 Jul 2014 13:04:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1XC75A-0002iq-Vb
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 13:04:45 +0000
Received: from [85.158.139.211:54106] by server-7.bemta-5.messagelabs.com id
	7D/69-30869-CEB97D35; Tue, 29 Jul 2014 13:04:44 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1406639081!14054539!1
X-Originating-IP: [209.85.220.47]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21784 invoked from network); 29 Jul 2014 13:04:43 -0000
Received: from mail-pa0-f47.google.com (HELO mail-pa0-f47.google.com)
	(209.85.220.47)
	by server-11.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	29 Jul 2014 13:04:43 -0000
Received: by mail-pa0-f47.google.com with SMTP id kx10so12319043pab.20
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 29 Jul 2014 06:04:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=bP92/ul/9IX5QgS34j2vC2Zp+WfNZgtesaQGpOu1U34=;
	b=R0nOxHJGmgu6uxQ92MgLK5OVXWji0hGj8snfzhRDtnAjlEfi3F9aI7uuzSFAjA1Lmh
	MTdFjRO15Lgl4s00JIksk7tUetVPxLEU6XNJzHVtgVFZKZfsKN8KXDH+TqC48lIwyNre
	Hm72CAvQs2uAjzgrY4+zCqkGYSKLvru1Jz9bNN/ekjdhuanPvvdhZob4gaFXUu2e4K8P
	AvSeLGtV4A9WF9kyoSyPpzyoATe4dWLDFnwE4Va48+w4jzpVvEzcdQnMMFshMmJ3/a4C
	/1k+nTeuOsuDhG4QFFj39CGRKeidKlnq5nbq5Axs0QCkJs12w/O15YNQJ85MvqC+aZGA
	DGYw==
MIME-Version: 1.0
X-Received: by 10.66.246.138 with SMTP id xw10mr1944829pac.142.1406639079365; 
	Tue, 29 Jul 2014 06:04:39 -0700 (PDT)
Received: by 10.70.5.5 with HTTP; Tue, 29 Jul 2014 06:04:39 -0700 (PDT)
Received: by 10.70.5.5 with HTTP; Tue, 29 Jul 2014 06:04:39 -0700 (PDT)
In-Reply-To: <CAG4opy-tq8z70VGY4YB4_2e0r1wNys_0zZ0n2VdNT0XNgg+gUQ@mail.gmail.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<CAG4opy-tq8z70VGY4YB4_2e0r1wNys_0zZ0n2VdNT0XNgg+gUQ@mail.gmail.com>
Date: Tue, 29 Jul 2014 14:04:39 +0100
Message-ID: <CAG_esB1YVo-L1x6F8w1xxtwo0STvUwkqkx+Gu_G8w1bKd3WxJQ@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Thomas Leonard <talex5@gmail.com>, mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4008293734770449927=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============4008293734770449927==
Content-Type: multipart/alternative; boundary=047d7b15fc91a7216704ff54aee1

--047d7b15fc91a7216704ff54aee1
Content-Type: text/plain; charset=UTF-8

Hi,

Very enjoyable post!

On 29 Jul 2014 13:04, "Thomas Leonard" <talex5@gmail.com> wrote:
>
> On 7 July 2014 10:08, Thomas Leonard <talex5@gmail.com> wrote:
> > I'm writing a test Mirage service for queuing files. It's not using
> > ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
> >
>
> I did some more tests and wrote the results up here:
>
>   http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/
>
> In summary:
>
> 1. Adding a block cache helped a bit, but it was still too slow.

I think a cache would be helpful for many applications. It's always a bit
painful to disable caching on linux-- O_DIRECT doesn't always work, and
then you have to align all your buffers. I like the uncached-by-default
behaviour of Mirage, but we should make it easier to turn caching back on.

> 2. Dropping FAT and writing directly to the SD card helped a lot.

I think we should concentrate on a block backend for Irmin and label FAT as
not part of the Mirage "core". FAT will always be useful for things like
making a bootable disk image containing a kernel but it'll never be a
drop-in replacement for a modern Linux filesystem :-)

> 3. It's now fast enough for my use, but still slower than I was expecting.

It's very easy to make a small change which hammers performance. I think
I'll concentrate on writing  performance tests which can run from a CI when
I'm back.

Thanks,
Dave
>
>
> --
> Dr Thomas Leonard        http://0install.net/
> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--047d7b15fc91a7216704ff54aee1
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p dir=3D"ltr">Hi,</p>
<p dir=3D"ltr">Very enjoyable post!</p>
<p dir=3D"ltr">On 29 Jul 2014 13:04, &quot;Thomas Leonard&quot; &lt;<a href=
=3D"mailto:talex5@gmail.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On 7 July 2014 10:08, Thomas Leonard &lt;<a href=3D"mailto:talex5@gmai=
l.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt; &gt; I&#39;m writing a test Mirage service for queuing files. It&#39;s=
 not using<br>
&gt; &gt; ThomasG&#39;s merge-queues - I&#39;m just trying the low-level FS=
 stuff first.<br>
&gt; &gt;<br>
&gt;<br>
&gt; I did some more tests and wrote the results up here:<br>
&gt;<br>
&gt; =C2=A0 <a href=3D"http://roscidus.com/blog/blog/2014/07/28/my-first-un=
ikernel/">http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/</a><=
br>
&gt;<br>
&gt; In summary:<br>
&gt;<br>
&gt; 1. Adding a block cache helped a bit, but it was still too slow.</p>
<p dir=3D"ltr">I think a cache would be helpful for many applications. It&#=
39;s always a bit painful to disable caching on linux-- O_DIRECT doesn&#39;=
t always work, and then you have to align all your buffers. I like the unca=
ched-by-default behaviour of Mirage, but we should make it easier to turn c=
aching back on.</p>

<p dir=3D"ltr">&gt; 2. Dropping FAT and writing directly to the SD card hel=
ped a lot.</p>
<p dir=3D"ltr">I think we should concentrate on a block backend for Irmin a=
nd label FAT as not part of the Mirage &quot;core&quot;. FAT will always be=
 useful for things like making a bootable disk image containing a kernel bu=
t it&#39;ll never be a drop-in replacement for a modern Linux filesystem :-=
)</p>

<p dir=3D"ltr">&gt; 3. It&#39;s now fast enough for my use, but still slowe=
r than I was expecting.</p>
<p dir=3D"ltr">It&#39;s very easy to make a small change which hammers perf=
ormance. I think <br>
I&#39;ll concentrate on writing=C2=A0 performance tests which can run from =
a CI when I&#39;m back.</p>
<p dir=3D"ltr">Thanks,<br>
Dave<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Dr Thomas Leonard =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"http://0instal=
l.net/">http://0install.net/</a><br>
&gt; GPG: 9242 9807 C985 3C07 44A6 =C2=A08B9A AE07 8280 59A5 3CC1<br>
&gt; GPG: DA98 25AE CAD0 8975 7CDA =C2=A0BD8E 0713 3F96 CA74 D8BA<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; MirageOS-devel mailing list<br>
&gt; <a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@=
lists.xenproject.org</a><br>
&gt; <a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirage=
os-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-dev=
el</a></p>

--047d7b15fc91a7216704ff54aee1--


--===============4008293734770449927==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4008293734770449927==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 13:04:51 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 13:04:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XC75C-0002k2-Ky; Tue, 29 Jul 2014 13:04:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <scott.dj@gmail.com>) id 1XC75A-0002iq-Vb
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 13:04:45 +0000
Received: from [85.158.139.211:54106] by server-7.bemta-5.messagelabs.com id
	7D/69-30869-CEB97D35; Tue, 29 Jul 2014 13:04:44 +0000
X-Env-Sender: scott.dj@gmail.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1406639081!14054539!1
X-Originating-IP: [209.85.220.47]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21784 invoked from network); 29 Jul 2014 13:04:43 -0000
Received: from mail-pa0-f47.google.com (HELO mail-pa0-f47.google.com)
	(209.85.220.47)
	by server-11.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	29 Jul 2014 13:04:43 -0000
Received: by mail-pa0-f47.google.com with SMTP id kx10so12319043pab.20
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 29 Jul 2014 06:04:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=bP92/ul/9IX5QgS34j2vC2Zp+WfNZgtesaQGpOu1U34=;
	b=R0nOxHJGmgu6uxQ92MgLK5OVXWji0hGj8snfzhRDtnAjlEfi3F9aI7uuzSFAjA1Lmh
	MTdFjRO15Lgl4s00JIksk7tUetVPxLEU6XNJzHVtgVFZKZfsKN8KXDH+TqC48lIwyNre
	Hm72CAvQs2uAjzgrY4+zCqkGYSKLvru1Jz9bNN/ekjdhuanPvvdhZob4gaFXUu2e4K8P
	AvSeLGtV4A9WF9kyoSyPpzyoATe4dWLDFnwE4Va48+w4jzpVvEzcdQnMMFshMmJ3/a4C
	/1k+nTeuOsuDhG4QFFj39CGRKeidKlnq5nbq5Axs0QCkJs12w/O15YNQJ85MvqC+aZGA
	DGYw==
MIME-Version: 1.0
X-Received: by 10.66.246.138 with SMTP id xw10mr1944829pac.142.1406639079365; 
	Tue, 29 Jul 2014 06:04:39 -0700 (PDT)
Received: by 10.70.5.5 with HTTP; Tue, 29 Jul 2014 06:04:39 -0700 (PDT)
Received: by 10.70.5.5 with HTTP; Tue, 29 Jul 2014 06:04:39 -0700 (PDT)
In-Reply-To: <CAG4opy-tq8z70VGY4YB4_2e0r1wNys_0zZ0n2VdNT0XNgg+gUQ@mail.gmail.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<CAG4opy-tq8z70VGY4YB4_2e0r1wNys_0zZ0n2VdNT0XNgg+gUQ@mail.gmail.com>
Date: Tue, 29 Jul 2014 14:04:39 +0100
Message-ID: <CAG_esB1YVo-L1x6F8w1xxtwo0STvUwkqkx+Gu_G8w1bKd3WxJQ@mail.gmail.com>
From: David Scott <scott.dj@gmail.com>
To: Thomas Leonard <talex5@gmail.com>, mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4008293734770449927=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============4008293734770449927==
Content-Type: multipart/alternative; boundary=047d7b15fc91a7216704ff54aee1

--047d7b15fc91a7216704ff54aee1
Content-Type: text/plain; charset=UTF-8

Hi,

Very enjoyable post!

On 29 Jul 2014 13:04, "Thomas Leonard" <talex5@gmail.com> wrote:
>
> On 7 July 2014 10:08, Thomas Leonard <talex5@gmail.com> wrote:
> > I'm writing a test Mirage service for queuing files. It's not using
> > ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
> >
>
> I did some more tests and wrote the results up here:
>
>   http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/
>
> In summary:
>
> 1. Adding a block cache helped a bit, but it was still too slow.

I think a cache would be helpful for many applications. It's always a bit
painful to disable caching on linux-- O_DIRECT doesn't always work, and
then you have to align all your buffers. I like the uncached-by-default
behaviour of Mirage, but we should make it easier to turn caching back on.

> 2. Dropping FAT and writing directly to the SD card helped a lot.

I think we should concentrate on a block backend for Irmin and label FAT as
not part of the Mirage "core". FAT will always be useful for things like
making a bootable disk image containing a kernel but it'll never be a
drop-in replacement for a modern Linux filesystem :-)

> 3. It's now fast enough for my use, but still slower than I was expecting.

It's very easy to make a small change which hammers performance. I think
I'll concentrate on writing  performance tests which can run from a CI when
I'm back.

Thanks,
Dave
>
>
> --
> Dr Thomas Leonard        http://0install.net/
> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
>
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--047d7b15fc91a7216704ff54aee1
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p dir=3D"ltr">Hi,</p>
<p dir=3D"ltr">Very enjoyable post!</p>
<p dir=3D"ltr">On 29 Jul 2014 13:04, &quot;Thomas Leonard&quot; &lt;<a href=
=3D"mailto:talex5@gmail.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On 7 July 2014 10:08, Thomas Leonard &lt;<a href=3D"mailto:talex5@gmai=
l.com">talex5@gmail.com</a>&gt; wrote:<br>
&gt; &gt; I&#39;m writing a test Mirage service for queuing files. It&#39;s=
 not using<br>
&gt; &gt; ThomasG&#39;s merge-queues - I&#39;m just trying the low-level FS=
 stuff first.<br>
&gt; &gt;<br>
&gt;<br>
&gt; I did some more tests and wrote the results up here:<br>
&gt;<br>
&gt; =C2=A0 <a href=3D"http://roscidus.com/blog/blog/2014/07/28/my-first-un=
ikernel/">http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/</a><=
br>
&gt;<br>
&gt; In summary:<br>
&gt;<br>
&gt; 1. Adding a block cache helped a bit, but it was still too slow.</p>
<p dir=3D"ltr">I think a cache would be helpful for many applications. It&#=
39;s always a bit painful to disable caching on linux-- O_DIRECT doesn&#39;=
t always work, and then you have to align all your buffers. I like the unca=
ched-by-default behaviour of Mirage, but we should make it easier to turn c=
aching back on.</p>

<p dir=3D"ltr">&gt; 2. Dropping FAT and writing directly to the SD card hel=
ped a lot.</p>
<p dir=3D"ltr">I think we should concentrate on a block backend for Irmin a=
nd label FAT as not part of the Mirage &quot;core&quot;. FAT will always be=
 useful for things like making a bootable disk image containing a kernel bu=
t it&#39;ll never be a drop-in replacement for a modern Linux filesystem :-=
)</p>

<p dir=3D"ltr">&gt; 3. It&#39;s now fast enough for my use, but still slowe=
r than I was expecting.</p>
<p dir=3D"ltr">It&#39;s very easy to make a small change which hammers perf=
ormance. I think <br>
I&#39;ll concentrate on writing=C2=A0 performance tests which can run from =
a CI when I&#39;m back.</p>
<p dir=3D"ltr">Thanks,<br>
Dave<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Dr Thomas Leonard =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"http://0instal=
l.net/">http://0install.net/</a><br>
&gt; GPG: 9242 9807 C985 3C07 44A6 =C2=A08B9A AE07 8280 59A5 3CC1<br>
&gt; GPG: DA98 25AE CAD0 8975 7CDA =C2=A0BD8E 0713 3F96 CA74 D8BA<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; MirageOS-devel mailing list<br>
&gt; <a href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@=
lists.xenproject.org</a><br>
&gt; <a href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirage=
os-devel">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-dev=
el</a></p>

--047d7b15fc91a7216704ff54aee1--


--===============4008293734770449927==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4008293734770449927==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 18:28:28 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 18:28:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCC8O-0004M7-DV; Tue, 29 Jul 2014 18:28:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <russell.pavlicek@citrix.com>) id 1XCC8M-0004M2-OO
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 18:28:22 +0000
Received: from [193.109.254.147:16446] by server-6.bemta-14.messagelabs.com id
	0B/6E-31278-6C7E7D35; Tue, 29 Jul 2014 18:28:22 +0000
X-Env-Sender: russell.pavlicek@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1406658499!7112756!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24975 invoked from network); 29 Jul 2014 18:28:20 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 Jul 2014 18:28:20 -0000
X-IronPort-AV: E=Sophos;i="5.01,758,1400025600"; 
	d="scan'208,217";a="156883111"
Received: from sjcpex01cl02.citrite.net ([10.216.14.144])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/AES128-SHA;
	29 Jul 2014 18:28:18 +0000
Received: from SJCPEX01CL03.citrite.net ([169.254.3.218]) by
	SJCPEX01CL02.citrite.net ([10.216.14.144]) with mapi id 14.03.0181.006;
	Tue, 29 Jul 2014 11:28:18 -0700
From: Russell Pavlicek <russell.pavlicek@citrix.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Thread-Topic: Doc Day Tomorrow: Mirage V2
Thread-Index: Ac+rVyHiLi3z0XzuQDG0GbwMwplfMA==
Date: Tue, 29 Jul 2014 18:28:18 +0000
Message-ID: <55E78A57290FB64FA0D3CF672F9F3DA2724041@SJCPEX01CL03.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
MIME-Version: 1.0
Subject: [MirageOS-devel] Doc Day Tomorrow: Mirage V2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2918298911294063049=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============2918298911294063049==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_55E78A57290FB64FA0D3CF672F9F3DA2724041SJCPEX01CL03citri_"

--_000_55E78A57290FB64FA0D3CF672F9F3DA2724041SJCPEX01CL03citri_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Greetings Miragites!

Document Day for Wiki.XenProject.org is tomorrow (Wednesday).

With the release of Mirage V2, it seems to me that some basic documentation=
 of Mirage V2 should find its way into Wiki.XenProject.org. Certainly, ther=
e are some pages already assembled under the "Mirage" category, but I think=
 there is far more to be said.

After talking with Richard at OSCON, I am convinced that we need a "Why Mir=
age?" type document on the Xen Project wiki -- a document which explains wh=
y this concept of library OS/Cloud OS/unikernel should be of interest to us=
ers.  I've started a page called "Cloud Operating Systems" which tries to a=
ddress the concept at a very high level.  It would be good to see that tie =
in to a more detailed page -- although not in the technical weeds -- which =
explains why Mirage itself is worth exploring.  What problems can it solve?=
  Why should people looking at Linux Containers look at Mirage?  What curre=
nt and future scenarios will it facilitate?  Basically, something similar t=
o your "Overview of Mirage" page on your website, complete with links to yo=
ur docs, needs to be presented on our wiki.

I know many pages of excellent docs are in place on your own website, and t=
hose should stay where they are right now.  But it would be extremely usefu=
l to see some basic introductory information on the Xen Project Wiki with l=
inks to the appropriate details on the Mirage docs.  Readers of the Xen Pro=
ject Wiki should be enticed to learn more about Mirage.  Right now, we lack=
 the interesting introductory material which will draw them over to your si=
te.

If anyone is willing to pitch in tomorrow to help create a page (or pages) =
on Wiki.XenProject.org to lead folks to the Mirage docs and blogs, that wou=
ld be wonderful!

The usual Doc Day info can be found here:

http://wiki.xenproject.org/wiki/Xen_Project_Document_Days

Hope to see you tomorrow on #xendocs!

Russ Pavlicek
Xen Project Document Day Noisemaker
Home Office: +1-301-829-5327
UK VoIP: +44 1223 852 894

--_000_55E78A57290FB64FA0D3CF672F9F3DA2724041SJCPEX01CL03citri_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html dir=3D"ltr">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style id=3D"owaParaStyle" type=3D"text/css">P {margin-top:0;margin-bottom:=
0;}</style>
</head>
<body ocsi=3D"0" fpstyle=3D"1">
<div style=3D"direction: ltr;font-family: Tahoma;color: #000000;font-size: =
10pt;">Greetings Miragites!<br>
<br>
Document Day for Wiki.XenProject.org is tomorrow (Wednesday).<br>
<br>
With the release of Mirage V2, it seems to me that some basic documentation=
 of Mirage V2 should find its way into Wiki.XenProject.org. Certainly, ther=
e are some pages already assembled under the &quot;Mirage&quot; category, b=
ut I think there is far more to be said.<br>
<br>
After talking with Richard at OSCON, I am convinced that we need a &quot;Wh=
y Mirage?&quot; type document on the Xen Project wiki -- a document which e=
xplains why this concept of library OS/Cloud OS/unikernel should be of inte=
rest to users.&nbsp; I've started a page called
 &quot;Cloud Operating Systems&quot; which tries to address the concept at =
a very high level.&nbsp; It would be good to see that tie in to a more deta=
iled page -- although not in the technical weeds -- which explains why Mira=
ge itself is worth exploring.&nbsp; What problems can
 it solve?&nbsp; Why should people looking at Linux Containers look at Mira=
ge?&nbsp; What current and future scenarios will it facilitate?&nbsp; Basic=
ally, something similar to your &quot;Overview of Mirage&quot; page on your=
 website, complete with links to your docs, needs to be presented
 on our wiki.<br>
<div><br>
I know many pages of excellent docs are in place on your own website, and t=
hose should stay where they are right now.&nbsp; But it would be extremely =
useful to see some basic introductory information on the Xen Project Wiki w=
ith links to the appropriate details
 on the Mirage docs.&nbsp; Readers of the Xen Project Wiki should be entice=
d to learn more about Mirage.&nbsp; Right now, we lack the interesting intr=
oductory material which will draw them over to your site.<br>
<br>
If anyone is willing to pitch in tomorrow to help create a page (or pages) =
on Wiki.XenProject.org to lead folks to the Mirage docs and blogs, that wou=
ld be wonderful!<br>
<br>
The usual Doc Day info can be found here:<br>
<br>
<a href=3D"http://wiki.xenproject.org/wiki/Xen_Project_Document_Days" targe=
t=3D"_blank">http://wiki.xenproject.org/wiki/Xen_Project_Document_Days</a><=
br>
<br>
Hope to see you tomorrow on #xendocs!<br>
<br>
Russ Pavlicek<br>
Xen Project Document Day Noisemaker<br>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:10pt;=
">
<div class=3D"PlainText">Home Office: &#43;1-301-829-5327<br>
UK VoIP: &#43;44 1223 852 894</div>
</span></font></div>
</div>
</div>
</body>
</html>

--_000_55E78A57290FB64FA0D3CF672F9F3DA2724041SJCPEX01CL03citri_--


--===============2918298911294063049==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2918298911294063049==--


From mirageos-devel-bounces@lists.xenproject.org Tue Jul 29 18:28:28 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2014 18:28:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCC8O-0004M7-DV; Tue, 29 Jul 2014 18:28:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <russell.pavlicek@citrix.com>) id 1XCC8M-0004M2-OO
	for mirageos-devel@lists.xenproject.org; Tue, 29 Jul 2014 18:28:22 +0000
Received: from [193.109.254.147:16446] by server-6.bemta-14.messagelabs.com id
	0B/6E-31278-6C7E7D35; Tue, 29 Jul 2014 18:28:22 +0000
X-Env-Sender: russell.pavlicek@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1406658499!7112756!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24975 invoked from network); 29 Jul 2014 18:28:20 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 Jul 2014 18:28:20 -0000
X-IronPort-AV: E=Sophos;i="5.01,758,1400025600"; 
	d="scan'208,217";a="156883111"
Received: from sjcpex01cl02.citrite.net ([10.216.14.144])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/AES128-SHA;
	29 Jul 2014 18:28:18 +0000
Received: from SJCPEX01CL03.citrite.net ([169.254.3.218]) by
	SJCPEX01CL02.citrite.net ([10.216.14.144]) with mapi id 14.03.0181.006;
	Tue, 29 Jul 2014 11:28:18 -0700
From: Russell Pavlicek <russell.pavlicek@citrix.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Thread-Topic: Doc Day Tomorrow: Mirage V2
Thread-Index: Ac+rVyHiLi3z0XzuQDG0GbwMwplfMA==
Date: Tue, 29 Jul 2014 18:28:18 +0000
Message-ID: <55E78A57290FB64FA0D3CF672F9F3DA2724041@SJCPEX01CL03.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.13.112.13]
MIME-Version: 1.0
Subject: [MirageOS-devel] Doc Day Tomorrow: Mirage V2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2918298911294063049=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============2918298911294063049==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_55E78A57290FB64FA0D3CF672F9F3DA2724041SJCPEX01CL03citri_"

--_000_55E78A57290FB64FA0D3CF672F9F3DA2724041SJCPEX01CL03citri_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Greetings Miragites!

Document Day for Wiki.XenProject.org is tomorrow (Wednesday).

With the release of Mirage V2, it seems to me that some basic documentation=
 of Mirage V2 should find its way into Wiki.XenProject.org. Certainly, ther=
e are some pages already assembled under the "Mirage" category, but I think=
 there is far more to be said.

After talking with Richard at OSCON, I am convinced that we need a "Why Mir=
age?" type document on the Xen Project wiki -- a document which explains wh=
y this concept of library OS/Cloud OS/unikernel should be of interest to us=
ers.  I've started a page called "Cloud Operating Systems" which tries to a=
ddress the concept at a very high level.  It would be good to see that tie =
in to a more detailed page -- although not in the technical weeds -- which =
explains why Mirage itself is worth exploring.  What problems can it solve?=
  Why should people looking at Linux Containers look at Mirage?  What curre=
nt and future scenarios will it facilitate?  Basically, something similar t=
o your "Overview of Mirage" page on your website, complete with links to yo=
ur docs, needs to be presented on our wiki.

I know many pages of excellent docs are in place on your own website, and t=
hose should stay where they are right now.  But it would be extremely usefu=
l to see some basic introductory information on the Xen Project Wiki with l=
inks to the appropriate details on the Mirage docs.  Readers of the Xen Pro=
ject Wiki should be enticed to learn more about Mirage.  Right now, we lack=
 the interesting introductory material which will draw them over to your si=
te.

If anyone is willing to pitch in tomorrow to help create a page (or pages) =
on Wiki.XenProject.org to lead folks to the Mirage docs and blogs, that wou=
ld be wonderful!

The usual Doc Day info can be found here:

http://wiki.xenproject.org/wiki/Xen_Project_Document_Days

Hope to see you tomorrow on #xendocs!

Russ Pavlicek
Xen Project Document Day Noisemaker
Home Office: +1-301-829-5327
UK VoIP: +44 1223 852 894

--_000_55E78A57290FB64FA0D3CF672F9F3DA2724041SJCPEX01CL03citri_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html dir=3D"ltr">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style id=3D"owaParaStyle" type=3D"text/css">P {margin-top:0;margin-bottom:=
0;}</style>
</head>
<body ocsi=3D"0" fpstyle=3D"1">
<div style=3D"direction: ltr;font-family: Tahoma;color: #000000;font-size: =
10pt;">Greetings Miragites!<br>
<br>
Document Day for Wiki.XenProject.org is tomorrow (Wednesday).<br>
<br>
With the release of Mirage V2, it seems to me that some basic documentation=
 of Mirage V2 should find its way into Wiki.XenProject.org. Certainly, ther=
e are some pages already assembled under the &quot;Mirage&quot; category, b=
ut I think there is far more to be said.<br>
<br>
After talking with Richard at OSCON, I am convinced that we need a &quot;Wh=
y Mirage?&quot; type document on the Xen Project wiki -- a document which e=
xplains why this concept of library OS/Cloud OS/unikernel should be of inte=
rest to users.&nbsp; I've started a page called
 &quot;Cloud Operating Systems&quot; which tries to address the concept at =
a very high level.&nbsp; It would be good to see that tie in to a more deta=
iled page -- although not in the technical weeds -- which explains why Mira=
ge itself is worth exploring.&nbsp; What problems can
 it solve?&nbsp; Why should people looking at Linux Containers look at Mira=
ge?&nbsp; What current and future scenarios will it facilitate?&nbsp; Basic=
ally, something similar to your &quot;Overview of Mirage&quot; page on your=
 website, complete with links to your docs, needs to be presented
 on our wiki.<br>
<div><br>
I know many pages of excellent docs are in place on your own website, and t=
hose should stay where they are right now.&nbsp; But it would be extremely =
useful to see some basic introductory information on the Xen Project Wiki w=
ith links to the appropriate details
 on the Mirage docs.&nbsp; Readers of the Xen Project Wiki should be entice=
d to learn more about Mirage.&nbsp; Right now, we lack the interesting intr=
oductory material which will draw them over to your site.<br>
<br>
If anyone is willing to pitch in tomorrow to help create a page (or pages) =
on Wiki.XenProject.org to lead folks to the Mirage docs and blogs, that wou=
ld be wonderful!<br>
<br>
The usual Doc Day info can be found here:<br>
<br>
<a href=3D"http://wiki.xenproject.org/wiki/Xen_Project_Document_Days" targe=
t=3D"_blank">http://wiki.xenproject.org/wiki/Xen_Project_Document_Days</a><=
br>
<br>
Hope to see you tomorrow on #xendocs!<br>
<br>
Russ Pavlicek<br>
Xen Project Document Day Noisemaker<br>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:10pt;=
">
<div class=3D"PlainText">Home Office: &#43;1-301-829-5327<br>
UK VoIP: &#43;44 1223 852 894</div>
</span></font></div>
</div>
</div>
</body>
</html>

--_000_55E78A57290FB64FA0D3CF672F9F3DA2724041SJCPEX01CL03citri_--


--===============2918298911294063049==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============2918298911294063049==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 03:21:12 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 03:21:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCKRr-0006pZ-Cy; Wed, 30 Jul 2014 03:21:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <russell.pavlicek.xen@gmail.com>) id 1XCKRp-0006pJ-W9
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 03:21:02 +0000
Received: from [193.109.254.147:20251] by server-16.bemta-14.messagelabs.com
	id BE/72-14741-D9468D35; Wed, 30 Jul 2014 03:21:01 +0000
X-Env-Sender: russell.pavlicek.xen@gmail.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1406690459!12549280!1
X-Originating-IP: [209.85.215.49]
X-SpamReason: No, hits=2.5 required=7.0 tests=RCVD_BY_IP,
  SUSPICIOUS_RECIPS
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20163 invoked from network); 30 Jul 2014 03:21:00 -0000
Received: from mail-la0-f49.google.com (HELO mail-la0-f49.google.com)
	(209.85.215.49)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 Jul 2014 03:21:00 -0000
Received: by mail-la0-f49.google.com with SMTP id hz20so412817lab.22
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 29 Jul 2014 20:20:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:date:message-id:subject:from:to:content-type;
	bh=M40nNNPxFo/D1A/im50h5zjAeb3gbNRNBtVUKNxA9+o=;
	b=PQOKohJR050BmMrfvJSGEiVDQoWxO5OGh6JJsAEdmn1+kh4H8TjX0itMtepaunk0OT
	eNQdD7Nl20IAyOjsYHQSYEkCQM+Sw2xUrwG5GjFcGu1wbWNIXowaBchcO7wzciyZvBfX
	O+6pvNppgMV/VP9QzeMt93R8HmDlToEYWhdsgdlOUEuKS9zNGJs1uPQJZf/GczGb03og
	ImJlrzF+qMRF5+zsyO0mHbUXKjlTJfoAuD3cYFGnsioH6PgFrKfmsbPeDe50q2px4fX1
	9rFfVGVpGhJnyvKe7YxtSiakqIGqd5dClFA7Tz6KE4pdpBK55lDX+Fa2fc+jkyrX6JFW
	slsA==
MIME-Version: 1.0
X-Received: by 10.152.216.228 with SMTP id ot4mr1138165lac.40.1406690459520;
	Tue, 29 Jul 2014 20:20:59 -0700 (PDT)
Received: by 10.112.22.39 with HTTP; Tue, 29 Jul 2014 20:20:59 -0700 (PDT)
Date: Tue, 29 Jul 2014 23:20:59 -0400
X-Google-Sender-Auth: 4ekWGz4H78hRaKePXgkikAVOVk4
Message-ID: <CAHehzX3-j_Ja5DngK4Ut4V77SW1W_9kKb-aVQZ59zpX=bdMGrA@mail.gmail.com>
From: Russ Pavlicek <russell.pavlicek@xenproject.org>
To: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	mirageos-devel@lists.xenproject.org, 
	xs-devel@lists.xenserver.org, xen-api@lists.xen.org,
	xen-devel@lists.xen.org
Subject: [MirageOS-devel] Today is Xen Project Document Day!
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

As I mentioned last week, it would be great if we could include the
incomplete bits needed for the Beginner's Guide, including at least
one decent diagram and some of the missing information called out in
the Architecture section:

http://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide

And given the release of Mirage V2, I'm sure we'll want a good
overview document with links to the recent docs and blogs on the
Mirage site.

As usual, all the information you need to participate in Document Day is here:

http://wiki.xenproject.org/wiki/Xen_Document_Days

And here is the current TODO list to see other items which need attention:

http://wiki.xenproject.org/wiki/Xen_Document_Days/TODO

If you haven't requested to be made a Wiki editor, just fill out the form below:

http://xenproject.org/component/content/article/100-misc/145-request-to-be-made-a-wiki-editor.html

And then join us on #xendocs to synchronize activities.

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 03:21:12 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 03:21:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCKRr-0006pZ-Cy; Wed, 30 Jul 2014 03:21:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <russell.pavlicek.xen@gmail.com>) id 1XCKRp-0006pJ-W9
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 03:21:02 +0000
Received: from [193.109.254.147:20251] by server-16.bemta-14.messagelabs.com
	id BE/72-14741-D9468D35; Wed, 30 Jul 2014 03:21:01 +0000
X-Env-Sender: russell.pavlicek.xen@gmail.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1406690459!12549280!1
X-Originating-IP: [209.85.215.49]
X-SpamReason: No, hits=2.5 required=7.0 tests=RCVD_BY_IP,
  SUSPICIOUS_RECIPS
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20163 invoked from network); 30 Jul 2014 03:21:00 -0000
Received: from mail-la0-f49.google.com (HELO mail-la0-f49.google.com)
	(209.85.215.49)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 Jul 2014 03:21:00 -0000
Received: by mail-la0-f49.google.com with SMTP id hz20so412817lab.22
	for <mirageos-devel@lists.xenproject.org>;
	Tue, 29 Jul 2014 20:20:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:date:message-id:subject:from:to:content-type;
	bh=M40nNNPxFo/D1A/im50h5zjAeb3gbNRNBtVUKNxA9+o=;
	b=PQOKohJR050BmMrfvJSGEiVDQoWxO5OGh6JJsAEdmn1+kh4H8TjX0itMtepaunk0OT
	eNQdD7Nl20IAyOjsYHQSYEkCQM+Sw2xUrwG5GjFcGu1wbWNIXowaBchcO7wzciyZvBfX
	O+6pvNppgMV/VP9QzeMt93R8HmDlToEYWhdsgdlOUEuKS9zNGJs1uPQJZf/GczGb03og
	ImJlrzF+qMRF5+zsyO0mHbUXKjlTJfoAuD3cYFGnsioH6PgFrKfmsbPeDe50q2px4fX1
	9rFfVGVpGhJnyvKe7YxtSiakqIGqd5dClFA7Tz6KE4pdpBK55lDX+Fa2fc+jkyrX6JFW
	slsA==
MIME-Version: 1.0
X-Received: by 10.152.216.228 with SMTP id ot4mr1138165lac.40.1406690459520;
	Tue, 29 Jul 2014 20:20:59 -0700 (PDT)
Received: by 10.112.22.39 with HTTP; Tue, 29 Jul 2014 20:20:59 -0700 (PDT)
Date: Tue, 29 Jul 2014 23:20:59 -0400
X-Google-Sender-Auth: 4ekWGz4H78hRaKePXgkikAVOVk4
Message-ID: <CAHehzX3-j_Ja5DngK4Ut4V77SW1W_9kKb-aVQZ59zpX=bdMGrA@mail.gmail.com>
From: Russ Pavlicek <russell.pavlicek@xenproject.org>
To: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	mirageos-devel@lists.xenproject.org, 
	xs-devel@lists.xenserver.org, xen-api@lists.xen.org,
	xen-devel@lists.xen.org
Subject: [MirageOS-devel] Today is Xen Project Document Day!
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

As I mentioned last week, it would be great if we could include the
incomplete bits needed for the Beginner's Guide, including at least
one decent diagram and some of the missing information called out in
the Architecture section:

http://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide

And given the release of Mirage V2, I'm sure we'll want a good
overview document with links to the recent docs and blogs on the
Mirage site.

As usual, all the information you need to participate in Document Day is here:

http://wiki.xenproject.org/wiki/Xen_Document_Days

And here is the current TODO list to see other items which need attention:

http://wiki.xenproject.org/wiki/Xen_Document_Days/TODO

If you haven't requested to be made a Wiki editor, just fill out the form below:

http://xenproject.org/component/content/article/100-misc/145-request-to-be-made-a-wiki-editor.html

And then join us on #xendocs to synchronize activities.

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:18:16 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:18:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCP5O-0003Rh-WC; Wed, 30 Jul 2014 08:18:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XCP5N-0003Ra-CH
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:18:09 +0000
Received: from [193.109.254.147:14360] by server-10.bemta-14.messagelabs.com
	id 4E/23-06615-04AA8D35; Wed, 30 Jul 2014 08:18:08 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1406708285!12633696!1
X-Originating-IP: [209.85.214.177]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25785 invoked from network); 30 Jul 2014 08:18:06 -0000
Received: from mail-ob0-f177.google.com (HELO mail-ob0-f177.google.com)
	(209.85.214.177)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 Jul 2014 08:18:06 -0000
Received: by mail-ob0-f177.google.com with SMTP id wp18so294184obc.8
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 30 Jul 2014 01:18:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=edAPbTRIthD5v9g9UdsgSwpqwiksLI3gdIfpMocGSxo=;
	b=X88UYEitTzcjh92a7PaDsIO0Nk+t68ZQIhMv3FOHbNoSubFUL8Dk3TXdf8aWD419Eq
	vtMiqv9uXbJqIjvmW/oeBvrPdnfGtY++uQsQuX2Kp9bneD3AkuWEvKqR+f6QnjrzBWxt
	LVvRNG/87SClud/6oxm/JPIsVSV16IPiKsIsNsUy6q3JL6CqU76Yow5kl+AiPFD9k4EM
	F58JzEVp/6nC2iQZ9Q504oppo4ARsHdbKxxe432Zfwf0ilgjEEY+EBtrEHztR831bnKz
	L9AYiTAM4z2cZH1+RJJh0pGlUfb3yK4kJq+ETWfdwaNDAC6iLjmxhwbW+nBrnlAXabDG
	gt9g==
MIME-Version: 1.0
X-Received: by 10.60.23.39 with SMTP id j7mr3384438oef.20.1406708284789; Wed,
	30 Jul 2014 01:18:04 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 30 Jul 2014 01:18:04 -0700 (PDT)
In-Reply-To: <CAG_esB1YVo-L1x6F8w1xxtwo0STvUwkqkx+Gu_G8w1bKd3WxJQ@mail.gmail.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<CAG4opy-tq8z70VGY4YB4_2e0r1wNys_0zZ0n2VdNT0XNgg+gUQ@mail.gmail.com>
	<CAG_esB1YVo-L1x6F8w1xxtwo0STvUwkqkx+Gu_G8w1bKd3WxJQ@mail.gmail.com>
Date: Wed, 30 Jul 2014 09:18:04 +0100
Message-ID: <CAG4opy_b+P-kaqqw+FW5gsVfi7kYh9kmzuRp_gMoJkWp2bUv5w@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: David Scott <scott.dj@gmail.com>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 29 July 2014 14:04, David Scott <scott.dj@gmail.com> wrote:
> Hi,
>
> Very enjoyable post!

Thanks :-)

> On 29 Jul 2014 13:04, "Thomas Leonard" <talex5@gmail.com> wrote:
>>
>> On 7 July 2014 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>> > I'm writing a test Mirage service for queuing files. It's not using
>> > ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>> >
>>
>> I did some more tests and wrote the results up here:
>>
>>   http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/
>>
>> In summary:
>>
>> 1. Adding a block cache helped a bit, but it was still too slow.
>
> I think a cache would be helpful for many applications. It's always a bit
> painful to disable caching on linux-- O_DIRECT doesn't always work, and then
> you have to align all your buffers. I like the uncached-by-default behaviour
> of Mirage, but we should make it easier to turn caching back on.

Perhaps Mirage's block_of_file could take an argument to say whether
you want it cached. For testing, you often want caching on because
it's faster, while you want it off when benchmarking. For a real
system you might want it either way.

>> 2. Dropping FAT and writing directly to the SD card helped a lot.
>
> I think we should concentrate on a block backend for Irmin and label FAT as
> not part of the Mirage "core". FAT will always be useful for things like
> making a bootable disk image containing a kernel but it'll never be a
> drop-in replacement for a modern Linux filesystem :-)

Are there any concrete plans for this yet? A block backend for Irmin
would be ideal.

>> 3. It's now fast enough for my use, but still slower than I was expecting.
>
> It's very easy to make a small change which hammers performance. I think
> I'll concentrate on writing  performance tests which can run from a CI when
> I'm back.

That would be very useful. It might also show up places where ARM is
extra slow (e.g. x86 has optimised TCP checksumming, so perhaps we
should do something similar on ARM).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:18:16 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:18:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCP5O-0003Rh-WC; Wed, 30 Jul 2014 08:18:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XCP5N-0003Ra-CH
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:18:09 +0000
Received: from [193.109.254.147:14360] by server-10.bemta-14.messagelabs.com
	id 4E/23-06615-04AA8D35; Wed, 30 Jul 2014 08:18:08 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1406708285!12633696!1
X-Originating-IP: [209.85.214.177]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25785 invoked from network); 30 Jul 2014 08:18:06 -0000
Received: from mail-ob0-f177.google.com (HELO mail-ob0-f177.google.com)
	(209.85.214.177)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 Jul 2014 08:18:06 -0000
Received: by mail-ob0-f177.google.com with SMTP id wp18so294184obc.8
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 30 Jul 2014 01:18:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=edAPbTRIthD5v9g9UdsgSwpqwiksLI3gdIfpMocGSxo=;
	b=X88UYEitTzcjh92a7PaDsIO0Nk+t68ZQIhMv3FOHbNoSubFUL8Dk3TXdf8aWD419Eq
	vtMiqv9uXbJqIjvmW/oeBvrPdnfGtY++uQsQuX2Kp9bneD3AkuWEvKqR+f6QnjrzBWxt
	LVvRNG/87SClud/6oxm/JPIsVSV16IPiKsIsNsUy6q3JL6CqU76Yow5kl+AiPFD9k4EM
	F58JzEVp/6nC2iQZ9Q504oppo4ARsHdbKxxe432Zfwf0ilgjEEY+EBtrEHztR831bnKz
	L9AYiTAM4z2cZH1+RJJh0pGlUfb3yK4kJq+ETWfdwaNDAC6iLjmxhwbW+nBrnlAXabDG
	gt9g==
MIME-Version: 1.0
X-Received: by 10.60.23.39 with SMTP id j7mr3384438oef.20.1406708284789; Wed,
	30 Jul 2014 01:18:04 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 30 Jul 2014 01:18:04 -0700 (PDT)
In-Reply-To: <CAG_esB1YVo-L1x6F8w1xxtwo0STvUwkqkx+Gu_G8w1bKd3WxJQ@mail.gmail.com>
References: <CAG4opy8N5aij4KRUyaqfnK6dfJxF7t=frqQuJ9Jy8W=CVf=j9Q@mail.gmail.com>
	<CAG4opy-tq8z70VGY4YB4_2e0r1wNys_0zZ0n2VdNT0XNgg+gUQ@mail.gmail.com>
	<CAG_esB1YVo-L1x6F8w1xxtwo0STvUwkqkx+Gu_G8w1bKd3WxJQ@mail.gmail.com>
Date: Wed, 30 Jul 2014 09:18:04 +0100
Message-ID: <CAG4opy_b+P-kaqqw+FW5gsVfi7kYh9kmzuRp_gMoJkWp2bUv5w@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: David Scott <scott.dj@gmail.com>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Mirage questions from writing a REST service
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 29 July 2014 14:04, David Scott <scott.dj@gmail.com> wrote:
> Hi,
>
> Very enjoyable post!

Thanks :-)

> On 29 Jul 2014 13:04, "Thomas Leonard" <talex5@gmail.com> wrote:
>>
>> On 7 July 2014 10:08, Thomas Leonard <talex5@gmail.com> wrote:
>> > I'm writing a test Mirage service for queuing files. It's not using
>> > ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>> >
>>
>> I did some more tests and wrote the results up here:
>>
>>   http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/
>>
>> In summary:
>>
>> 1. Adding a block cache helped a bit, but it was still too slow.
>
> I think a cache would be helpful for many applications. It's always a bit
> painful to disable caching on linux-- O_DIRECT doesn't always work, and then
> you have to align all your buffers. I like the uncached-by-default behaviour
> of Mirage, but we should make it easier to turn caching back on.

Perhaps Mirage's block_of_file could take an argument to say whether
you want it cached. For testing, you often want caching on because
it's faster, while you want it off when benchmarking. For a real
system you might want it either way.

>> 2. Dropping FAT and writing directly to the SD card helped a lot.
>
> I think we should concentrate on a block backend for Irmin and label FAT as
> not part of the Mirage "core". FAT will always be useful for things like
> making a bootable disk image containing a kernel but it'll never be a
> drop-in replacement for a modern Linux filesystem :-)

Are there any concrete plans for this yet? A block backend for Irmin
would be ideal.

>> 3. It's now fast enough for my use, but still slower than I was expecting.
>
> It's very easy to make a small change which hammers performance. I think
> I'll concentrate on writing  performance tests which can run from a CI when
> I'm back.

That would be very useful. It might also show up places where ARM is
extra slow (e.g. x86 has optimised TCP checksumming, so perhaps we
should do something similar on ARM).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:28:43 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:28:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPFa-0004GO-2X; Wed, 30 Jul 2014 08:28:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPFZ-0004GF-FQ
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:28:41 +0000
Received: from [85.158.137.68:10365] by server-1.bemta-3.messagelabs.com id
	80/ED-30185-8BCA8D35; Wed, 30 Jul 2014 08:28:40 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-31.messagelabs.com!1406708918!10796831!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.1 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18199 invoked from network); 30 Jul 2014 08:28:38 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:28:38 -0000
Received: (qmail 16288 invoked by uid 634); 30 Jul 2014 08:28:37 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:28:36 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <55E78A57290FB64FA0D3CF672F9F3DA2724041@SJCPEX01CL03.citrite.net>
Date: Wed, 30 Jul 2014 10:28:34 +0200
Message-Id: <033D0522-500E-4AAD-9888-9BD2666FCEFD@recoil.org>
References: <55E78A57290FB64FA0D3CF672F9F3DA2724041@SJCPEX01CL03.citrite.net>
To: Russell Pavlicek <russell.pavlicek@citrix.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Doc Day Tomorrow: Mirage V2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6936272029721262248=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============6936272029721262248==
Content-Type: multipart/alternative; boundary="Apple-Mail=_CF2312E8-044D-44E1-9A60-0C9489598C48"


--Apple-Mail=_CF2312E8-044D-44E1-9A60-0C9489598C48
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

I'd love to contribute to this, but a number of us are travelling today =
(Mort and I are currently in Sweden about to deliver a tutorial in an =
hour, Dave is on vacation).  If anyone else is free, this is of course =
open to anyone to contribute.

Amir, could we get this on the agenda for the next Mirage call to have =
an organized doc push for the next regular Xen docs day? =20

In general, we need to understand how to coordinate the Xen wiki and the =
Mirage website, or else things get out of sync very fast indeed.  It =
can't be a straight copy-and-paste since the emphasis is slightly =
different between the two.

There's also the growing number of blog posts from the community about =
unikernels, and one thing we could do on the doc day is to crib some of =
the (excellent) content from there with the authors' permission and use =
that as the basis for the content.

-anil

On 29 Jul 2014, at 20:28, Russell Pavlicek <russell.pavlicek@citrix.com> =
wrote:

> Greetings Miragites!
>=20
> Document Day for Wiki.XenProject.org is tomorrow (Wednesday).
>=20
> With the release of Mirage V2, it seems to me that some basic =
documentation of Mirage V2 should find its way intoWiki.XenProject.org. =
Certainly, there are some pages already assembled under the "Mirage" =
category, but I think there is far more to be said.
>=20
> After talking with Richard at OSCON, I am convinced that we need a =
"Why Mirage?" type document on the Xen Project wiki -- a document which =
explains why this concept of library OS/Cloud OS/unikernel should be of =
interest to users.  I've started a page called "Cloud Operating Systems" =
which tries to address the concept at a very high level.  It would be =
good to see that tie in to a more detailed page -- although not in the =
technical weeds -- which explains why Mirage itself is worth exploring.  =
What problems can it solve?  Why should people looking at Linux =
Containers look at Mirage?  What current and future scenarios will it =
facilitate?  Basically, something similar to your "Overview of Mirage" =
page on your website, complete with links to your docs, needs to be =
presented on our wiki.
>=20
> I know many pages of excellent docs are in place on your own website, =
and those should stay where they are right now.  But it would be =
extremely useful to see some basic introductory information on the Xen =
Project Wiki with links to the appropriate details on the Mirage docs.  =
Readers of the Xen Project Wiki should be enticed to learn more about =
Mirage.  Right now, we lack the interesting introductory material which =
will draw them over to your site.
>=20
> If anyone is willing to pitch in tomorrow to help create a page (or =
pages) on Wiki.XenProject.org to lead folks to the Mirage docs and =
blogs, that would be wonderful!
>=20
> The usual Doc Day info can be found here:
>=20
> http://wiki.xenproject.org/wiki/Xen_Project_Document_Days
>=20
> Hope to see you tomorrow on #xendocs!
>=20
> Russ Pavlicek
> Xen Project Document Day Noisemaker
> Home Office: +1-301-829-5327
> UK VoIP: +44 1223 852 894
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_CF2312E8-044D-44E1-9A60-0C9489598C48
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I'd =
love to contribute to this, but a number of us are travelling today =
(Mort and I are currently in Sweden about to deliver a tutorial in an =
hour, Dave is on vacation). &nbsp;If anyone else is free, this is of =
course open to anyone to contribute.<div><br></div><div>Amir, could we =
get this on the agenda for the next Mirage call to have an organized doc =
push for the next regular Xen docs day? =
&nbsp;</div><div><br></div><div>In general, we need to understand how to =
coordinate the Xen wiki and the Mirage website, or else things get out =
of sync very fast indeed. &nbsp;It can't be a straight copy-and-paste =
since the emphasis is slightly different between the =
two.</div><div><br></div><div>There's also the growing number of blog =
posts from the community about unikernels, and one thing we could do on =
the doc day is to crib some of the (excellent) content from there with =
the authors' permission and use that as the basis for the =
content.</div><div><br></div><div>-anil</div><div><br><div><div>On 29 =
Jul 2014, at 20:28, Russell Pavlicek &lt;<a =
href=3D"mailto:russell.pavlicek@citrix.com">russell.pavlicek@citrix.com</a=
>&gt; wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div ocsi=3D"0" fpstyle=3D"1" style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;"><div style=3D"direction: ltr; =
font-family: Tahoma; font-size: 10pt;">Greetings =
Miragites!<br><br>Document Day for<span =
class=3D"Apple-converted-space">&nbsp;</span><a =
href=3D"http://wiki.xenproject.org/">Wiki.XenProject.org</a><span =
class=3D"Apple-converted-space">&nbsp;</span>is tomorrow =
(Wednesday).<br><br>With the release of Mirage V2, it seems to me that =
some basic documentation of Mirage V2 should find its way into<a =
href=3D"http://wiki.xenproject.org/">Wiki.XenProject.org</a>. Certainly, =
there are some pages already assembled under the "Mirage" category, but =
I think there is far more to be said.<br><br>After talking with Richard =
at OSCON, I am convinced that we need a "Why Mirage?" type document on =
the Xen Project wiki -- a document which explains why this concept of =
library OS/Cloud OS/unikernel should be of interest to users.&nbsp; I've =
started a page called "Cloud Operating Systems" which tries to address =
the concept at a very high level.&nbsp; It would be good to see that tie =
in to a more detailed page -- although not in the technical weeds -- =
which explains why Mirage itself is worth exploring.&nbsp; What problems =
can it solve?&nbsp; Why should people looking at Linux Containers look =
at Mirage?&nbsp; What current and future scenarios will it =
facilitate?&nbsp; Basically, something similar to your "Overview of =
Mirage" page on your website, complete with links to your docs, needs to =
be presented on our wiki.<br><div><br>I know many pages of excellent =
docs are in place on your own website, and those should stay where they =
are right now.&nbsp; But it would be extremely useful to see some basic =
introductory information on the Xen Project Wiki with links to the =
appropriate details on the Mirage docs.&nbsp; Readers of the Xen Project =
Wiki should be enticed to learn more about Mirage.&nbsp; Right now, we =
lack the interesting introductory material which will draw them over to =
your site.<br><br>If anyone is willing to pitch in tomorrow to help =
create a page (or pages) on<span =
class=3D"Apple-converted-space">&nbsp;</span><a =
href=3D"http://wiki.xenproject.org/">Wiki.XenProject.org</a><span =
class=3D"Apple-converted-space">&nbsp;</span>to lead folks to the Mirage =
docs and blogs, that would be wonderful!<br><br>The usual Doc Day info =
can be found here:<br><br><a =
href=3D"http://wiki.xenproject.org/wiki/Xen_Project_Document_Days" =
target=3D"_blank">http://wiki.xenproject.org/wiki/Xen_Project_Document_Day=
s</a><br><br>Hope to see you tomorrow on #xendocs!<br><br>Russ =
Pavlicek<br>Xen Project Document Day Noisemaker<br><div =
class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size: =
10pt;"><div class=3D"PlainText">Home Office: +1-301-829-5327<br>UK VoIP: =
+44 1223 852 =
894</div></span></font></div></div></div>_________________________________=
______________<br>MirageOS-devel mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br><a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>=
</div></blockquote></div><br></div></body></html>=

--Apple-Mail=_CF2312E8-044D-44E1-9A60-0C9489598C48--


--===============6936272029721262248==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6936272029721262248==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:28:43 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:28:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPFa-0004GO-2X; Wed, 30 Jul 2014 08:28:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPFZ-0004GF-FQ
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:28:41 +0000
Received: from [85.158.137.68:10365] by server-1.bemta-3.messagelabs.com id
	80/ED-30185-8BCA8D35; Wed, 30 Jul 2014 08:28:40 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-31.messagelabs.com!1406708918!10796831!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.1 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_23,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18199 invoked from network); 30 Jul 2014 08:28:38 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:28:38 -0000
Received: (qmail 16288 invoked by uid 634); 30 Jul 2014 08:28:37 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:28:36 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <55E78A57290FB64FA0D3CF672F9F3DA2724041@SJCPEX01CL03.citrite.net>
Date: Wed, 30 Jul 2014 10:28:34 +0200
Message-Id: <033D0522-500E-4AAD-9888-9BD2666FCEFD@recoil.org>
References: <55E78A57290FB64FA0D3CF672F9F3DA2724041@SJCPEX01CL03.citrite.net>
To: Russell Pavlicek <russell.pavlicek@citrix.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Doc Day Tomorrow: Mirage V2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6936272029721262248=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============6936272029721262248==
Content-Type: multipart/alternative; boundary="Apple-Mail=_CF2312E8-044D-44E1-9A60-0C9489598C48"


--Apple-Mail=_CF2312E8-044D-44E1-9A60-0C9489598C48
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

I'd love to contribute to this, but a number of us are travelling today =
(Mort and I are currently in Sweden about to deliver a tutorial in an =
hour, Dave is on vacation).  If anyone else is free, this is of course =
open to anyone to contribute.

Amir, could we get this on the agenda for the next Mirage call to have =
an organized doc push for the next regular Xen docs day? =20

In general, we need to understand how to coordinate the Xen wiki and the =
Mirage website, or else things get out of sync very fast indeed.  It =
can't be a straight copy-and-paste since the emphasis is slightly =
different between the two.

There's also the growing number of blog posts from the community about =
unikernels, and one thing we could do on the doc day is to crib some of =
the (excellent) content from there with the authors' permission and use =
that as the basis for the content.

-anil

On 29 Jul 2014, at 20:28, Russell Pavlicek <russell.pavlicek@citrix.com> =
wrote:

> Greetings Miragites!
>=20
> Document Day for Wiki.XenProject.org is tomorrow (Wednesday).
>=20
> With the release of Mirage V2, it seems to me that some basic =
documentation of Mirage V2 should find its way intoWiki.XenProject.org. =
Certainly, there are some pages already assembled under the "Mirage" =
category, but I think there is far more to be said.
>=20
> After talking with Richard at OSCON, I am convinced that we need a =
"Why Mirage?" type document on the Xen Project wiki -- a document which =
explains why this concept of library OS/Cloud OS/unikernel should be of =
interest to users.  I've started a page called "Cloud Operating Systems" =
which tries to address the concept at a very high level.  It would be =
good to see that tie in to a more detailed page -- although not in the =
technical weeds -- which explains why Mirage itself is worth exploring.  =
What problems can it solve?  Why should people looking at Linux =
Containers look at Mirage?  What current and future scenarios will it =
facilitate?  Basically, something similar to your "Overview of Mirage" =
page on your website, complete with links to your docs, needs to be =
presented on our wiki.
>=20
> I know many pages of excellent docs are in place on your own website, =
and those should stay where they are right now.  But it would be =
extremely useful to see some basic introductory information on the Xen =
Project Wiki with links to the appropriate details on the Mirage docs.  =
Readers of the Xen Project Wiki should be enticed to learn more about =
Mirage.  Right now, we lack the interesting introductory material which =
will draw them over to your site.
>=20
> If anyone is willing to pitch in tomorrow to help create a page (or =
pages) on Wiki.XenProject.org to lead folks to the Mirage docs and =
blogs, that would be wonderful!
>=20
> The usual Doc Day info can be found here:
>=20
> http://wiki.xenproject.org/wiki/Xen_Project_Document_Days
>=20
> Hope to see you tomorrow on #xendocs!
>=20
> Russ Pavlicek
> Xen Project Document Day Noisemaker
> Home Office: +1-301-829-5327
> UK VoIP: +44 1223 852 894
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--Apple-Mail=_CF2312E8-044D-44E1-9A60-0C9489598C48
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I'd =
love to contribute to this, but a number of us are travelling today =
(Mort and I are currently in Sweden about to deliver a tutorial in an =
hour, Dave is on vacation). &nbsp;If anyone else is free, this is of =
course open to anyone to contribute.<div><br></div><div>Amir, could we =
get this on the agenda for the next Mirage call to have an organized doc =
push for the next regular Xen docs day? =
&nbsp;</div><div><br></div><div>In general, we need to understand how to =
coordinate the Xen wiki and the Mirage website, or else things get out =
of sync very fast indeed. &nbsp;It can't be a straight copy-and-paste =
since the emphasis is slightly different between the =
two.</div><div><br></div><div>There's also the growing number of blog =
posts from the community about unikernels, and one thing we could do on =
the doc day is to crib some of the (excellent) content from there with =
the authors' permission and use that as the basis for the =
content.</div><div><br></div><div>-anil</div><div><br><div><div>On 29 =
Jul 2014, at 20:28, Russell Pavlicek &lt;<a =
href=3D"mailto:russell.pavlicek@citrix.com">russell.pavlicek@citrix.com</a=
>&gt; wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div ocsi=3D"0" fpstyle=3D"1" style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;"><div style=3D"direction: ltr; =
font-family: Tahoma; font-size: 10pt;">Greetings =
Miragites!<br><br>Document Day for<span =
class=3D"Apple-converted-space">&nbsp;</span><a =
href=3D"http://wiki.xenproject.org/">Wiki.XenProject.org</a><span =
class=3D"Apple-converted-space">&nbsp;</span>is tomorrow =
(Wednesday).<br><br>With the release of Mirage V2, it seems to me that =
some basic documentation of Mirage V2 should find its way into<a =
href=3D"http://wiki.xenproject.org/">Wiki.XenProject.org</a>. Certainly, =
there are some pages already assembled under the "Mirage" category, but =
I think there is far more to be said.<br><br>After talking with Richard =
at OSCON, I am convinced that we need a "Why Mirage?" type document on =
the Xen Project wiki -- a document which explains why this concept of =
library OS/Cloud OS/unikernel should be of interest to users.&nbsp; I've =
started a page called "Cloud Operating Systems" which tries to address =
the concept at a very high level.&nbsp; It would be good to see that tie =
in to a more detailed page -- although not in the technical weeds -- =
which explains why Mirage itself is worth exploring.&nbsp; What problems =
can it solve?&nbsp; Why should people looking at Linux Containers look =
at Mirage?&nbsp; What current and future scenarios will it =
facilitate?&nbsp; Basically, something similar to your "Overview of =
Mirage" page on your website, complete with links to your docs, needs to =
be presented on our wiki.<br><div><br>I know many pages of excellent =
docs are in place on your own website, and those should stay where they =
are right now.&nbsp; But it would be extremely useful to see some basic =
introductory information on the Xen Project Wiki with links to the =
appropriate details on the Mirage docs.&nbsp; Readers of the Xen Project =
Wiki should be enticed to learn more about Mirage.&nbsp; Right now, we =
lack the interesting introductory material which will draw them over to =
your site.<br><br>If anyone is willing to pitch in tomorrow to help =
create a page (or pages) on<span =
class=3D"Apple-converted-space">&nbsp;</span><a =
href=3D"http://wiki.xenproject.org/">Wiki.XenProject.org</a><span =
class=3D"Apple-converted-space">&nbsp;</span>to lead folks to the Mirage =
docs and blogs, that would be wonderful!<br><br>The usual Doc Day info =
can be found here:<br><br><a =
href=3D"http://wiki.xenproject.org/wiki/Xen_Project_Document_Days" =
target=3D"_blank">http://wiki.xenproject.org/wiki/Xen_Project_Document_Day=
s</a><br><br>Hope to see you tomorrow on #xendocs!<br><br>Russ =
Pavlicek<br>Xen Project Document Day Noisemaker<br><div =
class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size: =
10pt;"><div class=3D"PlainText">Home Office: +1-301-829-5327<br>UK VoIP: =
+44 1223 852 =
894</div></span></font></div></div></div>_________________________________=
______________<br>MirageOS-devel mailing list<br><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org">MirageOS-devel@lists.x=
enproject.org</a><br><a =
href=3D"http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-deve=
l">http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel</a>=
</div></blockquote></div><br></div></body></html>=

--Apple-Mail=_CF2312E8-044D-44E1-9A60-0C9489598C48--


--===============6936272029721262248==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============6936272029721262248==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:33:07 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:33:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPJr-0004Tu-1Q; Wed, 30 Jul 2014 08:33:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPJp-0004Tl-Rs
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:33:06 +0000
Received: from [85.158.137.68:39394] by server-11.bemta-3.messagelabs.com id
	41/B2-04507-1CDA8D35; Wed, 30 Jul 2014 08:33:05 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-31.messagelabs.com!1406709183!10797986!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12773 invoked from network); 30 Jul 2014 08:33:03 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:33:03 -0000
Received: (qmail 6087 invoked by uid 634); 30 Jul 2014 08:33:03 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:33:00 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
Date: Wed, 30 Jul 2014 10:32:58 +0200
Message-Id: <581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
To: buzz heavyyear <buzzheavyyear@hotmail.com>,
 Adam Wick <awick@galois.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.

It would be very useful to have this libvirt guide on the Mirage website as well, if you'd like to contribute it there.  Just checkout mirage/mirage-www and add a file in tmpl/wiki (and an entry in src/data.ml) and you should be good to go.  We can iterate on the details later (I plan to try it next week when I'm back in Cambridge, but others can pipe up if they get a chance to experiment with libvirt).

This is also useful for other unikernels like HalVM that also need a convenient way to be managed on a Xen host (Ccing Adam Wick who might be interested).

-anil

On 29 Jul 2014, at 12:27, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:

> Hope this is useful to somebody. It ended up being a bit of a journey as the packaged version of the arm libvirt didn't include the xen driver. First part cribbed from Thomas's cubieboard build instructions.
> 
> 
> 
> 
> http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2
> http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2
> 
> 1. Download and unpack the image for your board.
> 
> 2. Copy to the SDcard, e.g.
> dd if=cubie.img of=/dev/mmcblk0
> 
> 3. Boot the device. It should get an IP address by DHCP.
> 
> The devices announce a .local name using mDNS, so you should be able to ssh to $BOARD.local
> 4. ssh mirage@cubieboard2.local.
> 
> 
> To change hostname of the cubieboard:
> 
> 1. edit /etc/hosts
> 127.0.1.1       newname
> 
> 2. edit /etc/hostname
> newname
> 
> To change the cubieboard to get a static ip address:
> 
> 1. edit /etc/network/interfaces and update with:
> 
> //
> auto lo
> iface lo inet loopback
> 
> auto eth0
> iface eth0 inet manual
>   up ip link set eth0 up
> 
> auto br0
> iface br0 inet static
>   bridge_ports eth0
>   address 192.168.1.11
>   broadcast 192.168.1.255
>   netmask 255.255.255.0
>   gateway 192.168.1.254
> //
> 
> reboot
> 
> To set up ssh:
> 
> 1. ssh mirage@192.168.1.11 (password: mirage)
> 
> 2. ssh-keygen
> 
> 3. logout (ctrl-d)
> 
> 4. scp ~/.ssh/id_rsa.pub mirage@192.168.1.11:.ssh/authorized_keys
> 
> 5. ssh  mirage@192.168.1.11
> 
> 6. chmod 700 ~/.ssh
> 
> 7. chmod 600 ~/.ssh/authorized_keys
> 
> You should now have a working Xen host ("xl list" to list current VMs, "lvcreate" to create guest disks).
> 
> To install the ARM version of mirage:
> 
> 1. opam init
> 
> 2. opam install mirage-xen-minios
> 
> 3. opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
> 
> 4. opam pin mirage-xen https://github.com/mirage/mirage-platform
> 
> 5. opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
> 
> 6. opam install mirage
> 
> (You should now be able to follow the rest of the Mirage tutorial:)
> 
> To install libvirt (the precompiled version doesn't contain the drivers for xen):
> 
> 1. sudo apt-get install uuid-dev libxml2-dev libdevmapper-dev libpciaccess-dev libnl-dev libxen-dev libgnutls-dev
> 
> 2. download a release tarball from libvirt.org (I used 1.2.6) (download to local machine, decompress, scp libvirt-1.2.6.tar mirage@cubieboard2:
> 
> 3. ssh mirage@cubieboard2; tar xf libvirt-1.2.6.tar; rm libvirt-1.2.6.tar; cd libvirt-1.2.6
> 
> 3. ./configure --prefix=/usr --localstatedir=/var  --sysconfdir=/etc --with-xen --with-qemu=no --with-gnutls --with-uml=no --with-openvz=no --with-vmware=no --with-phyp=no --with-xenapi=no --with-libxl=yes --with-vbox=no --with-lxc=no --with-esx=no  --with-hyperv=no --with-parallels=no --with-init-script=upstart
> 
> 4. make
> 
> 5. sudo make install
> 
> 6. Add the two scripts (below, if they don't already exist) to /etc/init.d/libvirt-bin and /etc/default/libvirt-bin
> 
> 6. Ensure that /etc/default/libvirt-bin has '-l' to libvirtd_opts
> 
> 7. Follow the instructions in http://wiki.libvirt.org/page/TLSSetup in install tls on the cubieboards and admin machine
> 
> 8. cd /etc/rc5.d
>    sudo ln -s ../init.d/libvirt-bin S22libvirt-bin
> 
> 9. cd /etc/rc6.d
>    sudo ln -s ../init.d/libvirt-bin K19libvirt-bin
>    sudo  update-rc.d libvirt-bin defaults
>    sudo service libvirt-bin start
> 
> 10. Reboot the board
> 
> 11. From the admin machine, edit /etc/hosts and add the cubieboardd addresses and names so that (a) the names are resolvable and (b) matches the name on the certificates
> 
> ie.
> 192.168.1.10 cubieboard2
> 
> Test that the admin machine can talk to the cubieboard:
> 
> 1. sudo virsh -c xen://cubieboard2/system hostname
> 
> ..... and you should get 'cubieboard2' returned, if not, ssh to the cubieboard and check/restart the daemon (sudo service libvirt-bin start)
> 
> 
> To set up the admin machine to ensure another user (instead of root) can run virsh commands:
> 
> On the admin machine
> 
> 1. Add the user to the libvirt group (on older releases of libvirt, this group is sometimes 'libvirtd')
> 
> 2. Ensure that the clientcert.pem and clientkey.pem in /etc/pki/libvirt belong to the libvirt group, ie:
> sudo chgrp libvirt /etc/pki/libvirt/clientcert.pem
> sudo chmod 440 /etc/pki/libvirt/clientcert.pem
> sudo chgrp libvirt /etc/pki/libvirt/private/clientkey.pem
> sudo chmod 440 /etc/pki/libvirt/private/clientkey.pem
> 
> 3. Edit /etc/libvirt/libvirtd.conf and ensure unix_sock_group, unix_sock_ro_perms, unix_sock_rw_perms are uncommented, allowing users in the libvirt(d) group to use tls, ie
> unix_sock_group = "libvirt"
> unix_sock_ro_perms = "0777"
> unix_sock_rw_perms = "0770"
> 
> On the cubieboard
> 
> 4. ssh into the cubieboard and create a user which matches the 'admin' user ( - 'nick' in my case),
> sudo adduser 'username'
> 
> 5. create a 'libvirt' group if one doesn't already exist
> sudo addgroup libvirt
> 
> 6. add the admin user to the libvirt group
> sudo adduser 'username' libvirt
> 
> 7. reboot
> 
> 
> The cubieboard should now be accessible remotely from a non-root account.
> 
> Clone the mirage example mirage-skeleton/xen/static_website+ip 
> 
> Compile the example (this currently needs to be built on a cubieboard), and then edit www.xl. Change the ipaddress, gateway etc. to suit, and then run the virsh 'domxml-from-native' translator to get the xml file required for deployment 
> 
> virsh -c xen:/// domxml-from-native xen-xm www.xl > www.xml
> 
> virsh -c xen://cubie0/system create www.xml
> 
> ---------------------------------------------------------------
> 
> /etc/default/libvirt-bin
> ------------------------
> 
> # Defaults for libvirt-bin initscript (/etc/init.d/libvirt-bin)
> # This is a POSIX shell fragment
> 
> # Start libvirtd to handle qemu/kvm:
> start_libvirtd="yes"
> 
> # options passed to libvirtd, add "-l" to listen on tcp
> libvirtd_opts="-d -l"
> 
> # pass in location of kerberos keytab
> #export KRB5_KTNAME=/etc/libvirt/libvirt.keytab
> 
> 
> 
> ----------------------------------------------------------------
> 
> 
> 
> /etc/init.d/libvirt-bin
> -----------------------
> 
> #! /bin/sh
> #
> # Init script for libvirtd
> #
> # (c) 2007 Guido Guenther <agx@sigxcpu.org>
> # based on the skeletons that comes with dh_make
> #
> ### BEGIN INIT INFO
> # Provides:          libvirt-bin libvirtd
> # Required-Start:    $network $local_fs $remote_fs $syslog
> # Required-Stop:     $local_fs $remote_fs $syslog
> # Should-Start:      hal avahi cgconfig
> # Should-Stop:       hal avahi cgconfig
> # Default-Start:     2 3 4 5
> # Default-Stop:      0 1 6
> # Short-Description: libvirt management daemon
> ### END INIT INFO
> 
> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
> DAEMON=/usr/sbin/libvirtd
> NAME=libvirtd
> DESC="libvirt management daemon"
> export PATH
> 
> test -x $DAEMON || exit 0
> . /lib/lsb/init-functions
> 
> PIDFILE=/var/run/$NAME.pid
> DODTIME=1                   # Time to wait for the server to die, in seconds
> 
> # Include libvirtd defaults if available
> if [ -f /etc/default/libvirt-bin ] ; then
>     . /etc/default/libvirt-bin
> fi
> 
> check_start_libvirtd_option() {
>   if [ ! "$start_libvirtd" = "yes" ]; then
>     log_warning_msg "Not starting libvirt management daemon libvirtd, disabled via /etc/default/libvirt-bin"
>     return 1
>   else
>     return 0
>   fi
> }
> 
> running_pid()
> {
>     # Check if a given process pid's cmdline matches a given name
>     pid=$1
>     name=$2
>     [ -z "$pid" ] && return 1 
>     [ ! -d /proc/$pid ] &&  return 1
>     cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
>     # Is this the expected child?
>     [ "$cmd" != "$name" ] &&  return 1
>     return 0
> }
> 
> running()
> {
> # Check if the process is running looking at /proc
> # (works for all users)
>     # No pidfile, probably no daemon present
>     [ ! -f "$PIDFILE" ] && return 1
>     # Obtain the pid and check it against the binary name
>     pid=`cat $PIDFILE`
>     running_pid $pid $DAEMON || return 1
>     return 0
> }
> 
> force_stop() {
> # Forcefully kill the process
>     [ ! -f "$PIDFILE" ] && return
>     if running ; then
>         kill -15 $pid
>         # Is it really dead?
>         [ -n "$DODTIME" ] && sleep "$DODTIME"s
>         if running ; then
>             kill -9 $pid
>             [ -n "$DODTIME" ] && sleep "$DODTIME"s
>             if running ; then
>                 echo "Cannot kill $LABEL (pid=$pid)!"
>                 exit 1
>             fi
>         fi
>     fi
>     rm -f $PIDFILE
>     return 0
> }
> 
> case "$1" in
>   start)
>     if check_start_libvirtd_option; then
>         log_daemon_msg "Starting $DESC" "$NAME"
>             if running ;  then
>                     log_progress_msg "already running"
>                     log_end_msg 0
>                     exit 0
>             fi
>         rm -f /var/run/libvirtd.pid
>         start-stop-daemon --start --quiet --pidfile $PIDFILE \
>             --exec $DAEMON -- $libvirtd_opts
>         if running; then
>             log_end_msg 0
>         else
>             log_end_msg 1
>         fi
>     fi
>     ;;
>   stop)
>     log_daemon_msg "Stopping $DESC" "$NAME"
>     if ! running ;  then
>                log_progress_msg "not running"
>                 log_end_msg 0
>                 exit 0
>            fi
>     start-stop-daemon --stop --quiet --pidfile $PIDFILE \
>         --exec $DAEMON
>     log_end_msg 0
>     ;;
>   force-stop)
>     log_daemon_msg "Forcefully stopping $DESC" "$NAME"
>     force_stop
>     if ! running; then
>         log_end_msg 0
>     else
>         log_end_msg 1
>     fi
>     ;;
>   restart)
>     if check_start_libvirtd_option; then
>         log_daemon_msg "Restarting $DESC" "$DAEMON"
>         start-stop-daemon --oknodo --stop --quiet --pidfile \
>             /var/run/$NAME.pid --exec $DAEMON
>         [ -n "$DODTIME" ] && sleep $DODTIME
>         start-stop-daemon --start --quiet --pidfile \
>             /var/run/$NAME.pid --exec $DAEMON -- $libvirtd_opts
>         if running; then
>             log_end_msg 0
>         else
>             log_end_msg 1
>         fi
>     fi
>     ;;
>   reload|force-reload)
>       if running; then
>             log_daemon_msg "Reloading configuration of $DESC" "$NAME"
>         start-stop-daemon --stop --signal 1 --quiet --pidfile \
>                  /var/run/$NAME.pid --exec $DAEMON
>         log_end_msg 0
>     else
>             log_warning_msg "libvirtd not running, doing nothing."
>     fi
>     ;;
>   status)
>         log_daemon_msg "Checking status of $DESC" "$NAME"
>         if running ;  then
>             log_progress_msg "running"
>             log_end_msg 0
>         else
>             log_progress_msg "not running"
>             log_end_msg 1
>             if [ -f "$PIDFILE" ] ; then
>                 exit 1
>             else
>                 exit 3
>             fi
>     fi
>     ;;
>   *)
>     N=/etc/init.d/libvirt-bin
>     echo "Usage: $N {start|stop|restart|reload|force-reload|status|force-stop}" >&2
>     exit 1
>     ;;
> esac
> 
> exit 0
> 
> ----------------------------------------------------------------
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:33:07 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:33:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPJr-0004Tu-1Q; Wed, 30 Jul 2014 08:33:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPJp-0004Tl-Rs
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:33:06 +0000
Received: from [85.158.137.68:39394] by server-11.bemta-3.messagelabs.com id
	41/B2-04507-1CDA8D35; Wed, 30 Jul 2014 08:33:05 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-11.tower-31.messagelabs.com!1406709183!10797986!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12773 invoked from network); 30 Jul 2014 08:33:03 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-11.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:33:03 -0000
Received: (qmail 6087 invoked by uid 634); 30 Jul 2014 08:33:03 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:33:00 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
Date: Wed, 30 Jul 2014 10:32:58 +0200
Message-Id: <581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
To: buzz heavyyear <buzzheavyyear@hotmail.com>,
 Adam Wick <awick@galois.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.

It would be very useful to have this libvirt guide on the Mirage website as well, if you'd like to contribute it there.  Just checkout mirage/mirage-www and add a file in tmpl/wiki (and an entry in src/data.ml) and you should be good to go.  We can iterate on the details later (I plan to try it next week when I'm back in Cambridge, but others can pipe up if they get a chance to experiment with libvirt).

This is also useful for other unikernels like HalVM that also need a convenient way to be managed on a Xen host (Ccing Adam Wick who might be interested).

-anil

On 29 Jul 2014, at 12:27, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:

> Hope this is useful to somebody. It ended up being a bit of a journey as the packaged version of the arm libvirt didn't include the xen driver. First part cribbed from Thomas's cubieboard build instructions.
> 
> 
> 
> 
> http://blobs.openmirage.org/cubieboard2-xen-iso.tar.bz2
> http://blobs.openmirage.org/cubietruck-xen-iso.tar.bz2
> 
> 1. Download and unpack the image for your board.
> 
> 2. Copy to the SDcard, e.g.
> dd if=cubie.img of=/dev/mmcblk0
> 
> 3. Boot the device. It should get an IP address by DHCP.
> 
> The devices announce a .local name using mDNS, so you should be able to ssh to $BOARD.local
> 4. ssh mirage@cubieboard2.local.
> 
> 
> To change hostname of the cubieboard:
> 
> 1. edit /etc/hosts
> 127.0.1.1       newname
> 
> 2. edit /etc/hostname
> newname
> 
> To change the cubieboard to get a static ip address:
> 
> 1. edit /etc/network/interfaces and update with:
> 
> //
> auto lo
> iface lo inet loopback
> 
> auto eth0
> iface eth0 inet manual
>   up ip link set eth0 up
> 
> auto br0
> iface br0 inet static
>   bridge_ports eth0
>   address 192.168.1.11
>   broadcast 192.168.1.255
>   netmask 255.255.255.0
>   gateway 192.168.1.254
> //
> 
> reboot
> 
> To set up ssh:
> 
> 1. ssh mirage@192.168.1.11 (password: mirage)
> 
> 2. ssh-keygen
> 
> 3. logout (ctrl-d)
> 
> 4. scp ~/.ssh/id_rsa.pub mirage@192.168.1.11:.ssh/authorized_keys
> 
> 5. ssh  mirage@192.168.1.11
> 
> 6. chmod 700 ~/.ssh
> 
> 7. chmod 600 ~/.ssh/authorized_keys
> 
> You should now have a working Xen host ("xl list" to list current VMs, "lvcreate" to create guest disks).
> 
> To install the ARM version of mirage:
> 
> 1. opam init
> 
> 2. opam install mirage-xen-minios
> 
> 3. opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
> 
> 4. opam pin mirage-xen https://github.com/mirage/mirage-platform
> 
> 5. opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
> 
> 6. opam install mirage
> 
> (You should now be able to follow the rest of the Mirage tutorial:)
> 
> To install libvirt (the precompiled version doesn't contain the drivers for xen):
> 
> 1. sudo apt-get install uuid-dev libxml2-dev libdevmapper-dev libpciaccess-dev libnl-dev libxen-dev libgnutls-dev
> 
> 2. download a release tarball from libvirt.org (I used 1.2.6) (download to local machine, decompress, scp libvirt-1.2.6.tar mirage@cubieboard2:
> 
> 3. ssh mirage@cubieboard2; tar xf libvirt-1.2.6.tar; rm libvirt-1.2.6.tar; cd libvirt-1.2.6
> 
> 3. ./configure --prefix=/usr --localstatedir=/var  --sysconfdir=/etc --with-xen --with-qemu=no --with-gnutls --with-uml=no --with-openvz=no --with-vmware=no --with-phyp=no --with-xenapi=no --with-libxl=yes --with-vbox=no --with-lxc=no --with-esx=no  --with-hyperv=no --with-parallels=no --with-init-script=upstart
> 
> 4. make
> 
> 5. sudo make install
> 
> 6. Add the two scripts (below, if they don't already exist) to /etc/init.d/libvirt-bin and /etc/default/libvirt-bin
> 
> 6. Ensure that /etc/default/libvirt-bin has '-l' to libvirtd_opts
> 
> 7. Follow the instructions in http://wiki.libvirt.org/page/TLSSetup in install tls on the cubieboards and admin machine
> 
> 8. cd /etc/rc5.d
>    sudo ln -s ../init.d/libvirt-bin S22libvirt-bin
> 
> 9. cd /etc/rc6.d
>    sudo ln -s ../init.d/libvirt-bin K19libvirt-bin
>    sudo  update-rc.d libvirt-bin defaults
>    sudo service libvirt-bin start
> 
> 10. Reboot the board
> 
> 11. From the admin machine, edit /etc/hosts and add the cubieboardd addresses and names so that (a) the names are resolvable and (b) matches the name on the certificates
> 
> ie.
> 192.168.1.10 cubieboard2
> 
> Test that the admin machine can talk to the cubieboard:
> 
> 1. sudo virsh -c xen://cubieboard2/system hostname
> 
> ..... and you should get 'cubieboard2' returned, if not, ssh to the cubieboard and check/restart the daemon (sudo service libvirt-bin start)
> 
> 
> To set up the admin machine to ensure another user (instead of root) can run virsh commands:
> 
> On the admin machine
> 
> 1. Add the user to the libvirt group (on older releases of libvirt, this group is sometimes 'libvirtd')
> 
> 2. Ensure that the clientcert.pem and clientkey.pem in /etc/pki/libvirt belong to the libvirt group, ie:
> sudo chgrp libvirt /etc/pki/libvirt/clientcert.pem
> sudo chmod 440 /etc/pki/libvirt/clientcert.pem
> sudo chgrp libvirt /etc/pki/libvirt/private/clientkey.pem
> sudo chmod 440 /etc/pki/libvirt/private/clientkey.pem
> 
> 3. Edit /etc/libvirt/libvirtd.conf and ensure unix_sock_group, unix_sock_ro_perms, unix_sock_rw_perms are uncommented, allowing users in the libvirt(d) group to use tls, ie
> unix_sock_group = "libvirt"
> unix_sock_ro_perms = "0777"
> unix_sock_rw_perms = "0770"
> 
> On the cubieboard
> 
> 4. ssh into the cubieboard and create a user which matches the 'admin' user ( - 'nick' in my case),
> sudo adduser 'username'
> 
> 5. create a 'libvirt' group if one doesn't already exist
> sudo addgroup libvirt
> 
> 6. add the admin user to the libvirt group
> sudo adduser 'username' libvirt
> 
> 7. reboot
> 
> 
> The cubieboard should now be accessible remotely from a non-root account.
> 
> Clone the mirage example mirage-skeleton/xen/static_website+ip 
> 
> Compile the example (this currently needs to be built on a cubieboard), and then edit www.xl. Change the ipaddress, gateway etc. to suit, and then run the virsh 'domxml-from-native' translator to get the xml file required for deployment 
> 
> virsh -c xen:/// domxml-from-native xen-xm www.xl > www.xml
> 
> virsh -c xen://cubie0/system create www.xml
> 
> ---------------------------------------------------------------
> 
> /etc/default/libvirt-bin
> ------------------------
> 
> # Defaults for libvirt-bin initscript (/etc/init.d/libvirt-bin)
> # This is a POSIX shell fragment
> 
> # Start libvirtd to handle qemu/kvm:
> start_libvirtd="yes"
> 
> # options passed to libvirtd, add "-l" to listen on tcp
> libvirtd_opts="-d -l"
> 
> # pass in location of kerberos keytab
> #export KRB5_KTNAME=/etc/libvirt/libvirt.keytab
> 
> 
> 
> ----------------------------------------------------------------
> 
> 
> 
> /etc/init.d/libvirt-bin
> -----------------------
> 
> #! /bin/sh
> #
> # Init script for libvirtd
> #
> # (c) 2007 Guido Guenther <agx@sigxcpu.org>
> # based on the skeletons that comes with dh_make
> #
> ### BEGIN INIT INFO
> # Provides:          libvirt-bin libvirtd
> # Required-Start:    $network $local_fs $remote_fs $syslog
> # Required-Stop:     $local_fs $remote_fs $syslog
> # Should-Start:      hal avahi cgconfig
> # Should-Stop:       hal avahi cgconfig
> # Default-Start:     2 3 4 5
> # Default-Stop:      0 1 6
> # Short-Description: libvirt management daemon
> ### END INIT INFO
> 
> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
> DAEMON=/usr/sbin/libvirtd
> NAME=libvirtd
> DESC="libvirt management daemon"
> export PATH
> 
> test -x $DAEMON || exit 0
> . /lib/lsb/init-functions
> 
> PIDFILE=/var/run/$NAME.pid
> DODTIME=1                   # Time to wait for the server to die, in seconds
> 
> # Include libvirtd defaults if available
> if [ -f /etc/default/libvirt-bin ] ; then
>     . /etc/default/libvirt-bin
> fi
> 
> check_start_libvirtd_option() {
>   if [ ! "$start_libvirtd" = "yes" ]; then
>     log_warning_msg "Not starting libvirt management daemon libvirtd, disabled via /etc/default/libvirt-bin"
>     return 1
>   else
>     return 0
>   fi
> }
> 
> running_pid()
> {
>     # Check if a given process pid's cmdline matches a given name
>     pid=$1
>     name=$2
>     [ -z "$pid" ] && return 1 
>     [ ! -d /proc/$pid ] &&  return 1
>     cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
>     # Is this the expected child?
>     [ "$cmd" != "$name" ] &&  return 1
>     return 0
> }
> 
> running()
> {
> # Check if the process is running looking at /proc
> # (works for all users)
>     # No pidfile, probably no daemon present
>     [ ! -f "$PIDFILE" ] && return 1
>     # Obtain the pid and check it against the binary name
>     pid=`cat $PIDFILE`
>     running_pid $pid $DAEMON || return 1
>     return 0
> }
> 
> force_stop() {
> # Forcefully kill the process
>     [ ! -f "$PIDFILE" ] && return
>     if running ; then
>         kill -15 $pid
>         # Is it really dead?
>         [ -n "$DODTIME" ] && sleep "$DODTIME"s
>         if running ; then
>             kill -9 $pid
>             [ -n "$DODTIME" ] && sleep "$DODTIME"s
>             if running ; then
>                 echo "Cannot kill $LABEL (pid=$pid)!"
>                 exit 1
>             fi
>         fi
>     fi
>     rm -f $PIDFILE
>     return 0
> }
> 
> case "$1" in
>   start)
>     if check_start_libvirtd_option; then
>         log_daemon_msg "Starting $DESC" "$NAME"
>             if running ;  then
>                     log_progress_msg "already running"
>                     log_end_msg 0
>                     exit 0
>             fi
>         rm -f /var/run/libvirtd.pid
>         start-stop-daemon --start --quiet --pidfile $PIDFILE \
>             --exec $DAEMON -- $libvirtd_opts
>         if running; then
>             log_end_msg 0
>         else
>             log_end_msg 1
>         fi
>     fi
>     ;;
>   stop)
>     log_daemon_msg "Stopping $DESC" "$NAME"
>     if ! running ;  then
>                log_progress_msg "not running"
>                 log_end_msg 0
>                 exit 0
>            fi
>     start-stop-daemon --stop --quiet --pidfile $PIDFILE \
>         --exec $DAEMON
>     log_end_msg 0
>     ;;
>   force-stop)
>     log_daemon_msg "Forcefully stopping $DESC" "$NAME"
>     force_stop
>     if ! running; then
>         log_end_msg 0
>     else
>         log_end_msg 1
>     fi
>     ;;
>   restart)
>     if check_start_libvirtd_option; then
>         log_daemon_msg "Restarting $DESC" "$DAEMON"
>         start-stop-daemon --oknodo --stop --quiet --pidfile \
>             /var/run/$NAME.pid --exec $DAEMON
>         [ -n "$DODTIME" ] && sleep $DODTIME
>         start-stop-daemon --start --quiet --pidfile \
>             /var/run/$NAME.pid --exec $DAEMON -- $libvirtd_opts
>         if running; then
>             log_end_msg 0
>         else
>             log_end_msg 1
>         fi
>     fi
>     ;;
>   reload|force-reload)
>       if running; then
>             log_daemon_msg "Reloading configuration of $DESC" "$NAME"
>         start-stop-daemon --stop --signal 1 --quiet --pidfile \
>                  /var/run/$NAME.pid --exec $DAEMON
>         log_end_msg 0
>     else
>             log_warning_msg "libvirtd not running, doing nothing."
>     fi
>     ;;
>   status)
>         log_daemon_msg "Checking status of $DESC" "$NAME"
>         if running ;  then
>             log_progress_msg "running"
>             log_end_msg 0
>         else
>             log_progress_msg "not running"
>             log_end_msg 1
>             if [ -f "$PIDFILE" ] ; then
>                 exit 1
>             else
>                 exit 3
>             fi
>     fi
>     ;;
>   *)
>     N=/etc/init.d/libvirt-bin
>     echo "Usage: $N {start|stop|restart|reload|force-reload|status|force-stop}" >&2
>     exit 1
>     ;;
> esac
> 
> exit 0
> 
> ----------------------------------------------------------------
> 
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:35:24 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:35:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPM4-0004Xz-98; Wed, 30 Jul 2014 08:35:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPM2-0004Xu-G0
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:35:22 +0000
Received: from [85.158.137.68:49981] by server-6.bemta-3.messagelabs.com id
	18/61-29521-94EA8D35; Wed, 30 Jul 2014 08:35:21 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-31.messagelabs.com!1406709320!10778266!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_23,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11005 invoked from network); 30 Jul 2014 08:35:20 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:35:20 -0000
Received: (qmail 24829 invoked by uid 634); 30 Jul 2014 08:35:17 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:35:13 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy8joK=v9ikO+zMDwD+2vGvuUb=DxaSfNrDfjsAsKhKjDg@mail.gmail.com>
Date: Wed, 30 Jul 2014 10:35:11 +0200
Message-Id: <B687BEF7-CC21-4A0F-B69A-F2E857B4CF26@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
	<DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
	<CAG4opy8joK=v9ikO+zMDwD+2vGvuUb=DxaSfNrDfjsAsKhKjDg@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I believe this should be fixed by pinning cohttp and mirage-http to HEAD,
as there was a minor dependency issue that caused the extra Unix libraries
to be pulled in the OS-independent Lwt version.

opam pin cohttp git://github.com/mirage/ocaml-cohttp
opam pin mirage-http git://github.com/mirage/mirage-http

We need far too many pins on ARM at the moment and should cut some releases.
Thomas: is the checksum tree in an ok state to send a pull req for?
I'm going to sort out cohttp at a high priority when I'm done with today's
tutorial.

-anil

On 29 Jul 2014, at 12:03, Thomas Leonard <talex5@gmail.com> wrote:

> On 29 July 2014 10:59, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
>> Still having problems with this. I'm building static_website+ip via ssh on
>> the cubieboard and the build complains of not having libssl, libpthread and
>> libssl, even though the libraries are installed (checked via apt-find and
>> apt-get).
>> 
>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ mirage configure
>> --xen
>> Mirage      Using scanned config file: config.ml
>> Mirage      Processing:
>> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
>> Mirage      => rm -rf
>> /home/mirage/mirage-skeleton/xen/static_website+ip/_build/config.*
>> Mirage      => cd /home/mirage/mirage-skeleton/xen/static_website+ip &&
>> ocamlbuild -use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs
>> www         Using configuration:
>> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
>> www         1 job [Dispatch.Main]
>> www         Installing OPAM packages.
>> www         => opam install --yes crunch cstruct io-page lwt
>> mirage-console-xen mirage-http mirage-net-xen mirage-types mirage-xen re
>> [NOTE] Package re is already installed (current version is 1.2.2).
>> [NOTE] Package mirage-xen is already installed (current version is pinned).
>> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
>> [NOTE] Package mirage-net-xen is already installed (current version is
>> 1.1.2).
>> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
>> [NOTE] Package mirage-console-xen is already installed (current version is
>> 1.0.2).
>> [NOTE] Package lwt is already installed (current version is 2.4.5).
>> [NOTE] Package io-page is already installed (current version is 1.1.1).
>> [NOTE] Package cstruct is already installed (current version is 1.3.1).
>> [NOTE] Package crunch is already installed (current version is 1.3.0).
>> www         => ocamlfind query -r -separator ' ' -format %d/%a -predicates
>> native lwt.syntax cstruct io-page lwt mirage-console-xen mirage-http
>> mirage-net-xen mirage-types mirage-types.lwt re.str tcpip.dhcpv4 tcpip.ethif
>> tcpip.tcpv4 tcpip.udpv4
>> www         => ocamlobjinfo /usr/lib/ocaml/unix.cmxa
>> /usr/lib/ocaml/bigarray.cmxa /home/mirage/.opam/system/lib/bytes/bytes.cmxa
>> /home/mirage/.opam/system/lib/ocplib-endian/ocplib_endian.cmxa
>> /home/mirage/.opam/system/lib/ocplib-endian/bigstring.cmxa
>> /home/mirage/.opam/system/lib/sexplib/sexplib.cmxa
>> /home/mirage/.opam/system/lib/cstruct/cstruct.cmxa
>> /home/mirage/.opam/system/lib/io-page/io_page.cmxa
>> /home/mirage/.opam/system/lib/lwt/lwt.cmxa
>> /home/mirage/.opam/system/lib/xenstore/xenstore.cmxa
>> /home/mirage/.opam/system/lib/xenstore/xenstore_client_lwt.cmxa
>> /home/mirage/.opam/system/lib/shared-memory-ring/shared_memory_ring.cmxa
>> /home/mirage/.opam/system/lib/shared-memory-ring/console_ring.cmxa
>> /home/mirage/.opam/system/lib/shared-memory-ring/xenstore_ring.cmxa
>> /home/mirage/.opam/system/lib/shared-memory-ring/lwt_shared_memory_ring.cmxa
>> /home/mirage/.opam/system/lib/mirage-clock-xen/mirage-clock.cmxa
>> /home/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa
>> /home/mirage/.opam/system/lib/xen-evtchn/xen_evtchn.cmxa
>> /home/mirage/.opam/system/lib/mirage-xen/oS.cmxa
>> /home/mirage/.opam/system/lib/mirage-console-xen/mirage-console.cmxa
>> /home/mirage/.opam/system/lib/re/re.cmxa
>> /home/mirage/.opam/system/lib/re/re_posix.cmxa
>> /home/mirage/.opam/system/lib/stringext/stringext.cmxa
>> /home/mirage/.opam/system/lib/uri/uri.cmxa
>> /home/mirage/.opam/system/lib/re/re_emacs.cmxa
>> /home/mirage/.opam/system/lib/uri/services.cmxa
>> /home/mirage/.opam/system/lib/fieldslib/fieldslib.cmxa
>> /home/mirage/.opam/system/lib/cohttp/cohttp.cmxa
>> /home/mirage/.opam/system/lib/conduit/conduit.cmxa
>> /home/mirage/.opam/system/lib/lwt/lwt-log.cmxa
>> /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa
>> /home/mirage/.opam/system/lib/ssl/ssl.cmxa
>> /home/mirage/.opam/system/lib/lwt/lwt-ssl.cmxa
>> /home/mirage/.opam/system/lib/conduit/conduit-lwt.cmxa
>> /home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa
>> /home/mirage/.opam/system/lib/ipaddr/ipaddr.cmxa
>> /home/mirage/.opam/system/lib/tcpip/channel.cmxa
>> /home/mirage/.opam/system/lib/mirage-http/mirage-http.cmxa
>> /home/mirage/.opam/system/lib/mirage-net-xen/mirage-net-xen.cmxa
>> /home/mirage/.opam/system/lib/re/re_str.cmxa
>> /home/mirage/.opam/system/lib/tcpip/tcpip.cmxa
>> /home/mirage/.opam/system/lib/tcpip/udpv4.cmxa
>> /home/mirage/.opam/system/lib/tcpip/dhcpv4.cmxa
>> /home/mirage/.opam/system/lib/tcpip/ethif.cmxa
>> /home/mirage/.opam/system/lib/tcpip/ipv4.cmxa
>> /home/mirage/.opam/system/lib/tcpip/tcpv4.cmxa
>> 
>> www         => ocamlfind printconf path
>> www         Generating: main.ml
>> www         Generating:
>> /home/mirage/mirage-skeleton/xen/static_website+ip/static1.ml
>> www         => ocaml-crunch -o static1.ml
>> /home/mirage/mirage-skeleton/xen/static_website+ip/./htdocs
>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend
>> opam install crunch cstruct io-page lwt mirage-console-xen mirage-http
>> mirage-net-xen mirage-types mirage-xen re --verbose
>> [NOTE] Package re is already installed (current version is 1.2.2).
>> [NOTE] Package mirage-xen is already installed (current version is pinned).
>> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
>> [NOTE] Package mirage-net-xen is already installed (current version is
>> 1.1.2).
>> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
>> [NOTE] Package mirage-console-xen is already installed (current version is
>> 1.0.2).
>> [NOTE] Package lwt is already installed (current version is 2.4.5).
>> [NOTE] Package io-page is already installed (current version is 1.1.1).
>> [NOTE] Package cstruct is already installed (current version is 1.3.1).
>> [NOTE] Package crunch is already installed (current version is 1.3.0).
>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make
>> ocamlbuild -classic-display -use-ocamlfind -pkgs
>> lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-xen,mirage-types,mirage-types.lwt,re.str,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpip.udpv4
>> -tags "syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g
>> -lflags -g,-linkpkg,-dontlink,unix main.native.o
>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>> lwt.syntax -syntax camlp4o -modules main.ml > main.ml.depends
>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>> lwt.syntax -syntax camlp4o -modules dispatch.ml > dispatch.ml.depends
>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>> lwt.syntax -syntax camlp4o -modules static1.mli > static1.mli.depends
>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o dispatch.cmo dispatch.ml
>> + ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o dispatch.cmo dispatch.ml
>> File "dispatch.ml", line 89, characters 8-16:
>> Warning 26: unused variable callback.
>> File "dispatch.ml", line 94, characters 8-19:
>> Warning 26: unused variable conn_closed.
>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o static1.cmi static1.mli
>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o main.cmo main.ml
>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>> lwt.syntax -syntax camlp4o -modules static1.ml > static1.ml.depends
>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o dispatch.cmx dispatch.ml
>> + ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o dispatch.cmx dispatch.ml
>> File "dispatch.ml", line 89, characters 8-16:
>> Warning 26: unused variable callback.
>> File "dispatch.ml", line 94, characters 8-19:
>> Warning 26: unused variable conn_closed.
>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o static1.cmx static1.ml
>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o main.cmx main.ml
>> ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package
>> tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4
>> -package re.str -package mirage-types.lwt -package mirage-types -package
>> mirage-net-xen -package mirage-http -package mirage-console-xen -package lwt
>> -package io-page -package cstruct -package lwt.syntax -syntax camlp4o
>> dispatch.cmx static1.cmx main.cmx -o main.native.o
>> pkg-config --print-errors --exists openlibm 'libminios-xen >= 0.2'
>> ld -d -static -nostdlib --start-group \
>>      $(pkg-config --static --libs openlibm 'libminios-xen >= 0.2') \
>>      _build/main.native.o
>> /home/mirage/.opam/system/lib/mirage-xen/libocaml.a \
>>      /home/mirage/.opam/system/lib/mirage-xen/libxencaml.a --end-group \
>>      -L/usr/lib/ocaml \
>>      -lbigarray \
>>      -L/home/mirage/.opam/system/lib/cstruct \
>>      -lcstruct_stubs \
>>      -L/home/mirage/.opam/system/lib/shared-memory-ring \
>>      -lshared_memory_ring_stubs \
>>      -L/home/mirage/.opam/system/lib/lwt \
>>      -llwt-unix_stubs \
>>      -lpthread \
>>      -L/home/mirage/.opam/system/lib/ssl \
>>      -lssl_stubs \
>>      -lcrypto \
>>      -lssl \
>>      -L/home/mirage/.opam/system/lib/tcpip \
>>      -ltcpip_stubs \
>>      /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \
>>      -o mir-www.elf
>> ld: cannot find -lpthread
>> ld: cannot find -lcrypto
>> ld: cannot find -lssl
>> make: *** [build] Error 1
> 
> You can just remove these manually from the Makefile for now.
> 
> The other problem you may hit is running out of stack space on the
> larger examples. The Git version of Mini-OS extends the old 16 KB
> stack by 1MB, or you can use the work-around here:
> 
> https://github.com/mirage/mirage/issues/274
> 
> 
> -- 
> Dr Thomas Leonard        http://0install.net/
> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:35:24 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:35:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPM4-0004Xz-98; Wed, 30 Jul 2014 08:35:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPM2-0004Xu-G0
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:35:22 +0000
Received: from [85.158.137.68:49981] by server-6.bemta-3.messagelabs.com id
	18/61-29521-94EA8D35; Wed, 30 Jul 2014 08:35:21 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-2.tower-31.messagelabs.com!1406709320!10778266!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_23,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11005 invoked from network); 30 Jul 2014 08:35:20 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-2.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:35:20 -0000
Received: (qmail 24829 invoked by uid 634); 30 Jul 2014 08:35:17 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:35:13 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG4opy8joK=v9ikO+zMDwD+2vGvuUb=DxaSfNrDfjsAsKhKjDg@mail.gmail.com>
Date: Wed, 30 Jul 2014 10:35:11 +0200
Message-Id: <B687BEF7-CC21-4A0F-B69A-F2E857B4CF26@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
	<DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
	<CAG4opy8joK=v9ikO+zMDwD+2vGvuUb=DxaSfNrDfjsAsKhKjDg@mail.gmail.com>
To: Thomas Leonard <talex5@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I believe this should be fixed by pinning cohttp and mirage-http to HEAD,
as there was a minor dependency issue that caused the extra Unix libraries
to be pulled in the OS-independent Lwt version.

opam pin cohttp git://github.com/mirage/ocaml-cohttp
opam pin mirage-http git://github.com/mirage/mirage-http

We need far too many pins on ARM at the moment and should cut some releases.
Thomas: is the checksum tree in an ok state to send a pull req for?
I'm going to sort out cohttp at a high priority when I'm done with today's
tutorial.

-anil

On 29 Jul 2014, at 12:03, Thomas Leonard <talex5@gmail.com> wrote:

> On 29 July 2014 10:59, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
>> Still having problems with this. I'm building static_website+ip via ssh on
>> the cubieboard and the build complains of not having libssl, libpthread and
>> libssl, even though the libraries are installed (checked via apt-find and
>> apt-get).
>> 
>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ mirage configure
>> --xen
>> Mirage      Using scanned config file: config.ml
>> Mirage      Processing:
>> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
>> Mirage      => rm -rf
>> /home/mirage/mirage-skeleton/xen/static_website+ip/_build/config.*
>> Mirage      => cd /home/mirage/mirage-skeleton/xen/static_website+ip &&
>> ocamlbuild -use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs
>> www         Using configuration:
>> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
>> www         1 job [Dispatch.Main]
>> www         Installing OPAM packages.
>> www         => opam install --yes crunch cstruct io-page lwt
>> mirage-console-xen mirage-http mirage-net-xen mirage-types mirage-xen re
>> [NOTE] Package re is already installed (current version is 1.2.2).
>> [NOTE] Package mirage-xen is already installed (current version is pinned).
>> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
>> [NOTE] Package mirage-net-xen is already installed (current version is
>> 1.1.2).
>> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
>> [NOTE] Package mirage-console-xen is already installed (current version is
>> 1.0.2).
>> [NOTE] Package lwt is already installed (current version is 2.4.5).
>> [NOTE] Package io-page is already installed (current version is 1.1.1).
>> [NOTE] Package cstruct is already installed (current version is 1.3.1).
>> [NOTE] Package crunch is already installed (current version is 1.3.0).
>> www         => ocamlfind query -r -separator ' ' -format %d/%a -predicates
>> native lwt.syntax cstruct io-page lwt mirage-console-xen mirage-http
>> mirage-net-xen mirage-types mirage-types.lwt re.str tcpip.dhcpv4 tcpip.ethif
>> tcpip.tcpv4 tcpip.udpv4
>> www         => ocamlobjinfo /usr/lib/ocaml/unix.cmxa
>> /usr/lib/ocaml/bigarray.cmxa /home/mirage/.opam/system/lib/bytes/bytes.cmxa
>> /home/mirage/.opam/system/lib/ocplib-endian/ocplib_endian.cmxa
>> /home/mirage/.opam/system/lib/ocplib-endian/bigstring.cmxa
>> /home/mirage/.opam/system/lib/sexplib/sexplib.cmxa
>> /home/mirage/.opam/system/lib/cstruct/cstruct.cmxa
>> /home/mirage/.opam/system/lib/io-page/io_page.cmxa
>> /home/mirage/.opam/system/lib/lwt/lwt.cmxa
>> /home/mirage/.opam/system/lib/xenstore/xenstore.cmxa
>> /home/mirage/.opam/system/lib/xenstore/xenstore_client_lwt.cmxa
>> /home/mirage/.opam/system/lib/shared-memory-ring/shared_memory_ring.cmxa
>> /home/mirage/.opam/system/lib/shared-memory-ring/console_ring.cmxa
>> /home/mirage/.opam/system/lib/shared-memory-ring/xenstore_ring.cmxa
>> /home/mirage/.opam/system/lib/shared-memory-ring/lwt_shared_memory_ring.cmxa
>> /home/mirage/.opam/system/lib/mirage-clock-xen/mirage-clock.cmxa
>> /home/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa
>> /home/mirage/.opam/system/lib/xen-evtchn/xen_evtchn.cmxa
>> /home/mirage/.opam/system/lib/mirage-xen/oS.cmxa
>> /home/mirage/.opam/system/lib/mirage-console-xen/mirage-console.cmxa
>> /home/mirage/.opam/system/lib/re/re.cmxa
>> /home/mirage/.opam/system/lib/re/re_posix.cmxa
>> /home/mirage/.opam/system/lib/stringext/stringext.cmxa
>> /home/mirage/.opam/system/lib/uri/uri.cmxa
>> /home/mirage/.opam/system/lib/re/re_emacs.cmxa
>> /home/mirage/.opam/system/lib/uri/services.cmxa
>> /home/mirage/.opam/system/lib/fieldslib/fieldslib.cmxa
>> /home/mirage/.opam/system/lib/cohttp/cohttp.cmxa
>> /home/mirage/.opam/system/lib/conduit/conduit.cmxa
>> /home/mirage/.opam/system/lib/lwt/lwt-log.cmxa
>> /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa
>> /home/mirage/.opam/system/lib/ssl/ssl.cmxa
>> /home/mirage/.opam/system/lib/lwt/lwt-ssl.cmxa
>> /home/mirage/.opam/system/lib/conduit/conduit-lwt.cmxa
>> /home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa
>> /home/mirage/.opam/system/lib/ipaddr/ipaddr.cmxa
>> /home/mirage/.opam/system/lib/tcpip/channel.cmxa
>> /home/mirage/.opam/system/lib/mirage-http/mirage-http.cmxa
>> /home/mirage/.opam/system/lib/mirage-net-xen/mirage-net-xen.cmxa
>> /home/mirage/.opam/system/lib/re/re_str.cmxa
>> /home/mirage/.opam/system/lib/tcpip/tcpip.cmxa
>> /home/mirage/.opam/system/lib/tcpip/udpv4.cmxa
>> /home/mirage/.opam/system/lib/tcpip/dhcpv4.cmxa
>> /home/mirage/.opam/system/lib/tcpip/ethif.cmxa
>> /home/mirage/.opam/system/lib/tcpip/ipv4.cmxa
>> /home/mirage/.opam/system/lib/tcpip/tcpv4.cmxa
>> 
>> www         => ocamlfind printconf path
>> www         Generating: main.ml
>> www         Generating:
>> /home/mirage/mirage-skeleton/xen/static_website+ip/static1.ml
>> www         => ocaml-crunch -o static1.ml
>> /home/mirage/mirage-skeleton/xen/static_website+ip/./htdocs
>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend
>> opam install crunch cstruct io-page lwt mirage-console-xen mirage-http
>> mirage-net-xen mirage-types mirage-xen re --verbose
>> [NOTE] Package re is already installed (current version is 1.2.2).
>> [NOTE] Package mirage-xen is already installed (current version is pinned).
>> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
>> [NOTE] Package mirage-net-xen is already installed (current version is
>> 1.1.2).
>> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
>> [NOTE] Package mirage-console-xen is already installed (current version is
>> 1.0.2).
>> [NOTE] Package lwt is already installed (current version is 2.4.5).
>> [NOTE] Package io-page is already installed (current version is 1.1.1).
>> [NOTE] Package cstruct is already installed (current version is 1.3.1).
>> [NOTE] Package crunch is already installed (current version is 1.3.0).
>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make
>> ocamlbuild -classic-display -use-ocamlfind -pkgs
>> lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-xen,mirage-types,mirage-types.lwt,re.str,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpip.udpv4
>> -tags "syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g
>> -lflags -g,-linkpkg,-dontlink,unix main.native.o
>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>> lwt.syntax -syntax camlp4o -modules main.ml > main.ml.depends
>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>> lwt.syntax -syntax camlp4o -modules dispatch.ml > dispatch.ml.depends
>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>> lwt.syntax -syntax camlp4o -modules static1.mli > static1.mli.depends
>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o dispatch.cmo dispatch.ml
>> + ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o dispatch.cmo dispatch.ml
>> File "dispatch.ml", line 89, characters 8-16:
>> Warning 26: unused variable callback.
>> File "dispatch.ml", line 94, characters 8-19:
>> Warning 26: unused variable conn_closed.
>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o static1.cmi static1.mli
>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o main.cmo main.ml
>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>> lwt.syntax -syntax camlp4o -modules static1.ml > static1.ml.depends
>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o dispatch.cmx dispatch.ml
>> + ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o dispatch.cmx dispatch.ml
>> File "dispatch.ml", line 89, characters 8-16:
>> Warning 26: unused variable callback.
>> File "dispatch.ml", line 94, characters 8-19:
>> Warning 26: unused variable conn_closed.
>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o static1.cmx static1.ml
>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>> camlp4o -o main.cmx main.ml
>> ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package
>> tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4
>> -package re.str -package mirage-types.lwt -package mirage-types -package
>> mirage-net-xen -package mirage-http -package mirage-console-xen -package lwt
>> -package io-page -package cstruct -package lwt.syntax -syntax camlp4o
>> dispatch.cmx static1.cmx main.cmx -o main.native.o
>> pkg-config --print-errors --exists openlibm 'libminios-xen >= 0.2'
>> ld -d -static -nostdlib --start-group \
>>      $(pkg-config --static --libs openlibm 'libminios-xen >= 0.2') \
>>      _build/main.native.o
>> /home/mirage/.opam/system/lib/mirage-xen/libocaml.a \
>>      /home/mirage/.opam/system/lib/mirage-xen/libxencaml.a --end-group \
>>      -L/usr/lib/ocaml \
>>      -lbigarray \
>>      -L/home/mirage/.opam/system/lib/cstruct \
>>      -lcstruct_stubs \
>>      -L/home/mirage/.opam/system/lib/shared-memory-ring \
>>      -lshared_memory_ring_stubs \
>>      -L/home/mirage/.opam/system/lib/lwt \
>>      -llwt-unix_stubs \
>>      -lpthread \
>>      -L/home/mirage/.opam/system/lib/ssl \
>>      -lssl_stubs \
>>      -lcrypto \
>>      -lssl \
>>      -L/home/mirage/.opam/system/lib/tcpip \
>>      -ltcpip_stubs \
>>      /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \
>>      -o mir-www.elf
>> ld: cannot find -lpthread
>> ld: cannot find -lcrypto
>> ld: cannot find -lssl
>> make: *** [build] Error 1
> 
> You can just remove these manually from the Makefile for now.
> 
> The other problem you may hit is running out of stack space on the
> larger examples. The Git version of Mini-OS extends the old 16 KB
> stack by 1MB, or you can use the work-around here:
> 
> https://github.com/mirage/mirage/issues/274
> 
> 
> -- 
> Dr Thomas Leonard        http://0install.net/
> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
> 


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:36:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:36:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPND-0004Zn-Fb; Wed, 30 Jul 2014 08:36:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPNB-0004Zh-Oh
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:36:33 +0000
Received: from [85.158.137.68:33150] by server-15.bemta-3.messagelabs.com id
	EF/FA-14271-09EA8D35; Wed, 30 Jul 2014 08:36:32 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-4.tower-31.messagelabs.com!1406709391!10730320!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=HTML_60_70,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21004 invoked from network); 30 Jul 2014 08:36:31 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-4.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:36:31 -0000
Received: (qmail 32087 invoked by uid 634); 30 Jul 2014 08:36:29 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:36:28 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
Date: Wed, 30 Jul 2014 10:36:27 +0200
Message-Id: <E83FE257-FE63-47CC-B4C4-4B8F178EC7B5@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>,
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============9213535843223896253=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============9213535843223896253==
Content-Type: multipart/alternative; boundary="Apple-Mail=_D0F4959E-68B4-4DD1-9A68-DF37CC2DC079"


--Apple-Mail=_D0F4959E-68B4-4DD1-9A68-DF37CC2DC079
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

On 29 Jul 2014, at 10:09, buzz heavyyear <buzzheavyyear@hotmail.com> =
wrote:

> >This was (read: should have been) fixed 2 months ago in
> =
https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b80856e398847=
82f70c8a359b247
>=20
> Thanks - yes, this was fixed in static_website but not in =
xen/static_website+ip

It's very useful if you could create an issue on =
https://github.com/mirage/mirage-skeleton/issues so we remember to fix =
this.  I can't do it right now so I've just marked this e-mail for =
followup, which is very loss prone in my case :-)

-anil


--Apple-Mail=_D0F4959E-68B4-4DD1-9A68-DF37CC2DC079
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">On 29 =
Jul 2014, at 10:09, buzz heavyyear &lt;<a =
href=3D"mailto:buzzheavyyear@hotmail.com">buzzheavyyear@hotmail.com</a>&gt=
; wrote:<br><div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div class=3D"hmmessage" style=3D"font-size: 12pt; =
font-family: Calibri; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;"><div dir=3D"ltr">&gt;This was (read: =
should have been) fixed 2 months ago in<div><div><a =
href=3D"https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b8085=
6e39884782f70c8a359b247" =
target=3D"_blank">https://github.com/mirage/mirage-skeleton/commit/fe32f34=
c2411b80856e39884782f70c8a359b247</a></div><br>Thanks - yes, this was =
fixed in static_website but not in =
xen/static_website+ip<br></div></div></div></blockquote><br></div><div>It'=
s very useful if you could create an issue on <a =
href=3D"https://github.com/mirage/mirage-skeleton/issues">https://github.c=
om/mirage/mirage-skeleton/issues</a> so we remember to fix this. &nbsp;I =
can't do it right now so I've just marked this e-mail for followup, =
which is very loss prone in my case =
:-)</div><div><br></div><div>-anil</div><br></body></html>=

--Apple-Mail=_D0F4959E-68B4-4DD1-9A68-DF37CC2DC079--


--===============9213535843223896253==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============9213535843223896253==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:36:35 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:36:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPND-0004Zn-Fb; Wed, 30 Jul 2014 08:36:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPNB-0004Zh-Oh
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:36:33 +0000
Received: from [85.158.137.68:33150] by server-15.bemta-3.messagelabs.com id
	EF/FA-14271-09EA8D35; Wed, 30 Jul 2014 08:36:32 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-4.tower-31.messagelabs.com!1406709391!10730320!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=HTML_60_70,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21004 invoked from network); 30 Jul 2014 08:36:31 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-4.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:36:31 -0000
Received: (qmail 32087 invoked by uid 634); 30 Jul 2014 08:36:29 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:36:28 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
Date: Wed, 30 Jul 2014 10:36:27 +0200
Message-Id: <E83FE257-FE63-47CC-B4C4-4B8F178EC7B5@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>,
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
To: buzz heavyyear <buzzheavyyear@hotmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============9213535843223896253=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org


--===============9213535843223896253==
Content-Type: multipart/alternative; boundary="Apple-Mail=_D0F4959E-68B4-4DD1-9A68-DF37CC2DC079"


--Apple-Mail=_D0F4959E-68B4-4DD1-9A68-DF37CC2DC079
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

On 29 Jul 2014, at 10:09, buzz heavyyear <buzzheavyyear@hotmail.com> =
wrote:

> >This was (read: should have been) fixed 2 months ago in
> =
https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b80856e398847=
82f70c8a359b247
>=20
> Thanks - yes, this was fixed in static_website but not in =
xen/static_website+ip

It's very useful if you could create an issue on =
https://github.com/mirage/mirage-skeleton/issues so we remember to fix =
this.  I can't do it right now so I've just marked this e-mail for =
followup, which is very loss prone in my case :-)

-anil


--Apple-Mail=_D0F4959E-68B4-4DD1-9A68-DF37CC2DC079
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">On 29 =
Jul 2014, at 10:09, buzz heavyyear &lt;<a =
href=3D"mailto:buzzheavyyear@hotmail.com">buzzheavyyear@hotmail.com</a>&gt=
; wrote:<br><div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div class=3D"hmmessage" style=3D"font-size: 12pt; =
font-family: Calibri; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;"><div dir=3D"ltr">&gt;This was (read: =
should have been) fixed 2 months ago in<div><div><a =
href=3D"https://github.com/mirage/mirage-skeleton/commit/fe32f34c2411b8085=
6e39884782f70c8a359b247" =
target=3D"_blank">https://github.com/mirage/mirage-skeleton/commit/fe32f34=
c2411b80856e39884782f70c8a359b247</a></div><br>Thanks - yes, this was =
fixed in static_website but not in =
xen/static_website+ip<br></div></div></div></blockquote><br></div><div>It'=
s very useful if you could create an issue on <a =
href=3D"https://github.com/mirage/mirage-skeleton/issues">https://github.c=
om/mirage/mirage-skeleton/issues</a> so we remember to fix this. &nbsp;I =
can't do it right now so I've just marked this e-mail for followup, =
which is very loss prone in my case =
:-)</div><div><br></div><div>-anil</div><br></body></html>=

--Apple-Mail=_D0F4959E-68B4-4DD1-9A68-DF37CC2DC079--


--===============9213535843223896253==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============9213535843223896253==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:38:07 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:38:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPOh-0004fy-2l; Wed, 30 Jul 2014 08:38:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jjl25@cam.ac.uk>) id 1XCPOg-0004fq-D2
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:38:06 +0000
Received: from [193.109.254.147:16502] by server-12.bemta-14.messagelabs.com
	id 38/E1-23840-DEEA8D35; Wed, 30 Jul 2014 08:38:05 +0000
X-Env-Sender: jjl25@cam.ac.uk
X-Msg-Ref: server-12.tower-27.messagelabs.com!1406709485!12634167!1
X-Originating-IP: [131.111.8.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MCA9PiAxNDk0MDU=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2625 invoked from network); 30 Jul 2014 08:38:05 -0000
Received: from ppsw-50.csi.cam.ac.uk (HELO ppsw-50.csi.cam.ac.uk)
	(131.111.8.150)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 Jul 2014 08:38:05 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from [46.233.116.107] (port=58760 helo=[10.108.42.18])
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:587)
	with esmtpsa (PLAIN:jjl25) (TLSv1.2:DHE-RSA-AES128-SHA:128)
	id 1XCPOe-0008Ml-sV (Exim 4.82_3-c0e5623) for
	mirageos-devel@lists.xenproject.org
	(return-path <jjl25@cam.ac.uk>); Wed, 30 Jul 2014 09:38:05 +0100
Message-ID: <53D8AEE7.7020802@cam.ac.uk>
Date: Wed, 30 Jul 2014 09:37:59 +0100
From: Jon Ludlam <jjl25@cam.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Thunderbird/31.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
In-Reply-To: <581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30/07/14 09:32, Anil Madhavapeddy wrote:
> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.

There are lots of things we do that could benefit from nice binary
repository hosting. Does anyone have a secret stash of credits for
Amazon's S3? There's a tutorial of how to host repositories on it here:
http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
RPM hosting should be similarly easy.

Jon


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:38:07 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:38:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPOh-0004fy-2l; Wed, 30 Jul 2014 08:38:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jjl25@cam.ac.uk>) id 1XCPOg-0004fq-D2
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:38:06 +0000
Received: from [193.109.254.147:16502] by server-12.bemta-14.messagelabs.com
	id 38/E1-23840-DEEA8D35; Wed, 30 Jul 2014 08:38:05 +0000
X-Env-Sender: jjl25@cam.ac.uk
X-Msg-Ref: server-12.tower-27.messagelabs.com!1406709485!12634167!1
X-Originating-IP: [131.111.8.150]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE1MCA9PiAxNDk0MDU=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2625 invoked from network); 30 Jul 2014 08:38:05 -0000
Received: from ppsw-50.csi.cam.ac.uk (HELO ppsw-50.csi.cam.ac.uk)
	(131.111.8.150)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 Jul 2014 08:38:05 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from [46.233.116.107] (port=58760 helo=[10.108.42.18])
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:587)
	with esmtpsa (PLAIN:jjl25) (TLSv1.2:DHE-RSA-AES128-SHA:128)
	id 1XCPOe-0008Ml-sV (Exim 4.82_3-c0e5623) for
	mirageos-devel@lists.xenproject.org
	(return-path <jjl25@cam.ac.uk>); Wed, 30 Jul 2014 09:38:05 +0100
Message-ID: <53D8AEE7.7020802@cam.ac.uk>
Date: Wed, 30 Jul 2014 09:37:59 +0100
From: Jon Ludlam <jjl25@cam.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Thunderbird/31.0
MIME-Version: 1.0
To: mirageos-devel@lists.xenproject.org
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
In-Reply-To: <581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30/07/14 09:32, Anil Madhavapeddy wrote:
> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.

There are lots of things we do that could benefit from nice binary
repository hosting. Does anyone have a secret stash of credits for
Amazon's S3? There's a tutorial of how to host repositories on it here:
http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
RPM hosting should be similarly easy.

Jon


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:41:01 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:41:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPRT-0004pT-C9; Wed, 30 Jul 2014 08:40:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPRS-0004pO-H4
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:40:58 +0000
Received: from [85.158.137.68:41126] by server-7.bemta-3.messagelabs.com id
	63/F0-01084-99FA8D35; Wed, 30 Jul 2014 08:40:57 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-31.messagelabs.com!1406709656!10787189!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28077 invoked from network); 30 Jul 2014 08:40:57 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:40:57 -0000
Received: (qmail 17766 invoked by uid 634); 30 Jul 2014 08:40:56 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:40:56 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53D8AEE7.7020802@cam.ac.uk>
Date: Wed, 30 Jul 2014 10:40:54 +0200
Message-Id: <E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
	<53D8AEE7.7020802@cam.ac.uk>
To: Jon Ludlam <jjl25@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30 Jul 2014, at 10:37, Jon Ludlam <jjl25@cam.ac.uk> wrote:

> On 30/07/14 09:32, Anil Madhavapeddy wrote:
>> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.
> 
> There are lots of things we do that could benefit from nice binary
> repository hosting. Does anyone have a secret stash of credits for
> Amazon's S3? There's a tutorial of how to host repositories on it here:
> http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
> RPM hosting should be similarly easy.

Rackspace has very generously given us developer accounts for VM hosting,
so blobs.openmirage.org has a healthy amount of storage (and is currently
hosting the ARM SDcard images).

So we have somewhere to host the RPMs, but the most convenient aspect of
Launchpad is that it automates the build process as well.  Have you ever
decrypted the mysterious workings of the OpenSUSE build service?  It appears
to support ARM, but the Web UI is...scary.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:41:01 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:41:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPRT-0004pT-C9; Wed, 30 Jul 2014 08:40:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPRS-0004pO-H4
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:40:58 +0000
Received: from [85.158.137.68:41126] by server-7.bemta-3.messagelabs.com id
	63/F0-01084-99FA8D35; Wed, 30 Jul 2014 08:40:57 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-16.tower-31.messagelabs.com!1406709656!10787189!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28077 invoked from network); 30 Jul 2014 08:40:57 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-16.tower-31.messagelabs.com with SMTP;
	30 Jul 2014 08:40:57 -0000
Received: (qmail 17766 invoked by uid 634); 30 Jul 2014 08:40:56 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:40:56 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53D8AEE7.7020802@cam.ac.uk>
Date: Wed, 30 Jul 2014 10:40:54 +0200
Message-Id: <E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
	<53D8AEE7.7020802@cam.ac.uk>
To: Jon Ludlam <jjl25@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30 Jul 2014, at 10:37, Jon Ludlam <jjl25@cam.ac.uk> wrote:

> On 30/07/14 09:32, Anil Madhavapeddy wrote:
>> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.
> 
> There are lots of things we do that could benefit from nice binary
> repository hosting. Does anyone have a secret stash of credits for
> Amazon's S3? There's a tutorial of how to host repositories on it here:
> http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
> RPM hosting should be similarly easy.

Rackspace has very generously given us developer accounts for VM hosting,
so blobs.openmirage.org has a healthy amount of storage (and is currently
hosting the ARM SDcard images).

So we have somewhere to host the RPMs, but the most convenient aspect of
Launchpad is that it automates the build process as well.  Have you ever
decrypted the mysterious workings of the OpenSUSE build service?  It appears
to support ARM, but the Web UI is...scary.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:48:48 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:48:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPZ2-0004zj-D5; Wed, 30 Jul 2014 08:48:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jjl25@cam.ac.uk>) id 1XCPZ1-0004zc-2s
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:48:47 +0000
Received: from [193.109.254.147:36408] by server-9.bemta-14.messagelabs.com id
	F4/C8-31535-E61B8D35; Wed, 30 Jul 2014 08:48:46 +0000
X-Env-Sender: jjl25@cam.ac.uk
X-Msg-Ref: server-14.tower-27.messagelabs.com!1406710125!12623087!1
X-Originating-IP: [131.111.8.140]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27741 invoked from network); 30 Jul 2014 08:48:45 -0000
Received: from ppsw-40.csi.cam.ac.uk (HELO ppsw-40.csi.cam.ac.uk)
	(131.111.8.140)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 Jul 2014 08:48:45 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from [46.233.116.107] (port=44040 helo=[10.108.42.18])
	by ppsw-40.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.156]:587)
	with esmtpsa (PLAIN:jjl25) (TLSv1.2:DHE-RSA-AES128-SHA:128)
	id 1XCPYy-00069n-lt (Exim 4.82_3-c0e5623)
	(return-path <jjl25@cam.ac.uk>); Wed, 30 Jul 2014 09:48:45 +0100
Message-ID: <53D8B16C.9000607@cam.ac.uk>
Date: Wed, 30 Jul 2014 09:48:44 +0100
From: Jon Ludlam <jjl25@cam.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Thunderbird/31.0
MIME-Version: 1.0
To: Anil Madhavapeddy <anil@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
	<53D8AEE7.7020802@cam.ac.uk>
	<E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
In-Reply-To: <E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30/07/14 09:40, Anil Madhavapeddy wrote:
> On 30 Jul 2014, at 10:37, Jon Ludlam <jjl25@cam.ac.uk> wrote:
>
>> On 30/07/14 09:32, Anil Madhavapeddy wrote:
>>> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.
>> There are lots of things we do that could benefit from nice binary
>> repository hosting. Does anyone have a secret stash of credits for
>> Amazon's S3? There's a tutorial of how to host repositories on it here:
>> http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
>> RPM hosting should be similarly easy.
> Rackspace has very generously given us developer accounts for VM hosting,
> so blobs.openmirage.org has a healthy amount of storage (and is currently
> hosting the ARM SDcard images).
>
> So we have somewhere to host the RPMs, but the most convenient aspect of
> Launchpad is that it automates the build process as well.  Have you ever
> decrypted the mysterious workings of the OpenSUSE build service?  It appears
> to support ARM, but the Web UI is...scary.
No, I had a similar experience with the UI!

We've got automatic building here of x86 RPMs, and I suspect we're not
too far off being able to do something similar with ARM. We're using
Vagrant (using the vagrant-xenserver plugin) to set up build
environments and do the builds automatically. Once the
xenserver/buildroot packages can do the vagrant thing we should be able
to make some base boxes for the cubieboard and then it should be simple
to do the builds.

Compute resource isn't really our problem, we need more externally
visible storage.

Jon

> -anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:48:48 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:48:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPZ2-0004zj-D5; Wed, 30 Jul 2014 08:48:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jjl25@cam.ac.uk>) id 1XCPZ1-0004zc-2s
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:48:47 +0000
Received: from [193.109.254.147:36408] by server-9.bemta-14.messagelabs.com id
	F4/C8-31535-E61B8D35; Wed, 30 Jul 2014 08:48:46 +0000
X-Env-Sender: jjl25@cam.ac.uk
X-Msg-Ref: server-14.tower-27.messagelabs.com!1406710125!12623087!1
X-Originating-IP: [131.111.8.140]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27741 invoked from network); 30 Jul 2014 08:48:45 -0000
Received: from ppsw-40.csi.cam.ac.uk (HELO ppsw-40.csi.cam.ac.uk)
	(131.111.8.140)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 Jul 2014 08:48:45 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from [46.233.116.107] (port=44040 helo=[10.108.42.18])
	by ppsw-40.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.156]:587)
	with esmtpsa (PLAIN:jjl25) (TLSv1.2:DHE-RSA-AES128-SHA:128)
	id 1XCPYy-00069n-lt (Exim 4.82_3-c0e5623)
	(return-path <jjl25@cam.ac.uk>); Wed, 30 Jul 2014 09:48:45 +0100
Message-ID: <53D8B16C.9000607@cam.ac.uk>
Date: Wed, 30 Jul 2014 09:48:44 +0100
From: Jon Ludlam <jjl25@cam.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Thunderbird/31.0
MIME-Version: 1.0
To: Anil Madhavapeddy <anil@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
	<53D8AEE7.7020802@cam.ac.uk>
	<E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
In-Reply-To: <E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30/07/14 09:40, Anil Madhavapeddy wrote:
> On 30 Jul 2014, at 10:37, Jon Ludlam <jjl25@cam.ac.uk> wrote:
>
>> On 30/07/14 09:32, Anil Madhavapeddy wrote:
>>> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.
>> There are lots of things we do that could benefit from nice binary
>> repository hosting. Does anyone have a secret stash of credits for
>> Amazon's S3? There's a tutorial of how to host repositories on it here:
>> http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
>> RPM hosting should be similarly easy.
> Rackspace has very generously given us developer accounts for VM hosting,
> so blobs.openmirage.org has a healthy amount of storage (and is currently
> hosting the ARM SDcard images).
>
> So we have somewhere to host the RPMs, but the most convenient aspect of
> Launchpad is that it automates the build process as well.  Have you ever
> decrypted the mysterious workings of the OpenSUSE build service?  It appears
> to support ARM, but the Web UI is...scary.
No, I had a similar experience with the UI!

We've got automatic building here of x86 RPMs, and I suspect we're not
too far off being able to do something similar with ARM. We're using
Vagrant (using the vagrant-xenserver plugin) to set up build
environments and do the builds automatically. Once the
xenserver/buildroot packages can do the vagrant thing we should be able
to make some base boxes for the cubieboard and then it should be simple
to do the builds.

Compute resource isn't really our problem, we need more externally
visible storage.

Jon

> -anil


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:51:48 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPbu-00053k-MH; Wed, 30 Jul 2014 08:51:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPbt-00053f-Lh
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:51:45 +0000
Received: from [85.158.139.211:30868] by server-5.bemta-5.messagelabs.com id
	BA/01-11546-122B8D35; Wed, 30 Jul 2014 08:51:45 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-12.tower-206.messagelabs.com!1406710304!10806006!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12704 invoked from network); 30 Jul 2014 08:51:44 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-12.tower-206.messagelabs.com with SMTP;
	30 Jul 2014 08:51:44 -0000
Received: (qmail 10203 invoked by uid 634); 30 Jul 2014 08:51:43 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:51:43 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53D8B16C.9000607@cam.ac.uk>
Date: Wed, 30 Jul 2014 10:51:41 +0200
Message-Id: <BB22FE40-D2F3-46A9-B67C-EE286C5AF08D@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
	<53D8AEE7.7020802@cam.ac.uk>
	<E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
	<53D8B16C.9000607@cam.ac.uk>
To: Jon Ludlam <jjl25@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30 Jul 2014, at 10:48, Jon Ludlam <jjl25@cam.ac.uk> wrote:

> On 30/07/14 09:40, Anil Madhavapeddy wrote:
>> On 30 Jul 2014, at 10:37, Jon Ludlam <jjl25@cam.ac.uk> wrote:
>> 
>>> On 30/07/14 09:32, Anil Madhavapeddy wrote:
>>>> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.
>>> There are lots of things we do that could benefit from nice binary
>>> repository hosting. Does anyone have a secret stash of credits for
>>> Amazon's S3? There's a tutorial of how to host repositories on it here:
>>> http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
>>> RPM hosting should be similarly easy.
>> Rackspace has very generously given us developer accounts for VM hosting,
>> so blobs.openmirage.org has a healthy amount of storage (and is currently
>> hosting the ARM SDcard images).
>> 
>> So we have somewhere to host the RPMs, but the most convenient aspect of
>> Launchpad is that it automates the build process as well.  Have you ever
>> decrypted the mysterious workings of the OpenSUSE build service?  It appears
>> to support ARM, but the Web UI is...scary.
> No, I had a similar experience with the UI!
> 
> We've got automatic building here of x86 RPMs, and I suspect we're not
> too far off being able to do something similar with ARM. We're using
> Vagrant (using the vagrant-xenserver plugin) to set up build
> environments and do the builds automatically. Once the
> xenserver/buildroot packages can do the vagrant thing we should be able
> to make some base boxes for the cubieboard and then it should be simple
> to do the builds.
> 
> Compute resource isn't really our problem, we need more externally
> visible storage.

Great -- we can certainly arrange to rsync the results to 
blobs.openmirage.org then.   Do you plan to run the Cubieboard builds
physically or in a qemu-arm environment?  The Cubietrucks are pretty
fast at doing builds -- I can bring one along to the compiler hacking
session on Friday.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:51:48 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPbu-00053k-MH; Wed, 30 Jul 2014 08:51:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anil@recoil.org>) id 1XCPbt-00053f-Lh
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:51:45 +0000
Received: from [85.158.139.211:30868] by server-5.bemta-5.messagelabs.com id
	BA/01-11546-122B8D35; Wed, 30 Jul 2014 08:51:45 +0000
X-Env-Sender: anil@recoil.org
X-Msg-Ref: server-12.tower-206.messagelabs.com!1406710304!10806006!1
X-Originating-IP: [89.16.177.154]
X-SpamReason: No, hits=0.3 required=7.0 tests=MAILTO_TO_SPAM_ADDR
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12704 invoked from network); 30 Jul 2014 08:51:44 -0000
Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) (89.16.177.154)
	by server-12.tower-206.messagelabs.com with SMTP;
	30 Jul 2014 08:51:44 -0000
Received: (qmail 10203 invoked by uid 634); 30 Jul 2014 08:51:43 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from host-78-65-188-195.homerun.telia.com (HELO
	host-78-65-188-195.homerun.telia.com) (78.65.188.195)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 30 Jul 2014 09:51:43 +0100
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <53D8B16C.9000607@cam.ac.uk>
Date: Wed, 30 Jul 2014 10:51:41 +0200
Message-Id: <BB22FE40-D2F3-46A9-B67C-EE286C5AF08D@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
	<53D8AEE7.7020802@cam.ac.uk>
	<E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
	<53D8B16C.9000607@cam.ac.uk>
To: Jon Ludlam <jjl25@cam.ac.uk>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30 Jul 2014, at 10:48, Jon Ludlam <jjl25@cam.ac.uk> wrote:

> On 30/07/14 09:40, Anil Madhavapeddy wrote:
>> On 30 Jul 2014, at 10:37, Jon Ludlam <jjl25@cam.ac.uk> wrote:
>> 
>>> On 30/07/14 09:32, Anil Madhavapeddy wrote:
>>>> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.
>>> There are lots of things we do that could benefit from nice binary
>>> repository hosting. Does anyone have a secret stash of credits for
>>> Amazon's S3? There's a tutorial of how to host repositories on it here:
>>> http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
>>> RPM hosting should be similarly easy.
>> Rackspace has very generously given us developer accounts for VM hosting,
>> so blobs.openmirage.org has a healthy amount of storage (and is currently
>> hosting the ARM SDcard images).
>> 
>> So we have somewhere to host the RPMs, but the most convenient aspect of
>> Launchpad is that it automates the build process as well.  Have you ever
>> decrypted the mysterious workings of the OpenSUSE build service?  It appears
>> to support ARM, but the Web UI is...scary.
> No, I had a similar experience with the UI!
> 
> We've got automatic building here of x86 RPMs, and I suspect we're not
> too far off being able to do something similar with ARM. We're using
> Vagrant (using the vagrant-xenserver plugin) to set up build
> environments and do the builds automatically. Once the
> xenserver/buildroot packages can do the vagrant thing we should be able
> to make some base boxes for the cubieboard and then it should be simple
> to do the builds.
> 
> Compute resource isn't really our problem, we need more externally
> visible storage.

Great -- we can certainly arrange to rsync the results to 
blobs.openmirage.org then.   Do you plan to run the Cubieboard builds
physically or in a qemu-arm environment?  The Cubietrucks are pretty
fast at doing builds -- I can bring one along to the compiler hacking
session on Friday.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:59:19 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:59:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPjC-0005K2-Nb; Wed, 30 Jul 2014 08:59:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jjl25@cam.ac.uk>) id 1XCPjB-0005Jv-2w
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:59:17 +0000
Received: from [85.158.139.211:23763] by server-11.bemta-5.messagelabs.com id
	CE/7A-31757-4E3B8D35; Wed, 30 Jul 2014 08:59:16 +0000
X-Env-Sender: jjl25@cam.ac.uk
X-Msg-Ref: server-5.tower-206.messagelabs.com!1406710755!10789919!1
X-Originating-IP: [131.111.8.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE0MSA9PiAxNTQ4NjI=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15296 invoked from network); 30 Jul 2014 08:59:16 -0000
Received: from ppsw-41.csi.cam.ac.uk (HELO ppsw-41.csi.cam.ac.uk)
	(131.111.8.141)
	by server-5.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 Jul 2014 08:59:16 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from [46.233.116.107] (port=34624 helo=[10.108.42.18])
	by ppsw-41.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.157]:587)
	with esmtpsa (PLAIN:jjl25) (TLSv1.2:DHE-RSA-AES128-SHA:128)
	id 1XCPj9-0004Tm-RK (Exim 4.82_3-c0e5623)
	(return-path <jjl25@cam.ac.uk>); Wed, 30 Jul 2014 09:59:15 +0100
Message-ID: <53D8B3E3.5040700@cam.ac.uk>
Date: Wed, 30 Jul 2014 09:59:15 +0100
From: Jon Ludlam <jjl25@cam.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Thunderbird/31.0
MIME-Version: 1.0
To: Anil Madhavapeddy <anil@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
	<53D8AEE7.7020802@cam.ac.uk>
	<E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
	<53D8B16C.9000607@cam.ac.uk>
	<BB22FE40-D2F3-46A9-B67C-EE286C5AF08D@recoil.org>
In-Reply-To: <BB22FE40-D2F3-46A9-B67C-EE286C5AF08D@recoil.org>
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30/07/14 09:51, Anil Madhavapeddy wrote:
> On 30 Jul 2014, at 10:48, Jon Ludlam <jjl25@cam.ac.uk> wrote:
>
>> On 30/07/14 09:40, Anil Madhavapeddy wrote:
>>> On 30 Jul 2014, at 10:37, Jon Ludlam <jjl25@cam.ac.uk> wrote:
>>>
>>>> On 30/07/14 09:32, Anil Madhavapeddy wrote:
>>>>> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.
>>>> There are lots of things we do that could benefit from nice binary
>>>> repository hosting. Does anyone have a secret stash of credits for
>>>> Amazon's S3? There's a tutorial of how to host repositories on it here:
>>>> http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
>>>> RPM hosting should be similarly easy.
>>> Rackspace has very generously given us developer accounts for VM hosting,
>>> so blobs.openmirage.org has a healthy amount of storage (and is currently
>>> hosting the ARM SDcard images).
>>>
>>> So we have somewhere to host the RPMs, but the most convenient aspect of
>>> Launchpad is that it automates the build process as well.  Have you ever
>>> decrypted the mysterious workings of the OpenSUSE build service?  It appears
>>> to support ARM, but the Web UI is...scary.
>> No, I had a similar experience with the UI!
>>
>> We've got automatic building here of x86 RPMs, and I suspect we're not
>> too far off being able to do something similar with ARM. We're using
>> Vagrant (using the vagrant-xenserver plugin) to set up build
>> environments and do the builds automatically. Once the
>> xenserver/buildroot packages can do the vagrant thing we should be able
>> to make some base boxes for the cubieboard and then it should be simple
>> to do the builds.
>>
>> Compute resource isn't really our problem, we need more externally
>> visible storage.
> Great -- we can certainly arrange to rsync the results to 
> blobs.openmirage.org then.   Do you plan to run the Cubieboard builds
> physically or in a qemu-arm environment?  The Cubietrucks are pretty
> fast at doing builds -- I can bring one along to the compiler hacking
> session on Friday.
>
> -anil
Physically ideally. The one stumbling block there may be is blktap on
ARM - it depends upon a kernel module which is unmaintained as an
out-of-tree dkms, so if there are any problems we may have to find
alternatives, which would involve quite a lot of development.
xenserver/buildroot's storage stack is pretty dependent on blktap right now.

I'd love to have a look at the cubietruck, so please do bring it along!

Jon



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 08:59:19 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 08:59:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPjC-0005K2-Nb; Wed, 30 Jul 2014 08:59:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jjl25@cam.ac.uk>) id 1XCPjB-0005Jv-2w
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 08:59:17 +0000
Received: from [85.158.139.211:23763] by server-11.bemta-5.messagelabs.com id
	CE/7A-31757-4E3B8D35; Wed, 30 Jul 2014 08:59:16 +0000
X-Env-Sender: jjl25@cam.ac.uk
X-Msg-Ref: server-5.tower-206.messagelabs.com!1406710755!10789919!1
X-Originating-IP: [131.111.8.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE0MSA9PiAxNTQ4NjI=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15296 invoked from network); 30 Jul 2014 08:59:16 -0000
Received: from ppsw-41.csi.cam.ac.uk (HELO ppsw-41.csi.cam.ac.uk)
	(131.111.8.141)
	by server-5.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 Jul 2014 08:59:16 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from [46.233.116.107] (port=34624 helo=[10.108.42.18])
	by ppsw-41.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.157]:587)
	with esmtpsa (PLAIN:jjl25) (TLSv1.2:DHE-RSA-AES128-SHA:128)
	id 1XCPj9-0004Tm-RK (Exim 4.82_3-c0e5623)
	(return-path <jjl25@cam.ac.uk>); Wed, 30 Jul 2014 09:59:15 +0100
Message-ID: <53D8B3E3.5040700@cam.ac.uk>
Date: Wed, 30 Jul 2014 09:59:15 +0100
From: Jon Ludlam <jjl25@cam.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Thunderbird/31.0
MIME-Version: 1.0
To: Anil Madhavapeddy <anil@recoil.org>
References: <DUB128-W28EC1FCC3BDB9D60616994B4F80@phx.gbl>
	<581C2936-4BEE-4E29-880E-A25861D2E154@recoil.org>
	<53D8AEE7.7020802@cam.ac.uk>
	<E7E8F1DB-A865-452F-A572-91F10C6A3593@recoil.org>
	<53D8B16C.9000607@cam.ac.uk>
	<BB22FE40-D2F3-46A9-B67C-EE286C5AF08D@recoil.org>
In-Reply-To: <BB22FE40-D2F3-46A9-B67C-EE286C5AF08D@recoil.org>
Cc: mirageos-devel@lists.xenproject.org
Subject: Re: [MirageOS-devel] libvirt with mirageos and tls
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30/07/14 09:51, Anil Madhavapeddy wrote:
> On 30 Jul 2014, at 10:48, Jon Ludlam <jjl25@cam.ac.uk> wrote:
>
>> On 30/07/14 09:40, Anil Madhavapeddy wrote:
>>> On 30 Jul 2014, at 10:37, Jon Ludlam <jjl25@cam.ac.uk> wrote:
>>>
>>>> On 30/07/14 09:32, Anil Madhavapeddy wrote:
>>>>> This is a great writeup, thank you!  It's very useful to see all the libvirt steps in one place.   It's a pity that Ubuntu Launchpad doesn't build PPAs on ARM yet (as far as I know), or else we could get a binary repository published to make these steps easier.
>>>> There are lots of things we do that could benefit from nice binary
>>>> repository hosting. Does anyone have a secret stash of credits for
>>>> Amazon's S3? There's a tutorial of how to host repositories on it here:
>>>> http://xn.pinkhamster.net/blog/tech/host-a-debian-repository-on-s3.html.
>>>> RPM hosting should be similarly easy.
>>> Rackspace has very generously given us developer accounts for VM hosting,
>>> so blobs.openmirage.org has a healthy amount of storage (and is currently
>>> hosting the ARM SDcard images).
>>>
>>> So we have somewhere to host the RPMs, but the most convenient aspect of
>>> Launchpad is that it automates the build process as well.  Have you ever
>>> decrypted the mysterious workings of the OpenSUSE build service?  It appears
>>> to support ARM, but the Web UI is...scary.
>> No, I had a similar experience with the UI!
>>
>> We've got automatic building here of x86 RPMs, and I suspect we're not
>> too far off being able to do something similar with ARM. We're using
>> Vagrant (using the vagrant-xenserver plugin) to set up build
>> environments and do the builds automatically. Once the
>> xenserver/buildroot packages can do the vagrant thing we should be able
>> to make some base boxes for the cubieboard and then it should be simple
>> to do the builds.
>>
>> Compute resource isn't really our problem, we need more externally
>> visible storage.
> Great -- we can certainly arrange to rsync the results to 
> blobs.openmirage.org then.   Do you plan to run the Cubieboard builds
> physically or in a qemu-arm environment?  The Cubietrucks are pretty
> fast at doing builds -- I can bring one along to the compiler hacking
> session on Friday.
>
> -anil
Physically ideally. The one stumbling block there may be is blktap on
ARM - it depends upon a kernel module which is unmaintained as an
out-of-tree dkms, so if there are any problems we may have to find
alternatives, which would involve quite a lot of development.
xenserver/buildroot's storage stack is pretty dependent on blktap right now.

I'd love to have a look at the cubietruck, so please do bring it along!

Jon



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 09:12:57 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 09:12:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPwM-0005lC-Nu; Wed, 30 Jul 2014 09:12:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1XCPwL-0005l7-77
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 09:12:53 +0000
Received: from [85.158.139.211:64538] by server-12.bemta-5.messagelabs.com id
	C0/48-22251-417B8D35; Wed, 30 Jul 2014 09:12:52 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-8.tower-206.messagelabs.com!1406711571!10793271!1
X-Originating-IP: [131.111.8.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE0MSA9PiAxNTQ4NjI=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5779 invoked from network); 30 Jul 2014 09:12:51 -0000
Received: from ppsw-41.csi.cam.ac.uk (HELO ppsw-41.csi.cam.ac.uk)
	(131.111.8.141)
	by server-8.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 Jul 2014 09:12:51 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from host81-149-102-120.in-addr.btopenworld.com
	([81.149.102.120]:56613 helo=[10.0.0.151])
	by ppsw-41.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.157]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1XCPwI-0007Cq-RK (Exim 4.82_3-c0e5623)
	(return-path <amc79@cam.ac.uk>); Wed, 30 Jul 2014 10:12:50 +0100
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Amir Chaudhry <amc79@cam.ac.uk>
In-Reply-To: <033D0522-500E-4AAD-9888-9BD2666FCEFD@recoil.org>
Date: Wed, 30 Jul 2014 10:12:49 +0100
Message-Id: <271CE971-A52E-4F95-ABD7-84DFBDD13BC1@cam.ac.uk>
References: <55E78A57290FB64FA0D3CF672F9F3DA2724041@SJCPEX01CL03.citrite.net>
	<033D0522-500E-4AAD-9888-9BD2666FCEFD@recoil.org>
To: mirageos-devel@lists.xenproject.org
X-Mailer: Apple Mail (2.1510)
Cc: Russell Pavlicek <russell.pavlicek@citrix.com>,
	Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Doc Day Tomorrow: Mirage V2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I've added this as an item to discuss on the next call [1].  

Having a set of base set of stable information on the Xen wiki is important and we should link out to the openmirage.org site for details/tutorials (and it's also running as a self-hosted unikernel, so is a good showcase).  It seems that this is what Russ is proposing but I'd also like to see the same content out in the wild as articles and blog posts.  It's also worth noting that the Xen site has a lot of traffic and people find their way to Mirage via that route.

I look forward to discussing this next week.

Best wishes,
Amir

[1] https://github.com/mirage/mirage-www/wiki/Call-Agenda

On 30 Jul 2014, at 09:28, Anil Madhavapeddy <anil@recoil.org> wrote:

> I'd love to contribute to this, but a number of us are travelling today (Mort and I are currently in Sweden about to deliver a tutorial in an hour, Dave is on vacation).  If anyone else is free, this is of course open to anyone to contribute.
> 
> Amir, could we get this on the agenda for the next Mirage call to have an organized doc push for the next regular Xen docs day?  
> 
> In general, we need to understand how to coordinate the Xen wiki and the Mirage website, or else things get out of sync very fast indeed.  It can't be a straight copy-and-paste since the emphasis is slightly different between the two.
> 
> There's also the growing number of blog posts from the community about unikernels, and one thing we could do on the doc day is to crib some of the (excellent) content from there with the authors' permission and use that as the basis for the content.
> 
> -anil
> 
> On 29 Jul 2014, at 20:28, Russell Pavlicek <russell.pavlicek@citrix.com> wrote:
> 
>> Greetings Miragites!
>> 
>> Document Day for Wiki.XenProject.org is tomorrow (Wednesday).
>> 
>> With the release of Mirage V2, it seems to me that some basic documentation of Mirage V2 should find its way intoWiki.XenProject.org. Certainly, there are some pages already assembled under the "Mirage" category, but I think there is far more to be said.
>> 
>> After talking with Richard at OSCON, I am convinced that we need a "Why Mirage?" type document on the Xen Project wiki -- a document which explains why this concept of library OS/Cloud OS/unikernel should be of interest to users.  I've started a page called "Cloud Operating Systems" which tries to address the concept at a very high level.  It would be good to see that tie in to a more detailed page -- although not in the technical weeds -- which explains why Mirage itself is worth exploring.  What problems can it solve?  Why should people looking at Linux Containers look at Mirage?  What current and future scenarios will it facilitate?  Basically, something similar to your "Overview of Mirage" page on your website, complete with links to your docs, needs to be presented on our wiki.
>> 
>> I know many pages of excellent docs are in place on your own website, and those should stay where they are right now.  But it would be extremely useful to see some basic introductory information on the Xen Project Wiki with links to the appropriate details on the Mirage docs.  Readers of the Xen Project Wiki should be enticed to learn more about Mirage.  Right now, we lack the interesting introductory material which will draw them over to your site.
>> 
>> If anyone is willing to pitch in tomorrow to help create a page (or pages) on Wiki.XenProject.org to lead folks to the Mirage docs and blogs, that would be wonderful!
>> 
>> The usual Doc Day info can be found here:
>> 
>> http://wiki.xenproject.org/wiki/Xen_Project_Document_Days
>> 
>> Hope to see you tomorrow on #xendocs!
>> 
>> Russ Pavlicek
>> Xen Project Document Day Noisemaker
>> Home Office: +1-301-829-5327
>> UK VoIP: +44 1223 852 894
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 09:12:57 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 09:12:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCPwM-0005lC-Nu; Wed, 30 Jul 2014 09:12:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <amc79@cam.ac.uk>) id 1XCPwL-0005l7-77
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 09:12:53 +0000
Received: from [85.158.139.211:64538] by server-12.bemta-5.messagelabs.com id
	C0/48-22251-417B8D35; Wed, 30 Jul 2014 09:12:52 +0000
X-Env-Sender: amc79@cam.ac.uk
X-Msg-Ref: server-8.tower-206.messagelabs.com!1406711571!10793271!1
X-Originating-IP: [131.111.8.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMxLjExMS44LjE0MSA9PiAxNTQ4NjI=\n
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5779 invoked from network); 30 Jul 2014 09:12:51 -0000
Received: from ppsw-41.csi.cam.ac.uk (HELO ppsw-41.csi.cam.ac.uk)
	(131.111.8.141)
	by server-8.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 Jul 2014 09:12:51 -0000
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from host81-149-102-120.in-addr.btopenworld.com
	([81.149.102.120]:56613 helo=[10.0.0.151])
	by ppsw-41.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.157]:587)
	with esmtpsa (PLAIN:amc79) (TLSv1:AES128-SHA:128)
	id 1XCPwI-0007Cq-RK (Exim 4.82_3-c0e5623)
	(return-path <amc79@cam.ac.uk>); Wed, 30 Jul 2014 10:12:50 +0100
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Amir Chaudhry <amc79@cam.ac.uk>
In-Reply-To: <033D0522-500E-4AAD-9888-9BD2666FCEFD@recoil.org>
Date: Wed, 30 Jul 2014 10:12:49 +0100
Message-Id: <271CE971-A52E-4F95-ABD7-84DFBDD13BC1@cam.ac.uk>
References: <55E78A57290FB64FA0D3CF672F9F3DA2724041@SJCPEX01CL03.citrite.net>
	<033D0522-500E-4AAD-9888-9BD2666FCEFD@recoil.org>
To: mirageos-devel@lists.xenproject.org
X-Mailer: Apple Mail (2.1510)
Cc: Russell Pavlicek <russell.pavlicek@citrix.com>,
	Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] Doc Day Tomorrow: Mirage V2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

I've added this as an item to discuss on the next call [1].  

Having a set of base set of stable information on the Xen wiki is important and we should link out to the openmirage.org site for details/tutorials (and it's also running as a self-hosted unikernel, so is a good showcase).  It seems that this is what Russ is proposing but I'd also like to see the same content out in the wild as articles and blog posts.  It's also worth noting that the Xen site has a lot of traffic and people find their way to Mirage via that route.

I look forward to discussing this next week.

Best wishes,
Amir

[1] https://github.com/mirage/mirage-www/wiki/Call-Agenda

On 30 Jul 2014, at 09:28, Anil Madhavapeddy <anil@recoil.org> wrote:

> I'd love to contribute to this, but a number of us are travelling today (Mort and I are currently in Sweden about to deliver a tutorial in an hour, Dave is on vacation).  If anyone else is free, this is of course open to anyone to contribute.
> 
> Amir, could we get this on the agenda for the next Mirage call to have an organized doc push for the next regular Xen docs day?  
> 
> In general, we need to understand how to coordinate the Xen wiki and the Mirage website, or else things get out of sync very fast indeed.  It can't be a straight copy-and-paste since the emphasis is slightly different between the two.
> 
> There's also the growing number of blog posts from the community about unikernels, and one thing we could do on the doc day is to crib some of the (excellent) content from there with the authors' permission and use that as the basis for the content.
> 
> -anil
> 
> On 29 Jul 2014, at 20:28, Russell Pavlicek <russell.pavlicek@citrix.com> wrote:
> 
>> Greetings Miragites!
>> 
>> Document Day for Wiki.XenProject.org is tomorrow (Wednesday).
>> 
>> With the release of Mirage V2, it seems to me that some basic documentation of Mirage V2 should find its way intoWiki.XenProject.org. Certainly, there are some pages already assembled under the "Mirage" category, but I think there is far more to be said.
>> 
>> After talking with Richard at OSCON, I am convinced that we need a "Why Mirage?" type document on the Xen Project wiki -- a document which explains why this concept of library OS/Cloud OS/unikernel should be of interest to users.  I've started a page called "Cloud Operating Systems" which tries to address the concept at a very high level.  It would be good to see that tie in to a more detailed page -- although not in the technical weeds -- which explains why Mirage itself is worth exploring.  What problems can it solve?  Why should people looking at Linux Containers look at Mirage?  What current and future scenarios will it facilitate?  Basically, something similar to your "Overview of Mirage" page on your website, complete with links to your docs, needs to be presented on our wiki.
>> 
>> I know many pages of excellent docs are in place on your own website, and those should stay where they are right now.  But it would be extremely useful to see some basic introductory information on the Xen Project Wiki with links to the appropriate details on the Mirage docs.  Readers of the Xen Project Wiki should be enticed to learn more about Mirage.  Right now, we lack the interesting introductory material which will draw them over to your site.
>> 
>> If anyone is willing to pitch in tomorrow to help create a page (or pages) on Wiki.XenProject.org to lead folks to the Mirage docs and blogs, that would be wonderful!
>> 
>> The usual Doc Day info can be found here:
>> 
>> http://wiki.xenproject.org/wiki/Xen_Project_Document_Days
>> 
>> Hope to see you tomorrow on #xendocs!
>> 
>> Russ Pavlicek
>> Xen Project Document Day Noisemaker
>> Home Office: +1-301-829-5327
>> UK VoIP: +44 1223 852 894
>> _______________________________________________
>> MirageOS-devel mailing list
>> MirageOS-devel@lists.xenproject.org
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 09:39:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 09:39:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCQLk-0006c0-Pu; Wed, 30 Jul 2014 09:39:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XCQLj-0006bs-74
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 09:39:07 +0000
Received: from [85.158.139.211:6972] by server-17.bemta-5.messagelabs.com id
	76/D2-08943-A3DB8D35; Wed, 30 Jul 2014 09:39:06 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1406713143!7940477!1
X-Originating-IP: [209.85.214.180]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19765 invoked from network); 30 Jul 2014 09:39:05 -0000
Received: from mail-ob0-f180.google.com (HELO mail-ob0-f180.google.com)
	(209.85.214.180)
	by server-16.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	30 Jul 2014 09:39:05 -0000
Received: by mail-ob0-f180.google.com with SMTP id uy5so340694obc.25
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 30 Jul 2014 02:39:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=zpEL5/UI0cw12yUWz7RryJua4n3iaBvVHGUNH3LssZ0=;
	b=kAWW0sqM/mg+hbXtwqsJ6KKXOZYp+aGH3dk/Ypt5zY0VTI9OFHa3lraxi5eUzACJh5
	M5paREveWQFXGbz/1qeKOpNxdOw0Vnw3CJg5aOjdgvXA/t1u5O/q9QAffwyMjXxGvVK3
	SGC8gITIfkWIISo4JsuAiSg07afg3SXFrJSKzvUdsQRmOXUpVH5qAj+z0UPkQQGOwHKz
	6PzRlvY6PrMjSwStABeZ8oZr1GtSySG6B4bsSUUlIq9puvqNqoO/Q8Tf5Nnq8cbEPnBQ
	a33VgL4MPyyLOHyeIufVrVM459k72D7UbE0QTXaODdi3RGIZktVcY7L6/+myMrsKXgyD
	CGww==
MIME-Version: 1.0
X-Received: by 10.182.104.104 with SMTP id gd8mr3726192obb.17.1406713142721;
	Wed, 30 Jul 2014 02:39:02 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 30 Jul 2014 02:39:02 -0700 (PDT)
In-Reply-To: <B687BEF7-CC21-4A0F-B69A-F2E857B4CF26@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
	<DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
	<CAG4opy8joK=v9ikO+zMDwD+2vGvuUb=DxaSfNrDfjsAsKhKjDg@mail.gmail.com>
	<B687BEF7-CC21-4A0F-B69A-F2E857B4CF26@recoil.org>
Date: Wed, 30 Jul 2014 10:39:02 +0100
Message-ID: <CAG4opy9+AhKyu=22e66ydKa-UQcpS0EbARhnjh9f84ghtxu1+g@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30 July 2014 09:35, Anil Madhavapeddy <anil@recoil.org> wrote:
> I believe this should be fixed by pinning cohttp and mirage-http to HEAD,
> as there was a minor dependency issue that caused the extra Unix libraries
> to be pulled in the OS-independent Lwt version.
>
> opam pin cohttp git://github.com/mirage/ocaml-cohttp
> opam pin mirage-http git://github.com/mirage/mirage-http
>
> We need far too many pins on ARM at the moment and should cut some releases.
> Thomas: is the checksum tree in an ok state to send a pull req for?

I've added a pull request here:

  https://github.com/mirage/mirage-tcpip/pull/63

We'll need a new release of mirage first or at the same time.

> I'm going to sort out cohttp at a high priority when I'm done with today's
> tutorial.
>
> -anil
>
> On 29 Jul 2014, at 12:03, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 29 July 2014 10:59, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
>>> Still having problems with this. I'm building static_website+ip via ssh on
>>> the cubieboard and the build complains of not having libssl, libpthread and
>>> libssl, even though the libraries are installed (checked via apt-find and
>>> apt-get).
>>>
>>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ mirage configure
>>> --xen
>>> Mirage      Using scanned config file: config.ml
>>> Mirage      Processing:
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
>>> Mirage      => rm -rf
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/_build/config.*
>>> Mirage      => cd /home/mirage/mirage-skeleton/xen/static_website+ip &&
>>> ocamlbuild -use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs
>>> www         Using configuration:
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
>>> www         1 job [Dispatch.Main]
>>> www         Installing OPAM packages.
>>> www         => opam install --yes crunch cstruct io-page lwt
>>> mirage-console-xen mirage-http mirage-net-xen mirage-types mirage-xen re
>>> [NOTE] Package re is already installed (current version is 1.2.2).
>>> [NOTE] Package mirage-xen is already installed (current version is pinned).
>>> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
>>> [NOTE] Package mirage-net-xen is already installed (current version is
>>> 1.1.2).
>>> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
>>> [NOTE] Package mirage-console-xen is already installed (current version is
>>> 1.0.2).
>>> [NOTE] Package lwt is already installed (current version is 2.4.5).
>>> [NOTE] Package io-page is already installed (current version is 1.1.1).
>>> [NOTE] Package cstruct is already installed (current version is 1.3.1).
>>> [NOTE] Package crunch is already installed (current version is 1.3.0).
>>> www         => ocamlfind query -r -separator ' ' -format %d/%a -predicates
>>> native lwt.syntax cstruct io-page lwt mirage-console-xen mirage-http
>>> mirage-net-xen mirage-types mirage-types.lwt re.str tcpip.dhcpv4 tcpip.ethif
>>> tcpip.tcpv4 tcpip.udpv4
>>> www         => ocamlobjinfo /usr/lib/ocaml/unix.cmxa
>>> /usr/lib/ocaml/bigarray.cmxa /home/mirage/.opam/system/lib/bytes/bytes.cmxa
>>> /home/mirage/.opam/system/lib/ocplib-endian/ocplib_endian.cmxa
>>> /home/mirage/.opam/system/lib/ocplib-endian/bigstring.cmxa
>>> /home/mirage/.opam/system/lib/sexplib/sexplib.cmxa
>>> /home/mirage/.opam/system/lib/cstruct/cstruct.cmxa
>>> /home/mirage/.opam/system/lib/io-page/io_page.cmxa
>>> /home/mirage/.opam/system/lib/lwt/lwt.cmxa
>>> /home/mirage/.opam/system/lib/xenstore/xenstore.cmxa
>>> /home/mirage/.opam/system/lib/xenstore/xenstore_client_lwt.cmxa
>>> /home/mirage/.opam/system/lib/shared-memory-ring/shared_memory_ring.cmxa
>>> /home/mirage/.opam/system/lib/shared-memory-ring/console_ring.cmxa
>>> /home/mirage/.opam/system/lib/shared-memory-ring/xenstore_ring.cmxa
>>> /home/mirage/.opam/system/lib/shared-memory-ring/lwt_shared_memory_ring.cmxa
>>> /home/mirage/.opam/system/lib/mirage-clock-xen/mirage-clock.cmxa
>>> /home/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa
>>> /home/mirage/.opam/system/lib/xen-evtchn/xen_evtchn.cmxa
>>> /home/mirage/.opam/system/lib/mirage-xen/oS.cmxa
>>> /home/mirage/.opam/system/lib/mirage-console-xen/mirage-console.cmxa
>>> /home/mirage/.opam/system/lib/re/re.cmxa
>>> /home/mirage/.opam/system/lib/re/re_posix.cmxa
>>> /home/mirage/.opam/system/lib/stringext/stringext.cmxa
>>> /home/mirage/.opam/system/lib/uri/uri.cmxa
>>> /home/mirage/.opam/system/lib/re/re_emacs.cmxa
>>> /home/mirage/.opam/system/lib/uri/services.cmxa
>>> /home/mirage/.opam/system/lib/fieldslib/fieldslib.cmxa
>>> /home/mirage/.opam/system/lib/cohttp/cohttp.cmxa
>>> /home/mirage/.opam/system/lib/conduit/conduit.cmxa
>>> /home/mirage/.opam/system/lib/lwt/lwt-log.cmxa
>>> /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa
>>> /home/mirage/.opam/system/lib/ssl/ssl.cmxa
>>> /home/mirage/.opam/system/lib/lwt/lwt-ssl.cmxa
>>> /home/mirage/.opam/system/lib/conduit/conduit-lwt.cmxa
>>> /home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa
>>> /home/mirage/.opam/system/lib/ipaddr/ipaddr.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/channel.cmxa
>>> /home/mirage/.opam/system/lib/mirage-http/mirage-http.cmxa
>>> /home/mirage/.opam/system/lib/mirage-net-xen/mirage-net-xen.cmxa
>>> /home/mirage/.opam/system/lib/re/re_str.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/tcpip.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/udpv4.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/dhcpv4.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/ethif.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/ipv4.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/tcpv4.cmxa
>>>
>>> www         => ocamlfind printconf path
>>> www         Generating: main.ml
>>> www         Generating:
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/static1.ml
>>> www         => ocaml-crunch -o static1.ml
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/./htdocs
>>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend
>>> opam install crunch cstruct io-page lwt mirage-console-xen mirage-http
>>> mirage-net-xen mirage-types mirage-xen re --verbose
>>> [NOTE] Package re is already installed (current version is 1.2.2).
>>> [NOTE] Package mirage-xen is already installed (current version is pinned).
>>> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
>>> [NOTE] Package mirage-net-xen is already installed (current version is
>>> 1.1.2).
>>> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
>>> [NOTE] Package mirage-console-xen is already installed (current version is
>>> 1.0.2).
>>> [NOTE] Package lwt is already installed (current version is 2.4.5).
>>> [NOTE] Package io-page is already installed (current version is 1.1.1).
>>> [NOTE] Package cstruct is already installed (current version is 1.3.1).
>>> [NOTE] Package crunch is already installed (current version is 1.3.0).
>>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make
>>> ocamlbuild -classic-display -use-ocamlfind -pkgs
>>> lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-xen,mirage-types,mirage-types.lwt,re.str,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpip.udpv4
>>> -tags "syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g
>>> -lflags -g,-linkpkg,-dontlink,unix main.native.o
>>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>>> lwt.syntax -syntax camlp4o -modules main.ml > main.ml.depends
>>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>>> lwt.syntax -syntax camlp4o -modules dispatch.ml > dispatch.ml.depends
>>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>>> lwt.syntax -syntax camlp4o -modules static1.mli > static1.mli.depends
>>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o dispatch.cmo dispatch.ml
>>> + ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o dispatch.cmo dispatch.ml
>>> File "dispatch.ml", line 89, characters 8-16:
>>> Warning 26: unused variable callback.
>>> File "dispatch.ml", line 94, characters 8-19:
>>> Warning 26: unused variable conn_closed.
>>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o static1.cmi static1.mli
>>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o main.cmo main.ml
>>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>>> lwt.syntax -syntax camlp4o -modules static1.ml > static1.ml.depends
>>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o dispatch.cmx dispatch.ml
>>> + ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o dispatch.cmx dispatch.ml
>>> File "dispatch.ml", line 89, characters 8-16:
>>> Warning 26: unused variable callback.
>>> File "dispatch.ml", line 94, characters 8-19:
>>> Warning 26: unused variable conn_closed.
>>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o static1.cmx static1.ml
>>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o main.cmx main.ml
>>> ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package
>>> tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4
>>> -package re.str -package mirage-types.lwt -package mirage-types -package
>>> mirage-net-xen -package mirage-http -package mirage-console-xen -package lwt
>>> -package io-page -package cstruct -package lwt.syntax -syntax camlp4o
>>> dispatch.cmx static1.cmx main.cmx -o main.native.o
>>> pkg-config --print-errors --exists openlibm 'libminios-xen >= 0.2'
>>> ld -d -static -nostdlib --start-group \
>>>      $(pkg-config --static --libs openlibm 'libminios-xen >= 0.2') \
>>>      _build/main.native.o
>>> /home/mirage/.opam/system/lib/mirage-xen/libocaml.a \
>>>      /home/mirage/.opam/system/lib/mirage-xen/libxencaml.a --end-group \
>>>      -L/usr/lib/ocaml \
>>>      -lbigarray \
>>>      -L/home/mirage/.opam/system/lib/cstruct \
>>>      -lcstruct_stubs \
>>>      -L/home/mirage/.opam/system/lib/shared-memory-ring \
>>>      -lshared_memory_ring_stubs \
>>>      -L/home/mirage/.opam/system/lib/lwt \
>>>      -llwt-unix_stubs \
>>>      -lpthread \
>>>      -L/home/mirage/.opam/system/lib/ssl \
>>>      -lssl_stubs \
>>>      -lcrypto \
>>>      -lssl \
>>>      -L/home/mirage/.opam/system/lib/tcpip \
>>>      -ltcpip_stubs \
>>>      /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \
>>>      -o mir-www.elf
>>> ld: cannot find -lpthread
>>> ld: cannot find -lcrypto
>>> ld: cannot find -lssl
>>> make: *** [build] Error 1
>>
>> You can just remove these manually from the Makefile for now.
>>
>> The other problem you may hit is running out of stack space on the
>> larger examples. The Git version of Mini-OS extends the old 16 KB
>> stack by 1MB, or you can use the work-around here:
>>
>> https://github.com/mirage/mirage/issues/274
>>
>>
>> --
>> Dr Thomas Leonard        http://0install.net/
>> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
>> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
>>
>



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 09:39:13 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 09:39:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCQLk-0006c0-Pu; Wed, 30 Jul 2014 09:39:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XCQLj-0006bs-74
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 09:39:07 +0000
Received: from [85.158.139.211:6972] by server-17.bemta-5.messagelabs.com id
	76/D2-08943-A3DB8D35; Wed, 30 Jul 2014 09:39:06 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1406713143!7940477!1
X-Originating-IP: [209.85.214.180]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19765 invoked from network); 30 Jul 2014 09:39:05 -0000
Received: from mail-ob0-f180.google.com (HELO mail-ob0-f180.google.com)
	(209.85.214.180)
	by server-16.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	30 Jul 2014 09:39:05 -0000
Received: by mail-ob0-f180.google.com with SMTP id uy5so340694obc.25
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 30 Jul 2014 02:39:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=zpEL5/UI0cw12yUWz7RryJua4n3iaBvVHGUNH3LssZ0=;
	b=kAWW0sqM/mg+hbXtwqsJ6KKXOZYp+aGH3dk/Ypt5zY0VTI9OFHa3lraxi5eUzACJh5
	M5paREveWQFXGbz/1qeKOpNxdOw0Vnw3CJg5aOjdgvXA/t1u5O/q9QAffwyMjXxGvVK3
	SGC8gITIfkWIISo4JsuAiSg07afg3SXFrJSKzvUdsQRmOXUpVH5qAj+z0UPkQQGOwHKz
	6PzRlvY6PrMjSwStABeZ8oZr1GtSySG6B4bsSUUlIq9puvqNqoO/Q8Tf5Nnq8cbEPnBQ
	a33VgL4MPyyLOHyeIufVrVM459k72D7UbE0QTXaODdi3RGIZktVcY7L6/+myMrsKXgyD
	CGww==
MIME-Version: 1.0
X-Received: by 10.182.104.104 with SMTP id gd8mr3726192obb.17.1406713142721;
	Wed, 30 Jul 2014 02:39:02 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Wed, 30 Jul 2014 02:39:02 -0700 (PDT)
In-Reply-To: <B687BEF7-CC21-4A0F-B69A-F2E857B4CF26@recoil.org>
References: <DUB128-W70F27A0EDA107F51873DCDB4FB0@phx.gbl>
	<A4D0051B-C1BF-45D6-B64C-C5483303FC06@recoil.org>
	<DUB128-W8592F5E5FB15090F926BF8B4F80@phx.gbl>
	<DUB128-W16426F8454C7338FBEA0CFB4F80@phx.gbl>
	<CAG4opy8joK=v9ikO+zMDwD+2vGvuUb=DxaSfNrDfjsAsKhKjDg@mail.gmail.com>
	<B687BEF7-CC21-4A0F-B69A-F2E857B4CF26@recoil.org>
Date: Wed, 30 Jul 2014 10:39:02 +0100
Message-ID: <CAG4opy9+AhKyu=22e66ydKa-UQcpS0EbARhnjh9f84ghtxu1+g@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Compiling static_website+ip on Cubieboard2
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 30 July 2014 09:35, Anil Madhavapeddy <anil@recoil.org> wrote:
> I believe this should be fixed by pinning cohttp and mirage-http to HEAD,
> as there was a minor dependency issue that caused the extra Unix libraries
> to be pulled in the OS-independent Lwt version.
>
> opam pin cohttp git://github.com/mirage/ocaml-cohttp
> opam pin mirage-http git://github.com/mirage/mirage-http
>
> We need far too many pins on ARM at the moment and should cut some releases.
> Thomas: is the checksum tree in an ok state to send a pull req for?

I've added a pull request here:

  https://github.com/mirage/mirage-tcpip/pull/63

We'll need a new release of mirage first or at the same time.

> I'm going to sort out cohttp at a high priority when I'm done with today's
> tutorial.
>
> -anil
>
> On 29 Jul 2014, at 12:03, Thomas Leonard <talex5@gmail.com> wrote:
>
>> On 29 July 2014 10:59, buzz heavyyear <buzzheavyyear@hotmail.com> wrote:
>>> Still having problems with this. I'm building static_website+ip via ssh on
>>> the cubieboard and the build complains of not having libssl, libpthread and
>>> libssl, even though the libraries are installed (checked via apt-find and
>>> apt-get).
>>>
>>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ mirage configure
>>> --xen
>>> Mirage      Using scanned config file: config.ml
>>> Mirage      Processing:
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
>>> Mirage      => rm -rf
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/_build/config.*
>>> Mirage      => cd /home/mirage/mirage-skeleton/xen/static_website+ip &&
>>> ocamlbuild -use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs
>>> www         Using configuration:
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/config.ml
>>> www         1 job [Dispatch.Main]
>>> www         Installing OPAM packages.
>>> www         => opam install --yes crunch cstruct io-page lwt
>>> mirage-console-xen mirage-http mirage-net-xen mirage-types mirage-xen re
>>> [NOTE] Package re is already installed (current version is 1.2.2).
>>> [NOTE] Package mirage-xen is already installed (current version is pinned).
>>> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
>>> [NOTE] Package mirage-net-xen is already installed (current version is
>>> 1.1.2).
>>> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
>>> [NOTE] Package mirage-console-xen is already installed (current version is
>>> 1.0.2).
>>> [NOTE] Package lwt is already installed (current version is 2.4.5).
>>> [NOTE] Package io-page is already installed (current version is 1.1.1).
>>> [NOTE] Package cstruct is already installed (current version is 1.3.1).
>>> [NOTE] Package crunch is already installed (current version is 1.3.0).
>>> www         => ocamlfind query -r -separator ' ' -format %d/%a -predicates
>>> native lwt.syntax cstruct io-page lwt mirage-console-xen mirage-http
>>> mirage-net-xen mirage-types mirage-types.lwt re.str tcpip.dhcpv4 tcpip.ethif
>>> tcpip.tcpv4 tcpip.udpv4
>>> www         => ocamlobjinfo /usr/lib/ocaml/unix.cmxa
>>> /usr/lib/ocaml/bigarray.cmxa /home/mirage/.opam/system/lib/bytes/bytes.cmxa
>>> /home/mirage/.opam/system/lib/ocplib-endian/ocplib_endian.cmxa
>>> /home/mirage/.opam/system/lib/ocplib-endian/bigstring.cmxa
>>> /home/mirage/.opam/system/lib/sexplib/sexplib.cmxa
>>> /home/mirage/.opam/system/lib/cstruct/cstruct.cmxa
>>> /home/mirage/.opam/system/lib/io-page/io_page.cmxa
>>> /home/mirage/.opam/system/lib/lwt/lwt.cmxa
>>> /home/mirage/.opam/system/lib/xenstore/xenstore.cmxa
>>> /home/mirage/.opam/system/lib/xenstore/xenstore_client_lwt.cmxa
>>> /home/mirage/.opam/system/lib/shared-memory-ring/shared_memory_ring.cmxa
>>> /home/mirage/.opam/system/lib/shared-memory-ring/console_ring.cmxa
>>> /home/mirage/.opam/system/lib/shared-memory-ring/xenstore_ring.cmxa
>>> /home/mirage/.opam/system/lib/shared-memory-ring/lwt_shared_memory_ring.cmxa
>>> /home/mirage/.opam/system/lib/mirage-clock-xen/mirage-clock.cmxa
>>> /home/mirage/.opam/system/lib/xen-gnt/xen_gnt.cmxa
>>> /home/mirage/.opam/system/lib/xen-evtchn/xen_evtchn.cmxa
>>> /home/mirage/.opam/system/lib/mirage-xen/oS.cmxa
>>> /home/mirage/.opam/system/lib/mirage-console-xen/mirage-console.cmxa
>>> /home/mirage/.opam/system/lib/re/re.cmxa
>>> /home/mirage/.opam/system/lib/re/re_posix.cmxa
>>> /home/mirage/.opam/system/lib/stringext/stringext.cmxa
>>> /home/mirage/.opam/system/lib/uri/uri.cmxa
>>> /home/mirage/.opam/system/lib/re/re_emacs.cmxa
>>> /home/mirage/.opam/system/lib/uri/services.cmxa
>>> /home/mirage/.opam/system/lib/fieldslib/fieldslib.cmxa
>>> /home/mirage/.opam/system/lib/cohttp/cohttp.cmxa
>>> /home/mirage/.opam/system/lib/conduit/conduit.cmxa
>>> /home/mirage/.opam/system/lib/lwt/lwt-log.cmxa
>>> /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa
>>> /home/mirage/.opam/system/lib/ssl/ssl.cmxa
>>> /home/mirage/.opam/system/lib/lwt/lwt-ssl.cmxa
>>> /home/mirage/.opam/system/lib/conduit/conduit-lwt.cmxa
>>> /home/mirage/.opam/system/lib/cohttp/cohttp_lwt.cmxa
>>> /home/mirage/.opam/system/lib/ipaddr/ipaddr.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/channel.cmxa
>>> /home/mirage/.opam/system/lib/mirage-http/mirage-http.cmxa
>>> /home/mirage/.opam/system/lib/mirage-net-xen/mirage-net-xen.cmxa
>>> /home/mirage/.opam/system/lib/re/re_str.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/tcpip.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/udpv4.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/dhcpv4.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/ethif.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/ipv4.cmxa
>>> /home/mirage/.opam/system/lib/tcpip/tcpv4.cmxa
>>>
>>> www         => ocamlfind printconf path
>>> www         Generating: main.ml
>>> www         Generating:
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/static1.ml
>>> www         => ocaml-crunch -o static1.ml
>>> /home/mirage/mirage-skeleton/xen/static_website+ip/./htdocs
>>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make depend
>>> opam install crunch cstruct io-page lwt mirage-console-xen mirage-http
>>> mirage-net-xen mirage-types mirage-xen re --verbose
>>> [NOTE] Package re is already installed (current version is 1.2.2).
>>> [NOTE] Package mirage-xen is already installed (current version is pinned).
>>> [NOTE] Package mirage-types is already installed (current version is 1.2.0).
>>> [NOTE] Package mirage-net-xen is already installed (current version is
>>> 1.1.2).
>>> [NOTE] Package mirage-http is already installed (current version is 1.1.0).
>>> [NOTE] Package mirage-console-xen is already installed (current version is
>>> 1.0.2).
>>> [NOTE] Package lwt is already installed (current version is 2.4.5).
>>> [NOTE] Package io-page is already installed (current version is 1.1.1).
>>> [NOTE] Package cstruct is already installed (current version is 1.3.1).
>>> [NOTE] Package crunch is already installed (current version is 1.3.0).
>>> mirage@cubie0:~/mirage-skeleton/xen/static_website+ip$ make
>>> ocamlbuild -classic-display -use-ocamlfind -pkgs
>>> lwt.syntax,cstruct,io-page,lwt,mirage-console-xen,mirage-http,mirage-net-xen,mirage-types,mirage-types.lwt,re.str,tcpip.dhcpv4,tcpip.ethif,tcpip.tcpv4,tcpip.udpv4
>>> -tags "syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g
>>> -lflags -g,-linkpkg,-dontlink,unix main.native.o
>>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>>> lwt.syntax -syntax camlp4o -modules main.ml > main.ml.depends
>>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>>> lwt.syntax -syntax camlp4o -modules dispatch.ml > dispatch.ml.depends
>>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>>> lwt.syntax -syntax camlp4o -modules static1.mli > static1.mli.depends
>>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o dispatch.cmo dispatch.ml
>>> + ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o dispatch.cmo dispatch.ml
>>> File "dispatch.ml", line 89, characters 8-16:
>>> Warning 26: unused variable callback.
>>> File "dispatch.ml", line 94, characters 8-19:
>>> Warning 26: unused variable conn_closed.
>>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o static1.cmi static1.mli
>>> ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o main.cmo main.ml
>>> ocamlfind ocamldep -package tcpip.udpv4 -package tcpip.tcpv4 -package
>>> tcpip.ethif -package tcpip.dhcpv4 -package re.str -package mirage-types.lwt
>>> -package mirage-types -package mirage-net-xen -package mirage-http -package
>>> mirage-console-xen -package lwt -package io-page -package cstruct -package
>>> lwt.syntax -syntax camlp4o -modules static1.ml > static1.ml.depends
>>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o dispatch.cmx dispatch.ml
>>> + ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o dispatch.cmx dispatch.ml
>>> File "dispatch.ml", line 89, characters 8-16:
>>> Warning 26: unused variable callback.
>>> File "dispatch.ml", line 94, characters 8-19:
>>> Warning 26: unused variable conn_closed.
>>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o static1.cmx static1.ml
>>> ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence
>>> -package tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package
>>> tcpip.dhcpv4 -package re.str -package mirage-types.lwt -package mirage-types
>>> -package mirage-net-xen -package mirage-http -package mirage-console-xen
>>> -package lwt -package io-page -package cstruct -package lwt.syntax -syntax
>>> camlp4o -o main.cmx main.ml
>>> ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package
>>> tcpip.udpv4 -package tcpip.tcpv4 -package tcpip.ethif -package tcpip.dhcpv4
>>> -package re.str -package mirage-types.lwt -package mirage-types -package
>>> mirage-net-xen -package mirage-http -package mirage-console-xen -package lwt
>>> -package io-page -package cstruct -package lwt.syntax -syntax camlp4o
>>> dispatch.cmx static1.cmx main.cmx -o main.native.o
>>> pkg-config --print-errors --exists openlibm 'libminios-xen >= 0.2'
>>> ld -d -static -nostdlib --start-group \
>>>      $(pkg-config --static --libs openlibm 'libminios-xen >= 0.2') \
>>>      _build/main.native.o
>>> /home/mirage/.opam/system/lib/mirage-xen/libocaml.a \
>>>      /home/mirage/.opam/system/lib/mirage-xen/libxencaml.a --end-group \
>>>      -L/usr/lib/ocaml \
>>>      -lbigarray \
>>>      -L/home/mirage/.opam/system/lib/cstruct \
>>>      -lcstruct_stubs \
>>>      -L/home/mirage/.opam/system/lib/shared-memory-ring \
>>>      -lshared_memory_ring_stubs \
>>>      -L/home/mirage/.opam/system/lib/lwt \
>>>      -llwt-unix_stubs \
>>>      -lpthread \
>>>      -L/home/mirage/.opam/system/lib/ssl \
>>>      -lssl_stubs \
>>>      -lcrypto \
>>>      -lssl \
>>>      -L/home/mirage/.opam/system/lib/tcpip \
>>>      -ltcpip_stubs \
>>>      /usr/lib/gcc/arm-linux-gnueabihf/4.8/libgcc.a \
>>>      -o mir-www.elf
>>> ld: cannot find -lpthread
>>> ld: cannot find -lcrypto
>>> ld: cannot find -lssl
>>> make: *** [build] Error 1
>>
>> You can just remove these manually from the Makefile for now.
>>
>> The other problem you may hit is running out of stack space on the
>> larger examples. The Git version of Mini-OS extends the old 16 KB
>> stack by 1MB, or you can use the work-around here:
>>
>> https://github.com/mirage/mirage/issues/274
>>
>>
>> --
>> Dr Thomas Leonard        http://0install.net/
>> GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
>> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
>>
>



-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 10:35:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 10:35:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCREV-0008CJ-58; Wed, 30 Jul 2014 10:35:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tom.jrbrown@yahoo.com>) id 1XCREU-0008CE-Do
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 10:35:42 +0000
Received: from [85.158.139.211:52704] by server-1.bemta-5.messagelabs.com id
	C3/A2-17892-D7AC8D35; Wed, 30 Jul 2014 10:35:41 +0000
X-Env-Sender: tom.jrbrown@yahoo.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1406716538!7486409!1
X-Originating-IP: [98.138.120.51]
X-SpamReason: No, hits=0.1 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_12,ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8752 invoked from network); 30 Jul 2014 10:35:40 -0000
Received: from nm44.bullet.mail.ne1.yahoo.com (HELO
	nm44.bullet.mail.ne1.yahoo.com) (98.138.120.51)
	by server-15.tower-206.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 Jul 2014 10:35:40 -0000
Received: from [127.0.0.1] by nm44.bullet.mail.ne1.yahoo.com with NNFMP;
	30 Jul 2014 10:35:38 -0000
Received: from [98.138.101.130] by nm44.bullet.mail.ne1.yahoo.com with NNFMP;
	30 Jul 2014 10:32:40 -0000
Received: from [212.82.98.49] by tm18.bullet.mail.ne1.yahoo.com with NNFMP;
	30 Jul 2014 10:32:40 -0000
Received: from [212.82.98.102] by tm2.bullet.mail.ir2.yahoo.com with NNFMP;
	30 Jul 2014 10:32:39 -0000
Received: from [127.0.0.1] by omp1039.mail.ir2.yahoo.com with NNFMP;
	30 Jul 2014 10:32:39 -0000
X-Yahoo-Newman-Property: ymail-4
X-Yahoo-Newman-Id: 938785.14555.bm@omp1039.mail.ir2.yahoo.com
Received: (qmail 82069 invoked by uid 60001); 30 Jul 2014 10:32:39 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1406716359; bh=muNYZ+a31jniVn5W1fPJYxWEmhDnO/OJF03GyXOluyg=;
	h=Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=yDslxOHd8i7EGQay//5LCdqSaamP/2DVG3oKSxG/qNXuqs/I2r5z2dIRrbWShK8QB95IlAqWpWg05xkqIq8WC79qsW7YQtj79619Jz965w9bHB2xCpXayIZNu/I33lb2u17wgScwUGeem2XPmg2tdMQNvJurYCBX9K5oIKeVWLw=
X-YMail-OSG: HAZ675MVM1mgySZqm9qdQR5yyG4BuznV5c7CxoaqkYwp0pt
	yngv1aQbiOVaDKmOR22A6Il.ST4jnstOR2gneXEsIydrHWTd25mu5SPNif9i
	vR80EYXcmpi1QiOqdICF9TGrhes28F72pjAhyBykU_31jjy7DmQCLyBrni8W
	oKaubrKOpB4ma7JZhKv3Sn33WR5clTkDqKIj4v3beML_TYjpWLKT6ROJ7wea
	tmTWHZWyn_vwUKmYMNcO2U40cbfW8JO.KIvyBrCrhBXT9v6D.iTKI4H1J04K
	U_mO6jGTUW4u9wdVintZAqqTx6F.8jhNn3ucCZumSjEU4ECgWqQCJzZLMVjZ
	0_a_AaD_mwFE9n.d9iEw7UMeg9BstQt0omiVz77dfXe8Qdq7QmifMy._7VSb
	_N7rbCFBTwICCm2FswVsmwlQj0IbkLLcfEo3FmKEAcQWhAhkO5F_apKkmmN.
	OLwpvj_MnP_CytMa1Ivv5gBWlRo.lcQMl.uY43NNllAWeGcS_Oq1gwe6zL6O
	vx_f6b0Gdk6gvFZbMMN6i
Received: from [31.31.76.184] by web172006.mail.ir2.yahoo.com via HTTP;
	Wed, 30 Jul 2014 11:32:39 BST
X-Rocket-MIMEInfo: 002.001,
	SSBhbSB3cml0aW5nIGEgY2xpZW50IGFwcGxpY2F0aW9uIHRoYXQgY29ubmVjdHMgdG8gYSBzZXJ2ZXIgdGhhdCBpcyBydW5uaW5nIG9uIHRoZSBzYW1lIG1hY2hpbmUuIENsaWVudCBpcCBhZGRyZXNzIGlzIHN0YXRpY2FsbHkgc2V0IHRvIDEwLjAuMC4yICh1c2luZyBJLnNldF9pcHY0KSBhbmQgc2ltaWxhciB0byBvbmUgb2YgbWlyYWdlIG9ubGluZSBkb2N1bWVudHMsIGFuZCBnYXRld2F5IHRvIDEwLjAuMC4xLiBUaGUgaXAgYWRkcmVzcyBmb3IgdGFwMCBpcyBhbHNvIHNldCB0byAxMC4wLjAuMSBvbiB0aGUBMAEBAQE-
X-Mailer: YahooMailWebService/0.8.196.685
Message-ID: <1406716359.9108.YahooMailNeo@web172006.mail.ir2.yahoo.com>
Date: Wed, 30 Jul 2014 11:32:39 +0100
From: Tom Brown <tom.jrbrown@yahoo.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
MIME-Version: 1.0
Subject: [MirageOS-devel] Client program connecting to a server on local host
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Tom Brown <tom.jrbrown@yahoo.com>
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5363891015615761994=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============5363891015615761994==
Content-Type: multipart/alternative; boundary="-1282842291-1969341914-1406716359=:9108"

---1282842291-1969341914-1406716359=:9108
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

I am writing a client application that connects to a server that is running=
 on the same machine. Client ip address is statically set to 10.0.0.2 (usin=
g I.set_ipv4) and similar to one of mirage online documents, and gateway to=
 10.0.0.1. The ip address for tap0 is also set to 10.0.0.1 on the machine. =
Client cannot connect to the listening server. How I can make this interfac=
e work?=0A=0AAs another question, do we actually need to assign an ip addre=
ss in a different network to the client? Can we make client run as a progra=
m on the local machine while it is built over a tap?=0A=0AThanks in advance=
.=0A
---1282842291-1969341914-1406716359=:9108
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;fo=
nt-size:12pt"><div style=3D"" class=3D"">I am writing a client application =
that connects to a server that is running on the same machine. Client ip ad=
dress is statically set to 10.0.0.2 (using I.set_ipv4) and similar to one o=
f mirage online documents, and gateway to 10.0.0.1. The ip address for tap0=
 is also set to 10.0.0.1 on the machine. Client cannot connect to the liste=
ning server. How I can make this interface work?<br style=3D""><br style=3D=
"" class=3D"">As another question, do we actually need to assign an ip addr=
ess in a different network to the client? Can we make client run as a progr=
am on the local machine while it is built over a tap?<br style=3D"" class=
=3D""><br style=3D"" class=3D"">Thanks in advance.<br style=3D"" class=3D""=
></div></div></body></html>
---1282842291-1969341914-1406716359=:9108--


--===============5363891015615761994==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============5363891015615761994==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 10:35:45 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 10:35:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCREV-0008CJ-58; Wed, 30 Jul 2014 10:35:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tom.jrbrown@yahoo.com>) id 1XCREU-0008CE-Do
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 10:35:42 +0000
Received: from [85.158.139.211:52704] by server-1.bemta-5.messagelabs.com id
	C3/A2-17892-D7AC8D35; Wed, 30 Jul 2014 10:35:41 +0000
X-Env-Sender: tom.jrbrown@yahoo.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1406716538!7486409!1
X-Originating-IP: [98.138.120.51]
X-SpamReason: No, hits=0.1 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_12,ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8752 invoked from network); 30 Jul 2014 10:35:40 -0000
Received: from nm44.bullet.mail.ne1.yahoo.com (HELO
	nm44.bullet.mail.ne1.yahoo.com) (98.138.120.51)
	by server-15.tower-206.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 Jul 2014 10:35:40 -0000
Received: from [127.0.0.1] by nm44.bullet.mail.ne1.yahoo.com with NNFMP;
	30 Jul 2014 10:35:38 -0000
Received: from [98.138.101.130] by nm44.bullet.mail.ne1.yahoo.com with NNFMP;
	30 Jul 2014 10:32:40 -0000
Received: from [212.82.98.49] by tm18.bullet.mail.ne1.yahoo.com with NNFMP;
	30 Jul 2014 10:32:40 -0000
Received: from [212.82.98.102] by tm2.bullet.mail.ir2.yahoo.com with NNFMP;
	30 Jul 2014 10:32:39 -0000
Received: from [127.0.0.1] by omp1039.mail.ir2.yahoo.com with NNFMP;
	30 Jul 2014 10:32:39 -0000
X-Yahoo-Newman-Property: ymail-4
X-Yahoo-Newman-Id: 938785.14555.bm@omp1039.mail.ir2.yahoo.com
Received: (qmail 82069 invoked by uid 60001); 30 Jul 2014 10:32:39 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1406716359; bh=muNYZ+a31jniVn5W1fPJYxWEmhDnO/OJF03GyXOluyg=;
	h=Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=yDslxOHd8i7EGQay//5LCdqSaamP/2DVG3oKSxG/qNXuqs/I2r5z2dIRrbWShK8QB95IlAqWpWg05xkqIq8WC79qsW7YQtj79619Jz965w9bHB2xCpXayIZNu/I33lb2u17wgScwUGeem2XPmg2tdMQNvJurYCBX9K5oIKeVWLw=
X-YMail-OSG: HAZ675MVM1mgySZqm9qdQR5yyG4BuznV5c7CxoaqkYwp0pt
	yngv1aQbiOVaDKmOR22A6Il.ST4jnstOR2gneXEsIydrHWTd25mu5SPNif9i
	vR80EYXcmpi1QiOqdICF9TGrhes28F72pjAhyBykU_31jjy7DmQCLyBrni8W
	oKaubrKOpB4ma7JZhKv3Sn33WR5clTkDqKIj4v3beML_TYjpWLKT6ROJ7wea
	tmTWHZWyn_vwUKmYMNcO2U40cbfW8JO.KIvyBrCrhBXT9v6D.iTKI4H1J04K
	U_mO6jGTUW4u9wdVintZAqqTx6F.8jhNn3ucCZumSjEU4ECgWqQCJzZLMVjZ
	0_a_AaD_mwFE9n.d9iEw7UMeg9BstQt0omiVz77dfXe8Qdq7QmifMy._7VSb
	_N7rbCFBTwICCm2FswVsmwlQj0IbkLLcfEo3FmKEAcQWhAhkO5F_apKkmmN.
	OLwpvj_MnP_CytMa1Ivv5gBWlRo.lcQMl.uY43NNllAWeGcS_Oq1gwe6zL6O
	vx_f6b0Gdk6gvFZbMMN6i
Received: from [31.31.76.184] by web172006.mail.ir2.yahoo.com via HTTP;
	Wed, 30 Jul 2014 11:32:39 BST
X-Rocket-MIMEInfo: 002.001,
	SSBhbSB3cml0aW5nIGEgY2xpZW50IGFwcGxpY2F0aW9uIHRoYXQgY29ubmVjdHMgdG8gYSBzZXJ2ZXIgdGhhdCBpcyBydW5uaW5nIG9uIHRoZSBzYW1lIG1hY2hpbmUuIENsaWVudCBpcCBhZGRyZXNzIGlzIHN0YXRpY2FsbHkgc2V0IHRvIDEwLjAuMC4yICh1c2luZyBJLnNldF9pcHY0KSBhbmQgc2ltaWxhciB0byBvbmUgb2YgbWlyYWdlIG9ubGluZSBkb2N1bWVudHMsIGFuZCBnYXRld2F5IHRvIDEwLjAuMC4xLiBUaGUgaXAgYWRkcmVzcyBmb3IgdGFwMCBpcyBhbHNvIHNldCB0byAxMC4wLjAuMSBvbiB0aGUBMAEBAQE-
X-Mailer: YahooMailWebService/0.8.196.685
Message-ID: <1406716359.9108.YahooMailNeo@web172006.mail.ir2.yahoo.com>
Date: Wed, 30 Jul 2014 11:32:39 +0100
From: Tom Brown <tom.jrbrown@yahoo.com>
To: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
MIME-Version: 1.0
Subject: [MirageOS-devel] Client program connecting to a server on local host
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Tom Brown <tom.jrbrown@yahoo.com>
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5363891015615761994=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============5363891015615761994==
Content-Type: multipart/alternative; boundary="-1282842291-1969341914-1406716359=:9108"

---1282842291-1969341914-1406716359=:9108
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

I am writing a client application that connects to a server that is running=
 on the same machine. Client ip address is statically set to 10.0.0.2 (usin=
g I.set_ipv4) and similar to one of mirage online documents, and gateway to=
 10.0.0.1. The ip address for tap0 is also set to 10.0.0.1 on the machine. =
Client cannot connect to the listening server. How I can make this interfac=
e work?=0A=0AAs another question, do we actually need to assign an ip addre=
ss in a different network to the client? Can we make client run as a progra=
m on the local machine while it is built over a tap?=0A=0AThanks in advance=
.=0A
---1282842291-1969341914-1406716359=:9108
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:He=
lveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;fo=
nt-size:12pt"><div style=3D"" class=3D"">I am writing a client application =
that connects to a server that is running on the same machine. Client ip ad=
dress is statically set to 10.0.0.2 (using I.set_ipv4) and similar to one o=
f mirage online documents, and gateway to 10.0.0.1. The ip address for tap0=
 is also set to 10.0.0.1 on the machine. Client cannot connect to the liste=
ning server. How I can make this interface work?<br style=3D""><br style=3D=
"" class=3D"">As another question, do we actually need to assign an ip addr=
ess in a different network to the client? Can we make client run as a progr=
am on the local machine while it is built over a tap?<br style=3D"" class=
=3D""><br style=3D"" class=3D"">Thanks in advance.<br style=3D"" class=3D""=
></div></div></body></html>
---1282842291-1969341914-1406716359=:9108--


--===============5363891015615761994==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============5363891015615761994==--


From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 12:13:03 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 12:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCSke-0002Wz-Sq; Wed, 30 Jul 2014 12:13:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yallop@gmail.com>) id 1XCSkd-0002Wu-Nh
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 12:12:59 +0000
Received: from [193.109.254.147:8562] by server-14.bemta-14.messagelabs.com id
	58/7D-02763-A41E8D35; Wed, 30 Jul 2014 12:12:58 +0000
X-Env-Sender: yallop@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1406722377!12604579!1
X-Originating-IP: [209.85.212.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14876 invoked from network); 30 Jul 2014 12:12:58 -0000
Received: from mail-wi0-f173.google.com (HELO mail-wi0-f173.google.com)
	(209.85.212.173)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 Jul 2014 12:12:58 -0000
Received: by mail-wi0-f173.google.com with SMTP id f8so7476728wiw.0
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 30 Jul 2014 05:12:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type:content-transfer-encoding;
	bh=weLC76IXehWvC4yaiv3A+nkApLDyLvo/sKjuSjRskSs=;
	b=dziEyQgtCSqwQlm1wkZFAN00gycMN0LlhvbRFajEtZEY+n1qiiplWnoTbZBqfUfeni
	tMXtZhG2WOSLUwnIIm+p6zn4rLRnTP+n8aGz+0Pxq/ic+wHId2n6n5Ui2wZ8utHU150c
	u820MGGgXOmzx7splRR+ZFZVlZ1zNabRMn+MedqWBXWY7d0PbHBZQ6J3+45loK+aB4XX
	R+DZqjn5jvslx6SJW9UCUlOdesEGThXL4tAqZmKd6LhXF0dtDzNbpNgxbOdTandqdhKB
	vYCl2Bn1g6emRJG56tp0ipURv1yTHYED+TwR1RnxhI6W/BVNZJcISoDeYj1Z0h36iMo3
	JvUA==
MIME-Version: 1.0
X-Received: by 10.181.9.104 with SMTP id dr8mr5644957wid.26.1406722377855;
	Wed, 30 Jul 2014 05:12:57 -0700 (PDT)
Received: by 10.217.131.18 with HTTP; Wed, 30 Jul 2014 05:12:57 -0700 (PDT)
In-Reply-To: <CAAxsn=EuWQqwhzc4RWQRLirMHxC6Zfu+v=SwbhAxFZ0pJVE9yw@mail.gmail.com>
References: <CAAxsn=EuWQqwhzc4RWQRLirMHxC6Zfu+v=SwbhAxFZ0pJVE9yw@mail.gmail.com>
Date: Wed, 30 Jul 2014 13:12:57 +0100
Message-ID: <CAAxsn=FizaMb6ufvM9szkBiG2DG9u9wmN=jb=4taX92F=0_O-g@mail.gmail.com>
From: Jeremy Yallop <yallop@gmail.com>
To: cam-compiler-hacking@lists.ocaml.org, 
	"cl-ocamllabs@lists.cam.ac.uk" <cl-ocamllabs@lists.cam.ac.uk>, 
	"cl-ocamllabs-staff@lists.cam.ac.uk" <cl-ocamllabs-staff@lists.cam.ac.uk>, 
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, netos@cl.cam.ac.uk
Subject: Re: [MirageOS-devel] OCaml compiler hacking next Friday (1st Aug)
	at Citrix
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

UmVtaW5kZXI6IGl0J3MgY29tcGlsZXIgaGFja2luZyB0aGlzIEZyaWRheSEgIElmIHlvdSdyZSBw
bGFubmluZyB0bwpjb21lLCBidXQgeWV0IGhhdmVuJ3Qgc2lnbmVkIHVwLCBwbGVhc2UgYWRkIHlv
dXIgbmFtZSB0byB0aGUgRG9vZGxlCnBvbGw6CgogICBodHRwOi8vZG9vZGxlLmNvbS80NmYyYm5r
NHhueTcyNGluCgpPbiAyNCBKdWx5IDIwMTQgMDg6NDgsIEplcmVteSBZYWxsb3AgPHlhbGxvcEBn
bWFpbC5jb20+IHdyb3RlOgo+IFRoZSBuZXh0IENhbWJyaWRnZSBPQ2FtbCBjb21waWxlciBoYWNr
aW5nIHNlc3Npb24gd2lsbCBiZSBuZXh0IEZyaWRheQo+IGV2ZW5pbmcgKDFzdCBBdWd1c3QpIGF0
IENpdHJpeCdzIG9mZmljZSBpbiB0aGUgU2NpZW5jZSBQYXJrLgo+Cj4gV2UnbGwgc3RhcnQgYXQg
Ni4zMHBtIHdpdGggYSBkZW1vIG9mIG1vZHVsYXIgaW1wbGljaXRzCj4gKE9DYW1sLWZsYXZvdXJl
ZCBvdmVybG9hZGluZykgYnkgRnLDqWTDqXJpYyBCb3VyIQo+Cj4gQWxsIHdlbGNvbWU6IGlmIHlv
dSdyZSBsb2NhbCB0byBDYW1icmlkZ2UgYW5kIGludGVyZXN0ZWQgaW4KPiBjb250cmlidXRpbmcg
dG8gdGhlIE9DYW1sIGNvbXBpbGVyLCBwbGVhc2UgY29tZSBhbG9uZyEgIEZ1cnRoZXIKPiBkZXRh
aWxzIGFyZSBvbiB0aGUgYmxvZzoKPgo+ICAgaHR0cDovL29jYW1sbGFicy5naXRodWIuaW8vY29t
cGlsZXItaGFja2luZy8yMDE0LzA3LzI0L2NvbXBpbGVyLWhhY2tpbmctYXQtY2l0cml4Lmh0bWwK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pcmFnZU9T
LWRldmVsIG1haWxpbmcgbGlzdApNaXJhZ2VPUy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwOi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL21pcmFn
ZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Wed Jul 30 12:13:03 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jul 2014 12:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCSke-0002Wz-Sq; Wed, 30 Jul 2014 12:13:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yallop@gmail.com>) id 1XCSkd-0002Wu-Nh
	for mirageos-devel@lists.xenproject.org; Wed, 30 Jul 2014 12:12:59 +0000
Received: from [193.109.254.147:8562] by server-14.bemta-14.messagelabs.com id
	58/7D-02763-A41E8D35; Wed, 30 Jul 2014 12:12:58 +0000
X-Env-Sender: yallop@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1406722377!12604579!1
X-Originating-IP: [209.85.212.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14876 invoked from network); 30 Jul 2014 12:12:58 -0000
Received: from mail-wi0-f173.google.com (HELO mail-wi0-f173.google.com)
	(209.85.212.173)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 Jul 2014 12:12:58 -0000
Received: by mail-wi0-f173.google.com with SMTP id f8so7476728wiw.0
	for <mirageos-devel@lists.xenproject.org>;
	Wed, 30 Jul 2014 05:12:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type:content-transfer-encoding;
	bh=weLC76IXehWvC4yaiv3A+nkApLDyLvo/sKjuSjRskSs=;
	b=dziEyQgtCSqwQlm1wkZFAN00gycMN0LlhvbRFajEtZEY+n1qiiplWnoTbZBqfUfeni
	tMXtZhG2WOSLUwnIIm+p6zn4rLRnTP+n8aGz+0Pxq/ic+wHId2n6n5Ui2wZ8utHU150c
	u820MGGgXOmzx7splRR+ZFZVlZ1zNabRMn+MedqWBXWY7d0PbHBZQ6J3+45loK+aB4XX
	R+DZqjn5jvslx6SJW9UCUlOdesEGThXL4tAqZmKd6LhXF0dtDzNbpNgxbOdTandqdhKB
	vYCl2Bn1g6emRJG56tp0ipURv1yTHYED+TwR1RnxhI6W/BVNZJcISoDeYj1Z0h36iMo3
	JvUA==
MIME-Version: 1.0
X-Received: by 10.181.9.104 with SMTP id dr8mr5644957wid.26.1406722377855;
	Wed, 30 Jul 2014 05:12:57 -0700 (PDT)
Received: by 10.217.131.18 with HTTP; Wed, 30 Jul 2014 05:12:57 -0700 (PDT)
In-Reply-To: <CAAxsn=EuWQqwhzc4RWQRLirMHxC6Zfu+v=SwbhAxFZ0pJVE9yw@mail.gmail.com>
References: <CAAxsn=EuWQqwhzc4RWQRLirMHxC6Zfu+v=SwbhAxFZ0pJVE9yw@mail.gmail.com>
Date: Wed, 30 Jul 2014 13:12:57 +0100
Message-ID: <CAAxsn=FizaMb6ufvM9szkBiG2DG9u9wmN=jb=4taX92F=0_O-g@mail.gmail.com>
From: Jeremy Yallop <yallop@gmail.com>
To: cam-compiler-hacking@lists.ocaml.org, 
	"cl-ocamllabs@lists.cam.ac.uk" <cl-ocamllabs@lists.cam.ac.uk>, 
	"cl-ocamllabs-staff@lists.cam.ac.uk" <cl-ocamllabs-staff@lists.cam.ac.uk>, 
	"mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, netos@cl.cam.ac.uk
Subject: Re: [MirageOS-devel] OCaml compiler hacking next Friday (1st Aug)
	at Citrix
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

UmVtaW5kZXI6IGl0J3MgY29tcGlsZXIgaGFja2luZyB0aGlzIEZyaWRheSEgIElmIHlvdSdyZSBw
bGFubmluZyB0bwpjb21lLCBidXQgeWV0IGhhdmVuJ3Qgc2lnbmVkIHVwLCBwbGVhc2UgYWRkIHlv
dXIgbmFtZSB0byB0aGUgRG9vZGxlCnBvbGw6CgogICBodHRwOi8vZG9vZGxlLmNvbS80NmYyYm5r
NHhueTcyNGluCgpPbiAyNCBKdWx5IDIwMTQgMDg6NDgsIEplcmVteSBZYWxsb3AgPHlhbGxvcEBn
bWFpbC5jb20+IHdyb3RlOgo+IFRoZSBuZXh0IENhbWJyaWRnZSBPQ2FtbCBjb21waWxlciBoYWNr
aW5nIHNlc3Npb24gd2lsbCBiZSBuZXh0IEZyaWRheQo+IGV2ZW5pbmcgKDFzdCBBdWd1c3QpIGF0
IENpdHJpeCdzIG9mZmljZSBpbiB0aGUgU2NpZW5jZSBQYXJrLgo+Cj4gV2UnbGwgc3RhcnQgYXQg
Ni4zMHBtIHdpdGggYSBkZW1vIG9mIG1vZHVsYXIgaW1wbGljaXRzCj4gKE9DYW1sLWZsYXZvdXJl
ZCBvdmVybG9hZGluZykgYnkgRnLDqWTDqXJpYyBCb3VyIQo+Cj4gQWxsIHdlbGNvbWU6IGlmIHlv
dSdyZSBsb2NhbCB0byBDYW1icmlkZ2UgYW5kIGludGVyZXN0ZWQgaW4KPiBjb250cmlidXRpbmcg
dG8gdGhlIE9DYW1sIGNvbXBpbGVyLCBwbGVhc2UgY29tZSBhbG9uZyEgIEZ1cnRoZXIKPiBkZXRh
aWxzIGFyZSBvbiB0aGUgYmxvZzoKPgo+ICAgaHR0cDovL29jYW1sbGFicy5naXRodWIuaW8vY29t
cGlsZXItaGFja2luZy8yMDE0LzA3LzI0L2NvbXBpbGVyLWhhY2tpbmctYXQtY2l0cml4Lmh0bWwK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pcmFnZU9T
LWRldmVsIG1haWxpbmcgbGlzdApNaXJhZ2VPUy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwOi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL21pcmFn
ZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 31 10:44:17 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 31 Jul 2014 10:44:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCnqF-00024I-KQ; Thu, 31 Jul 2014 10:44:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XCnqE-00024D-9y
	for mirageos-devel@lists.xenproject.org; Thu, 31 Jul 2014 10:44:10 +0000
Received: from [85.158.137.68:33422] by server-12.bemta-3.messagelabs.com id
	32/84-02460-9FD1AD35; Thu, 31 Jul 2014 10:44:09 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1406803447!10988269!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25827 invoked from network); 31 Jul 2014 10:44:08 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-12.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	31 Jul 2014 10:44:08 -0000
Received: by mail-ob0-f171.google.com with SMTP id wm4so1428370obc.2
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 31 Jul 2014 03:44:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=yeNAzoptr2nqn9YtaQtMAuYCTNn7KmRJlU/TysvlHPg=;
	b=0uSDaBPBf0bqmfnfqx7n2zRk5a4VHO4WQNJ9YWdlAOIO9y1q5X63J+BYUgtmasG+o5
	vja5MFslIcofE4v8gvWM3DUtsxOJMKFMtNpa5jwAC98MKBTO3S6zEfAJ4egnAOcTOOtk
	5FLDxYPMoEJI2TcwydqxMN+ACrrX3LlCmXvVYy3RifaBxEmu6vXFN3IQUjIZxLRYYxxU
	l3E5SGw0g4WDx9dF6wNrGKOSps4FG9y0Hoj6awsS47cuj/kOnXD3SLOXI1qi7dB3OTJY
	P49fXodzpYOaMwUUrIU6tuw6CS/5CvcaK+87cUycNgRkJnaS/6DXrEjA+dfhk2DHQ/pq
	+bKA==
MIME-Version: 1.0
X-Received: by 10.182.114.131 with SMTP id jg3mr4899169obb.9.1406803446229;
	Thu, 31 Jul 2014 03:44:06 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Thu, 31 Jul 2014 03:44:06 -0700 (PDT)
In-Reply-To: <CAG_esB1ezd+iAQ+Cbc281aaQseZoEiSLVH8PfGUEUk9ZgUFfEg@mail.gmail.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
	<CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
	<CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
	<CC4AA681-C1CF-40F7-A540-39BD9DF94404@recoil.org>
	<CAG_esB1ezd+iAQ+Cbc281aaQseZoEiSLVH8PfGUEUk9ZgUFfEg@mail.gmail.com>
Date: Thu, 31 Jul 2014 11:44:06 +0100
Message-ID: <CAG4opy99kZgSbSmKt=u6j7sHNDS4FYJvG5jEbK+wTXV=Y9TcLQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: David Scott <scott.dj@gmail.com>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 26 July 2014 10:27, David Scott <scott.dj@gmail.com> wrote:
>
>
> On Saturday, July 26, 2014, Anil Madhavapeddy <anil@recoil.org> wrote:
>>
>> On 25 Jul 2014, at 04:54, Thomas Leonard <talex5@gmail.com> wrote:
>> >
>> > Here's a slightly better work-around:
>> >
>> >
>> > https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad
>> >
>> > It changes the TCP packet splitting code so that the second part of
>> > the page is copied to a new IO page. This avoids sending the same
>> > physical page to Linux twice (which is what doesn't work).
>> >
>> > With this, the previous hack can be reverted.
>> >
>> > In my testing, this increased the streaming TCP download speed from 56
>> > KB/s to 3.9 MB/s on the CubieTruck.
>>
>> This is certainly a fix that works, but I'm loath to insert an unnecessary
>> copy in the TCP stack just because of a limitation in Xen/ARM (that will
>> go
>> away in Xen 4.5, I expect).
>>
>> Could we keep track of the active grants in the Gnttab libary, and force a
>> page duplication at that point instead?  That would fix it for any other
>> Cstruct consumers as well, and be a more logical place to insert Xen
>> version detection in the future to remove the extra copy if not needed.
>
>
> If the problem is granting the same page twice, would it be enough to
> maintain a map of page address to (grant index * refount), and then
> "grant_access" could return the existing grant id and bump the refcount? I
> think we just need to share the grant, rather than duplicate the page. (Is
> that right?)

How would that fit in with the current API? It looks like you first
allocate a gntref (an int) and then use that to share the page:

  val get : unit -> gntref Lwt.t

  val grant_access : domid:int -> writable:bool -> gntref -> Io_page.t -> unit


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 31 10:44:17 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 31 Jul 2014 10:44:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCnqF-00024I-KQ; Thu, 31 Jul 2014 10:44:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <talex5@gmail.com>) id 1XCnqE-00024D-9y
	for mirageos-devel@lists.xenproject.org; Thu, 31 Jul 2014 10:44:10 +0000
Received: from [85.158.137.68:33422] by server-12.bemta-3.messagelabs.com id
	32/84-02460-9FD1AD35; Thu, 31 Jul 2014 10:44:09 +0000
X-Env-Sender: talex5@gmail.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1406803447!10988269!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	ML_RADAR_SPEW_LINKS_23,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25827 invoked from network); 31 Jul 2014 10:44:08 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-12.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
	31 Jul 2014 10:44:08 -0000
Received: by mail-ob0-f171.google.com with SMTP id wm4so1428370obc.2
	for <mirageos-devel@lists.xenproject.org>;
	Thu, 31 Jul 2014 03:44:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=yeNAzoptr2nqn9YtaQtMAuYCTNn7KmRJlU/TysvlHPg=;
	b=0uSDaBPBf0bqmfnfqx7n2zRk5a4VHO4WQNJ9YWdlAOIO9y1q5X63J+BYUgtmasG+o5
	vja5MFslIcofE4v8gvWM3DUtsxOJMKFMtNpa5jwAC98MKBTO3S6zEfAJ4egnAOcTOOtk
	5FLDxYPMoEJI2TcwydqxMN+ACrrX3LlCmXvVYy3RifaBxEmu6vXFN3IQUjIZxLRYYxxU
	l3E5SGw0g4WDx9dF6wNrGKOSps4FG9y0Hoj6awsS47cuj/kOnXD3SLOXI1qi7dB3OTJY
	P49fXodzpYOaMwUUrIU6tuw6CS/5CvcaK+87cUycNgRkJnaS/6DXrEjA+dfhk2DHQ/pq
	+bKA==
MIME-Version: 1.0
X-Received: by 10.182.114.131 with SMTP id jg3mr4899169obb.9.1406803446229;
	Thu, 31 Jul 2014 03:44:06 -0700 (PDT)
Received: by 10.76.92.5 with HTTP; Thu, 31 Jul 2014 03:44:06 -0700 (PDT)
In-Reply-To: <CAG_esB1ezd+iAQ+Cbc281aaQseZoEiSLVH8PfGUEUk9ZgUFfEg@mail.gmail.com>
References: <CAG4opy_QaGmoYJ6YhpS5UM33koPWzLwBMAtVXXWuoNSEidEfMw@mail.gmail.com>
	<36D06E0F-8336-4142-80BF-29586554A9C5@nottingham.ac.uk>
	<CAG4opy8YmeXwtvkROBJXgpR7wEXDs6fncg6B4cFTa_V2cQjoBA@mail.gmail.com>
	<53088F2B-1AC3-4D35-BB37-247337690798@nottingham.ac.uk>
	<CAG4opy-qMyx_W7DmG8TKNU27vF3EeC1L-xDui=dQV+Chyi9Y-Q@mail.gmail.com>
	<5BD43696-D536-4690-A628-98C88C1A0479@citrix.com>
	<CAG4opy98PSUp=vpZ7i8bW3eDJoybfZ8F4rHDX_ZPPksq361vSw@mail.gmail.com>
	<D4D8037C-2597-482F-B8F9-0A567E0538B5@recoil.org>
	<CAG4opy9h+w=G-jgA_iK1JAdTiBE-7BSFO7CM5wjpEi+HSHvb8A@mail.gmail.com>
	<CAG4opy_tQ9LV7hctuOTOTbczJF=M2rr7ppSzK8Z2PCieDYANFg@mail.gmail.com>
	<90A2FFCA-A5F3-44A4-AC9F-F31C1B04AD6E@recoil.org>
	<CAG4opy_aaVYTtTws16FqKXWjoC=T5ZQjpdGt_oN67_yU8TCrMA@mail.gmail.com>
	<CAG4opy9j=uOBwjreeZN0TO=r_cLH7SGMNDUar4RF3Jw5rT+C2A@mail.gmail.com>
	<A5810D52-6B02-4F64-8C66-00E327B80F94@recoil.org>
	<CAG4opy_yzK4Nw-yD=z4C7XuBc4oh_=LTBd7DsGK8eMaWjhpTEQ@mail.gmail.com>
	<46605CC2-8C25-460E-9963-76DDC59B6802@recoil.org>
	<CAG4opy8T3+sSr=GJC9kXW8G8q5Md7qY-aPDR1Uvh1nRWFtksXQ@mail.gmail.com>
	<1C889C81-6EAA-4A21-AE47-6D825F6E93FB@citrix.com>
	<BB15142E-9A5F-4A2E-8945-848B8D669FED@recoil.org>
	<CAG4opy-LbYmSZMoOZ4VcRhndUhCvZXOe2jfTdxfm3QvO5PWhag@mail.gmail.com>
	<CAG4opy9rqgoiNqwW8MwkJxagQ1iUwJaveRUN2PgHKyeKRi4eqw@mail.gmail.com>
	<CC4AA681-C1CF-40F7-A540-39BD9DF94404@recoil.org>
	<CAG_esB1ezd+iAQ+Cbc281aaQseZoEiSLVH8PfGUEUk9ZgUFfEg@mail.gmail.com>
Date: Thu, 31 Jul 2014 11:44:06 +0100
Message-ID: <CAG4opy99kZgSbSmKt=u6j7sHNDS4FYJvG5jEbK+wTXV=Y9TcLQ@mail.gmail.com>
From: Thomas Leonard <talex5@gmail.com>
To: David Scott <scott.dj@gmail.com>
Cc: David Scott <Dave.Scott@citrix.com>, "mirageos-devel@lists.xenproject.org"
	<mirageos-devel@lists.xenproject.org>, Anil Madhavapeddy <anil@recoil.org>
Subject: Re: [MirageOS-devel] wireshark capture of failed download from
 mirage-www on ARM
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

On 26 July 2014 10:27, David Scott <scott.dj@gmail.com> wrote:
>
>
> On Saturday, July 26, 2014, Anil Madhavapeddy <anil@recoil.org> wrote:
>>
>> On 25 Jul 2014, at 04:54, Thomas Leonard <talex5@gmail.com> wrote:
>> >
>> > Here's a slightly better work-around:
>> >
>> >
>> > https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad
>> >
>> > It changes the TCP packet splitting code so that the second part of
>> > the page is copied to a new IO page. This avoids sending the same
>> > physical page to Linux twice (which is what doesn't work).
>> >
>> > With this, the previous hack can be reverted.
>> >
>> > In my testing, this increased the streaming TCP download speed from 56
>> > KB/s to 3.9 MB/s on the CubieTruck.
>>
>> This is certainly a fix that works, but I'm loath to insert an unnecessary
>> copy in the TCP stack just because of a limitation in Xen/ARM (that will
>> go
>> away in Xen 4.5, I expect).
>>
>> Could we keep track of the active grants in the Gnttab libary, and force a
>> page duplication at that point instead?  That would fix it for any other
>> Cstruct consumers as well, and be a more logical place to insert Xen
>> version detection in the future to remove the extra copy if not needed.
>
>
> If the problem is granting the same page twice, would it be enough to
> maintain a map of page address to (grant index * refount), and then
> "grant_access" could return the existing grant id and bump the refcount? I
> think we just need to share the grant, rather than duplicate the page. (Is
> that right?)

How would that fit in with the current API? It looks like you first
allocate a gntref (an int) and then use that to share the page:

  val get : unit -> gntref Lwt.t

  val grant_access : domid:int -> writable:bool -> gntref -> Io_page.t -> unit


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

From mirageos-devel-bounces@lists.xenproject.org Thu Jul 31 12:16:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 31 Jul 2014 12:16:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCpHJ-00057p-K5; Thu, 31 Jul 2014 12:16:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XCpHI-00057k-DM
	for mirageos-devel@lists.xenproject.org; Thu, 31 Jul 2014 12:16:12 +0000
Received: from [85.158.139.211:45587] by server-12.bemta-5.messagelabs.com id
	47/26-22251-B833AD35; Thu, 31 Jul 2014 12:16:11 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-5.tower-206.messagelabs.com!1406808971!11079429!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2209 invoked from network); 31 Jul 2014 12:16:11 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-5.tower-206.messagelabs.com with SMTP;
	31 Jul 2014 12:16:11 -0000
Received: (qmail 10562 invoked from network); 31 Jul 2014 12:16:10 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 31 Jul 2014 12:16:10 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 07679-09 for <mirageos-devel@lists.xenproject.org>;
	Thu, 31 Jul 2014 13:16:03 +0100 (BST)
Received: (qmail 10348 invoked by uid 599); 31 Jul 2014 12:16:03 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 31 Jul 2014 13:16:03 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XCpCI-0007aU-I8; Thu, 31 Jul 2014 13:11:02 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Tom Brown <tom.jrbrown@yahoo.com>
Date: Thu, 31 Jul 2014 13:11:01 +0100
Thread-Topic: [MirageOS-devel] Client program connecting to a server on
	local host
Thread-Index: Ac+suH5ihVhnk8ERRlKd0KLL3zfUrA==
Message-ID: <735A84E9-F28A-49F4-896B-BD13695883B9@nottingham.ac.uk>
References: <1406716359.9108.YahooMailNeo@web172006.mail.ir2.yahoo.com>
In-Reply-To: <1406716359.9108.YahooMailNeo@web172006.mail.ir2.yahoo.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Client program connecting to a server on local
 host
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4664848304703276309=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============4664848304703276309==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_3C1EE3DA-20CD-4BCA-AA8F-15B257481233";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_3C1EE3DA-20CD-4BCA-AA8F-15B257481233
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

hi;

On 30 Jul 2014, at 12:32, Tom Brown <tom.jrbrown@yahoo.com> wrote:

> I am writing a client application that connects to a server that is =
running on the same machine. Client ip address is statically set to =
10.0.0.2 (using I.set_ipv4) and similar to one of mirage online =
documents, and gateway to 10.0.0.1. The ip address for tap0 is also set =
to 10.0.0.1 on the machine. Client cannot connect to the listening =
server. How I can make this interface work?

a bit more detail would be useful -- what address is the server bound =
to?  is your code online?  what platform are you on?  what output do you =
actually get?  have you tried tcpdump on the various interfaces =
involved?

> As another question, do we actually need to assign an ip address in a =
different network to the client? Can we make client run as a program on =
the local machine while it is built over a tap?

sorry-- not sure i understand the question: if you're building the =
client as a an application using the unix/direct backend then it is =
running as a program on the local machine using the tap, isn't it?

--=20
Cheers,

R.





--Apple-Mail=_3C1EE3DA-20CD-4BCA-AA8F-15B257481233
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT2hu9AAoJEOLF27JWwSg33z8P/0VZdwiP87k58hqKbyKIJNUX
TB28TYv6mlX6UHXW3LJslQue1zWN6DFSTtmbJscoBcNjlW2/vbmPvkCsXg2fqPau
9+uoztINz9jEABJuvvMTohHjRNtJGD1CV5+G8ExPVEyo0KkkX+KRvtMlyOWEyGgK
MVJvdVwkjf7d3wKH8ujM7reXb/TDxPlIOdJRu5NUcOeA4S8HRptsiO5f8c25RCVM
xm7QC0lnzSE7e2bYs2uu7Exryvm+3Un719cFynNZZ91mb/6auNNU8UJjFGob6XCF
6yks23Fh3KMr9ULM3FatcKMWUD+btGu/VTqRFfAk8IolSvbsEum56IA8R/7RWpsR
KyMfXBjXhzvjUKGaLB7EqryMjKPao3MC3KgdhLCDYoFuZ3+lke8kkM4m7gEo3TZi
/XsQiOdJIO3dPgr4xqGLRCSHR/SKfNh1kH4clnIWd/Tu8DWf/zlSZfAdD9zVC0hS
yaoP+Q6D37jpsRZugq99fFoVaZooYlalA55mMyRkx3BFhFhaZlEYWFm7HRsNXdLu
dU3FhCBFLIY8GvXcFdtRQ4KBF08Px/yuD1bn7KOOUsDOC/3YLDSwJ869Su40Rn4J
0Op14DZBtHxh5QFxmiKgUjN7rYKf3eZtGnFs7R205vEs2+1b2W99sajpn5MjcV6X
79GuZR2DpyCi4kY7diCf
=qHpQ
-----END PGP SIGNATURE-----

--Apple-Mail=_3C1EE3DA-20CD-4BCA-AA8F-15B257481233--


--===============4664848304703276309==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4664848304703276309==--


From mirageos-devel-bounces@lists.xenproject.org Thu Jul 31 12:16:18 2014
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 31 Jul 2014 12:16:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1XCpHJ-00057p-K5; Thu, 31 Jul 2014 12:16:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XCpHI-00057k-DM
	for mirageos-devel@lists.xenproject.org; Thu, 31 Jul 2014 12:16:12 +0000
Received: from [85.158.139.211:45587] by server-12.bemta-5.messagelabs.com id
	47/26-22251-B833AD35; Thu, 31 Jul 2014 12:16:11 +0000
X-Env-Sender: Richard.Mortier@nottingham.ac.uk
X-Msg-Ref: server-5.tower-206.messagelabs.com!1406808971!11079429!1
X-Originating-IP: [93.95.15.169]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2209 invoked from network); 31 Jul 2014 12:16:11 -0000
Received: from engine01-20433-1.icritical.com (HELO
	engine01-20433-1.icritical.com) (93.95.15.169)
	by server-5.tower-206.messagelabs.com with SMTP;
	31 Jul 2014 12:16:11 -0000
Received: (qmail 10562 invoked from network); 31 Jul 2014 12:16:10 -0000
Received: from localhost (127.0.0.1)
	by engine01-20433-1.icritical.com with SMTP; 31 Jul 2014 12:16:10 -0000
Received: from engine01-20433-1.icritical.com ([127.0.0.1])
	by localhost (engine01-20433-1.icritical.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with SMTP id 07679-09 for <mirageos-devel@lists.xenproject.org>;
	Thu, 31 Jul 2014 13:16:03 +0100 (BST)
Received: (qmail 10348 invoked by uid 599); 31 Jul 2014 12:16:03 -0000
Received: from unknown (HELO smtp3.nottingham.ac.uk) (128.243.44.55)
	by engine01-20433-1.icritical.com (qpsmtpd/0.28) with ESMTP;
	Thu, 31 Jul 2014 13:16:03 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp3.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1XCpCI-0007aU-I8; Thu, 31 Jul 2014 13:11:02 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Tom Brown <tom.jrbrown@yahoo.com>
Date: Thu, 31 Jul 2014 13:11:01 +0100
Thread-Topic: [MirageOS-devel] Client program connecting to a server on
	local host
Thread-Index: Ac+suH5ihVhnk8ERRlKd0KLL3zfUrA==
Message-ID: <735A84E9-F28A-49F4-896B-BD13695883B9@nottingham.ac.uk>
References: <1406716359.9108.YahooMailNeo@web172006.mail.ir2.yahoo.com>
In-Reply-To: <1406716359.9108.YahooMailNeo@web172006.mail.ir2.yahoo.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
MIME-Version: 1.0
X-Virus-Scanned: by iCritical at engine01-20433-1.icritical.com
Cc: "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Subject: Re: [MirageOS-devel] Client program connecting to a server on local
 host
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <http://lists.xenproject.org/cgi-bin/mailman/options/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel>,
	<mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4664848304703276309=="
Sender: mirageos-devel-bounces@lists.xenproject.org
Errors-To: mirageos-devel-bounces@lists.xenproject.org

--===============4664848304703276309==
Content-Language: en-US
Content-Type: multipart/signed;
	boundary="Apple-Mail=_3C1EE3DA-20CD-4BCA-AA8F-15B257481233";
	protocol="application/pgp-signature"; micalg=pgp-sha512

--Apple-Mail=_3C1EE3DA-20CD-4BCA-AA8F-15B257481233
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

hi;

On 30 Jul 2014, at 12:32, Tom Brown <tom.jrbrown@yahoo.com> wrote:

> I am writing a client application that connects to a server that is =
running on the same machine. Client ip address is statically set to =
10.0.0.2 (using I.set_ipv4) and similar to one of mirage online =
documents, and gateway to 10.0.0.1. The ip address for tap0 is also set =
to 10.0.0.1 on the machine. Client cannot connect to the listening =
server. How I can make this interface work?

a bit more detail would be useful -- what address is the server bound =
to?  is your code online?  what platform are you on?  what output do you =
actually get?  have you tried tcpdump on the various interfaces =
involved?

> As another question, do we actually need to assign an ip address in a =
different network to the client? Can we make client run as a program on =
the local machine while it is built over a tap?

sorry-- not sure i understand the question: if you're building the =
client as a an application using the unix/direct backend then it is =
running as a program on the local machine using the tap, isn't it?

--=20
Cheers,

R.





--Apple-Mail=_3C1EE3DA-20CD-4BCA-AA8F-15B257481233
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="signature.asc"
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT2hu9AAoJEOLF27JWwSg33z8P/0VZdwiP87k58hqKbyKIJNUX
TB28TYv6mlX6UHXW3LJslQue1zWN6DFSTtmbJscoBcNjlW2/vbmPvkCsXg2fqPau
9+uoztINz9jEABJuvvMTohHjRNtJGD1CV5+G8ExPVEyo0KkkX+KRvtMlyOWEyGgK
MVJvdVwkjf7d3wKH8ujM7reXb/TDxPlIOdJRu5NUcOeA4S8HRptsiO5f8c25RCVM
xm7QC0lnzSE7e2bYs2uu7Exryvm+3Un719cFynNZZ91mb/6auNNU8UJjFGob6XCF
6yks23Fh3KMr9ULM3FatcKMWUD+btGu/VTqRFfAk8IolSvbsEum56IA8R/7RWpsR
KyMfXBjXhzvjUKGaLB7EqryMjKPao3MC3KgdhLCDYoFuZ3+lke8kkM4m7gEo3TZi
/XsQiOdJIO3dPgr4xqGLRCSHR/SKfNh1kH4clnIWd/Tu8DWf/zlSZfAdD9zVC0hS
yaoP+Q6D37jpsRZugq99fFoVaZooYlalA55mMyRkx3BFhFhaZlEYWFm7HRsNXdLu
dU3FhCBFLIY8GvXcFdtRQ4KBF08Px/yuD1bn7KOOUsDOC/3YLDSwJ869Su40Rn4J
0Op14DZBtHxh5QFxmiKgUjN7rYKf3eZtGnFs7R205vEs2+1b2W99sajpn5MjcV6X
79GuZR2DpyCi4kY7diCf
=qHpQ
-----END PGP SIGNATURE-----

--Apple-Mail=_3C1EE3DA-20CD-4BCA-AA8F-15B257481233--


--===============4664848304703276309==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@lists.xenproject.org
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

--===============4664848304703276309==--


