[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 10/16] xen/arm: add Persistent Map (PMAP) infrastructure
- To: Julien Grall <julien@xxxxxxx>
- From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
- Date: Thu, 26 May 2022 15:55:55 +0000
- Accept-language: en-GB, en-US
- Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ka290vH7/1CdVyNLnTdw0mQvae0dOqEEjhyaFbnoAUQ=; b=VC1azwtbhkX3GKvEhtoPNlDqVzpywOwlSQnZxLntxjvj2WLpqrg1rtLeeD65GQjOpmbJkDYtLf41mTqXMi6mNnPMtIKM6x4pJaCl2X478Wq4iniOXQBfldpZM8cmShInBL4gCVCbXhGvAcLJGtOhee/HDi0EJCsz4hmH+e1o1r6k6570+Mj3x+KAj4vf7NNyMnxFwQBLnx2Nw/yTrBnpHGsvwY9pfgAW0mLHPXb933SflYr4ekoyQDc8H/ECYiQl/ZiTJu3uPK/yHJwnfQ6/P8f/dAg4qXX9zaliQWbxTczepIYJ4XzSIkd+xXnwK1UOlCBwo4Wp63nt72HimTW+hA==
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ka290vH7/1CdVyNLnTdw0mQvae0dOqEEjhyaFbnoAUQ=; b=ZvrTWKLvr0WOLWty3M0UVgzrLWwheyXb2CO3uLusNK0XQDqX5NmNyE/9XFL12Gr0dvru9uKCUNvdO9z82niyt2H89klSBI7RiWBA+orpp22RMx6llZ/kZ1BssgybH69tpA8OBAKgJpoYHkbpTTzvxX1r9U7ArrrQmXCgHzrJSrcUnUqmITLfpyNEUUFqGY7/0zT8pRL8pO0tw9Znp2Zw/h7DGGx2sYrt+V8ciL06jmiuOMowS4jBtUp1FldVuWSEIC1ZFJr1I20wBuIANqTc69KwGcP4Q9MClKJSd5SkzixwAJNi7VkLsXIROCrVcgWLSEjECV6kRNvywnnaPwkafA==
- Arc-seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=mbk7Axgw41GF60bdsgue8zvv/4O4pHRDFZENMjNAuHxeTsvf6z5xlTVy9wqPqQJ051Zg+QgFUTLizYN/4XffGk3kkVh3CC97h4TS+qmzKWJ6WdKvHXVwgjow0SArEapQwuoA7UC2QtyxMpTkRUwTII1SK47KQFszHH5FB5JyNK3Zwt3lJGq4lpOrk4447Xg3ehMKgd5QE2XSZL/Ekdiq3APjrd7qD6No96dpvGwFfU6FT4ZakMGvG3BZvVtQYsgFAo7dPnX3HDBPM6WPKMDUVLWS66mpeF5P868nbQ+7koMk4FbKj1kWX9vtl6hEHOh+LuE757HkAPxdMFt3rcvJrw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mjspp9EXZeEMNiMD8wjkhsnMGdTaIJMmRMHIwEaNoq5uj77Eu9x6oIIufeiE/1vgWehqFVyeFkgOKbkuFq0NEdmMDm9K/+iNkdaFG3jWy2dJO7SM6Cnq6DPgiKSDi1hDdKNB738miM5eOFaibXWyNxVfuahd6uuDbr2C/NlDAiZ+gzjQZsB8nT07tAG0Ouu7ntY59+ialZvgLyi8DzUVxu/79mNU6QHbhWybu8oxq4O8ojiDWGPP5iXhVYBlsvK5m0kHWDnDlKuYRlxCL9XTPEytN9f/wiqt6QxVGCtPnUKVpbmOa++EXM7ZMUgSO+KSFhgtzL2dd3P9E/BcThG/jg==
- Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
- Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Wei Liu <wei.liu2@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Hongyan Xia <hongyxia@xxxxxxxxxx>, Julien Grall <jgrall@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Wei Liu <wl@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Delivery-date: Thu, 26 May 2022 15:56:31 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
- Original-authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
- Thread-index: AQHYbENHzKAKTdKMX0qFkL1GWjFhOq0xWaOA
- Thread-topic: [PATCH 10/16] xen/arm: add Persistent Map (PMAP) infrastructure
> On 20 May 2022, at 13:09, Julien Grall <julien@xxxxxxx> wrote:
>
> From: Wei Liu <wei.liu2@xxxxxxxxxx>
>
> The basic idea is like Persistent Kernel Map (PKMAP) in Linux. We
> pre-populate all the relevant page tables before the system is fully
> set up.
>
> We will need it on Arm in order to rework the arm64 version of
> xenheap_setup_mappings() as we may need to use pages allocated from
> the boot allocator before they are effectively mapped.
>
> This infrastructure is not lock-protected therefore can only be used
> before smpboot. After smpboot, map_domain_page() has to be used.
>
> This is based on the x86 version [1] that was originally implemented
> by Wei Liu.
>
> The PMAP infrastructure is implemented in common code with some
> arch helpers to set/clear the page-table entries and convertion
> between a fixmap slot to a virtual address...
>
> As mfn_to_xen_entry() now needs to be exported, take the opportunity
> to swich the parameter attr from unsigned to unsigned int.
>
> [1]
> <e92da4ad6015b6089737fcccba3ec1d6424649a5.1588278317.git.hongyxia@xxxxxxxxxx>
>
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> Signed-off-by: Hongyan Xia <hongyxia@xxxxxxxxxx>
> [julien: Adapted for Arm]
> Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx>
Hi Julien,
with ASSERT(!in_irq()) in pmap_unmap(const void *p) as you previously say.
Reviewed-by: Luca Fancellu <luca.fancellu@xxxxxxx>
I’ve also tested patches up to this one, start/destroying/connecting-to few
guests
and no problem.
Tested-by: Luca Fancellu <luca.fancellu@xxxxxxx>
|