[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCHv5 15/46] plat/include: Define address offsets of boot stack and pagetable



Hi Wei,

On 10/09/18 10:42, Wei Chen (Arm Technology China) wrote:


-----Original Message-----
From: Julien Grall <julien.grall@xxxxxxxxxx>
Sent: 2018年9月10日 17:35
To: Wei Chen (Arm Technology China) <Wei.Chen@xxxxxxx>; Julien Grall
<Julien.Grall@xxxxxxx>; Simon Kuenzer <simon.kuenzer@xxxxxxxxx>; minios-
devel@xxxxxxxxxxxxxxxxxxxx
Cc: Kaly Xin (Arm Technology China) <Kaly.Xin@xxxxxxx>
Subject: Re: [Minios-devel] [UNIKRAFT PATCHv5 15/46] plat/include: Define
address offsets of boot stack and pagetable



On 10/09/18 10:27, Wei Chen (Arm Technology China) wrote:


-----Original Message-----
From: Julien Grall <julien.grall@xxxxxxxxxx>
Sent: 2018年9月10日 17:24
To: Wei Chen (Arm Technology China) <Wei.Chen@xxxxxxx>; Julien Grall
<Julien.Grall@xxxxxxx>; Simon Kuenzer <simon.kuenzer@xxxxxxxxx>; minios-
devel@xxxxxxxxxxxxxxxxxxxx
Cc: Kaly Xin (Arm Technology China) <Kaly.Xin@xxxxxxx>
Subject: Re: [Minios-devel] [UNIKRAFT PATCHv5 15/46] plat/include: Define
address offsets of boot stack and pagetable



On 10/09/18 09:18, Wei Chen (Arm Technology China) wrote:
Hi Julien,

Hi,

-----Original Message-----
From: Julien Grall <julien.grall@xxxxxxx>
Sent: 2018年9月7日 22:45
To: Wei Chen (Arm Technology China) <Wei.Chen@xxxxxxx>; Simon Kuenzer
<simon.kuenzer@xxxxxxxxx>; minios-devel@xxxxxxxxxxxxxxxxxxxx
Cc: Kaly Xin (Arm Technology China) <Kaly.Xin@xxxxxxx>
Subject: Re: [Minios-devel] [UNIKRAFT PATCHv5 15/46] plat/include: Define
address offsets of boot stack and pagetable

Hi,

On 09/07/2018 10:36 AM, Wei Chen (Arm Technology China) wrote:
-----Original Message-----
From: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
Sent: 2018年9月7日 17:29
To: Wei Chen (Arm Technology China) <Wei.Chen@xxxxxxx>; minios-
devel@xxxxxxxxxxxxxxxxxxxx
Cc: Kaly Xin (Arm Technology China) <Kaly.Xin@xxxxxxx>; nd <nd@xxxxxxx>
Subject: Re: [Minios-devel] [UNIKRAFT PATCHv5 15/46] plat/include:
Define
address offsets of boot stack and pagetable

On 07.09.2018 07:14, Wei Chen (Arm Technology China) wrote:
Hi Simon,

-----Original Message-----
From: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
Sent: 2018年9月6日 22:53
To: Wei Chen (Arm Technology China) <Wei.Chen@xxxxxxx>; minios-
devel@xxxxxxxxxxxxxxxxxxxx
Cc: Kaly Xin (Arm Technology China) <Kaly.Xin@xxxxxxx>; nd
<nd@xxxxxxx>
Subject: Re: [Minios-devel] [UNIKRAFT PATCHv5 15/46] plat/include:
Define
address offsets of boot stack and pagetable

Hey Wei,

These defines for the memory layout are specific for KVM for now,
right?
Wouldn't it then make sense to place this files to plat/kvm/include?
Or do you know if this is going to be the same for Xen?


I want to use the same memory layout for KVM and Xen. I know that
current
Code for Xen platform is ported from mini-os. But once, when code for
Arm/KVM becomes stable, I want reuse most of the code for these two
platforms.

Okay, sounds reasonable. Could you add this as one sentence in the
commit message to eplain why you decided to place this to common/?


Ok, I will add similar comment in the commit message.

I don't think this memory layout is going to work well with Xen because
you can't assume there are free RAM after the kernel image.


Why I can't assume that? I will design the link script and write the boot
code, I can tell kernel image how to use the RAM. Anything I had missed?

The memory layout in Xen is not part of the ABI. This give Xen the
freedom to shuffle the layout between versions if required.

So you can't assume where the kernel will be positioned in memory nor if
there is any space after.


Ok, I understand now. I would apply this memory layout for KVM only.

To be honest, I think it is also wrong to apply this for KVM. KVM is
just the hypervisor part and will not care about the memory layout.

You then have the monitor (e.g KVMtools, QEMU...) that will define the
layout. Your layout here is *only* for QEMU KVM. So you will end up
implementing n times KVM support (one for each monitor).


Yes, you're right, it's for QEMU/KVM only.

Anyway, for Xen you will have to discover the memory layout at boot.
This is something you might be able to use for KVM later on.


Emm, I will place the memory layout discovery in my TODO list.

TBH, you have most of it :). The only code that seem to be platform dependent is the creation of the page-table in the assembly code.

Cheers,

--
Julien Grall

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.