Ignore:
Timestamp:
Mar 18, 2020, 11:16:59 PM (4 years ago)
Author:
alain
Message:

Introduce remote_buf.c/.h & socket.c/.h files.
Update dev_nic.c/.h files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/kernel_config.h

    r656 r657  
    6161#define DEBUG_DEV_PIC                     0
    6262
    63 #define DEBUG_DEVFS_GLOBAL_INIT           0
     63#define DEBUG_DEVFS_GLOBAL_INIT           0 
    6464#define DEBUG_DEVFS_LOCAL_INIT            0
    6565#define DEBUG_DEVFS_MOVE                  0
     
    121121
    122122#define DEBUG_MAPPER_GET_PAGE             0
     123#define DEBUG_MAPPER_GET_FAT_PAGE         0
    123124#define DEBUG_MAPPER_HANDLE_MISS          0
    124125#define DEBUG_MAPPER_MOVE_KERNEL          0
     
    152153#define DEBUG_RPC_SERVER_GENERIC          0
    153154
    154 #define DEBUG_RPC_MAPPER_MOVE_USER        0
     155#define DEBUG_RPC_FBF_DISPLAY             0
    155156#define DEBUG_RPC_PROCESS_MAKE_FORK       0
    156157#define DEBUG_RPC_PROCESS_SIGACTION       0
    157158#define DEBUG_RPC_THREAD_USER_CREATE      0
    158159#define DEBUG_RPC_THREAD_KERNEL_CREATE    0
    159 #define DEBUG_RPC_VFS_DENTRY_CREATE       0
    160 #define DEBUG_RPC_VFS_DENTRY_DESTROY      0
    161 #define DEBUG_RPC_VFS_DEVICE_GET_DENTRY   0
    162 #define DEBUG_RPC_VFS_FILE_CREATE         0
    163 #define DEBUG_RPC_VFS_FILE_DESTROY        0
    164 #define DEBUG_RPC_VFS_FS_NEW_DENTRY       0
    165 #define DEBUG_RPC_VFS_FS_ADD_DENTRY       0
    166 #define DEBUG_RPC_VFS_INODE_CREATE        0
    167 #define DEBUG_RPC_VFS_INODE_DESTROY       0
     160#define DEBUG_RPC_USER_DIR_CREATE         0
     161#define DEBUG_RPC_USER_DIR_DESTROY        0
    168162#define DEBUG_RPC_VMM_CREATE_VSEG         0
    169 #define DEBUG_RPC_VMM_GET_PTE             0
    170 #define DEBUG_RPC_VMM_GET_VSEG            0
    171 #define DEBUG_RPC_VMM_DELETE_VSEG         0
     163#define DEBUG_RPC_VMM_RESIZE_VSEG         0
     164#define DEBUG_RPC_VMM_REMOVE_VSEG         0
     165#define DEBUG_RPC_VMM_SET_COW             0
    172166
    173167#define DEBUG_RWLOCK_TYPE                 0        // lock type 0 is undefined => no debug
     
    246240#define DEBUG_VFS_FILE_CREATE             0
    247241#define DEBUG_VFS_GET_PATH                0
    248 #define DEBUG_VFS_INODE_CREATE            0 
     242#define DEBUG_VFS_INODE_CREATE            0
    249243#define DEBUG_VFS_INODE_LOAD_ALL          0
    250244#define DEBUG_VFS_KERNEL_MOVE             0
     
    290284#define LOCK_VMM_STACK         3   // local  (B)  protect VMM stack vseg allocator   
    291285#define LOCK_VMM_MMAP          4   // local  (B)  protect VMM mmap vseg allocator
    292 #define LOCK_VFS_CTX           5   // local  (B)  protect vfs context state
    293 #define LOCK_KCM_STATE         6   // local  (B)  protect KCM allocator state
    294 #define LOCK_KHM_STATE         7   // local  (B)  protect KHM allocator state
    295 #define LOCK_HTAB_STATE        8   // local  (B)  protect a local htab state
    296 
     286#define LOCK_KCM_STATE         5   // local  (B)  protect KCM allocator state
     287#define LOCK_KHM_STATE         6   // local  (B)  protect KHM allocator state
     288#define LOCK_HTAB_STATE        7   // local  (B)  protect a local htab state
     289
     290#define LOCK_VFS_CTX           8   // remote (B)  protect vfs context state
    297291#define LOCK_PPM_FREE          9   // remote (B)  protect PPM allocator free_pages lists
    298292#define LOCK_THREAD_JOIN      10   // remote (B)  protect join/exit between two threads
    299 #define LOCK_XHTAB_STATE      11   // remote (B)  protect  a distributed xhtab state
     293#define LOCK_XHTAB_STATE      11   // remote (B)  protect a distributed xhtab state
    300294#define LOCK_CHDEV_QUEUE      12   // remote (B)  protect chdev threads waiting queue
    301295#define LOCK_CHDEV_TXT0       13   // remote (B)  protect access to kernel terminal TXT0
     
    325319#define LOCK_VFS_FILE         33   // remote (RW) protect file descriptor state
    326320#define LOCK_VFS_MAIN         34   // remote (RW) protect vfs traversal (in root inode)
    327 #define LOCK_FATFS_FAT        35   // remote (RW) protect exclusive access to the FATFS FAT
     321#define LOCK_FATFS_FAT        35   // remote (RW) protect exclusive access to the VFS FAT
     322#define LOCK_FBF_WINDOWS      36   // remote (RW) protect FBF windows set
    328323
    329324////////////////////////////////////////////////////////////////////////////////////////////
     
    383378////////////////////////////////////////////////////////////////////////////////////////////
    384379
     380#define CONFIG_VFS_ROOT_CXY                 0          // VFS_ROOT and FAT mapper cluster
     381
    385382#define CONFIG_VFS_MAX_INODES               128        // max number of inodes per cluster
    386383#define CONFIG_VFS_MAX_NAME_LENGTH          56         // dentry name max length (bytes)
     
    397394
    398395////////////////////////////////////////////////////////////////////////////////////////////
     396//                              FBF WINDOWS       
     397////////////////////////////////////////////////////////////////////////////////////////////
     398
     399#define CONFIG_FBF_WINDOWS_MAX_NR           64         // max number of windows
     400#define CONFIG_FBF_WINDOWS_MAX_WIDTH        1024       // max number of pixels in FBF line
     401#define CONFIG_FBF_WINDOWS_MAX_HEIGHT       1024       // max number of lines in FBF
     402
     403////////////////////////////////////////////////////////////////////////////////////////////
    399404//                                  DQDT       
    400405////////////////////////////////////////////////////////////////////////////////////////////
    401406
    402407#define CONFIG_DQDT_LEVELS_NR               5
    403 #define CONFIG_DQDT_TICKS_PER_QUANTUM       1        // number of ticks between updates
    404408
    405409////////////////////////////////////////////////////////////////////////////////////////////
     
    414418////////////////////////////////////////////////////////////////////////////////////////////
    415419
    416 #define CONFIG_SCHED_TICK_MS_PERIOD         10000   // number of milliseconds per period
    417 #define CONFIG_SCHED_TICKS_PER_QUANTUM      1       // number of ticks between scheduling
    418 #define CONFIG_SCHED_MAX_THREADS_NR         32      // max number of threads per core
    419 #define CONFIG_SCHED_IDLE_MODE_SLEEP        0       // idle thread use sleep mode if non 0
     420#define CONFIG_SCHED_TICK_MS_PERIOD         10000    // number of milliseconds per period
     421#define CONFIG_SCHED_TICKS_PER_QUANTUM      1        // number of ticks between scheduling
     422#define CONFIG_SCHED_MAX_THREADS_NR         32       // max number of threads per core
     423#define CONFIG_SCHED_IDLE_MODE_SLEEP        0        // idle thread use sleep mode if non 0
    420424
    421425////////////////////////////////////////////////////////////////////////////////////////////
     
    423427////////////////////////////////////////////////////////////////////////////////////////////
    424428
    425 #define CONFIG_THREADS_MAX_PER_CLUSTER      32      // max threads per cluster per process
    426 #define CONFIG_THREAD_DESC_SIZE             0x4000  // thread desc size (with kernel stack)
    427 #define CONFIG_THREAD_DESC_ORDER            2       // ln( number of 4K pages )
     429#define CONFIG_THREADS_MAX_PER_CLUSTER      32       // max threads per cluster per process
     430#define CONFIG_THREAD_DESC_SIZE             0x4000   // thread desc size (with kernel stack)
     431#define CONFIG_THREAD_DESC_ORDER            2        // ln( number of 4K pages )
    428432
    429433////////////////////////////////////////////////////////////////////////////////////////////
     
    433437#define CONFIG_REMOTE_FIFO_SLOTS                    16
    434438#define CONFIG_REMOTE_FIFO_MAX_ITERATIONS   1024
    435 #define CONFIG_RPC_THREADS_MAX              4      // max number of RPC threads per core
     439#define CONFIG_RPC_THREADS_MAX              4       // max number of RPC threads per core
    436440
    437441////////////////////////////////////////////////////////////////////////////////////////////
     
    439443////////////////////////////////////////////////////////////////////////////////////////////
    440444
    441 #define CONFIG_VMM_VSPACE_SIZE        0x100000     // virtual space          : 4   Gbytes
    442 
    443 #define CONFIG_VMM_UTILS_BASE         0x000200     // UTILS zone base        : 2   Mbytes
    444 #define CONFIG_VMM_ELF_BASE           0x000400     // ELF zone base          : 4   Mbytes
    445 #define CONFIG_VMM_HEAP_BASE          0x040000     // HEAP zone base         : 32  Mbytes
    446 #define CONFIG_VMM_STACK_BASE         0x0C0000     // STACK zone base        : 3   Gbytes
    447 
    448 #define CONFIG_VMM_ARGS_SIZE          0x000004     // args vseg size         : 16  Kbytes
    449 #define CONFIG_VMM_ENVS_SIZE          0x000008     // envs vseg size         : 32  Kbytes
    450 #define CONFIG_VMM_STACK_SIZE         0x001000     // single stack vseg size : 16  Mbytes
     445#define CONFIG_VMM_VSPACE_SIZE        0x100000      // virtual space          : 4   Gbytes
     446
     447#define CONFIG_VMM_UTILS_BASE         0x000200      // UTILS zone base        : 2   Mbytes
     448#define CONFIG_VMM_ELF_BASE           0x000400      // ELF zone base          : 4   Mbytes
     449#define CONFIG_VMM_HEAP_BASE          0x040000      // HEAP zone base         : 32  Mbytes
     450#define CONFIG_VMM_STACK_BASE         0x0C0000      // STACK zone base        : 3   Gbytes
     451 
     452#define CONFIG_VMM_ARGS_SIZE          0x000004      // args vseg size         : 16  Kbytes
     453#define CONFIG_VMM_ENVS_SIZE          0x000008      // envs vseg size         : 32  Kbytes
     454#define CONFIG_VMM_STACK_SIZE         0x001000      // single stack vseg size : 16  Mbytes
    451455
    452456#define CONFIG_VMM_HEAP_MAX_ORDER     18           // max size of MMAP vseg  :  1  Gbytes
     
    455459////////////////////////////////////////////////////////////////////////////////////////////
    456460
    457 #define CONFIG_PPM_PAGE_SIZE          4096         // physical page size (bytes)
    458 #define CONFIG_PPM_PAGE_SHIFT         12           // physical page shift (bits)
    459 #define CONFIG_PPM_PAGE_MASK          0x00000FFF   // physical page mask     
    460 #define CONFIG_PPM_MAX_ORDER          16           // ln(total number of pages per cluster)
    461 #define CONFIG_PPM_HEAP_ORDER         10           // ln(number of heap pages per cluster)
    462 #define CONFIG_PPM_MAX_RSVD           32           // max reserved zones on the machine
     461#define CONFIG_PPM_PAGE_SIZE          4096          // physical page size (bytes)
     462#define CONFIG_PPM_PAGE_SHIFT         12            // physical page shift (bits)
     463#define CONFIG_PPM_PAGE_MASK          0x00000FFF    // physical page mask     
     464#define CONFIG_PPM_MAX_ORDER          16            // ln(total number of pages per cluster)
     465#define CONFIG_PPM_HEAP_ORDER         10            // ln(number of heap pages per cluster)
     466#define CONFIG_PPM_MAX_RSVD           32            // max reserved zones on the machine
    463467
    464468#define CONFIG_PPM_PAGE_ALIGNED       __attribute__((aligned(CONFIG_PPM_PAGE_SIZE)))
     
    470474#define CONFIG_INSTRUMENTATION_SYSCALLS    0
    471475#define CONFIG_INSTRUMENTATION_PGFAULTS    0
    472 #define CONFIG_INSTRUMENTATION_FOOTPRINT   0
     476#define CONFIG_INSTRUMENTATION_FOOTPRINT   1
     477#define CONFIG_INSTRUMENTATION_CHDEVS      0
    473478#define CONFIG_INSTRUMENTATION_GPT         0
    474479
Note: See TracChangeset for help on using the changeset viewer.