blob: bbfc573e8a815df50454bf1b09b8a1f159f556cb [file] [log] [blame]
/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/ztest.h>
#include <zephyr/cache.h>
#define SIZE (4096)
static ZTEST_BMEM uint8_t user_buffer[SIZE];
ZTEST(cache_api, test_instr_cache_api)
{
int ret;
ret = sys_cache_instr_flush_all();
zassert_true((ret == 0) || (ret == -ENOTSUP));
ret = sys_cache_instr_invd_all();
zassert_true((ret == 0) || (ret == -ENOTSUP));
ret = sys_cache_instr_flush_and_invd_all();
zassert_true((ret == 0) || (ret == -ENOTSUP));
ret = sys_cache_instr_flush_range(user_buffer, SIZE);
zassert_true((ret == 0) || (ret == -ENOTSUP));
ret = sys_cache_instr_invd_range(user_buffer, SIZE);
zassert_true((ret == 0) || (ret == -ENOTSUP));
ret = sys_cache_instr_flush_and_invd_range(user_buffer, SIZE);
zassert_true((ret == 0) || (ret == -ENOTSUP));
}
ZTEST(cache_api, test_data_cache_api)
{
int ret;
ret = sys_cache_data_flush_all();
zassert_true((ret == 0) || (ret == -ENOTSUP));
ret = sys_cache_data_invd_all();
zassert_true((ret == 0) || (ret == -ENOTSUP));
ret = sys_cache_data_flush_and_invd_all();
zassert_true((ret == 0) || (ret == -ENOTSUP));
}
ZTEST_USER(cache_api, test_data_cache_api_user)
{
int ret;
ret = sys_cache_data_flush_range(user_buffer, SIZE);
zassert_true((ret == 0) || (ret == -ENOTSUP));
ret = sys_cache_data_invd_range(user_buffer, SIZE);
zassert_true((ret == 0) || (ret == -ENOTSUP));
ret = sys_cache_data_flush_and_invd_range(user_buffer, SIZE);
zassert_true((ret == 0) || (ret == -ENOTSUP));
}
static void *cache_api_setup(void)
{
sys_cache_data_enable();
sys_cache_instr_enable();
return NULL;
}
static void cache_api_teardown(void *unused)
{
sys_cache_data_disable();
sys_cache_instr_disable();
}
ZTEST_SUITE(cache_api, NULL, cache_api_setup, NULL, NULL, cache_api_teardown);