Subversion Repositories HelenOS

Rev

Rev 3210 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3210 Rev 3212
Line 36... Line 36...
36
 */
36
 */
37
 
37
 
38
#include <arch.h>
38
#include <arch.h>
39
#include <macros.h>
39
#include <macros.h>
40
#include <errno.h>
40
#include <errno.h>
-
 
41
#include <arch/barrier.h>
41
#include <synch/smc.h>
42
#include <synch/smc.h>
42
 
43
 
43
unative_t sys_smc_coherence(uintptr_t va, size_t size)
44
unative_t sys_smc_coherence(uintptr_t va, size_t size)
44
{
45
{
45
    if (overlaps(va, size, NULL, PAGE_SIZE))
46
    if (overlaps(va, size, NULL, PAGE_SIZE))
Line 49... Line 50...
49
        if (overlaps(va, size, KERNEL_ADDRESS_SPACE_START,
50
        if (overlaps(va, size, KERNEL_ADDRESS_SPACE_START,
50
            KERNEL_ADDRESS_SPACE_END - KERNEL_ADDRESS_SPACE_START))
51
            KERNEL_ADDRESS_SPACE_END - KERNEL_ADDRESS_SPACE_START))
51
            return EINVAL;
52
            return EINVAL;
52
    }
53
    }
53
 
54
 
54
    smc_coherence_block(va, size);
55
    smc_coherence_block((void *) va, size);
55
    return 0;
56
    return 0;
56
}
57
}
57
 
58
 
58
/** @}
59
/** @}
59
 */
60
 */