Re: [RFC PATCH 34/35] Add the Xen virtual network device driver.
- From: Stephen Hemminger <shemminger@xxxxxxxx>
- Date: Tue, 9 May 2006 13:25:56 -0700
+static int setup_device(struct xenbus_device *dev, struct
netfront_info *info) +{
+ struct netif_tx_sring *txs;
+ struct netif_rx_sring *rxs;
+ int err;
+ struct net_device *netdev = info->netdev;
+
+ info->tx_ring_ref = GRANT_INVALID_REF;
+ info->rx_ring_ref = GRANT_INVALID_REF;
+ info->rx.sring = NULL;
+ info->tx.sring = NULL;
+ info->irq = 0;
+
+ txs = (struct netif_tx_sring *)get_zeroed_page(GFP_KERNEL);
+ if (!txs) {
+ err = -ENOMEM;
+ xenbus_dev_fatal(dev, err, "allocating tx ring
page");
+ goto fail;
+ }
+ rxs = (struct netif_rx_sring *)get_zeroed_page(GFP_KERNEL);
+ if (!rxs) {
+ err = -ENOMEM;
+ xenbus_dev_fatal(dev, err, "allocating rx ring
page");
+ free_page((unsigned long)txs);
+ goto fail;
+ }
+ info->backend_state = BEST_DISCONNECTED;
+
+ SHARED_RING_INIT(txs);
+ FRONT_RING_INIT(&info->tx, txs, PAGE_SIZE);
+
+ SHARED_RING_INIT(rxs);
+ FRONT_RING_INIT(&info->rx, rxs, PAGE_SIZE);
+
+ err = xenbus_grant_ring(dev, virt_to_mfn(txs));
+ if (err < 0)
+ goto fail;
+ info->tx_ring_ref = err;
+
+ err = xenbus_grant_ring(dev, virt_to_mfn(rxs));
+ if (err < 0)
+ goto fail;
+ info->rx_ring_ref = err;
+
+ err = xenbus_alloc_evtchn(dev, &info->evtchn);
+ if (err)
+ goto fail;
+
+ memcpy(netdev->dev_addr, info->mac, ETH_ALEN);
+ network_connect(netdev);
+ info->irq = bind_evtchn_to_irqhandler(
+ info->evtchn, netif_int, SA_SAMPLE_RANDOM,
netdev->name,
This doesn't look like a real random entropy source. packets
arriving from another domain are easily timed.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [RFC PATCH 34/35] Add the Xen virtual network device driver.
- From: Keir Fraser
- Re: [RFC PATCH 34/35] Add the Xen virtual network device driver.
- From: Chris Wright
- Re: [RFC PATCH 34/35] Add the Xen virtual network device driver.
- References:
- [RFC PATCH 00/35] Xen i386 paravirtualization support
- From: Chris Wright
- [RFC PATCH 34/35] Add the Xen virtual network device driver.
- From: Chris Wright
- [RFC PATCH 00/35] Xen i386 paravirtualization support
- Prev by Date: Linux 2.6.16.15
- Next by Date: Re: [PATCH 2/3] swiotlb: create __alloc_bootmem_low_nopanic and add support in SWIOTLB
- Previous by thread: Re: [RFC PATCH 34/35] Add the Xen virtual network device driver.
- Next by thread: Re: [RFC PATCH 34/35] Add the Xen virtual network device driver.
- Index(es):
Relevant Pages
|