summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/i386/i386/mp_clock.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/sys/i386/i386/mp_clock.c b/sys/i386/i386/mp_clock.c
index 4654e63..54b5ed5 100644
--- a/sys/i386/i386/mp_clock.c
+++ b/sys/i386/i386/mp_clock.c
@@ -101,12 +101,11 @@ piix_probe (device_t dev)
switch (pci_get_devid(dev)) {
case 0x71138086:
d = pci_read_config(dev, 0x4, 2);
- if (!(d & 1))
- return 0; /* IO space not mapped */
- d = pci_read_config(dev, 0x40, 4);
- piix_timecounter_address = (d & 0xffc0) + 8;
- piix_timecounter.tc_frequency = piix_freq;
- tc_init(&piix_timecounter);
+ if (d & 1)
+ return (0);
+ printf("PIIX I/O space not mapped\n");
+ return (ENXIO);
+ default:
return (ENXIO);
};
return (ENXIO);
@@ -115,8 +114,13 @@ piix_probe (device_t dev)
static int
piix_attach (device_t dev)
{
-
- return 0;
+ u_int32_t d;
+
+ d = pci_read_config(dev, 0x40, 4);
+ piix_timecounter_address = (d & 0xffc0) + 8;
+ piix_timecounter.tc_frequency = piix_freq;
+ tc_init(&piix_timecounter);
+ return (0);
}
static device_method_t piix_methods[] = {
OpenPOWER on IntegriCloud