Index: sys/dev/hyperv/vmbus/vmbus.c =================================================================== --- sys/dev/hyperv/vmbus/vmbus.c +++ sys/dev/hyperv/vmbus/vmbus.c @@ -113,7 +113,7 @@ device_t dev, int cpu); static struct taskqueue *vmbus_get_eventtq_method(device_t, device_t, int); -#if defined(EARLY_AP_STARTUP) || defined(__aarch64__) +#if defined(EARLY_AP_STARTUP) static void vmbus_intrhook(void *); #endif @@ -1488,7 +1488,7 @@ { } -#if defined(EARLY_AP_STARTUP) || defined(__aarch64__) +#if defined(EARLY_AP_STARTUP) static void vmbus_intrhook(void *xsc) @@ -1501,7 +1501,7 @@ config_intrhook_disestablish(&sc->vmbus_intrhook); } -#endif /* EARLY_AP_STARTUP aarch64 */ +#endif /* EARLY_AP_STARTUP */ static int vmbus_attach(device_t dev) @@ -1517,7 +1517,7 @@ */ vmbus_sc->vmbus_event_proc = vmbus_event_proc_dummy; -#if defined(EARLY_AP_STARTUP) || defined(__aarch64__) +#if defined(EARLY_AP_STARTUP) /* * Defer the real attach until the pause(9) works as expected. */ @@ -1531,8 +1531,10 @@ * cold set to zero, we just call the driver * initialization directly. */ +#if !defined(__aarch64__) if (!cold) vmbus_doattach(vmbus_sc); +#endif #endif /* EARLY_AP_STARTUP and aarch64 */ return (0); @@ -1578,7 +1580,7 @@ return (0); } -#if !defined(EARLY_AP_STARTUP) && !defined(__aarch64__) +#if !defined(EARLY_AP_STARTUP) static void vmbus_sysinit(void *arg __unused)