2 * From: $NetBSD: getsecs.c,v 1.5 1998/01/05 07:02:49 perry Exp $
3 * $FreeBSD: src/sys/boot/alpha/libalpha/getsecs.c,v 1.2 1999/08/28 00:39:27 peter Exp $
4 * $DragonFly: src/sys/boot/alpha/libalpha/Attic/getsecs.c,v 1.3 2003/11/10 06:08:30 dillon Exp $
8 #include <machine/prom.h>
9 #include <machine/rpb.h>
15 static long lastpcc, wrapsecs;
20 lastpcc = alpha_rpcc() & 0xffffffff;
21 wrapsecs = (0xffffffff /
22 ((struct rpb *)HWRPB_ADDR)->rpb_cc_freq) + 1;
25 printf("getsecs: cc freq = %d, time to wrap = %d\n",
26 ((struct rpb *)HWRPB_ADDR)->rpb_cc_freq, wrapsecs);
30 curpcc = alpha_rpcc() & 0xffffffff;
32 curpcc += 0x100000000;
34 tnsec += ((curpcc - lastpcc) * 1000000000) / ((struct rpb *)HWRPB_ADDR)->rpb_cc_freq;
37 return (tnsec / 1000000000);