Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/unicore32/include/mach/ocd.h
10819 views
1
/*
2
* linux/arch/unicore32/include/mach/ocd.h
3
*
4
* Code specific to PKUnity SoC and UniCore ISA
5
*
6
* Copyright (C) 2001-2010 GUAN Xue-tao
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License version 2 as
10
* published by the Free Software Foundation.
11
*/
12
13
#ifndef __MACH_PUV3_OCD_H__
14
#define __MACH_PUV3_OCD_H__
15
16
#if defined(CONFIG_DEBUG_OCD)
17
static inline void ocd_putc(unsigned int c)
18
{
19
int status, i = 0x2000000;
20
21
do {
22
if (--i < 0)
23
return;
24
25
asm volatile ("movc %0, p1.c0, #0" : "=r" (status));
26
} while (status & 2);
27
28
asm("movc p1.c1, %0, #1" : : "r" (c));
29
}
30
31
#define putc(ch) ocd_putc(ch)
32
#else
33
#define putc(ch)
34
#endif
35
36
#endif
37
38