mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
[LINUX] Simply shared_info mapping code. Always use a fixmap.
Signed-off-by: Keir Fraser <keir@xensource.com>
This commit is contained in:
1 parent
585c0a4528
commit
44beffcd61
4 files changed
+10
-32
No files matched your search
@@ -558,15 +558,11 @@ void __init paging_init(void)
|
||||
|
||||
kmap_init();
|
||||
|
||||
if (!xen_feature(XENFEAT_auto_translated_physmap) ||
|
||||
xen_start_info->shared_info >= xen_start_info->nr_pages) {
|
||||
/* Switch to the real shared_info page, and clear the
|
||||
* dummy page. */
|
||||
set_fixmap(FIX_SHARED_INFO, xen_start_info->shared_info);
|
||||
HYPERVISOR_shared_info =
|
||||
(shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
|
||||
memset(empty_zero_page, 0, sizeof(empty_zero_page));
|
||||
}
|
||||
/* Switch to the real shared_info page, and clear the
|
||||
* dummy page. */
|
||||
set_fixmap(FIX_SHARED_INFO, xen_start_info->shared_info);
|
||||
HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
|
||||
memset(empty_zero_page, 0, sizeof(empty_zero_page));
|
||||
|
||||
/* Setup mapping of lower 1st MB */
|
||||
for (i = 0; i < NR_FIX_ISAMAPS; i++)
|
||||
|
||||
@@ -665,13 +665,6 @@ void __init setup_arch(char **cmdline_p)
|
||||
|
||||
setup_xen_features();
|
||||
|
||||
if (xen_feature(XENFEAT_auto_translated_physmap) &&
|
||||
xen_start_info->shared_info < xen_start_info->nr_pages) {
|
||||
HYPERVISOR_shared_info =
|
||||
(shared_info_t *)__va(xen_start_info->shared_info);
|
||||
memset(empty_zero_page, 0, sizeof(empty_zero_page));
|
||||
}
|
||||
|
||||
HYPERVISOR_vm_assist(VMASST_CMD_enable,
|
||||
VMASST_TYPE_writable_pagetables);
|
||||
|
||||
|
||||
@@ -763,15 +763,11 @@ void __init paging_init(void)
|
||||
free_area_init_node(0, NODE_DATA(0), zones,
|
||||
__pa(PAGE_OFFSET) >> PAGE_SHIFT, holes);
|
||||
|
||||
if (!xen_feature(XENFEAT_auto_translated_physmap) ||
|
||||
xen_start_info->shared_info >= xen_start_info->nr_pages) {
|
||||
/* Switch to the real shared_info page, and clear the
|
||||
* dummy page. */
|
||||
set_fixmap(FIX_SHARED_INFO, xen_start_info->shared_info);
|
||||
HYPERVISOR_shared_info =
|
||||
(shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
|
||||
memset(empty_zero_page, 0, sizeof(empty_zero_page));
|
||||
}
|
||||
/* Switch to the real shared_info page, and clear the
|
||||
* dummy page. */
|
||||
set_fixmap(FIX_SHARED_INFO, xen_start_info->shared_info);
|
||||
HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
|
||||
memset(empty_zero_page, 0, sizeof(empty_zero_page));
|
||||
|
||||
init_mm.context.pinned = 1;
|
||||
|
||||
|
||||
@@ -61,13 +61,6 @@ static void __init machine_specific_arch_setup(void)
|
||||
.address = { __KERNEL_CS, (unsigned long)nmi },
|
||||
};
|
||||
|
||||
if (xen_feature(XENFEAT_auto_translated_physmap) &&
|
||||
xen_start_info->shared_info < xen_start_info->nr_pages) {
|
||||
HYPERVISOR_shared_info =
|
||||
(shared_info_t *)__va(xen_start_info->shared_info);
|
||||
memset(empty_zero_page, 0, sizeof(empty_zero_page));
|
||||
}
|
||||
|
||||
ret = HYPERVISOR_callback_op(CALLBACKOP_register, &event);
|
||||
if (ret == 0)
|
||||
ret = HYPERVISOR_callback_op(CALLBACKOP_register, &failsafe);
|
||||
|
||||