Mercurial > archived > louis > epitech > mq > rathaxes
comparison rathaxes_samples_e1000_add_alloc_sequences_in_socket.patch @ 120:cbd9b9a49b63
wip, alloc_rx_skbuff actually an abstraction for netdev_allock_skb
author | Louis Opter <louis@lse.epita.fr> |
---|---|
date | Fri, 26 Jul 2013 21:06:45 -0700 |
parents | d84bc9a46771 |
children |
comparison
equal
deleted
inserted
replaced
119:d84bc9a46771 | 120:cbd9b9a49b63 |
---|---|
1 # HG changeset patch | 1 # HG changeset patch |
2 # Parent 17641176926da447613bc9729bccf37d673276a0 | 2 # Parent e06ebc5e25f35ad135ab454c3f157698e00e69ac |
3 rathaxes: add an alloc_rx_skbuff method to Ethernet::Device in e1000 | 3 rathaxes: add an alloc_rx_skbuff method to Ethernet::Device in e1000 |
4 | 4 |
5 This will help to hide platform dependent code from | 5 This will help to hide platform dependent code from |
6 e1000::set_up_device. | 6 e1000::set_up_device. |
7 | 7 |
8 diff --git a/rathaxes/samples/e1000/e1000.blt b/rathaxes/samples/e1000/e1000.blt | |
9 --- a/rathaxes/samples/e1000/e1000.blt | |
10 +++ b/rathaxes/samples/e1000/e1000.blt | |
11 @@ -752,8 +752,10 @@ | |
12 */ | |
13 for (i = 0; i != ${config.rx_ring_size}; ++i) | |
14 { | |
15 + /* XXX #46: */ | |
16 + // hw_ctx->rx_ring.skbuffs[i].skbuff = ${rtx_ether_ctx.net_device.alloc_rx_skb(${config.rx_buffer_len})}; | |
17 hw_ctx->rx_ring.skbuffs[i].skbuff = (${Socket::AbstractSKBuff}*)netdev_alloc_skb( | |
18 - ${rtx_ether_ctx.net_device.k_net_dev}, /* XXX: .k_net_dev isn't expanded here */ | |
19 + ${rtx_ether_ctx.net_device.k_net_dev}, | |
20 ${config.rx_buffer_len}); | |
21 if (!hw_ctx->rx_ring.skbuffs[i].skbuff) | |
22 { | |
23 diff --git a/rathaxes/samples/e1000/ethernet.blt b/rathaxes/samples/e1000/ethernet.blt | |
24 --- a/rathaxes/samples/e1000/ethernet.blt | |
25 +++ b/rathaxes/samples/e1000/ethernet.blt | |
26 @@ -107,6 +107,13 @@ | |
27 ${self}->net_dev = ${rtx_net_dev}; | |
28 } | |
29 | |
30 + /* | |
31 + method alloc_rx_skbuff(Builtin::number size) | |
32 + { | |
33 + ($(Socket::Skbuff.ref})netdev_alloc_skb(${self}, ${size}); | |
34 + } | |
35 + */ | |
36 + | |
37 map | |
38 { | |
39 /* | |
8 diff --git a/rathaxes/samples/e1000/ethernet.rti b/rathaxes/samples/e1000/ethernet.rti | 40 diff --git a/rathaxes/samples/e1000/ethernet.rti b/rathaxes/samples/e1000/ethernet.rti |
9 --- a/rathaxes/samples/e1000/ethernet.rti | 41 --- a/rathaxes/samples/e1000/ethernet.rti |
10 +++ b/rathaxes/samples/e1000/ethernet.rti | 42 +++ b/rathaxes/samples/e1000/ethernet.rti |
11 @@ -30,8 +30,10 @@ | 43 @@ -30,8 +30,10 @@ |
12 { | 44 { |
14 decl data_types(); | 46 decl data_types(); |
15 + pointcut Ethernet::HardwareContext(); | 47 + pointcut Ethernet::HardwareContext(); |
16 + | 48 + |
17 method init(Ethernet::AbstractDevice, PCI::AbstractDevice); | 49 method init(Ethernet::AbstractDevice, PCI::AbstractDevice); |
18 - pointcut Ethernet::HardwareContext(); | 50 - pointcut Ethernet::HardwareContext(); |
19 + method alloc_rx_skbuff(Builtin::number, …); | 51 + //method alloc_rx_skbuff(Builtin::number); /* -> Socket::Skbuff.ref */ |
20 | 52 |
21 attribute Device::AbstractDevice.ref device; | 53 attribute Device::AbstractDevice.ref device; |
22 attribute PCI::AbstractDevice.ref pci_device; | 54 attribute PCI::AbstractDevice.ref pci_device; |
23 diff --git a/rathaxes/samples/e1000/socket.rti b/rathaxes/samples/e1000/socket.rti | 55 diff --git a/rathaxes/samples/e1000/socket.rti b/rathaxes/samples/e1000/socket.rti |
24 --- a/rathaxes/samples/e1000/socket.rti | 56 --- a/rathaxes/samples/e1000/socket.rti |