This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] How works Xen mmu ?

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] How works Xen mmu ?
From: Sylvestre Gallon <syl@xxxxxxxxx>
Date: Tue, 25 May 2010 15:07:38 +0200
Delivery-date: Tue, 25 May 2010 06:08:53 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received:from:date :x-google-sender-auth:message-id:subject:to:content-type; bh=SDzN8Acu2XOrPMuhqNoDstsKk8+uIRh5thSidPPz73Y=; b=wLbzHJwx4P6b180bFmB7CjFxYTzPo2YtAF+nSO7fCwHtRae62PDN0aW5s2ZOndURN7 Jpz30Ay6P6+jBRayYk610nVoek9ZK7AgvwPo2zEcVQxm9UypI22ZFsGntwQ/nlUH3qb8 xx/QfofxDnitOhq8qTt70ynfd1JMT2jvu+AZE=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:from:date:x-google-sender-auth:message-id :subject:to:content-type; b=HhJzXsp3BiYUASqpG+IRyR/FDBXKURjoPtusjcb8TtwRuBi/MZGDq8tZjLFvxUkk7F Buo4LIkXvVqFHERTc9Gq7Yxav680bDmJvmztTfTFk92ieWbH5Iis2eXv/eIObyOhSqpL R/I/a5d6lpxU7+d9CX2qvVbZQ3It/RgrOeA8s=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

I am trying to port an homemade operating system in Dom0 but I have a
problem with mmu operation. I have read Xen docs and mailling lists
archives and I  still do not understand well how mmu works on Xen.

My need is to simply perform an identity mapping at 0xb8000 to allow
my operating system to access the vga frammebuffer. So my first idea
was to use HYPERVISOR_mmu_update like this :

mmu_update_t mmu;
uint8_t *buf = (uint8_t *) 0xb8000;

mmu.ptr = 0xb8000 | MMU_MACHPHYS_UPDATE
mmu.val = 0xb8000
HYPERVISOR_mmu_update(&mmu, 1, NULL, DOMID_SELF);

buf[0] = 'a';
buf[1] = 0x7;

But it does not work :/

After that I was think that I need to put in mmu.val the exact entry
for the PTE (add R/W flags, present flags etc...) So I have replaced
mmu.val = 0xb8000 by mmu.val = 0xb8003 but it still not work....

Can you help me please, I am stuck :/

Sylvestre Gallon

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] How works Xen mmu ?, Sylvestre Gallon <=