Add check that PIT ISR is firing
This commit is contained in:
parent
7264a31ff3
commit
01c73f8474
@ -24,6 +24,7 @@ import hulk.rtc;
|
||||
import hulk.serial;
|
||||
import hulk.usb;
|
||||
import hulk.pit;
|
||||
import hulk.time;
|
||||
|
||||
extern extern(C) __gshared ubyte _hulk_bss_size;
|
||||
|
||||
@ -87,6 +88,15 @@ void hulk_start()
|
||||
Usb.initialize();
|
||||
sti();
|
||||
|
||||
/* Check that PIT millisecond interrupt is firing. */
|
||||
size_t uptime = Time.uptime();
|
||||
while (Time.uptime() <= uptime)
|
||||
{
|
||||
}
|
||||
Klog.writefln("\a5HULK Initialization Complete!");
|
||||
|
||||
/* Idle loop. */
|
||||
Time.msleep(1);
|
||||
for (;;)
|
||||
{
|
||||
hlt();
|
||||
|
@ -23,7 +23,7 @@ struct Time
|
||||
*/
|
||||
public static @property ulong uptime()
|
||||
{
|
||||
return s_uptime;
|
||||
return volatileLoad(&s_uptime);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -35,7 +35,7 @@ struct Time
|
||||
public static void msleep(ulong count)
|
||||
{
|
||||
ulong wait_for = s_uptime + count + 1;
|
||||
while (volatileLoad(&s_uptime) < wait_for)
|
||||
while (uptime() < wait_for)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user