⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cache-sh2.c

📁 linux 内核源代码
💻 C
字号:
/* * arch/sh/mm/cache-sh2.c * * Copyright (C) 2002 Paul Mundt * * Released under the terms of the GNU GPL v2.0. */#include <linux/init.h>#include <linux/mm.h>#include <asm/cache.h>#include <asm/addrspace.h>#include <asm/processor.h>#include <asm/cacheflush.h>#include <asm/io.h>void __flush_wback_region(void *start, int size){	unsigned long v;	unsigned long begin, end;	begin = (unsigned long)start & ~(L1_CACHE_BYTES-1);	end = ((unsigned long)start + size + L1_CACHE_BYTES-1)		& ~(L1_CACHE_BYTES-1);	for (v = begin; v < end; v+=L1_CACHE_BYTES) {		/* FIXME cache purge */		ctrl_outl((v & 0x1ffffc00), (v & 0x00000ff0) | 0x00000008);	}}void __flush_purge_region(void *start, int size){	unsigned long v;	unsigned long begin, end;	begin = (unsigned long)start & ~(L1_CACHE_BYTES-1);	end = ((unsigned long)start + size + L1_CACHE_BYTES-1)		& ~(L1_CACHE_BYTES-1);	for (v = begin; v < end; v+=L1_CACHE_BYTES) {		ctrl_outl((v & 0x1ffffc00), (v & 0x00000ff0) | 0x00000008);	}}void __flush_invalidate_region(void *start, int size){	unsigned long v;	unsigned long begin, end;	begin = (unsigned long)start & ~(L1_CACHE_BYTES-1);	end = ((unsigned long)start + size + L1_CACHE_BYTES-1)		& ~(L1_CACHE_BYTES-1);	for (v = begin; v < end; v+=L1_CACHE_BYTES) {		ctrl_outl((v & 0x1ffffc00), (v & 0x00000ff0) | 0x00000008);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -