diff options
author | dyson <dyson@FreeBSD.org> | 1997-04-06 02:29:45 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1997-04-06 02:29:45 +0000 |
commit | 22d3427970e54f676e2b00c131968543d5e158cf (patch) | |
tree | 7f36ab36e674c55b0016224f8352f9e013e48992 /sys/vm/vm_map.h | |
parent | 6bd5a8ae498a480fda8c82b49ba9792836b14e9f (diff) | |
download | FreeBSD-src-22d3427970e54f676e2b00c131968543d5e158cf.zip FreeBSD-src-22d3427970e54f676e2b00c131968543d5e158cf.tar.gz |
Fix the gdb executable modify problem. Thanks to the detective work
by Alan Cox <alc@cs.rice.edu>, and his description of the problem.
The bug was primarily in procfs_mem, but the mistake likely happened
due to the lack of vm system support for the operation. I added
better support for selective marking of page dirty flags so that
vm_map_pageable(wiring) will not cause this problem again.
The code in procfs_mem is now less bogus (but maybe still a little
so.)
Diffstat (limited to 'sys/vm/vm_map.h')
-rw-r--r-- | sys/vm/vm_map.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h index 05e264a..d1905ad6 100644 --- a/sys/vm/vm_map.h +++ b/sys/vm/vm_map.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id$ + * $Id: vm_map.h,v 1.24 1997/02/22 09:48:24 peter Exp $ */ /* @@ -243,9 +243,12 @@ typedef struct { /* * vm_fault option flags */ -#define VM_FAULT_NORMAL 0 -#define VM_FAULT_CHANGE_WIRING 1 -#define VM_FAULT_USER_WIRE 2 +#define VM_FAULT_NORMAL 0 /* Nothing special */ +#define VM_FAULT_CHANGE_WIRING 1 /* Change the wiring as appropriate */ +#define VM_FAULT_USER_WIRE 2 /* Likewise, but for user purposes */ +#define VM_FAULT_WIRE_MASK (VM_FAULT_CHANGE_WIRING|VM_FAULT_USER_WIRE) +#define VM_FAULT_HOLD 4 /* Hold the page */ +#define VM_FAULT_DIRTY 8 /* Dirty the page */ #ifdef KERNEL extern vm_offset_t kentry_data; |