[BACK]Return to tlb.h CVS log [TXT][DIR] Up to [Development] / linux-2.6-xfs / arch / um / include

File: [Development] / linux-2.6-xfs / arch / um / include / tlb.h (download)

Revision 1.5, Mon Dec 5 21:19:08 2005 UTC (11 years, 10 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.4: +0 -1 lines

Merge up to 2.6.15-rc5.
Merge of 2.6.x-xfs-melb:linux:24672a by kenmcd.

/* 
 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
 * Licensed under the GPL
 */

#ifndef __TLB_H__
#define __TLB_H__

#include "um_mmu.h"

struct host_vm_op {
	enum { NONE, MMAP, MUNMAP, MPROTECT } type;
	union {
		struct {
			unsigned long addr;
			unsigned long len;
			unsigned int r:1;
			unsigned int w:1;
			unsigned int x:1;
			int fd;
			__u64 offset;
		} mmap;
		struct {
			unsigned long addr;
			unsigned long len;
		} munmap;
		struct {
			unsigned long addr;
			unsigned long len;
			unsigned int r:1;
			unsigned int w:1;
			unsigned int x:1;
		} mprotect;
	} u;
};

extern void force_flush_all(void);
extern void fix_range_common(struct mm_struct *mm, unsigned long start_addr,
                             unsigned long end_addr, int force,
			     int (*do_ops)(union mm_context *,
					   struct host_vm_op *, int, int,
					   void **));
extern int flush_tlb_kernel_range_common(unsigned long start,
					 unsigned long end);

#endif