2 * $FreeBSD: src/sys/boot/alpha/libalpha/getsecs.c,v 1.2 1999/08/28 00:39:27 peter Exp $
3 * From: $NetBSD: getsecs.c,v 1.5 1998/01/05 07:02:49 perry Exp $
7 #include <machine/prom.h>
8 #include <machine/rpb.h>
14 static long lastpcc, wrapsecs;
19 lastpcc = alpha_rpcc() & 0xffffffff;
20 wrapsecs = (0xffffffff /
21 ((struct rpb *)HWRPB_ADDR)->rpb_cc_freq) + 1;
24 printf("getsecs: cc freq = %d, time to wrap = %d\n",
25 ((struct rpb *)HWRPB_ADDR)->rpb_cc_freq, wrapsecs);
29 curpcc = alpha_rpcc() & 0xffffffff;
31 curpcc += 0x100000000;
33 tnsec += ((curpcc - lastpcc) * 1000000000) / ((struct rpb *)HWRPB_ADDR)->rpb_cc_freq;
36 return (tnsec / 1000000000);