Changeset 606 for trunk/kernel/mm/page.h


Ignore:
Timestamp:
Dec 3, 2018, 12:20:18 PM (6 years ago)
Author:
alain
Message:

Improve the FAT32 file system to support cat, rm, cp commands.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/mm/page.h

    r567 r606  
    3737/*************************************************************************************
    3838 * This  defines the flags that can be attached to a physical page.
    39  * TODO : the PG_BUFFER and PG_IO_ERR flags semantic is not defined
     39 * TODO : the PG_BUFFER and PG_IO_ERR flags semantic is not defined [AG]
    4040 ************************************************************************************/
    4141
     
    4343#define PG_RESERVED         0x0002     // cannot be allocated by PPM
    4444#define PG_FREE             0x0004     // page can be allocated by PPM
    45 #define PG_INLOAD           0x0008     // on-going load from disk
    4645#define PG_IO_ERR           0x0010     // mapper signals access error    TODO ??? [AG]
    4746#define PG_BUFFER           0x0020     // used in blockio.c              TODO ??? [AG]
     
    4948#define PG_COW          0x0080     // page is copy-on-write
    5049
    51 #define PG_ALL          0xFFFF     // All flags
    52 
    5350/*************************************************************************************
    5451 * This structure defines a physical page descriptor.
    55  * The busylock is used to test/modify the forks counter.
    56  * NOTE: Size is 44 bytes for a 32 bits core...
    57  * TODO : the refcount use has to be clarified [AG]
     52 * - The remote_busylock is used to allows any remote thread to atomically
     53 *   test/modify the forks counter or the page flags.
     54 * - The list entry is used to register the page in a free list or in dirty list.
     55 * NOTE: Size is 48 bytes for a 32 bits core.
     56 * TODO : the refcount use is not defined [AG]
    5857 ************************************************************************************/
    5958
     
    6766        uint32_t          refcount;       /*! reference counter TODO ??? [AG]      (4)  */
    6867        uint32_t          forks;          /*! number of pending forks              (4)  */
    69         remote_busylock_t lock;           /*! protect all accesses to page         (12) */
     68        remote_busylock_t lock;           /*! protect forks or flags modifs        (16) */
    7069}
    7170page_t;
Note: See TracChangeset for help on using the changeset viewer.