} 
int hvc_get_chars(uint32_t vtermno, char *buf, int count){	unsigned long got;	if (plpar_hcall(H_GET_TERM_CHAR, vtermno, 0, 0, 0, &got,		(unsigned long *)buf, (unsigned long *)buf+1) == H_Success) {		/*		 * Work around a HV bug where it gives us a null		 * after every \r.  -- paulus		 */		if (got > 0) {			int i;			for (i = 1; i < got; ++i) {				if (buf[i] == 0 && buf[i-1] == '\r') {					--got;					if (i < got)						memmove(&buf[i], &buf[i+1],							got - i);				}			}		}		return got;	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/70b234a40107596a713e9981c643f2717e31463f/hvconsole.c/clean/arch/ppc64/kernel/hvconsole.c