Changeset bd48f4c in mainline for kernel/generic/include/verify.h


Ignore:
Timestamp:
2010-07-12T10:53:30Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bd11d3e
Parents:
c40e6ef (diff), bee2d4c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/verify.h

    rc40e6ef rbd48f4c  
    11/*
    2  * Copyright (c) 2007 Michal Kebrt
     2 * Copyright (c) 2010 Martin Decky
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 /** @addtogroup libcarm32
     29/** @addtogroup genericverify
    3030 * @{
    3131 */
    3232/** @file
    33  *  @brief Limits declarations.
    3433 */
    3534
    36 #ifndef LIBC_arm32__LIMITS_H_
    37 #define LIBC_arm32__LIMITS_H_
     35#ifndef KERN_VERIFY_H_
     36#define KERN_VERIFY_H_
    3837
    39 #define LONG_MIN MIN_INT32
    40 #define LONG_MAX MAX_INT32
    41 #define ULONG_MIN MIN_UINT32
    42 #define ULONG_MAX MAX_UINT32
    4338
    44 #define SIZE_MIN MIN_UINT32
    45 #define SIZE_MAX MAX_UINT32
    46 #define SSIZE_MIN MIN_INT32
    47 #define SSIZE_MAX MAX_INT32
     39#ifdef CONFIG_VERIFY_VCC
     40
     41#define ATOMIC         __specification_attr("atomic_inline", "")
     42
     43#define READS(ptr)     __specification(reads(ptr))
     44#define WRITES(ptr)    __specification(writes(ptr))
     45#define REQUIRES(...)  __specification(requires __VA_ARGS__)
     46
     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))
     55
     56#else /* CONFIG_VERIFY_VCC */
     57
     58#define ATOMIC
     59
     60#define READS(ptr)
     61#define WRITES(ptr)
     62#define REQUIRES(...)
     63
     64#define EXTENT(ptr)
     65#define ARRAY_RANGE(ptr, nmemb)
     66
     67#define REQUIRES_EXTENT_MUTABLE(ptr)
     68#define REQUIRES_ARRAY_MUTABLE(ptr, nmemb)
     69
     70#endif /* CONFIG_VERIFY_VCC */
     71
    4872
    4973#endif
Note: See TracChangeset for help on using the changeset viewer.