Date: Sun, 30 Aug 2009 07:52:31 GMT From: Alexander Motin <mav@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 167965 for review Message-ID: <200908300752.n7U7qVcc048641@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=167965 Change 167965 by mav@mav_mavbook on 2009/08/30 07:51:34 Separate rtc_lock from clock_lock and make it not spinning. Affected files ... .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#28 edit .. //depot/projects/scottl-camlock/src/sys/i386/i386/machdep.c#26 edit .. //depot/projects/scottl-camlock/src/sys/isa/atrtc.c#3 edit .. //depot/projects/scottl-camlock/src/sys/isa/rtc.h#5 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#28 (text+ko) ==== @@ -1592,6 +1592,7 @@ * initialization can use DELAY(). */ i8254_init(); + atrtc_init(); /* * Initialize the console before we print anything out. ==== //depot/projects/scottl-camlock/src/sys/i386/i386/machdep.c#26 (text+ko) ==== @@ -2580,6 +2580,7 @@ * initialization can use DELAY(). */ i8254_init(); + atrtc_init(); #endif /* @@ -2834,6 +2835,7 @@ * initialization can use DELAY(). */ i8254_init(); + atrtc_init(); /* * Initialize the console before we print anything out. ==== //depot/projects/scottl-camlock/src/sys/isa/atrtc.c#3 (text+ko) ==== @@ -46,11 +46,14 @@ #include <isa/isavar.h> #endif -#define RTC_LOCK mtx_lock_spin(&clock_lock) -#define RTC_UNLOCK mtx_unlock_spin(&clock_lock) +#define RTC_LOCK_INIT \ + mtx_init(&rtc_lock, "rtc", NULL, MTX_NOPROFILE) +#define RTC_LOCK mtx_lock(&rtc_lock) +#define RTC_UNLOCK mtx_unlock(&rtc_lock) int atrtcclock_disable = 0; +static struct mtx rtc_lock; static int rtc_reg = -1; static u_char rtc_statusa = RTCSA_DIVIDER | RTCSA_NOPROF; static u_char rtc_statusb = RTCSB_24HR; @@ -59,6 +62,12 @@ * RTC support routines */ +void +atrtc_init(void) +{ + RTC_LOCK_INIT; +} + int rtcin(int reg) { ==== //depot/projects/scottl-camlock/src/sys/isa/rtc.h#5 (text+ko) ==== @@ -112,9 +112,9 @@ #define RTC_CENTURY 0x32 /* current century */ #ifdef _KERNEL -extern struct mtx clock_lock; extern int atrtcclock_disable; int atrtc_setup_clock(void); +void atrtc_init(void); int rtcin(int reg); void atrtc_start(void); void atrtc_rate(unsigned rate);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908300752.n7U7qVcc048641>