t p2m
domain.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/p2m.c | 80 +-
1 file changed, 43 insertions(+), 37 deletions(-)
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 019f10e..9c
one in the x86 implementation.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/domain.c | 2 +-
xen/arch/arm/p2m.c| 53 +--
xen/include/asm-arm/p2m.h | 2 +-
3 files changed, 44 insertions(+
Signed-off-by: Sergej Proskurin
---
Cc: Razvan Cojocaru
Cc: Tamas K Lengyel
Cc: Ian Jackson
Cc: Wei Liu
---
tools/tests/xen-access/xen-access.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/tests/xen-access/xen-access.c
b/tools/tests/xen-access/xen
The HVMOP_altp2m_set_domain_state allows to activate altp2m on a
specific domain. This commit adopts the x86
HVMOP_altp2m_set_domain_state implementation. The function
p2m_flush_altp2m is currently implemented in form of a stub.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc
one in the x86 implementation.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/domain.c | 2 +-
xen/arch/arm/p2m.c| 53 +--
xen/include/asm-arm/p2m.h | 2 +-
3 files changed, 44 insertions(+
his function.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/guestcopy.c | 6 +++---
xen/arch/arm/p2m.c | 19 +--
xen/arch/arm/traps.c | 2 +-
xen/include/asm-arm/mm.h | 2 +-
4 files changed, 18 insertions(+), 11 delet
The HVMOP HVMOP_altp2m_set_mem_access allows to set gfn permissions of
(currently one page at a time) of a specific altp2m view. In case the
view does not hold the requested gfn entry, it will be first copied from
the hostp2m table and then modified as requested.
Signed-off-by: Sergej Proskurin
t p2m
domain.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/p2m.c | 80 +-
1 file changed, 43 insertions(+), 37 deletions(-)
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 019f10e..9c
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/p2m.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 96892a5..de97a12 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
point in time.
In addition, the implementation clears all altp2m entries during the
process of flushing. The same applies to hostp2m entries, when it is
destroyed. In this way, further domain and p2m allocations will not
unintentionally reuse old p2m mappings.
Signed-off-by: Sergej Proskurin
The HVMOP HVMOP_altp2m_set_mem_access allows to set gfn permissions of
(currently one page at a time) of a specific altp2m view. In case the
view does not hold the requested gfn entry, it will be first copied from
the hostp2m table and then modified as requested.
Signed-off-by: Sergej Proskurin
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c| 2 +-
xen/arch/arm/p2m.c| 32
xen/include/asm-arm/p2m.h | 3 +++
3 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c| 2 +-
xen/arch/arm/p2m.c| 32
xen/include/asm-arm/p2m.h | 3 +++
3 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm
ommit, Xen is now able to activate altp2m support on ARM by
means of the command-line argument 'altp2m' (bool).
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c| 22
xen/include/asm-arm
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c| 2 +-
xen/arch/arm/p2m.c| 32
xen/include/asm-arm/p2m.h | 3 +++
3 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm
his function.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/guestcopy.c | 6 +++---
xen/arch/arm/p2m.c | 19 +--
xen/arch/arm/traps.c | 2 +-
xen/include/asm-arm/mm.h | 2 +-
4 files changed, 18 insertions(+), 11 delet
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/p2m.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 96892a5..de97a12 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
This commit adopts the x86 HVMOP_altp2m_get_domain_state implementation.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
index
domain.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c | 82
xen/include/asm-arm/altp2m.h | 22 ++--
xen/include/asm-arm/domain.h | 3 ++
3 files changed, 105 insertions(+), 2
flushes the TLBs. This way, a change of one of the altp2m
mapping is considered. At this point, it must be considered that the
domain --whose TLBs are to be flushed-- is not locked.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/p2m.c | 71
event.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/p2m.c | 130 ++-
xen/arch/arm/traps.c | 102 +++--
xen/include/asm-arm/altp2m.h | 4 +-
xen/include/asm-arm/
Signed-off-by: Sergej Proskurin
---
Cc: Razvan Cojocaru
Cc: Tamas K Lengyel
Cc: Ian Jackson
Cc: Wei Liu
---
tools/tests/xen-access/xen-access.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/tests/xen-access/xen-access.c
b/tools/tests/xen-access/xen
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c| 2 +-
xen/arch/arm/p2m.c| 32
xen/include/asm-arm/p2m.h | 3 +++
3 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm
ltp2m" switch in the domain's configuration file (i.e.
set altp2m=1).
Signed-off-by: Sergej Proskurin
---
Cc: Ian Jackson
Cc: Wei Liu
---
tools/libxl/libxl_create.c | 1 +
tools/libxl/libxl_dom.c | 14 ++
tools/libxl/libxl_types.idl | 1 +
tools/libxl/xl_cmdimpl.c| 5
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c| 3 ++-
xen/arch/arm/p2m.c| 23 +++
xen/include/asm-arm/p2m.h | 3 +++
3 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm/hvm.c b
ommit, Xen is now able to activate altp2m support on ARM by
means of the command-line argument 'altp2m' (bool).
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c| 22
xen/include/asm-arm
Hello together,
Since this is my first contribution to the Xen development mailing list, I
would like to shortly introduce myself. My name is Sergej Proskurin. I am a PhD
Student at the Technical University of Munich. My research areas focus on
Virtual Machine Introspection, Hypervisor/OS
This commit adopts the x86 HVMOP_altp2m_get_domain_state implementation.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
index
domain.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c | 82
xen/include/asm-arm/altp2m.h | 22 ++--
xen/include/asm-arm/domain.h | 3 ++
3 files changed, 105 insertions(+), 2
The HVMOP_altp2m_set_domain_state allows to activate altp2m on a
specific domain. This commit adopts the x86
HVMOP_altp2m_set_domain_state implementation. The function
p2m_flush_altp2m is currently implemented in form of a stub.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc
event.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/p2m.c | 130 ++-
xen/arch/arm/traps.c | 102 +++--
xen/include/asm-arm/altp2m.h | 4 +-
xen/include/asm-arm/
The p2m intialization now invokes intialization routines responsible for
the allocation and intitialization of altp2m structures. The same
applies to teardown routines. The functionality has been adopted from
the x86 altp2m implementation.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano
point in time.
In addition, the implementation clears all altp2m entries during the
process of flushing. The same applies to hostp2m entries, when it is
destroyed. In this way, further domain and p2m allocations will not
unintentionally reuse old p2m mappings.
Signed-off-by: Sergej Proskurin
flushes the TLBs. This way, a change of one of the altp2m
mapping is considered. At this point, it must be considered that the
domain --whose TLBs are to be flushed-- is not locked.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/p2m.c | 71
The p2m intialization now invokes intialization routines responsible for
the allocation and intitialization of altp2m structures. The same
applies to teardown routines. The functionality has been adopted from
the x86 altp2m implementation.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c| 3 ++-
xen/arch/arm/p2m.c| 23 +++
xen/include/asm-arm/p2m.h | 3 +++
3 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm/hvm.c b
ltp2m" switch in the domain's configuration file (i.e.
set altp2m=1).
Signed-off-by: Sergej Proskurin
---
Cc: Ian Jackson
Cc: Wei Liu
---
tools/libxl/libxl_create.c | 1 +
tools/libxl/libxl_dom.c | 14 ++
tools/libxl/libxl_types.idl | 1 +
tools/libxl/xl_cmdimpl.c| 5
re-inserted at a later point in time into the page table).
On 07/04/2016 01:45 PM, Sergej Proskurin wrote:
> The current implementation differentiates between flushing and
> destroying altp2m views. This commit adds the functions
> p2m_flush_altp2m, and p2m_flush_table, which allow to
On 07/04/2016 01:45 PM, Sergej Proskurin wrote:
> This commit makes sure that the TLB of a domain considers flushing all
> of the associated altp2m views. Therefore, in case a different domain
> (not the currently active domain) shall flush its TLBs, the current
> implementation lo
On 07/04/2016 02:15 PM, Andrew Cooper wrote:
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> The Xen altp2m subsystem is currently supported only on x86-64 based
>> architectures. By utilizing ARM's virtualization extensions, we intend
>> to implement altp2m support
On 07/04/2016 02:52 PM, Andrew Cooper wrote:
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> Hello together,
>>
>> Since this is my first contribution to the Xen development mailing list, I
>> would like to shortly introduce myself. My name is Sergej Proskurin. I am
Hello Julien,
On 07/04/2016 03:25 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> The Xen altp2m subsystem is currently supported only on x86-64 based
>> architectures. By utilizing ARM's virtualization extensions, we int
Hello Julien,
On 07/04/2016 03:36 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> This commit moves the altp2m-related code from x86 to ARM.
>
> Looking at the code in the follow-up patches, I have the impression that
> the code
Hello Julien,
On 07/04/2016 05:17 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> The p2m intialization now invokes intialization routines responsible for
>
> s/intialization/initialization/
>
>> the allocation and intiti
Hello Julien,
On 07/04/2016 06:15 PM, Julien Grall wrote:
>
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> +static void p2m_teardown_hostp2m(struct domain *d)
>> +{
>> +struct p2m_domain *p2m = p2m_get_hostp2m(d);
>> +struct page_info *pg = NULL;
&g
Hi Andrew,
On 07/04/2016 06:43 PM, Andrew Cooper wrote:
> On 04/07/16 17:40, Sergej Proskurin wrote:
>>
>>>> {
>>>> -struct p2m_domain *p2m = &d->arch.p2m;
>>>> +int ret = 0;
>>>> +
>>>>
On 07/04/2016 07:56 PM, Tamas K Lengyel wrote:
> On Mon, Jul 4, 2016 at 11:42 AM, Julien Grall wrote:
>>
>>
>> On 04/07/16 12:45, Sergej Proskurin wrote:
>>>
>>> The Xen altp2m subsystem is currently supported only on x86-64 based
>>> architectur
On 07/04/2016 07:44 PM, Julien Grall wrote:
>
>
> On 04/07/16 17:56, Sergej Proskurin wrote:
>> Hi Andrew,
>>
>> On 07/04/2016 06:43 PM, Andrew Cooper wrote:
>>> On 04/07/16 17:40, Sergej Proskurin wrote:
>>>>
>>>>>>{
>
On 07/04/2016 08:18 PM, Julien Grall wrote:
>
>
> On 04/07/16 17:43, Andrew Cooper wrote:
>> On 04/07/16 17:40, Sergej Proskurin wrote:
>>>
>>>>>{
>>>>> -struct p2m_domain *p2m = &d->arch.p2m;
>>
On 07/04/2016 11:19 PM, Sergej Proskurin wrote:
>
> On 07/04/2016 07:44 PM, Julien Grall wrote:
>>
>>
>> On 04/07/16 17:56, Sergej Proskurin wrote:
>>> Hi Andrew,
>>>
>>> On 07/04/2016 06:43 PM, Andrew Cooper wr
On 07/04/2016 08:30 PM, Julien Grall wrote:
>
>
> On 04/07/16 17:40, Sergej Proskurin wrote:
>> On 07/04/2016 05:17 PM, Julien Grall wrote:
>>> On 04/07/16 12:45, Sergej Proskurin wrote:
>
> [...]
>
>>>> +static struct p2m_domain *p2m_init_o
Hi Julien,
On 07/04/2016 08:34 PM, Julien Grall wrote:
> On 04/07/16 17:51, Sergej Proskurin wrote:
>> On 07/04/2016 06:15 PM, Julien Grall wrote:
>>>
>>>
>>> On 04/07/16 12:45, Sergej Proskurin wrote:
>>>> +static void p2m_teardown_hostp2m(struc
Hello Julien,
On 07/04/2016 05:39 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
>> index 8e8e0f7..cb90a55 100644
>> --- a/xen/arch/arm/hvm.c
>> +++ b/xen/arch/arm/hvm
Hi Julien,
On 07/04/2016 05:42 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 13:12, Sergej Proskurin wrote:
>>> +/* Reset this p2m table to be empty */
>>> +static void p2m_flush_table(struct p2m_domain *p2m)
>>> +{
>>> +s
Hello Julien,
On 07/04/2016 05:55 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> The current implementation differentiates between flushing and
>> destroying altp2m views. This commit adds the functions
>> p2m_flush_altp2m,
Hi Julien,
On 07/04/2016 06:20 PM, Julien Grall wrote:
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> +void p2m_flush_altp2m(struct domain *d)
>> +{
>> +unsigned int i;
>> +
>> +altp2m_lock(d);
>> +
>> +for ( i = 0; i < MAX_ALTP2
Hi Julien,
On 07/04/2016 06:32 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> Signed-off-by: Sergej Proskurin
>> ---
>> Cc: Stefano Stabellini
>> Cc: Julien Grall
>> ---
>> xen/arch/arm/hvm.c
Hi Julien,
On 07/05/2016 12:11 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 05/07/16 09:45, Sergej Proskurin wrote:
>>>> +struct p2m_domain *p2m_get_altp2m(struct vcpu *v)
>>>> +{
>>>> +unsigned int index = vcpu_altp2m(v).p2midx;
Hi Julien,
On 07/05/2016 01:48 PM, Julien Grall wrote:
>
>
> On 05/07/16 12:37, Sergej Proskurin wrote:
>> On 07/04/2016 06:32 PM, Julien Grall wrote:
>>> Hello Sergej,
>>>
>>> On 04/07/16 12:45, Sergej Proskurin wrote:
>>>> Signed-off-by:
Hello Julien,
On 07/04/2016 08:43 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> +int p2m_table_init(struct domain *d)
>> +{
>> +int i = 0;
>> +int rc = -ENOMEM;
>> +struct p2m_domain *p2m = p2m_get_
Hi Julien,
On 07/04/2016 10:32 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/2016 12:45, Sergej Proskurin wrote:
>> This commit makes sure that the TLB of a domain considers flushing all
>> of the associated altp2m views. Therefore, in case a different domain
>>
Hi Julien,
On 07/05/2016 05:37 PM, Julien Grall wrote:
>
>
> On 05/07/16 15:48, Sergej Proskurin wrote:
>> On 07/04/2016 10:32 PM, Julien Grall wrote:
>>> On 04/07/2016 12:45, Sergej Proskurin wrote:
>>>> +p2m_load_altp2m_VTTBR(n);
>>>>
Hi Julien,
On 07/04/2016 10:34 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/2016 12:45, Sergej Proskurin wrote:
>> diff --git a/xen/arch/arm/guestcopy.c b/xen/arch/arm/guestcopy.c
>> index ce1c3c3..413125f 100644
>> --- a/xen/arch/arm/guestcopy.c
>&g
Hello Julien,
On 07/05/2016 02:49 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> +static inline
>> +int p2m_set_altp2m_mem_access(struct domain *d, struct p2m_domain *hp2m,
>> + struct p2m_d
Hi Julien,
On 07/04/2016 10:53 PM, Julien Grall wrote:
> (CC Tamas)
>
> Hello Sergej,
>
> On 04/07/2016 12:45, Sergej Proskurin wrote:
>> This commit adds the function p2m_altp2m_lazy_copy implementing the
>> altp2m paging mechanism. The function p2m_altp2m_laz
Hi Julien,
On 07/04/2016 10:58 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/2016 12:45, Sergej Proskurin wrote:
>> Signed-off-by: Sergej Proskurin
>> ---
>> Cc: Stefano Stabellini
>> Cc: Julien Grall
>> ---
>> xen/arch/arm/p2m.c | 6
Hi Razvan,
On 07/04/2016 03:38 PM, Razvan Cojocaru wrote:
> On 07/04/16 14:45, Sergej Proskurin wrote:
>> Signed-off-by: Sergej Proskurin
>> ---
>> Cc: Razvan Cojocaru
>> Cc: Tamas K Lengyel
>> Cc: Ian Jackson
>> Cc: Wei Liu
>> ---
Hi Julien,
On 07/05/2016 12:19 PM, Julien Grall wrote:
> Hello Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> +static int do_altp2m_op(XEN_GUEST_HANDLE_PARAM(void) arg)
>> +{
>> +struct xen_hvm_altp2m_op a;
>> +struct domain *d = NULL;
&g
Hi Julien,
On 07/06/2016 04:28 PM, Julien Grall wrote:
>
>
> On 05/07/16 21:21, Sergej Proskurin wrote:
>> I agree on this point as well. However, we should maybe think of another
>> name for flush_tlb_domain. Especially, if we do not flush the entire
>> domain (inc
On 07/06/2016 06:12 PM, Tamas K Lengyel wrote:
> On Wed, Jul 6, 2016 at 8:32 AM, Julien Grall wrote:
>>
>> On 05/07/16 22:55, Sergej Proskurin wrote:
>>> Hello Julien,
>>>
>>> On 07/05/2016 02:49 PM, Julien Grall wrote:
>>>> Hello Serge
Hi Julien,
On 07/06/2016 08:35 PM, Julien Grall wrote:
>
>
> On 06/07/16 17:35, Tamas K Lengyel wrote:
>> On Wed, Jul 6, 2016 at 10:29 AM, Julien Grall
>> wrote:
>>>
>>>
>>> On 06/07/16 17:05, Tamas K Lengyel wrote:
On Wed, Jul 6, 2016 at 9:54 AM, Julien Grall
wrote:
>
>
Hi Julien,
On 07/06/2016 07:08 PM, Julien Grall wrote:
> Hi,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> --- a/xen/arch/arm/p2m.c
>> +++ b/xen/arch/arm/p2m.c
>> @@ -2085,6 +2085,159 @@ bool_t p2m_mem_access_check(paddr_t gpa,
>> vaddr_t gla, const struct np
Hi Julien,
On 07/15/2016 03:45 PM, Julien Grall wrote:
> Hi Sergej,
>
> On 04/07/16 12:45, Sergej Proskurin wrote:
>> This commit changes the prototype of the following functions:
>> - apply_p2m_changes
>> - apply_one_level
>> - p2m_shatter_page
>&g
On 07/20/2016 06:10 PM, Julien Grall wrote:
> The function p2m_restore_state could be called with an idle vCPU in
> arguments (when called by construct_dom0). However, we will never return
> to EL0/EL1 in this case, so it is not necessary to restore the p2m
> registers.
>
I absolutely agree.
C
Hi Julien,
On 07/20/2016 06:10 PM, Julien Grall wrote:
> The field vttbr holds the base address of the translation table for
> guest. Its value will depends on how the p2m has been initialized and
> will only be used by the code code.
>
> So move the field from arch_domain to p2m_domain. This wil
Hi Julien,
On 07/20/2016 06:11 PM, Julien Grall wrote:
> The current implementation of flush_tlb_domain is relying on the domain
> to have a single p2m. With the upcoming feature altp2m, a single domain
> may have different p2m. So we would need to switch to the correct p2m in
> order to flush the
Hi Julien,
On 07/20/2016 06:11 PM, Julien Grall wrote:
> p2m_restore_state is the last caller of p2m_load_VTTBR and already check
> if the vCPU does not belong to the idle domain.
>
> Note that it is likely possible to remove some isb in the function
> p2m_restore_state, however this is not the p
Hi Julien,
> -int p2m_alloc_table(struct domain *d)
> +static int p2m_alloc_table(struct domain *d)
While moving parts of the altp2m code out of ./xen/arch/arm/p2m.c, the
function p2m_alloc_table needs to be called from ./xen/arch/arm/altp2m.c
to allocate the individual altp2m views. Hence it sh
Hi Julien,
On 07/20/2016 06:11 PM, Julien Grall wrote:
> The function flush_tlb_domain is not used outside of the file where it
> has been declared.
>
As for patch #15, the same applies here too:
For altp2m, flush_tlb_domain/p2m_flush_tlb should be made available to
./xen/arch/arm/altp2m.c.
Che
Hi Julien,
On 07/22/2016 11:18 AM, Julien Grall wrote:
>
>
> On 22/07/16 09:32, Sergej Proskurin wrote:
>> Hi Julien,
>
> Hello Sergej,
>
>>> -int p2m_alloc_table(struct domain *d)
>>> +static int p2m_alloc_table(struct domain *d)
>>
>> W
Hi Julien,
On 07/22/2016 11:30 AM, Julien Grall wrote:
>
>
> On 22/07/16 09:54, Sergej Proskurin wrote:
>> Hi Julien,
>
> Hello Sergej,
>
>> On 07/20/2016 06:11 PM, Julien Grall wrote:
>>> The function flush_tlb_domain is not used outside of
On 07/22/2016 12:26 PM, Julien Grall wrote:
>
>
> On 22/07/16 11:16, Sergej Proskurin wrote:
>> Hi Julien,
>
> Hello,
>
>> On 07/22/2016 11:18 AM, Julien Grall wrote:
>>>
>>>
>>> On 22/07/16 09:32, Sergej Proskurin wrote:
>>>
On 07/22/2016 12:34 PM, Julien Grall wrote:
>
>
> On 22/07/16 11:25, Sergej Proskurin wrote:
>> Hi Julien,
>>
>> On 07/22/2016 11:30 AM, Julien Grall wrote:
>>>
>>>
>>> On 22/07/16 09:54, Sergej Proskurin wrote:
>>>> Hi Jul
On 07/22/2016 12:38 PM, Julien Grall wrote:
>
>
> On 22/07/16 11:39, Sergej Proskurin wrote:
>>
>>
>> On 07/22/2016 12:26 PM, Julien Grall wrote:
>>>
>>>
>>> On 22/07/16 11:16, Sergej Proskurin wrote:
>>>> Hi Julien,
On 07/22/2016 12:57 PM, Julien Grall wrote:
>
>
> On 22/07/16 11:46, Sergej Proskurin wrote:
>>
>>
>> On 07/22/2016 12:34 PM, Julien Grall wrote:
>>>
>>>
>>> On 22/07/16 11:25, Sergej Proskurin wrote:
>>>> Hi Julien,
>>>
Hi Julien,
>
> This patch moved p2m_alloc_table call into p2m_init (i.e your
> p2m_init_one). You complained that the function was not exported
> anymore, but you did not look how it was called in this patch.
>
Ok. At this point our patches indeed derailed too much from each other.
We should co
Hi Wei,
On 07/07/2016 06:27 PM, Wei Liu wrote:
> On Mon, Jul 04, 2016 at 01:45:45PM +0200, Sergej Proskurin wrote:
>> The current implementation allows to set the parameter HVM_PARAM_ALTP2M.
>> This parameter allows further usage of altp2m on ARM. For this, we
>> define an ad
Hi Wei,
On 07/25/2016 10:32 AM, Wei Liu wrote:
> On Sun, Jul 24, 2016 at 06:06:00PM +0200, Sergej Proskurin wrote:
>> Hi Wei,
>>
>> On 07/07/2016 06:27 PM, Wei Liu wrote:
>>> On Mon, Jul 04, 2016 at 01:45:45PM +0200, Sergej Proskurin wrote:
>>>> Th
On 07/25/2016 12:08 PM, Wei Liu wrote:
> On Mon, Jul 25, 2016 at 10:49:41AM +0100, Julien Grall wrote:
>> Hello,
>>
>> On 25/07/16 10:04, Sergej Proskurin wrote:
>>> On 07/25/2016 10:32 AM, Wei Liu wrote:
>>>> On Sun, Jul 24, 2016 a
Hi Julien,
On 07/27/2016 07:09 PM, Julien Grall wrote:
> Translating a VA to a IPA is expensive. Currently, Xen is assuming that
> HPFAR_EL2 is only valid when the stage-2 data/instruction abort happened
> during a translation table walk of a first stage translation (i.e S1PTW
> is set).
>
> Howe
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
v2: Cosmetic fixes.
---
xen/arch/arm/altp2m.c| 23 +++
xen/arch/arm/hvm.c | 3 ++-
xen/include/asm-arm/altp2m.h | 4
3 files changed, 29 insertions(+), 1 deletion
The HVMOP_altp2m_set_domain_state allows to activate altp2m on a
specific domain. This commit adopts the x86
HVMOP_altp2m_set_domain_state implementation. Note that the function
altp2m_flush is currently implemented in form of a stub.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
This commit adds the functionality to change mfn mappings for specified
gfn's in altp2m views. This mechanism can be used within the context of
VMI, e.g., to establish stealthy debugging.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/alt
The p2m initialization now invokes initialization routines responsible
for the allocation and initialization of altp2m structures. The same
applies to teardown routines. The functionality has been adopted from
the x86 altp2m implementation.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano
This commit adopts the x86 HVMOP_altp2m_get_domain_state implementation.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/hvm.c | 9 -
xen/include/asm-arm/altp2m.h | 2 ++
2 files changed, 10 insertions(+), 1 deletion(-)
diff
custom XSM policy is necessary on both x86 and ARM.
The current code-base is based on Julien Grall's branch abort-handlers-v2[2].
[0] https://github.com/sergej-proskurin/xen (branch arm-altp2m-v2)
[1] https://summerofcode.withgoogle.com/projects/#4970052843470848
[2] git://xenbits.xen.org/people
This commit pulls out generic init/teardown functionality out of
p2m_init and p2m_teardown into p2m_init_one, p2m_free_one, and
p2m_flush_table functions. This allows our future implementation to
reuse existing code for the initialization/teardown of altp2m views.
Signed-off-by: Sergej Proskurin
This commit adapts the function "p2m_restore_state" in a way that the
currently active altp2m table is considered during state restoration.
Signed-off-by: Sergej Proskurin
---
Cc: Stefano Stabellini
Cc: Julien Grall
---
xen/arch/arm/p2m.c | 4 +++-
xen/include/asm-arm/al
ot; switch in the domain's configuration file (i.e.
set altp2m=1).
Note, that the old parameter "altp2mhvm" is still valid for x86. Since
this commit defines this old parameter as deprecated, libxl will
generate a warning during processing.
Signed-off-by: Sergej Proskurin
---
Cc:
nd
altp2m tables are allocated similarly. Since this function will be used
by the altp2m initialization routines, it is not made static. In
addition, this commit provides the overlay function "p2m_table_init"
that is used for the host's p2m allocation/initialization.
Signed-off-by: Sergej Pr
101 - 200 of 471 matches
Mail list logo