blob: 498c0a0814fe3fa2ddaa59cd0de0831aa94eba87 [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/*
2 * Copyright (C) 2017 SiFive
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation, version 2.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#include <asm/pgtable.h>
15#include <asm/cacheflush.h>
16
17void flush_icache_pte(pte_t pte)
18{
19 struct page *page = pte_page(pte);
20
21 if (!test_and_set_bit(PG_dcache_clean, &page->flags))
22 flush_icache_all();
23}