/*
 * 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)
 *
 * 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_NDS_PROCESSOR_H
#define __ASM_NDS_PROCESSOR_H

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

#endif /* __ASM_ARM_PROCESSOR_H */
