xen: introduce xen_remap, use it instead of ioremap
ioremap can't be used to map ring pages on ARM because it uses device memory caching attributes (MT_DEVICE*). Introduce a Xen specific abstraction to map ring pages, called xen_remap, that is defined as ioremap on x86 (no behavioral changes). On ARM it explicitly calls __arm_ioremap with the right caching attributes: MT_MEMORY. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:

committed by
Konrad Rzeszutek Wilk

parent
e7e44e4448
commit
3216dceb31
@@ -1147,7 +1147,7 @@ static int gnttab_setup(void)
|
||||
return gnttab_map(0, nr_grant_frames - 1);
|
||||
|
||||
if (gnttab_shared.addr == NULL) {
|
||||
gnttab_shared.addr = ioremap(xen_hvm_resume_frames,
|
||||
gnttab_shared.addr = xen_remap(xen_hvm_resume_frames,
|
||||
PAGE_SIZE * max_nr_gframes);
|
||||
if (gnttab_shared.addr == NULL) {
|
||||
printk(KERN_WARNING
|
||||
|
@@ -769,7 +769,7 @@ static int __init xenbus_init(void)
|
||||
goto out_error;
|
||||
xen_store_mfn = (unsigned long)v;
|
||||
xen_store_interface =
|
||||
ioremap(xen_store_mfn << PAGE_SHIFT, PAGE_SIZE);
|
||||
xen_remap(xen_store_mfn << PAGE_SHIFT, PAGE_SIZE);
|
||||
break;
|
||||
default:
|
||||
pr_warn("Xenstore state unknown\n");
|
||||
|
Reference in New Issue
Block a user