[IA64] ia32 nopage
Convert ia64's ia32 support from nopage to fault. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
@@ -52,33 +52,29 @@ extern struct page *ia32_shared_page[];
|
|||||||
extern unsigned long *ia32_gdt;
|
extern unsigned long *ia32_gdt;
|
||||||
extern struct page *ia32_gate_page;
|
extern struct page *ia32_gate_page;
|
||||||
|
|
||||||
struct page *
|
int
|
||||||
ia32_install_shared_page (struct vm_area_struct *vma, unsigned long address, int *type)
|
ia32_install_shared_page (struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||||
{
|
{
|
||||||
struct page *pg = ia32_shared_page[smp_processor_id()];
|
vmf->page = ia32_shared_page[smp_processor_id()];
|
||||||
get_page(pg);
|
get_page(vmf->page);
|
||||||
if (type)
|
return 0;
|
||||||
*type = VM_FAULT_MINOR;
|
|
||||||
return pg;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct page *
|
int
|
||||||
ia32_install_gate_page (struct vm_area_struct *vma, unsigned long address, int *type)
|
ia32_install_gate_page (struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||||
{
|
{
|
||||||
struct page *pg = ia32_gate_page;
|
vmf->page = ia32_gate_page;
|
||||||
get_page(pg);
|
get_page(vmf->page);
|
||||||
if (type)
|
return 0;
|
||||||
*type = VM_FAULT_MINOR;
|
|
||||||
return pg;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static struct vm_operations_struct ia32_shared_page_vm_ops = {
|
static struct vm_operations_struct ia32_shared_page_vm_ops = {
|
||||||
.nopage = ia32_install_shared_page
|
.fault = ia32_install_shared_page
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct vm_operations_struct ia32_gate_page_vm_ops = {
|
static struct vm_operations_struct ia32_gate_page_vm_ops = {
|
||||||
.nopage = ia32_install_gate_page
|
.fault = ia32_install_gate_page
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Reference in New Issue
Block a user