Changeset fc81981 in mainline


Ignore:
Timestamp:
2010-06-25T14:49:42Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
decfbe56
Parents:
33c4f72
Message:

add and improve annotations

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/abs32le/include/interrupt.h

    r33c4f72 rfc81981  
    5454
    5555static inline int istate_from_uspace(istate_t *istate)
     56    REQUIRES_EXTENT_MUTABLE(istate)
    5657{
    5758        /* On real hardware this checks whether the interrupted
     
    6263
    6364static inline void istate_set_retaddr(istate_t *istate, uintptr_t retaddr)
     65    WRITES(&istate->ip)
    6466{
    6567        /* On real hardware this sets the instruction pointer. */
     
    6971
    7072static inline unative_t istate_get_pc(istate_t *istate)
     73    REQUIRES_EXTENT_MUTABLE(istate)
    7174{
    7275        /* On real hardware this returns the instruction pointer. */
     
    7679
    7780static inline unative_t istate_get_fp(istate_t *istate)
     81    REQUIRES_EXTENT_MUTABLE(istate)
    7882{
    7983        /* On real hardware this returns the frame pointer. */
  • kernel/arch/abs32le/include/mm/page.h

    r33c4f72 rfc81981  
    140140
    141141static inline unsigned int get_pt_flags(pte_t *pt, size_t i)
     142    REQUIRES_ARRAY_MUTABLE(pt, PTL0_ENTRIES_ARCH)
    142143{
    143144        pte_t *p = &pt[i];
     
    155156
    156157static inline void set_pt_flags(pte_t *pt, size_t i, int flags)
     158    WRITES(ARRAY_RANGE(pt, PTL0_ENTRIES_ARCH))
     159    REQUIRES_ARRAY_MUTABLE(pt, PTL0_ENTRIES_ARCH)
    157160{
    158161        pte_t *p = &pt[i];
  • kernel/generic/include/verify.h

    r33c4f72 rfc81981  
    4040
    4141#define ATOMIC         __specification_attr("atomic_inline", "")
    42 #define READS(...)     __specification(reads(__VA_ARGS__))
    43 #define WRITES(...)    __specification(writes(__VA_ARGS__))
     42
     43#define READS(ptr)     __specification(reads(ptr))
     44#define WRITES(ptr)    __specification(writes(ptr))
    4445#define REQUIRES(...)  __specification(requires __VA_ARGS__)
    4546
    46 #define REQUIRES_EXTENT_MUTABLE(...) \
    47         REQUIRES(\extent_mutable(__VA_ARGS__))
     47#define EXTENT(ptr)              \extent(ptr)
     48#define ARRAY_RANGE(ptr, nmemb)  \array_range(ptr, nmemb)
     49
     50#define REQUIRES_EXTENT_MUTABLE(ptr) \
     51        REQUIRES(\extent_mutable(ptr))
     52
     53#define REQUIRES_ARRAY_MUTABLE(ptr, nmemb) \
     54        REQUIRES(\mutable_array(ptr, nmemb))
    4855
    4956#else /* CONFIG_VERIFY_VCC */
    5057
    5158#define ATOMIC
    52 #define READS(...)
    53 #define WRITES(...)
     59
     60#define READS(ptr)
     61#define WRITES(ptr)
    5462#define REQUIRES(...)
    5563
    56 #define REQUIRES_EXTENT_MUTABLE(...)
     64#define EXTENT(ptr)
     65#define ARRAY_RANGE(ptr, nmemb)
     66
     67#define REQUIRES_EXTENT_MUTABLE(ptr)
     68#define REQUIRES_ARRAY_MUTABLE(ptr, nmemb)
    5769
    5870#endif /* CONFIG_VERIFY_VCC */
  • tools/checkers/vcc.h

    r33c4f72 rfc81981  
    5454__specification(typedef void * \object;)
    5555__specification(typedef __int64 \integer;)
     56__specification(typedef unsigned __int64 \size_t;)
    5657
    5758__specification_type(objset)
     
    6667
    6768__specification(bool \extent_mutable(\object);)
     69__specification(\objset \extent(\object);)
     70__specification(\objset \array_range(\object, \size_t);)
     71__specification(bool \mutable_array(\object, \size_t);)
    6872
    6973#endif
Note: See TracChangeset for help on using the changeset viewer.