18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2007 Lemote Inc. & Institute of Computing Technology 48c2ecf20Sopenharmony_ci * Author: Fuxin Zhang, zhangfx@lemote.com 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci#include <linux/export.h> 78c2ecf20Sopenharmony_ci#include <linux/init.h> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <asm/wbflush.h> 108c2ecf20Sopenharmony_ci#include <asm/bootinfo.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include <loongson.h> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cistatic void wbflush_loongson(void) 158c2ecf20Sopenharmony_ci{ 168c2ecf20Sopenharmony_ci asm(".set\tpush\n\t" 178c2ecf20Sopenharmony_ci ".set\tnoreorder\n\t" 188c2ecf20Sopenharmony_ci ".set mips3\n\t" 198c2ecf20Sopenharmony_ci "sync\n\t" 208c2ecf20Sopenharmony_ci "nop\n\t" 218c2ecf20Sopenharmony_ci ".set\tpop\n\t" 228c2ecf20Sopenharmony_ci ".set mips0\n\t"); 238c2ecf20Sopenharmony_ci} 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_civoid (*__wbflush)(void) = wbflush_loongson; 268c2ecf20Sopenharmony_ciEXPORT_SYMBOL(__wbflush); 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_civoid __init plat_mem_setup(void) 298c2ecf20Sopenharmony_ci{ 308c2ecf20Sopenharmony_ci} 31