/*
 * linux/include/asm-arm/processor.h
 *
 * Copyright (C) 1995-2002 Russell King
 *
 * Copyright (C) 2011 Andes Technology Corporation
 * Copyright (C) 2010 Shawn Lin (nobuhiro@andestech.com)
 * Copyright (C) 2011 Macpaul Lin (macpaul@andestech.com)
 * Copyright (C) 2017 Rick Chen (rick@andestech.com)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef __ASM_RISCV_PROCESSOR_H
#define __ASM_RISCV_PROCESSOR_H

/**************************************************************
 * CAUTION:
 *   - do not implement for RISCV Arch yet.
 *   - so far some files include /asm/processor.h, but
 *     no one uses the macros defined in this head file.
 **************************************************************/

#endif /* __ASM_RISCV_PROCESSOR_H */
