[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v11 00/14] Implement the XEN_DOMCTL_memory_mapping hypercall for ARM
Whole patch series is additionally verified on the following setup: Platform - Jacinto6 (OMAP5) with two ARMv7 cores (Cortex A15), 1.5 Gb of RAM Hypervisor - Xen 4.5 unstable (latest master branch) Dom0 - Linux 3.8 running with 2 vcpus, 128 Mb RAM DomU - Android 4.3 the following memory regions were successfully mapped to domU: libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 48034-48037 (XEN) memory_map:add: dom1 gfn=48034 mfn=48034 nr=4 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 48243-48243 (XEN) memory_map:add: dom1 gfn=48243 mfn=48243 nr=1 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 48281-48281 (XEN) memory_map:add: dom1 gfn=48281 mfn=48281 nr=1 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 48842-48845 (XEN) memory_map:add: dom1 gfn=48842 mfn=48842 nr=4 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 4a002-4a002 (XEN) memory_map:add: dom1 gfn=4a002 mfn=4a002 nr=1 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 4a005-4a005 (XEN) memory_map:add: dom1 gfn=4a005 mfn=4a005 nr=1 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 4a008-4a009 (XEN) memory_map:add: dom1 gfn=4a008 mfn=4a008 nr=2 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 4ae06-4ae07 (XEN) memory_map:add: dom1 gfn=4ae06 mfn=4ae06 nr=2 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 4ae0c-4ae0c (XEN) memory_map:add: dom1 gfn=4ae0c mfn=4ae0c nr=1 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 55080-55080 (XEN) memory_map:add: dom1 gfn=55080 mfn=55080 nr=1 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 55083-55083 (XEN) memory_map:add: dom1 gfn=55083 mfn=55083 nr=1 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 56001-5600f (XEN) memory_map:add: dom1 gfn=56001 mfn=56001 nr=f libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 95900-95eff (XEN) memory_map:add: dom1 gfn=95900 mfn=95900 nr=600 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 95f00-989ff (XEN) memory_map:add: dom1 gfn=95f00 mfn=95f00 nr=2b00 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 98a00-98aff (XEN) memory_map:add: dom1 gfn=98a00 mfn=98a00 nr=100 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 95800-958ff (XEN) memory_map:add: dom1 gfn=95800 mfn=95800 nr=100 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem ba300-bfcff (XEN) memory_map:add: dom1 gfn=ba300 mfn=ba300 nr=5a00 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 60000-6ffff (XEN) memory_map:add: dom1 gfn=60000 mfn=60000 nr=10000 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 70000-77fff (XEN) memory_map:add: dom1 gfn=70000 mfn=70000 nr=8000 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 78000-7ffff (XEN) memory_map:add: dom1 gfn=78000 mfn=78000 nr=8000 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 4a000-4afff (XEN) memory_map:add: dom1 gfn=4a000 mfn=4a000 nr=1000 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 48000-481ff (XEN) memory_map:add: dom1 gfn=48000 mfn=48000 nr=200 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 48400-487ff (XEN) memory_map:add: dom1 gfn=48400 mfn=48400 nr=400 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 48800-48fff (XEN) memory_map:add: dom1 gfn=48800 mfn=48800 nr=800 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 54000-54fff (XEN) memory_map:add: dom1 gfn=54000 mfn=54000 nr=1000 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 5a000-5afff (XEN) memory_map:add: dom1 gfn=5a000 mfn=5a000 nr=1000 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 5b000-5bfff (XEN) memory_map:add: dom1 gfn=5b000 mfn=5b000 nr=1000 libxl: debug: libxl_create.c:1171:domcreate_launch_dm: dom1 iomem 4e000-4e0ff (XEN) memory_map:add: dom1 gfn=4e000 mfn=4e000 nr=100 Regards, Andrii On Sun, Aug 24, 2014 at 11:29 PM, Arianna Avanzini <avanzini.arianna@xxxxxxxxx> wrote: > Hello, > > here is the eleventh version of my implementation proposal for the DOMCTL > memory_mapping for the ARM architecture. As usual, I'll try to keep this > as short as I can by just going through the most relevant changes. A more > detailed changelog is in the description of each of the commits, while an > extensive summary of the patch series' genesis can be found in the last > full cover letter ([1]). > Please note that this patchset includes a contribution from Andrii > Tseglytskyi, > as you may also see from the shortlog below. > > Patch 0001 has been fixed according to suggestions given by Julien Grall and > approved by Ian Campbell. Now it handles even level 3 mappings. Also, as > suggested by Andrew Cooper, the printk uses a XENLOG_G_WARNING loglevel so > that it can be rate-limited appropriately. > > Patch 0002 has also been changed according to directives provided by Julien > Grall. Now partially-mapped memory regions are unmapped regardless of their > being I/O-memory or not. > > Patch 0008 has been fixed according to directive from Julien Grall. > > Patch 0010 has been added to allow FLASK to handle the memory_mapping case > also on ARM architecture, therefore preventing wrong error messages from > being printed, as indicated by Julien Grall. > > A new patch 0011, contributed by Andrii Tseglytskyi, has been merged into > the series. It adds a FLASK policy rule to allow a domU to access previously- > mapped I/O-memory regions. > > Patch 0012 has been modified according to suggestions provided by Ian > Campbell. > The VGA-related bits have been moved to a libxl_pci helper. Non-functional > changes have been split into patch 0013 to facilitate review. A leftover debug > print has been removed. > > As usual, the code has again been tested on a cubieboard2, with Linux > v3.15-rc3 > as a dom0 and ERIKA Enterprise ([3]) as a domU. The x86 bits have been tested > on > an x86_64 machine with Linux 3.15.0-rc5 as both dom0 and domU. > Any feedback about this new version of the patchset is more than welcome, > Arianna > > [1] http://lists.xen.org/archives/html/xen-devel/2014-03/msg01724.html > [2] http://markmail.org/message/7t6erxfy7pgorakb > [3] http://erika.tuxfamily.org/drupal/ > > Andrii Tseglytskyi (1): > flask/policy: allow domU to use previously-mapped I/O-memory > > Arianna Avanzini (13): > arch/arm: add consistency check to REMOVE p2m changes > arch/arm: unmap partially-mapped memory regions > arch/x86: warn if to-be-removed mapping does not exist > arch/x86: cleanup memory_mapping DOMCTL > xen/common: add ARM stub for the function memory_type_changed() > xen/x86: factor out map and unmap from the memory_mapping DOMCTL > xen/common: move the memory_mapping DOMCTL hypercall to common code > tools/libxl: parse optional start gfn from the iomem config option > tools/libxl: handle the iomem parameter with the memory_mapping hcall > xsm/flask: avoid spurious error messages when mapping I/O-memory > tools/libxl: explicitly grant access to needed I/O-memory ranges > tools/libxl: cleanup the do_pci_add() function > xen/common: do not implicitly permit access to mapped I/O memory > > docs/man/xl.cfg.pod.5 | 18 ++- > tools/flask/policy/policy/modules/xen/xen.te | 1 + > tools/libxc/xc_domain.c | 10 ++ > tools/libxl/libxl.h | 10 ++ > tools/libxl/libxl_create.c | 28 +++- > tools/libxl/libxl_internal.h | 3 + > tools/libxl/libxl_pci.c | 213 > +++++++++++++++++---------- > tools/libxl/libxl_types.idl | 4 + > tools/libxl/xl_cmdimpl.c | 17 ++- > xen/arch/arm/p2m.c | 44 +++++- > xen/arch/x86/domctl.c | 76 ---------- > xen/arch/x86/mm/p2m.c | 57 ++++++- > xen/common/domctl.c | 54 ++++++- > xen/common/memory.c | 2 +- > xen/include/asm-arm/p2m.h | 13 +- > xen/include/asm-x86/p2m.h | 3 +- > xen/include/xen/p2m-common.h | 16 ++ > xen/xsm/flask/hooks.c | 2 +- > 18 files changed, 385 insertions(+), 186 deletions(-) > create mode 100644 xen/include/xen/p2m-common.h > > -- > 2.1.0 > -- Andrii Tseglytskyi | Embedded Dev GlobalLogic www.globallogic.com _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |