- Timestamp:
- Dec 3, 2018, 12:22:05 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/kernel_config.h
r590 r607 35 35 //////////////////////////////////////////////////////////////////////////////////////////// 36 36 37 #define DEBUG_BARRIER 038 39 #define DEBUG_BUSYLOCK 140 #define DEBUG_BUSYLOCK_THREAD_XP 0x0000000000ULL // selected thread extended pointer37 #define DEBUG_BARRIER 0 38 39 #define DEBUG_BUSYLOCK 1 40 #define DEBUG_BUSYLOCK_THREAD_XP 0x0000000000ULL // selected thread xptr 41 41 42 #define DEBUG_CHDEV_CMD_RX 0 43 #define DEBUG_CHDEV_CMD_TX 0 44 #define DEBUG_CHDEV_SERVER_RX 0 45 #define DEBUG_CHDEV_SERVER_TX 0 46 47 #define DEBUG_CLUSTER_INIT 0 48 #define DEBUG_CLUSTER_PID_ALLOC 0 49 #define DEBUG_CLUSTER_PID_RELEASE 0 50 #define DEBUG_CLUSTER_PROCESS_COPIES 0 51 52 #define DEBUG_DEV_TXT_RX 0 53 #define DEBUG_DEV_TXT_TX 0 54 #define DEBUG_DEV_IOC_RX 0 55 #define DEBUG_DEV_IOC_TX 0 56 #define DEBUG_DEV_NIC_RX 0 57 #define DEBUG_DEV_NIC_RX 0 58 #define DEBUG_DEV_FBF_RX 0 59 #define DEBUG_DEV_FBF_TX 0 60 #define DEBUG_DEV_DMA 0 61 #define DEBUG_DEV_MMC 0 62 #define DEBUG_DEV_PIC 0 63 64 #define DEBUG_DEVFS_INIT 0 65 #define DEBUG_DEVFS_MOVE 0 66 67 #define DEBUG_DQDT_INIT 0 68 #define DEBUG_DQDT_UPDATE_THREADS 0 69 #define DEBUG_DQDT_SELECT_FOR_PROCESS 0 70 #define DEBUG_DQDT_UPDATE_PAGES 0 71 #define DEBUG_DQDT_SELECT_FOR_MEMORY 0 72 73 #define DEBUG_FATFS_INIT 0 74 #define DEBUG_FATFS_MOVE 0 75 #define DEBUG_FATFS_LOAD 0 76 #define DEBUG_FATFS_GET_CLUSTER 0 77 78 #define DEBUG_HAL_GPT_SET_PTE 0 79 #define DEBUG_HAL_GPT_COPY 0 80 #define DEBUG_HAL_GPT_CREATE 0 81 #define DEBUG_HAL_GPT_DESTROY 0 82 83 #define DEBUG_HAL_KENTRY 0 84 #define DEBUG_HAL_EXCEPTIONS 0 85 #define DEBUG_HAL_IRQS 0 86 #define DEBUG_HAL_TXT_RX 0 87 #define DEBUG_HAL_TXT_TX 0 88 #define DEBUG_HAL_IOC_RX 0 89 #define DEBUG_HAL_IOC_TX 0 90 #define DEBUG_HAL_GPT 0 91 92 #define DEBUG_KCM 0 93 #define DEBUG_KMEM 0 94 95 #define DEBUG_KERNEL_INIT 0 96 97 #define DEBUG_MAPPER_GET_PAGE 0 98 #define DEBUG_MAPPER_MOVE_USER 0 99 #define DEBUG_MAPPER_MOVE_KERNEL 0 100 101 #define DEBUG_MUTEX 0 102 103 #define DEBUG_PPM_ALLOC_PAGES 0 104 #define DEBUG_PPM_FREE_PAGES 0 105 106 #define DEBUG_PROCESS_COPY_INIT 0 107 #define DEBUG_PROCESS_DESTROY 0 108 #define DEBUG_PROCESS_GET_LOCAL_COPY 0 109 #define DEBUG_PROCESS_INIT_CREATE 0 110 #define DEBUG_PROCESS_MAKE_EXEC 0 111 #define DEBUG_PROCESS_MAKE_FORK 0 112 #define DEBUG_PROCESS_REFERENCE_INIT 0 113 #define DEBUG_PROCESS_SIGACTION 0 114 #define DEBUG_PROCESS_TXT 0 115 #define DEBUG_PROCESS_ZERO_CREATE 0 116 117 #define DEBUG_QUEUELOCK 0 118 119 #define DEBUG_RPC_CLIENT_GENERIC 0 120 #define DEBUG_RPC_SERVER_GENERIC 0 121 122 #define DEBUG_RPC_KCM_ALLOC 0 123 #define DEBUG_RPC_KCM_FREE 0 124 #define DEBUG_RPC_PMEM_GET_PAGES 0 125 #define DEBUG_RPC_PMEM_RELEASE_PAGES 0 126 #define DEBUG_RPC_PROCESS_MAKE_FORK 0 127 #define DEBUG_RPC_PROCESS_SIGACTION 0 128 #define DEBUG_RPC_THREAD_USER_CREATE 0 129 #define DEBUG_RPC_THREAD_KERNEL_CREATE 0 130 #define DEBUG_RPC_VFS_INODE_CREATE 0 131 #define DEBUG_RPC_VFS_INODE_DESTROY 0 132 #define DEBUG_RPC_VFS_DENTRY_CREATE 0 133 #define DEBUG_RPC_VFS_DENTRY_DESTROY 0 134 #define DEBUG_RPC_VFS_FILE_CREATE 0 135 #define DEBUG_RPC_VFS_FILE_DESTROY 0 136 #define DEBUG_RPC_VMM_GET_PTE 0 137 #define DEBUG_RPC_VMM_GET_VSEG 0 138 139 #define DEBUG_RWLOCK 0 140 141 #define DEBUG_SCHED_HANDLE_SIGNALS 2 142 #define DEBUG_SCHED_YIELD 2 // must be activated by the trace() syscall 143 #define DEBUG_SCHED_RPC_ACTIVATE 0 144 145 #define DEBUG_SEM 0 146 147 #define DEBUG_SYSCALLS_ERROR 2 148 149 #define DEBUG_SYS_BARRIER 0 150 #define DEBUG_SYS_CLOSE 0 151 #define DEBUG_SYS_CONDVAR 0 152 #define DEBUG_SYS_DISPLAY 0 153 #define DEBUG_SYS_EXEC 0 154 #define DEBUG_SYS_EXIT 0 155 #define DEBUG_SYS_FG 0 156 #define DEBUG_SYS_FORK 0 157 #define DEBUG_SYS_GET_CONFIG 0 158 #define DEBUG_SYS_GETPID 0 159 #define DEBUG_SYS_ISATTY 0 160 #define DEBUG_SYS_IS_FG 0 161 #define DEBUG_SYS_KILL 0 162 #define DEBUG_SYS_OPEN 0 163 #define DEBUG_SYS_MMAP 0 164 #define DEBUG_SYS_MUNMAP 0 165 #define DEBUG_SYS_MUTEX 0 166 #define DEBUG_SYS_READ 0 167 #define DEBUG_SYS_SEM 0 168 #define DEBUG_SYS_THREAD_CANCEL 0 169 #define DEBUG_SYS_THREAD_CREATE 0 170 #define DEBUG_SYS_THREAD_EXIT 0 171 #define DEBUG_SYS_THREAD_JOIN 0 172 #define DEBUG_SYS_THREAD_SLEEP 0 173 #define DEBUG_SYS_THREAD_WAKEUP 0 174 #define DEBUG_SYS_THREAD_YIELD 0 175 #define DEBUG_SYS_TRACE 0 176 #define DEBUG_SYS_WAIT 0 177 #define DEBUG_SYS_WRITE 0 178 179 #define DEBUG_SPINLOCKS 0 180 #define DEBUG_REMOTE_SPINLOCKS 0 181 #define DEBUG_RWLOCKS 0 182 #define DEBUG_REMOTE_RWLOCKS 0 183 184 #define DEBUG_THREAD_DELETE 0 185 #define DEBUG_THREAD_DESTROY 0 186 #define DEBUG_THREAD_GET_XPTR 0 187 #define DEBUG_THREAD_IDLE 0 188 #define DEBUG_THREAD_INIT 0 189 #define DEBUG_THREAD_KERNEL_CREATE 0 190 #define DEBUG_THREAD_USER_CREATE 0 191 #define DEBUG_THREAD_USER_FORK 0 192 #define DEBUG_THREAD_USER_EXEC 0 193 #define DEBUG_THREAD_BLOCK 0 194 195 #define DEBUG_VFS_ADD_CHILD 0 196 #define DEBUG_VFS_CLOSE 0 197 #define DEBUG_VFS_DENTRY_CREATE 0 198 #define DEBUG_VFS_INODE_CREATE 0 199 #define DEBUG_VFS_INODE_LOAD 0 200 #define DEBUG_VFS_LOOKUP 0 201 #define DEBUG_VFS_MAPPER_MOVE 0 202 #define DEBUG_VFS_MAPPER_LOAD 0 203 #define DEBUG_VFS_OPEN 0 204 205 #define DEBUG_VMM_CREATE_VSEG 0 206 #define DEBUG_VMM_DESTROY 0 207 #define DEBUG_VMM_FORK_COPY 0 208 #define DEBUG_VMM_GET_ONE_PPN 0 209 #define DEBUG_VMM_GET_PTE 0 210 #define DEBUG_VMM_HANDLE_PAGE_FAULT 0 211 #define DEBUG_VMM_HANDLE_COW 0 212 #define DEBUG_VMM_INIT 0 213 #define DEBUG_VMM_PAGE_ALLOCATE 0 214 #define DEBUG_VMM_SET_COW 0 215 #define DEBUG_VMM_UNMAP_VSEG 0 216 #define DEBUG_VMM_UPDATE_PTE 0 217 218 #define DEBUG_XHTAB 0 42 #define DEBUG_CHDEV_CMD_RX 0 43 #define DEBUG_CHDEV_CMD_TX 0 44 #define DEBUG_CHDEV_SERVER_RX 0 45 #define DEBUG_CHDEV_SERVER_TX 0 46 47 #define DEBUG_CLUSTER_INIT 0 48 #define DEBUG_CLUSTER_PID_ALLOC 0 49 #define DEBUG_CLUSTER_PID_RELEASE 0 50 #define DEBUG_CLUSTER_PROCESS_COPIES 0 51 52 #define DEBUG_DEV_TXT_RX 0 53 #define DEBUG_DEV_TXT_TX 0 54 #define DEBUG_DEV_IOC_RX 0 55 #define DEBUG_DEV_IOC_TX 0 56 #define DEBUG_DEV_NIC_RX 0 57 #define DEBUG_DEV_NIC_RX 0 58 #define DEBUG_DEV_FBF_RX 0 59 #define DEBUG_DEV_FBF_TX 0 60 #define DEBUG_DEV_DMA 0 61 #define DEBUG_DEV_MMC 0 62 #define DEBUG_DEV_PIC 0 63 64 #define DEBUG_DEVFS_INIT 0 65 #define DEBUG_DEVFS_MOVE 0 66 67 #define DEBUG_ELF_LOAD 0 68 69 #define DEBUG_DQDT_INIT 0 70 #define DEBUG_DQDT_UPDATE_THREADS 0 71 #define DEBUG_DQDT_SELECT_FOR_PROCESS 0 72 #define DEBUG_DQDT_UPDATE_PAGES 0 73 #define DEBUG_DQDT_SELECT_FOR_MEMORY 0 74 75 #define DEBUG_FATFS_ADD_DENTRY 0 76 #define DEBUG_FATFS_CHILD_INIT 0 77 #define DEBUG_FATFS_CLUSTER_ALLOC 0 78 #define DEBUG_FATFS_CTX_INIT 0 79 #define DEBUG_FATFS_FREE_CLUSTERS 0 80 #define DEBUG_FATFS_GET_CLUSTER 0 81 #define DEBUG_FATFS_MOVE_PAGE 0 82 #define DEBUG_FATFS_RELEASE_INODE 0 83 #define DEBUG_FATFS_REMOVE_DENTRY 1 84 #define DEBUG_FATFS_SYNC_FAT 0 85 #define DEBUG_FATFS_SYNC_FSINFO 0 86 #define DEBUG_FATFS_SYNC_INODE 0 87 88 #define DEBUG_HAL_GPT_SET_PTE 0 89 #define DEBUG_HAL_GPT_COPY 0 90 #define DEBUG_HAL_GPT_CREATE 0 91 #define DEBUG_HAL_GPT_DESTROY 0 92 93 #define DEBUG_HAL_KENTRY 0 94 #define DEBUG_HAL_EXCEPTIONS 0 95 #define DEBUG_HAL_IRQS 0 96 #define DEBUG_HAL_TXT_RX 0 97 #define DEBUG_HAL_TXT_TX 0 98 #define DEBUG_HAL_IOC_RX 0 99 #define DEBUG_HAL_IOC_TX 0 100 101 #define DEBUG_KCM 0 102 #define DEBUG_KMEM 0 103 104 #define DEBUG_KERNEL_INIT 0 105 106 #define DEBUG_MAPPER_GET_PAGE 1 107 #define DEBUG_MAPPER_HANDLE_MISS 0 108 #define DEBUG_MAPPER_MOVE_USER 0 109 #define DEBUG_MAPPER_MOVE_KERNEL 0 110 111 #define DEBUG_MUTEX 0 112 113 #define DEBUG_PPM_ALLOC_PAGES 0 114 #define DEBUG_PPM_FREE_PAGES 0 115 116 #define DEBUG_PROCESS_COPY_INIT 0 117 #define DEBUG_PROCESS_DESTROY 0 118 #define DEBUG_PROCESS_GET_LOCAL_COPY 0 119 #define DEBUG_PROCESS_INIT_CREATE 0 120 #define DEBUG_PROCESS_MAKE_EXEC 0 121 #define DEBUG_PROCESS_MAKE_FORK 0 122 #define DEBUG_PROCESS_REFERENCE_INIT 0 123 #define DEBUG_PROCESS_SIGACTION 0 124 #define DEBUG_PROCESS_TXT 0 125 #define DEBUG_PROCESS_ZERO_CREATE 0 126 127 #define DEBUG_QUEUELOCK 0 128 129 #define DEBUG_RPC_CLIENT_GENERIC 0 130 #define DEBUG_RPC_SERVER_GENERIC 0 131 132 #define DEBUG_RPC_KCM_ALLOC 0 133 #define DEBUG_RPC_KCM_FREE 0 134 #define DEBUG_RPC_MAPPER_rGT_PAGE 0 135 #define DEBUG_RPC_MAPPER_MOVE_USER 0 136 #define DEBUG_RPC_PMEM_GET_PAGES 0 137 #define DEBUG_RPC_PMEM_RELEASE_PAGES 0 138 #define DEBUG_RPC_PROCESS_MAKE_FORK 0 139 #define DEBUG_RPC_PROCESS_SIGACTION 0 140 #define DEBUG_RPC_THREAD_USER_CREATE 0 141 #define DEBUG_RPC_THREAD_KERNEL_CREATE 0 142 #define DEBUG_RPC_VFS_INODE_CREATE 0 143 #define DEBUG_RPC_VFS_INODE_DESTROY 0 144 #define DEBUG_RPC_VFS_DENTRY_CREATE 0 145 #define DEBUG_RPC_VFS_DENTRY_DESTROY 0 146 #define DEBUG_RPC_VFS_FILE_CREATE 0 147 #define DEBUG_RPC_VFS_FILE_DESTROY 0 148 #define DEBUG_RPC_VFS_DEVICE_GET_DENTRY 0 149 #define DEBUG_RPC_VMM_GET_PTE 0 150 #define DEBUG_RPC_VMM_GET_VSEG 0 151 152 #define DEBUG_RWLOCK 0 153 154 #define DEBUG_SCHED_HANDLE_SIGNALS 2 155 #define DEBUG_SCHED_YIELD 2 // must be activated by the trace() syscall 156 #define DEBUG_SCHED_RPC_ACTIVATE 0 157 158 #define DEBUG_SEM 0 159 160 #define DEBUG_SYSCALLS_ERROR 2 161 162 #define DEBUG_SYS_BARRIER 0 163 #define DEBUG_SYS_CLOSE 0 164 #define DEBUG_SYS_CONDVAR 0 165 #define DEBUG_SYS_DISPLAY 0 166 #define DEBUG_SYS_EXEC 0 167 #define DEBUG_SYS_EXIT 0 168 #define DEBUG_SYS_FG 0 169 #define DEBUG_SYS_FORK 0 170 #define DEBUG_SYS_GET_CONFIG 0 171 #define DEBUG_SYS_GETPID 0 172 #define DEBUG_SYS_ISATTY 0 173 #define DEBUG_SYS_IS_FG 0 174 #define DEBUG_SYS_KILL 0 175 #define DEBUG_SYS_OPEN 0 176 #define DEBUG_SYS_MMAP 0 177 #define DEBUG_SYS_MUNMAP 0 178 #define DEBUG_SYS_MUTEX 0 179 #define DEBUG_SYS_READ 0 180 #define DEBUG_SYS_SEM 0 181 #define DEBUG_SYS_STAT 0 182 #define DEBUG_SYS_THREAD_CANCEL 0 183 #define DEBUG_SYS_THREAD_CREATE 0 184 #define DEBUG_SYS_THREAD_EXIT 0 185 #define DEBUG_SYS_THREAD_JOIN 0 186 #define DEBUG_SYS_THREAD_SLEEP 0 187 #define DEBUG_SYS_THREAD_WAKEUP 0 188 #define DEBUG_SYS_THREAD_YIELD 0 189 #define DEBUG_SYS_TRACE 0 190 #define DEBUG_SYS_UNLINK 0 191 #define DEBUG_SYS_WAIT 0 192 #define DEBUG_SYS_WRITE 0 193 194 #define DEBUG_THREAD_BLOCK 0 195 #define DEBUG_THREAD_DELETE 0 196 #define DEBUG_THREAD_DESTROY 0 197 #define DEBUG_THREAD_GET_XPTR 0 198 #define DEBUG_THREAD_IDLE 0 199 #define DEBUG_THREAD_INIT 0 200 #define DEBUG_THREAD_KERNEL_CREATE 0 201 #define DEBUG_THREAD_USER_CREATE 0 202 #define DEBUG_THREAD_USER_FORK 0 203 #define DEBUG_THREAD_USER_EXEC 0 204 205 #define DEBUG_VFS_ADD_CHILD 0 206 #define DEBUG_VFS_CLOSE 0 207 #define DEBUG_VFS_DENTRY_CREATE 0 208 #define DEBUG_VFS_INODE_CREATE 0 209 #define DEBUG_VFS_INODE_LOAD_ALL 0 210 #define DEBUG_VFS_LOOKUP 0 211 #define DEBUG_VFS_LSEEK 0 212 #define DEBUG_VFS_NEW_CHILD_INIT 0 213 #define DEBUG_VFS_OPEN 0 214 #define DEBUG_VFS_STAT 0 215 #define DEBUG_VFS_UNLINK 1 216 217 #define DEBUG_VMM_CREATE_VSEG 0 218 #define DEBUG_VMM_DESTROY 0 219 #define DEBUG_VMM_FORK_COPY 0 220 #define DEBUG_VMM_GET_ONE_PPN 0 221 #define DEBUG_VMM_GET_PTE 0 222 #define DEBUG_VMM_HANDLE_PAGE_FAULT 0 223 #define DEBUG_VMM_HANDLE_COW 0 224 #define DEBUG_VMM_INIT 0 225 #define DEBUG_VMM_PAGE_ALLOCATE 0 226 #define DEBUG_VMM_SET_COW 0 227 #define DEBUG_VMM_UNMAP_VSEG 0 228 #define DEBUG_VMM_UPDATE_PTE 0 229 230 #define DEBUG_XHTAB 0 219 231 220 232 … … 248 260 249 261 #define LOCK_CLUSTER_PREFTBL 21 // local (Q) protect array of ref. processes in cluster 250 #define LOCK_PPM_DIRTY 22 // local (Q) protect PPM dirty_pages list 251 262 263 #define LOCK_PPM_DIRTY 22 // remote (Q) protect PPM dirty_pages list 252 264 #define LOCK_CLUSTER_LOCALS 23 // remote (Q) protect xlist of local processes in cluster 253 265 #define LOCK_CLUSTER_COPIES 24 // remote (Q) protect xlist of process copies in cluster 254 266 #define LOCK_PROCESS_CHILDREN 25 // remote (Q) protect xlist of chidren process in process 255 #define LOCK_PROCESS_USERSYNC 26 // remote (Q) protect all lists of user synchros in 267 #define LOCK_PROCESS_USERSYNC 26 // remote (Q) protect all lists of user synchros in process 256 268 #define LOCK_PROCESS_FDARRAY 27 // remote (Q) protect array of open files in owner process 257 258 #define LOCK_MAPPER_STATE 28 // local (RW) protect mapper state 269 #define LOCK_FATFS_FREE 28 // remote (Q) protect the FATFS context (free clusters) 270 259 271 #define LOCK_PROCESS_THTBL 29 // local (RW) protect local array of threads in a process 260 272 261 #define LOCK_PROCESS_CWD 30 // remote (RW) protect current working directory in process 262 #define LOCK_VFS_INODE 31 // remote (RW) protect inode state and associated mapper 263 #define LOCK_VFS_FILE 32 // remote (RW) protect file descriptor state 264 #define LOCK_VMM_VSL 33 // remote (RW) protect VSL (local list of vsegs) 265 #define LOCK_VMM_GPT 34 // remote (RW) protect GPT (local page table) 273 #define LOCK_MAPPER_STATE 30 // remote (RW) protect mapper state 274 #define LOCK_PROCESS_CWD 31 // remote (RW) protect current working directory in process 275 #define LOCK_VFS_INODE 32 // remote (RW) protect inode state and associated mapper 276 #define LOCK_VFS_FILE 33 // remote (RW) protect file descriptor state 277 #define LOCK_VMM_VSL 34 // remote (RW) protect VSL (local list of vsegs) 278 #define LOCK_VMM_GPT 35 // remote (RW) protect GPT (local page table) 266 279 267 280 … … 305 318 //////////////////////////////////////////////////////////////////////////////////////////// 306 319 307 #define CONFIG_MAX_PROCESS_PER_CLUSTER 1 28// max number of owned process308 #define CONFIG_PROCESS_FILE_MAX_NR 8// max number of open files320 #define CONFIG_MAX_PROCESS_PER_CLUSTER 16 // max number of owned process 321 #define CONFIG_PROCESS_FILE_MAX_NR 16 // max number of open files 309 322 #define CONFIG_PROCESS_MAX_CHILDREN 1024 // max number of children process 310 323 #define CONFIG_PROCESS_HEAP_MIN_SIZE 0x00010000 // user heap min size (bytes) … … 319 332 #define CONFIG_VFS_MAX_NAME_LENGTH 32 // dentry name max length (bytes) 320 333 #define CONFIG_VFS_MAX_PATH_LENGTH 256 // pathname max length (bytes) 334 #define CONFIG_VFS_FREE_CLUSTERS_MIN 32 // min number of free clusters 335 321 336 322 337 #define CONFIG_VFS_ROOT_IS_FATFS 1 // root FS is FATFS if non zero … … 366 381 //////////////////////////////////////////////////////////////////////////////////////////// 367 382 368 #define CONFIG_MAPPER_MAX_FRAGMENTS 10 383 #define CONFIG_MAPPER_MAX_FRAGMENTS 10 // max number of fragments moved 369 384 #define CONFIG_MAPPER_MIN CONFIG_VFS_INODE_MIN 370 385 #define CONFIG_MAPPER_MAX CONFIG_VFS_INODE_MAX 386 #define CONFIG_MAPPER_GRDXT_W1 7 // number of bits for RADIX_TREE_IX1 387 #define CONFIG_MAPPER_GRDXT_W2 7 // number of bits for RADIX_TREE_IX2 388 #define CONFIG_MAPPER_GRDXT_W3 6 // number of bits for RADIX_TREE_IX3 371 389 372 390 //////////////////////////////////////////////////////////////////////////////////////////// … … 385 403 #define CONFIG_VMM_ENVS_SIZE 0x000008 // envs vseg size : 32 Kbytes 386 404 #define CONFIG_VMM_STACK_SIZE 0x000100 // single stack vseg size : 1 Mbytes 387 388 #define CONFIG_VMM_GRDXT_W1 7 // number of bits for RADIX_TREE_IX1389 #define CONFIG_VMM_GRDXT_W2 7 // number of bits for RADIX_TREE_IX2390 #define CONFIG_VMM_GRDXT_W3 6 // number of bits for RADIX_TREE_IX3391 405 392 406 ////////////////////////////////////////////////////////////////////////////////////////////
Note: See TracChangeset
for help on using the changeset viewer.