void platform_init(void) { uart_init(); /* detect any virtio devices */ const uint virtio_irqs[] = { VIRTIO0_INT, VIRTIO1_INT, VIRTIO2_INT, VIRTIO3_INT }; virtio_mmio_detect((void *)VIRTIO_BASE, 4, virtio_irqs); #if WITH_LIB_MINIP if (virtio_net_found() > 0) { uint8_t mac_addr[6]; virtio_net_get_mac_addr(mac_addr); TRACEF("found virtio networking interface\n"); /* start minip */ minip_set_macaddr(mac_addr); __UNUSED uint32_t ip_addr = IPV4(192, 168, 0, 99); __UNUSED uint32_t ip_mask = IPV4(255, 255, 255, 0); __UNUSED uint32_t ip_gateway = IPV4_NONE; //minip_init(virtio_net_send_minip_pkt, NULL, ip_addr, ip_mask, ip_gateway); minip_init_dhcp(virtio_net_send_minip_pkt, NULL); virtio_net_start(); } #endif }
void platform_init(void) { uart_init(); /* detect any virtio devices */ uint virtio_irqs[NUM_VIRTIO_TRANSPORTS]; for (int i = 0; i < NUM_VIRTIO_TRANSPORTS; i++) { virtio_irqs[i] = VIRTIO0_INT + i; } virtio_mmio_detect((void *)VIRTIO_BASE, NUM_VIRTIO_TRANSPORTS, virtio_irqs); #if WITH_LIB_MINIP if (virtio_net_found() > 0) { uint8_t mac_addr[6]; virtio_net_get_mac_addr(mac_addr); TRACEF("found virtio networking interface\n"); /* start minip */ minip_set_macaddr(mac_addr); __UNUSED uint32_t ip_addr = IPV4(192, 168, 0, 99); __UNUSED uint32_t ip_mask = IPV4(255, 255, 255, 0); __UNUSED uint32_t ip_gateway = IPV4_NONE; //minip_init(virtio_net_send_minip_pkt, NULL, ip_addr, ip_mask, ip_gateway); minip_init_dhcp(virtio_net_send_minip_pkt, NULL); virtio_net_start(); } #endif }