[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Problem with IOMEM and domain reboot
Hi, all! While trying to reboot a domain which has iomem configured (we are passing through some devices), I found an issue, that after domain reboot those iomem's are incorrectly re-mapped, e.g. for the configuration snippet below fe960 -> 0. Part of the domain config I use: iomem=[ "0xfd010,1@0xfd000", "fe960,8", ] During domain creation:libxl_create.c:210:libxl__domain_build_info_setdefault: iomem gfn fd000 start fd010 libxl_create.c:210:libxl__domain_build_info_setdefault: iomem gfn ffffffffffffffff start fe960 which means that for fe960 initial value was set to LIBXL_INVALID_GFNand then on domain configuration, tools/libxl/libxl_create.c:libxl__domain_build_info_setdefault: for (i = 0 ; i < b_info->num_iomem; i++) if (b_info->iomem[i].gfn == LIBXL_INVALID_GFN) b_info->iomem[i].gfn = b_info->iomem[i].start; made that GFN for fe960 to be set to the correct value.But during domain reboot I see that tools/xl/xl_vmcontrol.c:reload_domain_config tries to replicate configuration from the original domain config being rebooted, but that leads to iomem's GFN to be set to 0 (if configuredin form [IOMEM_START,NUM_PAGES], but for [IOMEM_START,NUM_PAGES[@GFN] it is ok): iomem gfn fd000 start fd010 iomem gfn 0 start fe960Thus, further domain restart procedure leads to invalid mapping, e.g. fe960 -> 0. I created a patch which allowed me to reboot the domain, but I would love to hear comments on what would be the proper fix. Thank you, Oleksandr Attachment:
0001-HACK-Reset-iomem-s-gfn-to-LIBXL_INVALID_GFN-on-reboo.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |