All of lore.kernel.org
 help / color / mirror / Atom feed
* DPAA Ethernet problems with mainstream Linux kernels
@ 2018-01-10 15:56 Jamie Krueger
  2018-01-12 14:22   ` Madalin-cristian Bucur
  0 siblings, 1 reply; 15+ messages in thread
From: Jamie Krueger @ 2018-01-10 15:56 UTC (permalink / raw)
  To: linuxppc-dev

Hello all @ linuxppc-dev,

I have been working with a team of people maintaining PowerPC
Linux for the new AmigaONE X5000/20 (a Freescale p5020 SoC based
machine).

We are trying to determine why the submitted Data Path Acceleration
Architecture (DPAA) Ethernet Driver is not fully functional with
the mainstream Linux kernels.

Here is the results from my latest tests. They were performed using
the linux-4.10.17 ppc64, since that represents when the DPAA Ethernet
code was introduced.

Similar tests, with similar results, were also performed
using the latest Linux kernels:

linux-4.15-rc5
linux-4.15-rc6
linux-4.15-rc7

(Hence the reason for falling back to test the kernel right
  after the introduction of the DPAA Ethernet driver sources)

---

All Kernel builds had the DPAA Ethernet enabled in the kernel,
and are using the correct cyrus_p5020.eth.dtb device tree file
(for use on the X5000/20).

The results are quite similar for all kernels in regards to the DPAA 
Ethernet.

All tested kernels setup the two Ethernet interfaces correctly
as eth0 and eth1, and pull the correct MAC addresses from U-Boot
environment variables ethaddr and eth1addr respectively.

So at this point Linux has what it believes is fully configured
hardware, waiting to have an IP Address/Netmask/Gateway
to be set and to bring the interface online.

However, all attempts to communicate with the outside world
do not make it out the physical (PHY) hardware - or do they?

** The following results were captured under linux-4.10.17 **

When I bring the interface up using a static address, in this case
192.168.1.21, I see the following (NOTE TX bytes says 154.0 KB,
while RX bytes says 0.0 B):

jamie@X5000-Linux:$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:80:10:11:11:11
           inet addr:192.168.1.21  Bcast:192.168.1.255 Mask:255.255.255.0
           inet6 addr: fe80::280:10ff:fe11:1111/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:1428 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:0 (0.0 B)  TX bytes:154066 (154.0 KB)
           Memory:fe4e6000-fe4e6fff

eth1      Link encap:Ethernet  HWaddr 00:80:10:22:22:22
           UP BROADCAST MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
           Memory:fe4e8000-fe4e8fff

lo        Link encap:Local Loopback
           inet addr:127.0.0.1  Mask:255.0.0.0
           inet6 addr: ::1/128 Scope:Host
           UP LOOPBACK RUNNING  MTU:65536  Metric:1
           RX packets:1869 errors:0 dropped:0 overruns:0 frame:0
           TX packets:1869 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:156932 (156.9 KB)  TX bytes:156932 (156.9 KB)

Checking the routing table, everything looks fine there:

jamie@X5000-Linux:$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt 
Iface
default         192.168.1.1     0.0.0.0         UG        0 0          0 
eth0
link-local      *               255.255.0.0     U         0 0          0 
eth0
192.168.1.0     *               255.255.255.0   U         0 0          0 
eth0

Attempting to PING the interface itself works:

jamie@X5000-Linux:$ ping 192.168.1.21
PING 192.168.1.21 (192.168.1.21) 56(84) bytes of data.
64 bytes from 192.168.1.21: icmp_seq=1 ttl=64 time=0.037 ms
64 bytes from 192.168.1.21: icmp_seq=2 ttl=64 time=0.045 ms
64 bytes from 192.168.1.21: icmp_seq=3 ttl=64 time=0.033 ms
^C
--- 192.168.1.21 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2043ms

However, attempts to PING the gateway (192.168.1.1) fail as unreachable:

jamie@X5000-Linux:$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
 From 192.168.1.21 icmp_seq=1 Destination Host Unreachable
 From 192.168.1.21 icmp_seq=2 Destination Host Unreachable
 From 192.168.1.21 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.1.1 ping statistics ---
7 packets transmitted, 0 received, +3 errors, 100% packet loss, time 6077ms

In order to take a closer look at what is going on I installed Wireshark
both on my test X5000/20 Linux install (Ubuntu 16.04.3 LTS), and on
another Linux box connected to the same network switch (in this case
at IP address 192.168.1.210)

In this test I start the capture on eth0 (X5000/20) before it is put online,
and attempt to bring it up using DHCP to obtain it's address.

What I found was that network traffic *was* being attempted over eth0.
Here is a plain text export of the transmit side (the X5000/20) that
was captured using Wireshark.

(There were more network packets being sent from the X5000/20,
  however, I am only showing DHCP traffic to save space in this post):

---
No.     Time           Source                Destination Protocol Length 
Info
       2 0.042259843    0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 2: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      16 3.830001152    0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 16: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      21 9.308914533    0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 21: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      23 18.906405343   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 23: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      25 36.390926450   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 25: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      26 44.048328412   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 26: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      30 44.889049203   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 30: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      44 48.254495304   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 44: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      49 54.299052732   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 49: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      51 62.672007482   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 51: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      52 77.485896202   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 52: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      56 89.895304152   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x5df47c84

Frame 56: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      71 93.828837008   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x5df47c84

Frame 71: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      74 97.948453158   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x5df47c84

Frame 74: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)
---

Now, over on the external Linux machine (192.168.1.210), I setup a 
Wireshark capture
which filtered for any traffic to/from the MAC address of the X5000/20's 
eth0, in this case
shown as Commodor_11:11:11 (00:80:10:11:11:11) below:

This export shows only the DHCP traffic seen from outside the X5000/20,
and as you can see, a matching set of DHCP requests *do in fact* make
it to the outside network.

---
No.     Time           Source                Destination Protocol Length 
Info
      39 5.671762509    0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 39: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
      73 9.451895404    0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 73: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
     154 14.919944480   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 154: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
     269 24.498335996   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 269: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
     630 41.948018648   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 630: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
     701 49.590211264   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x655d91e8

Frame 701: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
     706 50.429265938   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 706: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
     744 53.788035317   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 744: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
     797 59.820568614   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 797: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
     852 68.176833686   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 852: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
     990 82.961224895   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x421bade3

Frame 990: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) 
on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
    3827 95.345964418   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x5df47c84

Frame 3827: 342 bytes on wire (2736 bits), 342 bytes captured (2736 
bits) on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
    3887 99.271668572   0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x5df47c84

Frame 3887: 342 bytes on wire (2736 bits), 342 bytes captured (2736 
bits) on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

No.     Time           Source                Destination Protocol Length 
Info
    3943 103.383072429  0.0.0.0               255.255.255.255 DHCP     
342    DHCP Discover - Transaction ID 0x5df47c84

Frame 3943: 342 bytes on wire (2736 bits), 342 bytes captured (2736 
bits) on interface 0
Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
     Destination: Broadcast (ff:ff:ff:ff:ff:ff)
     Source: Commodor_11:11:11 (00:80:10:11:11:11)
     Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)
---

The odd thing here is that while the DHCP requests were broadcast to the
outside network (confirming that at least the transmit to the PHY is 
working),
I could see no responses from my network's DHCP server to answer these
requests.

It is not a physical networking or routing issue, as I always get a 
successful
DHCP response to the X5000/20 when I enable the Realtek 8169 interface (also
installed [PCIe card] in the X5000/20).

Since initial outgoing traffic *appears* to be working from the DPAA 
Ethernet
on the X5000/20, is it possible we are missing an interrupt mapping from the
Frame Manager to catch the received data?

Any help would be appreciated. Thanks.

-- 
Best Regards,

Jamie Krueger
BITbyBIT Software Group LLC

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: DPAA Ethernet problems with mainstream Linux kernels
  2018-01-10 15:56 DPAA Ethernet problems with mainstream Linux kernels Jamie Krueger
@ 2018-01-12 14:22   ` Madalin-cristian Bucur
  0 siblings, 0 replies; 15+ messages in thread
From: Madalin-cristian Bucur @ 2018-01-12 14:22 UTC (permalink / raw)
  To: Jamie Krueger, linuxppc-dev; +Cc: netdev

> -----Original Message-----
> From: Linuxppc-dev [mailto:linuxppc-dev-
> bounces+madalin.bucur=nxp.com@lists.ozlabs.org] On Behalf Of Jamie Krueger
> Sent: Wednesday, January 10, 2018 5:57 PM
> To: linuxppc-dev@lists.ozlabs.org
> Subject: DPAA Ethernet problems with mainstream Linux kernels
> 
> Hello all @ linuxppc-dev,
> 
> I have been working with a team of people maintaining PowerPC
> Linux for the new AmigaONE X5000/20 (a Freescale p5020 SoC based
> machine).
> 
> We are trying to determine why the submitted Data Path Acceleration
> Architecture (DPAA) Ethernet Driver is not fully functional with
> the mainstream Linux kernels.

Hi Jamie,

We are testing the DPAA driver on several DS and RDB platforms and it
is working properly. The issues you encounter with it on the X5000/20
are likely caused by some issues specific to that particular platform.
The device tree that you mention, cyrus_p5020.eth.dts is not found in
the Linux kernel sources. The cyrus_p5020.dts file from the fsl ppc
device tree folder does not include the PHY information for the DPAA
interfaces. The problems that you experience may be caused by some
issues with the PHY configuration (i.e. internal delay). I suggest
that you connect the DPAA interface to a traffic analyzer or directly
to another device on which you can capture the incoming traffic and
check that the received frames are correct.

Madalin

> Here is the results from my latest tests. They were performed using
> the linux-4.10.17 ppc64, since that represents when the DPAA Ethernet
> code was introduced.
> 
> Similar tests, with similar results, were also performed
> using the latest Linux kernels:
> 
> linux-4.15-rc5
> linux-4.15-rc6
> linux-4.15-rc7
> 
> (Hence the reason for falling back to test the kernel right
>   after the introduction of the DPAA Ethernet driver sources)
> 
> ---
> 
> All Kernel builds had the DPAA Ethernet enabled in the kernel,
> and are using the correct cyrus_p5020.eth.dtb device tree file
> (for use on the X5000/20).
> 
> The results are quite similar for all kernels in regards to the DPAA
> Ethernet.
> 
> All tested kernels setup the two Ethernet interfaces correctly
> as eth0 and eth1, and pull the correct MAC addresses from U-Boot
> environment variables ethaddr and eth1addr respectively.
> 
> So at this point Linux has what it believes is fully configured
> hardware, waiting to have an IP Address/Netmask/Gateway
> to be set and to bring the interface online.
> 
> However, all attempts to communicate with the outside world
> do not make it out the physical (PHY) hardware - or do they?
> 
> ** The following results were captured under linux-4.10.17 **
> 
> When I bring the interface up using a static address, in this case
> 192.168.1.21, I see the following (NOTE TX bytes says 154.0 KB,
> while RX bytes says 0.0 B):
> 
> jamie@X5000-Linux:$ ifconfig
> eth0      Link encap:Ethernet  HWaddr 00:80:10:11:11:11
>            inet addr:192.168.1.21  Bcast:192.168.1.255 Mask:255.255.255.0
>            inet6 addr: fe80::280:10ff:fe11:1111/64 Scope:Link
>            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>            RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>            TX packets:1428 errors:0 dropped:0 overruns:0 carrier:0
>            collisions:0 txqueuelen:1000
>            RX bytes:0 (0.0 B)  TX bytes:154066 (154.0 KB)
>            Memory:fe4e6000-fe4e6fff
> 
> eth1      Link encap:Ethernet  HWaddr 00:80:10:22:22:22
>            UP BROADCAST MULTICAST  MTU:1500  Metric:1
>            RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>            TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>            collisions:0 txqueuelen:1000
>            RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
>            Memory:fe4e8000-fe4e8fff
> 
> lo        Link encap:Local Loopback
>            inet addr:127.0.0.1  Mask:255.0.0.0
>            inet6 addr: ::1/128 Scope:Host
>            UP LOOPBACK RUNNING  MTU:65536  Metric:1
>            RX packets:1869 errors:0 dropped:0 overruns:0 frame:0
>            TX packets:1869 errors:0 dropped:0 overruns:0 carrier:0
>            collisions:0 txqueuelen:1000
>            RX bytes:156932 (156.9 KB)  TX bytes:156932 (156.9 KB)
> 
> Checking the routing table, everything looks fine there:
> 
> jamie@X5000-Linux:$ netstat -r
> Kernel IP routing table
> Destination     Gateway         Genmask         Flags   MSS Window  irtt
> Iface
> default         192.168.1.1     0.0.0.0         UG        0 0          0
> eth0
> link-local      *               255.255.0.0     U         0 0          0
> eth0
> 192.168.1.0     *               255.255.255.0   U         0 0          0
> eth0
> 
> Attempting to PING the interface itself works:
> 
> jamie@X5000-Linux:$ ping 192.168.1.21
> PING 192.168.1.21 (192.168.1.21) 56(84) bytes of data.
> 64 bytes from 192.168.1.21: icmp_seq=1 ttl=64 time=0.037 ms
> 64 bytes from 192.168.1.21: icmp_seq=2 ttl=64 time=0.045 ms
> 64 bytes from 192.168.1.21: icmp_seq=3 ttl=64 time=0.033 ms
> ^C
> --- 192.168.1.21 ping statistics ---
> 3 packets transmitted, 3 received, 0% packet loss, time 2043ms
> 
> However, attempts to PING the gateway (192.168.1.1) fail as unreachable:
> 
> jamie@X5000-Linux:$ ping 192.168.1.1
> PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
>  From 192.168.1.21 icmp_seq=1 Destination Host Unreachable
>  From 192.168.1.21 icmp_seq=2 Destination Host Unreachable
>  From 192.168.1.21 icmp_seq=3 Destination Host Unreachable
> ^C
> --- 192.168.1.1 ping statistics ---
> 7 packets transmitted, 0 received, +3 errors, 100% packet loss, time
> 6077ms
> 
> In order to take a closer look at what is going on I installed Wireshark
> both on my test X5000/20 Linux install (Ubuntu 16.04.3 LTS), and on
> another Linux box connected to the same network switch (in this case
> at IP address 192.168.1.210)
> 
> In this test I start the capture on eth0 (X5000/20) before it is put
> online,
> and attempt to bring it up using DHCP to obtain it's address.
> 
> What I found was that network traffic *was* being attempted over eth0.
> Here is a plain text export of the transmit side (the X5000/20) that
> was captured using Wireshark.
> 
> (There were more network packets being sent from the X5000/20,
>   however, I am only showing DHCP traffic to save space in this post):
> 
> ---
> No.     Time           Source                Destination Protocol Length
> Info
>        2 0.042259843    0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 2: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       16 3.830001152    0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 16: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       21 9.308914533    0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 21: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       23 18.906405343   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 23: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       25 36.390926450   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 25: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       26 44.048328412   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 26: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       30 44.889049203   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 30: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       44 48.254495304   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 44: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       49 54.299052732   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 49: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       51 62.672007482   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 51: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       52 77.485896202   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 52: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       56 89.895304152   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x5df47c84
> 
> Frame 56: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       71 93.828837008   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x5df47c84
> 
> Frame 71: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       74 97.948453158   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x5df47c84
> 
> Frame 74: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> ---
> 
> Now, over on the external Linux machine (192.168.1.210), I setup a
> Wireshark capture
> which filtered for any traffic to/from the MAC address of the X5000/20's
> eth0, in this case
> shown as Commodor_11:11:11 (00:80:10:11:11:11) below:
> 
> This export shows only the DHCP traffic seen from outside the X5000/20,
> and as you can see, a matching set of DHCP requests *do in fact* make
> it to the outside network.
> 
> ---
> No.     Time           Source                Destination Protocol Length
> Info
>       39 5.671762509    0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 39: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>       73 9.451895404    0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 73: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>      154 14.919944480   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 154: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>      269 24.498335996   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 269: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>      630 41.948018648   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 630: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>      701 49.590211264   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x655d91e8
> 
> Frame 701: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>      706 50.429265938   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 706: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>      744 53.788035317   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 744: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>      797 59.820568614   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 797: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>      852 68.176833686   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 852: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>      990 82.961224895   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x421bade3
> 
> Frame 990: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>     3827 95.345964418   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x5df47c84
> 
> Frame 3827: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits) on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>     3887 99.271668572   0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x5df47c84
> 
> Frame 3887: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits) on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> 
> No.     Time           Source                Destination Protocol Length
> Info
>     3943 103.383072429  0.0.0.0               255.255.255.255 DHCP
> 342    DHCP Discover - Transaction ID 0x5df47c84
> 
> Frame 3943: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits) on interface 0
> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
>      Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>      Source: Commodor_11:11:11 (00:80:10:11:11:11)
>      Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> User Datagram Protocol, Src Port: 68, Dst Port: 67
> Bootstrap Protocol (Discover)
> ---
> 
> The odd thing here is that while the DHCP requests were broadcast to the
> outside network (confirming that at least the transmit to the PHY is
> working),
> I could see no responses from my network's DHCP server to answer these
> requests.
> 
> It is not a physical networking or routing issue, as I always get a
> successful
> DHCP response to the X5000/20 when I enable the Realtek 8169 interface
> (also
> installed [PCIe card] in the X5000/20).
> 
> Since initial outgoing traffic *appears* to be working from the DPAA
> Ethernet
> on the X5000/20, is it possible we are missing an interrupt mapping from
> the
> Frame Manager to catch the received data?
> 
> Any help would be appreciated. Thanks.
> 
> --
> Best Regards,
> 
> Jamie Krueger
> BITbyBIT Software Group LLC


^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: DPAA Ethernet problems with mainstream Linux kernels
@ 2018-01-12 14:22   ` Madalin-cristian Bucur
  0 siblings, 0 replies; 15+ messages in thread
From: Madalin-cristian Bucur @ 2018-01-12 14:22 UTC (permalink / raw)
  To: Jamie Krueger, linuxppc-dev; +Cc: netdev

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMaW51eHBwYy1kZXYgW21haWx0
bzpsaW51eHBwYy1kZXYtDQo+IGJvdW5jZXMrbWFkYWxpbi5idWN1cj1ueHAuY29tQGxpc3RzLm96
bGFicy5vcmddIE9uIEJlaGFsZiBPZiBKYW1pZSBLcnVlZ2VyDQo+IFNlbnQ6IFdlZG5lc2RheSwg
SmFudWFyeSAxMCwgMjAxOCA1OjU3IFBNDQo+IFRvOiBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJz
Lm9yZw0KPiBTdWJqZWN0OiBEUEFBIEV0aGVybmV0IHByb2JsZW1zIHdpdGggbWFpbnN0cmVhbSBM
aW51eCBrZXJuZWxzDQo+IA0KPiBIZWxsbyBhbGwgQCBsaW51eHBwYy1kZXYsDQo+IA0KPiBJIGhh
dmUgYmVlbiB3b3JraW5nIHdpdGggYSB0ZWFtIG9mIHBlb3BsZSBtYWludGFpbmluZyBQb3dlclBD
DQo+IExpbnV4IGZvciB0aGUgbmV3IEFtaWdhT05FIFg1MDAwLzIwIChhIEZyZWVzY2FsZSBwNTAy
MCBTb0MgYmFzZWQNCj4gbWFjaGluZSkuDQo+IA0KPiBXZSBhcmUgdHJ5aW5nIHRvIGRldGVybWlu
ZSB3aHkgdGhlIHN1Ym1pdHRlZCBEYXRhIFBhdGggQWNjZWxlcmF0aW9uDQo+IEFyY2hpdGVjdHVy
ZSAoRFBBQSkgRXRoZXJuZXQgRHJpdmVyIGlzIG5vdCBmdWxseSBmdW5jdGlvbmFsIHdpdGgNCj4g
dGhlIG1haW5zdHJlYW0gTGludXgga2VybmVscy4NCg0KSGkgSmFtaWUsDQoNCldlIGFyZSB0ZXN0
aW5nIHRoZSBEUEFBIGRyaXZlciBvbiBzZXZlcmFsIERTIGFuZCBSREIgcGxhdGZvcm1zIGFuZCBp
dA0KaXMgd29ya2luZyBwcm9wZXJseS4gVGhlIGlzc3VlcyB5b3UgZW5jb3VudGVyIHdpdGggaXQg
b24gdGhlIFg1MDAwLzIwDQphcmUgbGlrZWx5IGNhdXNlZCBieSBzb21lIGlzc3VlcyBzcGVjaWZp
YyB0byB0aGF0IHBhcnRpY3VsYXIgcGxhdGZvcm0uDQpUaGUgZGV2aWNlIHRyZWUgdGhhdCB5b3Ug
bWVudGlvbiwgY3lydXNfcDUwMjAuZXRoLmR0cyBpcyBub3QgZm91bmQgaW4NCnRoZSBMaW51eCBr
ZXJuZWwgc291cmNlcy4gVGhlIGN5cnVzX3A1MDIwLmR0cyBmaWxlIGZyb20gdGhlIGZzbCBwcGMN
CmRldmljZSB0cmVlIGZvbGRlciBkb2VzIG5vdCBpbmNsdWRlIHRoZSBQSFkgaW5mb3JtYXRpb24g
Zm9yIHRoZSBEUEFBDQppbnRlcmZhY2VzLiBUaGUgcHJvYmxlbXMgdGhhdCB5b3UgZXhwZXJpZW5j
ZSBtYXkgYmUgY2F1c2VkIGJ5IHNvbWUNCmlzc3VlcyB3aXRoIHRoZSBQSFkgY29uZmlndXJhdGlv
biAoaS5lLiBpbnRlcm5hbCBkZWxheSkuIEkgc3VnZ2VzdA0KdGhhdCB5b3UgY29ubmVjdCB0aGUg
RFBBQSBpbnRlcmZhY2UgdG8gYSB0cmFmZmljIGFuYWx5emVyIG9yIGRpcmVjdGx5DQp0byBhbm90
aGVyIGRldmljZSBvbiB3aGljaCB5b3UgY2FuIGNhcHR1cmUgdGhlIGluY29taW5nIHRyYWZmaWMg
YW5kDQpjaGVjayB0aGF0IHRoZSByZWNlaXZlZCBmcmFtZXMgYXJlIGNvcnJlY3QuDQoNCk1hZGFs
aW4NCg0KPiBIZXJlIGlzIHRoZSByZXN1bHRzIGZyb20gbXkgbGF0ZXN0IHRlc3RzLiBUaGV5IHdl
cmUgcGVyZm9ybWVkIHVzaW5nDQo+IHRoZSBsaW51eC00LjEwLjE3IHBwYzY0LCBzaW5jZSB0aGF0
IHJlcHJlc2VudHMgd2hlbiB0aGUgRFBBQSBFdGhlcm5ldA0KPiBjb2RlIHdhcyBpbnRyb2R1Y2Vk
Lg0KPiANCj4gU2ltaWxhciB0ZXN0cywgd2l0aCBzaW1pbGFyIHJlc3VsdHMsIHdlcmUgYWxzbyBw
ZXJmb3JtZWQNCj4gdXNpbmcgdGhlIGxhdGVzdCBMaW51eCBrZXJuZWxzOg0KPiANCj4gbGludXgt
NC4xNS1yYzUNCj4gbGludXgtNC4xNS1yYzYNCj4gbGludXgtNC4xNS1yYzcNCj4gDQo+IChIZW5j
ZSB0aGUgcmVhc29uIGZvciBmYWxsaW5nIGJhY2sgdG8gdGVzdCB0aGUga2VybmVsIHJpZ2h0DQo+
ICDCoGFmdGVyIHRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIERQQUEgRXRoZXJuZXQgZHJpdmVyIHNv
dXJjZXMpDQo+IA0KPiAtLS0NCj4gDQo+IEFsbCBLZXJuZWwgYnVpbGRzIGhhZCB0aGUgRFBBQSBF
dGhlcm5ldCBlbmFibGVkIGluIHRoZSBrZXJuZWwsDQo+IGFuZCBhcmUgdXNpbmcgdGhlIGNvcnJl
Y3QgY3lydXNfcDUwMjAuZXRoLmR0YiBkZXZpY2UgdHJlZSBmaWxlDQo+IChmb3IgdXNlIG9uIHRo
ZSBYNTAwMC8yMCkuDQo+IA0KPiBUaGUgcmVzdWx0cyBhcmUgcXVpdGUgc2ltaWxhciBmb3IgYWxs
IGtlcm5lbHMgaW4gcmVnYXJkcyB0byB0aGUgRFBBQQ0KPiBFdGhlcm5ldC4NCj4gDQo+IEFsbCB0
ZXN0ZWQga2VybmVscyBzZXR1cCB0aGUgdHdvIEV0aGVybmV0IGludGVyZmFjZXMgY29ycmVjdGx5
DQo+IGFzIGV0aDAgYW5kIGV0aDEsIGFuZCBwdWxsIHRoZSBjb3JyZWN0IE1BQyBhZGRyZXNzZXMg
ZnJvbSBVLUJvb3QNCj4gZW52aXJvbm1lbnQgdmFyaWFibGVzIGV0aGFkZHIgYW5kIGV0aDFhZGRy
IHJlc3BlY3RpdmVseS4NCj4gDQo+IFNvIGF0IHRoaXMgcG9pbnQgTGludXggaGFzIHdoYXQgaXQg
YmVsaWV2ZXMgaXMgZnVsbHkgY29uZmlndXJlZA0KPiBoYXJkd2FyZSwgd2FpdGluZyB0byBoYXZl
IGFuIElQIEFkZHJlc3MvTmV0bWFzay9HYXRld2F5DQo+IHRvIGJlIHNldCBhbmQgdG8gYnJpbmcg
dGhlIGludGVyZmFjZSBvbmxpbmUuDQo+IA0KPiBIb3dldmVyLCBhbGwgYXR0ZW1wdHMgdG8gY29t
bXVuaWNhdGUgd2l0aCB0aGUgb3V0c2lkZSB3b3JsZA0KPiBkbyBub3QgbWFrZSBpdCBvdXQgdGhl
IHBoeXNpY2FsIChQSFkpIGhhcmR3YXJlIC0gb3IgZG8gdGhleT8NCj4gDQo+ICoqIFRoZSBmb2xs
b3dpbmcgcmVzdWx0cyB3ZXJlIGNhcHR1cmVkIHVuZGVyIGxpbnV4LTQuMTAuMTcgKioNCj4gDQo+
IFdoZW4gSSBicmluZyB0aGUgaW50ZXJmYWNlIHVwIHVzaW5nIGEgc3RhdGljIGFkZHJlc3MsIGlu
IHRoaXMgY2FzZQ0KPiAxOTIuMTY4LjEuMjEsIEkgc2VlIHRoZSBmb2xsb3dpbmcgKE5PVEUgVFgg
Ynl0ZXMgc2F5cyAxNTQuMCBLQiwNCj4gd2hpbGUgUlggYnl0ZXMgc2F5cyAwLjAgQik6DQo+IA0K
PiBqYW1pZUBYNTAwMC1MaW51eDokIGlmY29uZmlnDQo+IGV0aDDCoMKgwqDCoMKgIExpbmsgZW5j
YXA6RXRoZXJuZXTCoCBIV2FkZHIgMDA6ODA6MTA6MTE6MTE6MTENCj4gIMKgwqDCoMKgwqDCoMKg
wqDCoCBpbmV0IGFkZHI6MTkyLjE2OC4xLjIxwqAgQmNhc3Q6MTkyLjE2OC4xLjI1NSBNYXNrOjI1
NS4yNTUuMjU1LjANCj4gIMKgwqDCoMKgwqDCoMKgwqDCoCBpbmV0NiBhZGRyOiBmZTgwOjoyODA6
MTBmZjpmZTExOjExMTEvNjQgU2NvcGU6TGluaw0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgIFVQIEJS
T0FEQ0FTVCBSVU5OSU5HIE1VTFRJQ0FTVMKgIE1UVToxNTAwwqAgTWV0cmljOjENCj4gIMKgwqDC
oMKgwqDCoMKgwqDCoCBSWCBwYWNrZXRzOjAgZXJyb3JzOjAgZHJvcHBlZDowIG92ZXJydW5zOjAg
ZnJhbWU6MA0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgIFRYIHBhY2tldHM6MTQyOCBlcnJvcnM6MCBk
cm9wcGVkOjAgb3ZlcnJ1bnM6MCBjYXJyaWVyOjANCj4gIMKgwqDCoMKgwqDCoMKgwqDCoCBjb2xs
aXNpb25zOjAgdHhxdWV1ZWxlbjoxMDAwDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqAgUlggYnl0ZXM6
MCAoMC4wIEIpwqAgVFggYnl0ZXM6MTU0MDY2ICgxNTQuMCBLQikNCj4gIMKgwqDCoMKgwqDCoMKg
wqDCoCBNZW1vcnk6ZmU0ZTYwMDAtZmU0ZTZmZmYNCj4gDQo+IGV0aDHCoMKgwqDCoMKgIExpbmsg
ZW5jYXA6RXRoZXJuZXTCoCBIV2FkZHIgMDA6ODA6MTA6MjI6MjI6MjINCj4gIMKgwqDCoMKgwqDC
oMKgwqDCoCBVUCBCUk9BRENBU1QgTVVMVElDQVNUwqAgTVRVOjE1MDDCoCBNZXRyaWM6MQ0KPiAg
wqDCoMKgwqDCoMKgwqDCoMKgIFJYIHBhY2tldHM6MCBlcnJvcnM6MCBkcm9wcGVkOjAgb3ZlcnJ1
bnM6MCBmcmFtZTowDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqAgVFggcGFja2V0czowIGVycm9yczow
IGRyb3BwZWQ6MCBvdmVycnVuczowIGNhcnJpZXI6MA0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgIGNv
bGxpc2lvbnM6MCB0eHF1ZXVlbGVuOjEwMDANCj4gIMKgwqDCoMKgwqDCoMKgwqDCoCBSWCBieXRl
czowICgwLjAgQinCoCBUWCBieXRlczowICgwLjAgQikNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoCBN
ZW1vcnk6ZmU0ZTgwMDAtZmU0ZThmZmYNCj4gDQo+IGxvwqDCoMKgwqDCoMKgwqAgTGluayBlbmNh
cDpMb2NhbCBMb29wYmFjaw0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgIGluZXQgYWRkcjoxMjcuMC4w
LjHCoCBNYXNrOjI1NS4wLjAuMA0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgIGluZXQ2IGFkZHI6IDo6
MS8xMjggU2NvcGU6SG9zdA0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgIFVQIExPT1BCQUNLIFJVTk5J
TkfCoCBNVFU6NjU1MzbCoCBNZXRyaWM6MQ0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgIFJYIHBhY2tl
dHM6MTg2OSBlcnJvcnM6MCBkcm9wcGVkOjAgb3ZlcnJ1bnM6MCBmcmFtZTowDQo+ICDCoMKgwqDC
oMKgwqDCoMKgwqAgVFggcGFja2V0czoxODY5IGVycm9yczowIGRyb3BwZWQ6MCBvdmVycnVuczow
IGNhcnJpZXI6MA0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbGxpc2lvbnM6MCB0eHF1ZXVlbGVu
OjEwMDANCj4gIMKgwqDCoMKgwqDCoMKgwqDCoCBSWCBieXRlczoxNTY5MzIgKDE1Ni45IEtCKcKg
IFRYIGJ5dGVzOjE1NjkzMiAoMTU2LjkgS0IpDQo+IA0KPiBDaGVja2luZyB0aGUgcm91dGluZyB0
YWJsZSwgZXZlcnl0aGluZyBsb29rcyBmaW5lIHRoZXJlOg0KPiANCj4gamFtaWVAWDUwMDAtTGlu
dXg6JCBuZXRzdGF0IC1yDQo+IEtlcm5lbCBJUCByb3V0aW5nIHRhYmxlDQo+IERlc3RpbmF0aW9u
wqDCoMKgwqAgR2F0ZXdhecKgwqDCoMKgwqDCoMKgwqAgR2VubWFza8KgwqDCoMKgwqDCoMKgwqAg
RmxhZ3PCoMKgIE1TUyBXaW5kb3fCoCBpcnR0DQo+IElmYWNlDQo+IGRlZmF1bHTCoMKgwqDCoMKg
wqDCoMKgIDE5Mi4xNjguMS4xwqDCoMKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqAgVUfCoMKg
wqDCoMKgwqDCoCAwIDDCoMKgwqDCoMKgwqDCoMKgwqAgMA0KPiBldGgwDQo+IGxpbmstbG9jYWzC
oMKgwqDCoMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMC4wwqDCoMKg
wqAgVcKgwqDCoMKgwqDCoMKgwqAgMCAwwqDCoMKgwqDCoMKgwqDCoMKgIDANCj4gZXRoMA0KPiAx
OTIuMTY4LjEuMMKgwqDCoMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUu
MjU1LjDCoMKgIFXCoMKgwqDCoMKgwqDCoMKgIDAgMMKgwqDCoMKgwqDCoMKgwqDCoCAwDQo+IGV0
aDANCj4gDQo+IEF0dGVtcHRpbmcgdG8gUElORyB0aGUgaW50ZXJmYWNlIGl0c2VsZiB3b3JrczoN
Cj4gDQo+IGphbWllQFg1MDAwLUxpbnV4OiQgcGluZyAxOTIuMTY4LjEuMjENCj4gUElORyAxOTIu
MTY4LjEuMjEgKDE5Mi4xNjguMS4yMSkgNTYoODQpIGJ5dGVzIG9mIGRhdGEuDQo+IDY0IGJ5dGVz
IGZyb20gMTkyLjE2OC4xLjIxOiBpY21wX3NlcT0xIHR0bD02NCB0aW1lPTAuMDM3IG1zDQo+IDY0
IGJ5dGVzIGZyb20gMTkyLjE2OC4xLjIxOiBpY21wX3NlcT0yIHR0bD02NCB0aW1lPTAuMDQ1IG1z
DQo+IDY0IGJ5dGVzIGZyb20gMTkyLjE2OC4xLjIxOiBpY21wX3NlcT0zIHR0bD02NCB0aW1lPTAu
MDMzIG1zDQo+IF5DDQo+IC0tLSAxOTIuMTY4LjEuMjEgcGluZyBzdGF0aXN0aWNzIC0tLQ0KPiAz
IHBhY2tldHMgdHJhbnNtaXR0ZWQsIDMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzLCB0aW1lIDIw
NDNtcw0KPiANCj4gSG93ZXZlciwgYXR0ZW1wdHMgdG8gUElORyB0aGUgZ2F0ZXdheSAoMTkyLjE2
OC4xLjEpIGZhaWwgYXMgdW5yZWFjaGFibGU6DQo+IA0KPiBqYW1pZUBYNTAwMC1MaW51eDokIHBp
bmcgMTkyLjE2OC4xLjENCj4gUElORyAxOTIuMTY4LjEuMSAoMTkyLjE2OC4xLjEpIDU2KDg0KSBi
eXRlcyBvZiBkYXRhLg0KPiAgRnJvbSAxOTIuMTY4LjEuMjEgaWNtcF9zZXE9MSBEZXN0aW5hdGlv
biBIb3N0IFVucmVhY2hhYmxlDQo+ICBGcm9tIDE5Mi4xNjguMS4yMSBpY21wX3NlcT0yIERlc3Rp
bmF0aW9uIEhvc3QgVW5yZWFjaGFibGUNCj4gIEZyb20gMTkyLjE2OC4xLjIxIGljbXBfc2VxPTMg
RGVzdGluYXRpb24gSG9zdCBVbnJlYWNoYWJsZQ0KPiBeQw0KPiAtLS0gMTkyLjE2OC4xLjEgcGlu
ZyBzdGF0aXN0aWNzIC0tLQ0KPiA3IHBhY2tldHMgdHJhbnNtaXR0ZWQsIDAgcmVjZWl2ZWQsICsz
IGVycm9ycywgMTAwJSBwYWNrZXQgbG9zcywgdGltZQ0KPiA2MDc3bXMNCj4gDQo+IEluIG9yZGVy
IHRvIHRha2UgYSBjbG9zZXIgbG9vayBhdCB3aGF0IGlzIGdvaW5nIG9uIEkgaW5zdGFsbGVkIFdp
cmVzaGFyaw0KPiBib3RoIG9uIG15IHRlc3QgWDUwMDAvMjAgTGludXggaW5zdGFsbCAoVWJ1bnR1
IDE2LjA0LjMgTFRTKSwgYW5kIG9uDQo+IGFub3RoZXIgTGludXggYm94IGNvbm5lY3RlZCB0byB0
aGUgc2FtZSBuZXR3b3JrIHN3aXRjaCAoaW4gdGhpcyBjYXNlDQo+IGF0IElQIGFkZHJlc3MgMTky
LjE2OC4xLjIxMCkNCj4gDQo+IEluIHRoaXMgdGVzdCBJIHN0YXJ0IHRoZSBjYXB0dXJlIG9uIGV0
aDAgKFg1MDAwLzIwKSBiZWZvcmUgaXQgaXMgcHV0DQo+IG9ubGluZSwNCj4gYW5kIGF0dGVtcHQg
dG8gYnJpbmcgaXQgdXAgdXNpbmcgREhDUCB0byBvYnRhaW4gaXQncyBhZGRyZXNzLg0KPiANCj4g
V2hhdCBJIGZvdW5kIHdhcyB0aGF0IG5ldHdvcmsgdHJhZmZpYyAqd2FzKiBiZWluZyBhdHRlbXB0
ZWQgb3ZlciBldGgwLg0KPiBIZXJlIGlzIGEgcGxhaW4gdGV4dCBleHBvcnQgb2YgdGhlIHRyYW5z
bWl0IHNpZGUgKHRoZSBYNTAwMC8yMCkgdGhhdA0KPiB3YXMgY2FwdHVyZWQgdXNpbmcgV2lyZXNo
YXJrLg0KPiANCj4gKFRoZXJlIHdlcmUgbW9yZSBuZXR3b3JrIHBhY2tldHMgYmVpbmcgc2VudCBm
cm9tIHRoZSBYNTAwMC8yMCwNCj4gIMKgaG93ZXZlciwgSSBhbSBvbmx5IHNob3dpbmcgREhDUCB0
cmFmZmljIHRvIHNhdmUgc3BhY2UgaW4gdGhpcyBwb3N0KToNCj4gDQo+IC0tLQ0KPiBOby7CoMKg
wqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29sIExlbmd0aA0KPiBJbmZvDQo+ICDCoMKgwqDC
oMKgIDIgMC4wNDIyNTk4NDPCoMKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFu
c2FjdGlvbiBJRCAweDY1NWQ5MWU4DQo+IA0KPiBGcmFtZSAyOiAzNDIgYnl0ZXMgb24gd2lyZSAo
MjczNiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+IG9uIGludGVyZmFj
ZSAwDQo+IEV0aGVybmV0IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMTox
MToxMSksIERzdDogQnJvYWRjYXN0DQo+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gSW50ZXJuZXQg
UHJvdG9jb2wgVmVyc2lvbiA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+
IFVzZXIgRGF0YWdyYW0gUHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+IEJv
b3RzdHJhcCBQcm90b2NvbCAoRGlzY292ZXIpDQo+IA0KPiBOby7CoMKgwqDCoCBUaW1lwqDCoMKg
wqDCoMKgwqDCoMKgwqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3Rp
bmF0aW9uIFByb3RvY29sIExlbmd0aA0KPiBJbmZvDQo+ICDCoMKgwqDCoCAxNiAzLjgzMDAwMTE1
MsKgwqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4y
NTUgREhDUA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NjU1
ZDkxZTgNCj4gDQo+IEZyYW1lIDE2OiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQy
IGJ5dGVzIGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+IG9uIGludGVyZmFjZSAwDQo+IEV0aGVybmV0
IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDogQnJv
YWRjYXN0DQo+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lv
biA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+IFVzZXIgRGF0YWdyYW0g
UHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+IEJvb3RzdHJhcCBQcm90b2Nv
bCAoRGlzY292ZXIpDQo+IA0KPiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAg
U291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29s
IExlbmd0aA0KPiBJbmZvDQo+ICDCoMKgwqDCoCAyMSA5LjMwODkxNDUzM8KgwqDCoCAwLjAuMC4w
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiAzNDLC
oMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NjU1ZDkxZTgNCj4gDQo+IEZy
YW1lIDIxOiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVk
ICgyNzM2IGJpdHMpDQo+IG9uIGludGVyZmFjZSAwDQo+IEV0aGVybmV0IElJLCBTcmM6IENvbW1v
ZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDogQnJvYWRjYXN0DQo+IChmZjpm
ZjpmZjpmZjpmZjpmZikNCj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lvbiA0LCBTcmM6IDAuMC4w
LjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+IFVzZXIgRGF0YWdyYW0gUHJvdG9jb2wsIFNyYyBQ
b3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+IEJvb3RzdHJhcCBQcm90b2NvbCAoRGlzY292ZXIpDQo+
IA0KPiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291cmNlwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29sIExlbmd0aA0KPiBJbmZv
DQo+ICDCoMKgwqDCoCAyMyAxOC45MDY0MDUzNDPCoMKgIDAuMC4wLjDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1NSBESENQDQo+IDM0MsKgwqDCoCBESENQIERpc2Nv
dmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg2NTVkOTFlOA0KPiANCj4gRnJhbWUgMjM6IDM0MiBieXRl
cyBvbiB3aXJlICgyNzM2IGJpdHMpLCAzNDIgYnl0ZXMgY2FwdHVyZWQgKDI3MzYgYml0cykNCj4g
b24gaW50ZXJmYWNlIDANCj4gRXRoZXJuZXQgSUksIFNyYzogQ29tbW9kb3JfMTE6MTE6MTEgKDAw
OjgwOjEwOjExOjExOjExKSwgRHN0OiBCcm9hZGNhc3QNCj4gKGZmOmZmOmZmOmZmOmZmOmZmKQ0K
PiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1
LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9y
dDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKg
IFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKgwqDCoMKgIDI1
IDM2LjM5MDkyNjQ1MMKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1
LjI1NS4yNTUuMjU1IERIQ1ANCj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlv
biBJRCAweDY1NWQ5MWU4DQo+IA0KPiBGcmFtZSAyNTogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYg
Yml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiBvbiBpbnRlcmZhY2UgMA0K
PiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEp
LCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+IEludGVybmV0IFByb3Rv
Y29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiBVc2Vy
IERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQb3J0OiA2Nw0KPiBCb290c3Ry
YXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiANCj4gTm8uwqDCoMKgwqAgVGltZcKgwqDCoMKgwqDC
oMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEZXN0aW5hdGlv
biBQcm90b2NvbCBMZW5ndGgNCj4gSW5mbw0KPiAgwqDCoMKgwqAgMjYgNDQuMDQ4MzI4NDEywqDC
oCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhD
UA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NjU1ZDkxZTgN
Cj4gDQo+IEZyYW1lIDI2OiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQyIGJ5dGVz
IGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+IG9uIGludGVyZmFjZSAwDQo+IEV0aGVybmV0IElJLCBT
cmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDogQnJvYWRjYXN0
DQo+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lvbiA0LCBT
cmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+IFVzZXIgRGF0YWdyYW0gUHJvdG9j
b2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+IEJvb3RzdHJhcCBQcm90b2NvbCAoRGlz
Y292ZXIpDQo+IA0KPiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291cmNl
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29sIExlbmd0
aA0KPiBJbmZvDQo+ICDCoMKgwqDCoCAzMCA0NC44ODkwNDkyMDPCoMKgIDAuMC4wLjDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1NSBESENQDQo+IDM0MsKgwqDCoCBE
SENQIERpc2NvdmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg0MjFiYWRlMw0KPiANCj4gRnJhbWUgMzA6
IDM0MiBieXRlcyBvbiB3aXJlICgyNzM2IGJpdHMpLCAzNDIgYnl0ZXMgY2FwdHVyZWQgKDI3MzYg
Yml0cykNCj4gb24gaW50ZXJmYWNlIDANCj4gRXRoZXJuZXQgSUksIFNyYzogQ29tbW9kb3JfMTE6
MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKSwgRHN0OiBCcm9hZGNhc3QNCj4gKGZmOmZmOmZmOmZm
OmZmOmZmKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0
OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4
LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gDQo+IE5v
LsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKg
wqDCoMKgIDQ0IDQ4LjI1NDQ5NTMwNMKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBU
cmFuc2FjdGlvbiBJRCAweDQyMWJhZGUzDQo+IA0KPiBGcmFtZSA0NDogMzQyIGJ5dGVzIG9uIHdp
cmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiBvbiBpbnRl
cmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6
MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+IEludGVy
bmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4yNTUuMjU1LjI1
NQ0KPiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQb3J0OiA2Nw0K
PiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiANCj4gTm8uwqDCoMKgwqAgVGltZcKg
wqDCoMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBE
ZXN0aW5hdGlvbiBQcm90b2NvbCBMZW5ndGgNCj4gSW5mbw0KPiAgwqDCoMKgwqAgNDkgNTQuMjk5
MDUyNzMywqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1
NS4yNTUgREhDUA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4
NDIxYmFkZTMNCj4gDQo+IEZyYW1lIDQ5OiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwg
MzQyIGJ5dGVzIGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+IG9uIGludGVyZmFjZSAwDQo+IEV0aGVy
bmV0IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDog
QnJvYWRjYXN0DQo+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVy
c2lvbiA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+IFVzZXIgRGF0YWdy
YW0gUHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+IEJvb3RzdHJhcCBQcm90
b2NvbCAoRGlzY292ZXIpDQo+IA0KPiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKg
wqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3Rv
Y29sIExlbmd0aA0KPiBJbmZvDQo+ICDCoMKgwqDCoCA1MSA2Mi42NzIwMDc0ODLCoMKgIDAuMC4w
LjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1NSBESENQDQo+IDM0
MsKgwqDCoCBESENQIERpc2NvdmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg0MjFiYWRlMw0KPiANCj4g
RnJhbWUgNTE6IDM0MiBieXRlcyBvbiB3aXJlICgyNzM2IGJpdHMpLCAzNDIgYnl0ZXMgY2FwdHVy
ZWQgKDI3MzYgYml0cykNCj4gb24gaW50ZXJmYWNlIDANCj4gRXRoZXJuZXQgSUksIFNyYzogQ29t
bW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKSwgRHN0OiBCcm9hZGNhc3QNCj4gKGZm
OmZmOmZmOmZmOmZmOmZmKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4w
LjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3Jj
IFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikN
Cj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+IElu
Zm8NCj4gIMKgwqDCoMKgIDUyIDc3LjQ4NTg5NjIwMsKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gMzQywqDCoMKgIERIQ1AgRGlz
Y292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDQyMWJhZGUzDQo+IA0KPiBGcmFtZSA1MjogMzQyIGJ5
dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0K
PiBvbiBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAo
MDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYp
DQo+IEludGVybmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4y
NTUuMjU1LjI1NQ0KPiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQ
b3J0OiA2Nw0KPiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiANCj4gTm8uwqDCoMKg
wqAgVGltZcKgwqDCoMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBEZXN0aW5hdGlvbiBQcm90b2NvbCBMZW5ndGgNCj4gSW5mbw0KPiAgwqDCoMKgwqAg
NTYgODkuODk1MzA0MTUywqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAy
NTUuMjU1LjI1NS4yNTUgREhDUA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0
aW9uIElEIDB4NWRmNDdjODQNCj4gDQo+IEZyYW1lIDU2OiAzNDIgYnl0ZXMgb24gd2lyZSAoMjcz
NiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+IG9uIGludGVyZmFjZSAw
DQo+IEV0aGVybmV0IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMTox
MSksIERzdDogQnJvYWRjYXN0DQo+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gSW50ZXJuZXQgUHJv
dG9jb2wgVmVyc2lvbiA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+IFVz
ZXIgRGF0YWdyYW0gUHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+IEJvb3Rz
dHJhcCBQcm90b2NvbCAoRGlzY292ZXIpDQo+IA0KPiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDC
oMKgwqDCoMKgwqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0
aW9uIFByb3RvY29sIExlbmd0aA0KPiBJbmZvDQo+ICDCoMKgwqDCoCA3MSA5My44Mjg4MzcwMDjC
oMKgIDAuMC4wLjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1NSBE
SENQDQo+IDM0MsKgwqDCoCBESENQIERpc2NvdmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg1ZGY0N2M4
NA0KPiANCj4gRnJhbWUgNzE6IDM0MiBieXRlcyBvbiB3aXJlICgyNzM2IGJpdHMpLCAzNDIgYnl0
ZXMgY2FwdHVyZWQgKDI3MzYgYml0cykNCj4gb24gaW50ZXJmYWNlIDANCj4gRXRoZXJuZXQgSUks
IFNyYzogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKSwgRHN0OiBCcm9hZGNh
c3QNCj4gKGZmOmZmOmZmOmZmOmZmOmZmKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQs
IFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90
b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChE
aXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3Vy
Y2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVu
Z3RoDQo+IEluZm8NCj4gIMKgwqDCoMKgIDc0IDk3Ljk0ODQ1MzE1OMKgwqAgMC4wLjAuMMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gMzQywqDCoMKg
IERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDVkZjQ3Yzg0DQo+IA0KPiBGcmFtZSA3
NDogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjcz
NiBiaXRzKQ0KPiBvbiBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8x
MToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6
ZmY6ZmY6ZmYpDQo+IEludGVybmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBE
c3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDog
NjgsIERzdCBQb3J0OiA2Nw0KPiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiAtLS0N
Cj4gDQo+IE5vdywgb3ZlciBvbiB0aGUgZXh0ZXJuYWwgTGludXggbWFjaGluZSAoMTkyLjE2OC4x
LjIxMCksIEkgc2V0dXAgYQ0KPiBXaXJlc2hhcmsgY2FwdHVyZQ0KPiB3aGljaCBmaWx0ZXJlZCBm
b3IgYW55IHRyYWZmaWMgdG8vZnJvbSB0aGUgTUFDIGFkZHJlc3Mgb2YgdGhlIFg1MDAwLzIwJ3MN
Cj4gZXRoMCwgaW4gdGhpcyBjYXNlDQo+IHNob3duIGFzIENvbW1vZG9yXzExOjExOjExICgwMDo4
MDoxMDoxMToxMToxMSkgYmVsb3c6DQo+IA0KPiBUaGlzIGV4cG9ydCBzaG93cyBvbmx5IHRoZSBE
SENQIHRyYWZmaWMgc2VlbiBmcm9tIG91dHNpZGUgdGhlIFg1MDAwLzIwLA0KPiBhbmQgYXMgeW91
IGNhbiBzZWUsIGEgbWF0Y2hpbmcgc2V0IG9mIERIQ1AgcmVxdWVzdHMgKmRvIGluIGZhY3QqIG1h
a2UNCj4gaXQgdG8gdGhlIG91dHNpZGUgbmV0d29yay4NCj4gDQo+IC0tLQ0KPiBOby7CoMKgwqDC
oCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29sIExlbmd0aA0KPiBJbmZvDQo+ICDCoMKgwqDCoCAz
OSA1LjY3MTc2MjUwOcKgwqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAy
NTUuMjU1LjI1NS4yNTUgREhDUA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0
aW9uIElEIDB4NjU1ZDkxZTgNCj4gDQo+IEZyYW1lIDM5OiAzNDIgYnl0ZXMgb24gd2lyZSAoMjcz
NiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+IG9uIGludGVyZmFjZSAw
DQo+IEV0aGVybmV0IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMTox
MSksIERzdDogQnJvYWRjYXN0DQo+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gIMKgwqDCoCBEZXN0
aW5hdGlvbjogQnJvYWRjYXN0IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gIMKgwqDCoCBTb3VyY2U6
IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSkNCj4gIMKgwqDCoCBUeXBlOiBJ
UHY0ICgweDA4MDApDQo+IEludGVybmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4w
LCBEc3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9y
dDogNjgsIERzdCBQb3J0OiA2Nw0KPiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiAN
Cj4gTm8uwqDCoMKgwqAgVGltZcKgwqDCoMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBEZXN0aW5hdGlvbiBQcm90b2NvbCBMZW5ndGgNCj4gSW5mbw0K
PiAgwqDCoMKgwqAgNzMgOS40NTE4OTU0MDTCoMKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gMzQywqDCoMKgIERIQ1AgRGlzY292
ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDY1NWQ5MWU4DQo+IA0KPiBGcmFtZSA3MzogMzQyIGJ5dGVz
IG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiBv
biBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6
ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+
ICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDC
oMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpDQo+ICDC
oMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQs
IFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90
b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChE
aXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3Vy
Y2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVu
Z3RoDQo+IEluZm8NCj4gIMKgwqDCoCAxNTQgMTQuOTE5OTQ0NDgwwqDCoCAwLjAuMC4wwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiAzNDLCoMKgwqAg
REhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NjU1ZDkxZTgNCj4gDQo+IEZyYW1lIDE1
NDogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjcz
NiBiaXRzKQ0KPiBvbiBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8x
MToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6
ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6
ZmY6ZmYpDQo+ICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6
MTE6MTEpDQo+ICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiBJbnRlcm5ldCBQcm90b2Nv
bCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBE
YXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFw
IFByb3RvY29sIChEaXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDC
oMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24g
UHJvdG9jb2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKgwqDCoCAyNjkgMjQuNDk4MzM1OTk2wqDCoCAw
LjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0K
PiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NjU1ZDkxZTgNCj4g
DQo+IEZyYW1lIDI2OTogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBj
YXB0dXJlZCAoMjczNiBiaXRzKQ0KPiBvbiBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3Jj
OiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0K
PiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAo
ZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAo
MDA6ODA6MTA6MTE6MTE6MTEpDQo+ICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiBJbnRl
cm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4y
NTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcN
Cj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXC
oMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
RGVzdGluYXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKgwqDCoCA2MzAgNDEuOTQ4
MDE4NjQ4wqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1
NS4yNTUgREhDUA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4
NjU1ZDkxZTgNCj4gDQo+IEZyYW1lIDYzMDogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyks
IDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiBvbiBpbnRlcmZhY2UgMA0KPiBFdGhl
cm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6
IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgRGVzdGluYXRpb246
IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgU291cmNlOiBDb21tb2Rv
cl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpDQo+ICDCoMKgwqAgVHlwZTogSVB2NCAoMHgw
ODAwKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAy
NTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBE
c3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gDQo+IE5vLsKg
wqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKgwqDC
oCA3MDEgNDkuNTkwMjExMjY0wqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5z
YWN0aW9uIElEIDB4NjU1ZDkxZTgNCj4gDQo+IEZyYW1lIDcwMTogMzQyIGJ5dGVzIG9uIHdpcmUg
KDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiBvbiBpbnRlcmZh
Y2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6
MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAg
RGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgU291
cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpDQo+ICDCoMKgwqAgVHlw
ZTogSVB2NCAoMHgwODAwKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4w
LjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3Jj
IFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikN
Cj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+IElu
Zm8NCj4gIMKgwqDCoCA3MDYgNTAuNDI5MjY1OTM4wqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiAzNDLCoMKgwqAgREhDUCBEaXNj
b3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NDIxYmFkZTMNCj4gDQo+IEZyYW1lIDcwNjogMzQyIGJ5
dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0K
PiBvbiBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAo
MDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYp
DQo+ICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+
ICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpDQo+
ICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9u
IDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQ
cm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29s
IChEaXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBT
b3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wg
TGVuZ3RoDQo+IEluZm8NCj4gIMKgwqDCoCA3NDQgNTMuNzg4MDM1MzE3wqDCoCAwLjAuMC4wwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiAzNDLCoMKg
wqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NDIxYmFkZTMNCj4gDQo+IEZyYW1l
IDc0NDogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAo
MjczNiBiaXRzKQ0KPiBvbiBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rv
cl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6
ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6
ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6
MTE6MTE6MTEpDQo+ICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiBJbnRlcm5ldCBQcm90
b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNl
ciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0
cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKg
wqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRp
b24gUHJvdG9jb2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKgwqDCoCA3OTcgNTkuODIwNTY4NjE0wqDC
oCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhD
UA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NDIxYmFkZTMN
Cj4gDQo+IEZyYW1lIDc5NzogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRl
cyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiBvbiBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwg
U3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2Fz
dA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2Fz
dCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMTox
MSAoMDA6ODA6MTA6MTE6MTE6MTEpDQo+ICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiBJ
bnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1
NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDog
NjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKgIFRp
bWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKgwqDCoCA4NTIgNjgu
MTc2ODMzNjg2wqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1
LjI1NS4yNTUgREhDUA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElE
IDB4NDIxYmFkZTMNCj4gDQo+IEZyYW1lIDg1MjogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0
cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiBvbiBpbnRlcmZhY2UgMA0KPiBF
dGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBE
c3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgRGVzdGluYXRp
b246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgU291cmNlOiBDb21t
b2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpDQo+ICDCoMKgwqAgVHlwZTogSVB2NCAo
MHgwODAwKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0
OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4
LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gDQo+IE5v
LsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKg
wqDCoCA5OTAgODIuOTYxMjI0ODk1wqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRy
YW5zYWN0aW9uIElEIDB4NDIxYmFkZTMNCj4gDQo+IEZyYW1lIDk5MDogMzQyIGJ5dGVzIG9uIHdp
cmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiBvbiBpbnRl
cmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6
MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKg
wqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAg
U291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpDQo+ICDCoMKgwqAg
VHlwZTogSVB2NCAoMHgwODAwKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzog
MC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwg
U3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3Zl
cikNCj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+
IEluZm8NCj4gIMKgwqAgMzgyNyA5NS4zNDU5NjQ0MTjCoMKgIDAuMC4wLjDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1NSBESENQDQo+IDM0MsKgwqDCoCBESENQIERp
c2NvdmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg1ZGY0N2M4NA0KPiANCj4gRnJhbWUgMzgyNzogMzQy
IGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNg0KPiBi
aXRzKSBvbiBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMTox
MSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6ZmY6ZmY6ZmY6ZmY6
ZmYpDQo+ICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYp
DQo+ICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEp
DQo+ICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiBJbnRlcm5ldCBQcm90b2NvbCBWZXJz
aW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gVXNlciBEYXRhZ3Jh
bSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9vdHN0cmFwIFByb3Rv
Y29sIChEaXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDC
oCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9j
b2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKgwqAgMzg4NyA5OS4yNzE2Njg1NzLCoMKgIDAuMC4wLjDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1NSBESENQDQo+IDM0MsKg
wqDCoCBESENQIERpc2NvdmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg1ZGY0N2M4NA0KPiANCj4gRnJh
bWUgMzg4NzogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJl
ZCAoMjczNg0KPiBiaXRzKSBvbiBpbnRlcmZhY2UgMA0KPiBFdGhlcm5ldCBJSSwgU3JjOiBDb21t
b2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiAoZmY6
ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6
ZmY6ZmY6ZmY6ZmYpDQo+ICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6
MTA6MTE6MTE6MTEpDQo+ICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiBJbnRlcm5ldCBQ
cm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4g
VXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gQm9v
dHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gDQo+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDC
oMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGlu
YXRpb24gUHJvdG9jb2wgTGVuZ3RoDQo+IEluZm8NCj4gIMKgwqAgMzk0MyAxMDMuMzgzMDcyNDI5
wqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERI
Q1ANCj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDVkZjQ3Yzg0
DQo+IA0KPiBGcmFtZSAzOTQzOiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQyIGJ5
dGVzIGNhcHR1cmVkICgyNzM2DQo+IGJpdHMpIG9uIGludGVyZmFjZSAwDQo+IEV0aGVybmV0IElJ
LCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDogQnJvYWRj
YXN0DQo+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gIMKgwqDCoCBEZXN0aW5hdGlvbjogQnJvYWRj
YXN0IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gIMKgwqDCoCBTb3VyY2U6IENvbW1vZG9yXzExOjEx
OjExICgwMDo4MDoxMDoxMToxMToxMSkNCj4gIMKgwqDCoCBUeXBlOiBJUHY0ICgweDA4MDApDQo+
IEludGVybmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4yNTUu
MjU1LjI1NQ0KPiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQb3J0
OiA2Nw0KPiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiAtLS0NCj4gDQo+IFRoZSBv
ZGQgdGhpbmcgaGVyZSBpcyB0aGF0IHdoaWxlIHRoZSBESENQIHJlcXVlc3RzIHdlcmUgYnJvYWRj
YXN0IHRvIHRoZQ0KPiBvdXRzaWRlIG5ldHdvcmsgKGNvbmZpcm1pbmcgdGhhdCBhdCBsZWFzdCB0
aGUgdHJhbnNtaXQgdG8gdGhlIFBIWSBpcw0KPiB3b3JraW5nKSwNCj4gSSBjb3VsZCBzZWUgbm8g
cmVzcG9uc2VzIGZyb20gbXkgbmV0d29yaydzIERIQ1Agc2VydmVyIHRvIGFuc3dlciB0aGVzZQ0K
PiByZXF1ZXN0cy4NCj4gDQo+IEl0IGlzIG5vdCBhIHBoeXNpY2FsIG5ldHdvcmtpbmcgb3Igcm91
dGluZyBpc3N1ZSwgYXMgSSBhbHdheXMgZ2V0IGENCj4gc3VjY2Vzc2Z1bA0KPiBESENQIHJlc3Bv
bnNlIHRvIHRoZSBYNTAwMC8yMCB3aGVuIEkgZW5hYmxlIHRoZSBSZWFsdGVrIDgxNjkgaW50ZXJm
YWNlDQo+IChhbHNvDQo+IGluc3RhbGxlZCBbUENJZSBjYXJkXSBpbiB0aGUgWDUwMDAvMjApLg0K
PiANCj4gU2luY2UgaW5pdGlhbCBvdXRnb2luZyB0cmFmZmljICphcHBlYXJzKiB0byBiZSB3b3Jr
aW5nIGZyb20gdGhlIERQQUENCj4gRXRoZXJuZXQNCj4gb24gdGhlIFg1MDAwLzIwLCBpcyBpdCBw
b3NzaWJsZSB3ZSBhcmUgbWlzc2luZyBhbiBpbnRlcnJ1cHQgbWFwcGluZyBmcm9tDQo+IHRoZQ0K
PiBGcmFtZSBNYW5hZ2VyIHRvIGNhdGNoIHRoZSByZWNlaXZlZCBkYXRhPw0KPiANCj4gQW55IGhl
bHAgd291bGQgYmUgYXBwcmVjaWF0ZWQuIFRoYW5rcy4NCj4gDQo+IC0tDQo+IEJlc3QgUmVnYXJk
cywNCj4gDQo+IEphbWllIEtydWVnZXINCj4gQklUYnlCSVQgU29mdHdhcmUgR3JvdXAgTExDDQoN
Cg==

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: DPAA Ethernet problems with mainstream Linux kernels
  2018-01-12 14:22   ` Madalin-cristian Bucur
  (?)
@ 2018-01-12 16:35   ` Jamie Krueger
  2018-01-15 10:44       ` Madalin-cristian Bucur
  -1 siblings, 1 reply; 15+ messages in thread
From: Jamie Krueger @ 2018-01-12 16:35 UTC (permalink / raw)
  To: Madalin-cristian Bucur, linuxppc-dev; +Cc: netdev

[-- Attachment #1: Type: text/plain, Size: 29823 bytes --]

On 01/12/2018 08:22 AM, Madalin-cristian Bucur wrote:
>> -----Original Message-----
>> From: Linuxppc-dev [mailto:linuxppc-dev-
>> bounces+madalin.bucur=nxp.com@lists.ozlabs.org] On Behalf Of Jamie Krueger
>> Sent: Wednesday, January 10, 2018 5:57 PM
>> To: linuxppc-dev@lists.ozlabs.org
>> Subject: DPAA Ethernet problems with mainstream Linux kernels
>>
>> Hello all @ linuxppc-dev,
>>
>> I have been working with a team of people maintaining PowerPC
>> Linux for the new AmigaONE X5000/20 (a Freescale p5020 SoC based
>> machine).
>>
>> We are trying to determine why the submitted Data Path Acceleration
>> Architecture (DPAA) Ethernet Driver is not fully functional with
>> the mainstream Linux kernels.
> Hi Jamie,
Hi Madalin,
> We are testing the DPAA driver on several DS and RDB platforms and it
> is working properly. The issues you encounter with it on the X5000/20
> are likely caused by some issues specific to that particular platform.
It is good to hear that the DPAA driver is functioning correctly
on the reference platforms. I am positive you are correct that
the issue is the difference in implementation on the X5000/20
(Cyrus) motherboard, as compared to the reference boards.

Can you verify which Linux Kernel sources your tests are being
performed on? We have been testing using the mainstream
Linux sources up to linux-4.15-rc6 thus far.

> The device tree that you mention, cyrus_p5020.eth.dts is not found in
> the Linux kernel sources. The cyrus_p5020.dts file from the fsl ppc
> device tree folder does not include the PHY information for the DPAA
> interfaces. The problems that you experience may be caused by some
> issues with the PHY configuration (i.e. internal delay).
The cyrus_p5020.eth.dts is a modified version of the cyrus_p5020.dts,
which of course was based off the original p5020ds.dts file. As you
noted, the current cyrus_p5020.dts file is incomplete, and does not
map the Ethernet connections properly.

The cyrus_p5020.eth.dts file, along with it's cyrus-pre.dtsi dependent
file, are an attempt to correctly define the Ethernet hardware, as it is
implemented on the X5000/20.

** I have attached both the cyrus_p5020.eth.dts and cyrus-pre.dtsi
      files with this email for comparison. Please let me know if you see
      any corrections that should be made to either file.

I am not sure what PHY hardware/configuration you are using on the
DS and RDB platforms, but I can confirm that AmigaONE X5000/20
(Cyrus Motherboard with p5020 SoC), has dTSEC 4 and dTSEC 5
wired to two Micrel KSZ9021RN Gigabit Ethernet PHYs, using the
RGMII protocol.

>   I suggest
> that you connect the DPAA interface to a traffic analyzer or directly
> to another device on which you can capture the incoming traffic and
> check that the received frames are correct.
I have started testing along that line, using Wireshark to view the
traffic on the X5000/20 itself, and from another machine connected
on the same subnet. So far (as indicated by some details of in my
initial email), I can see outgoing broadcast requests (for DHCP)
being sent out from the X5000/20, and these requests are correctly
constructed and visible outside the X5000/20.

However, no responses to the DHCP broadcasts appear to reach
to X5000/20's DPAA Ethernet. I will need to setup some further
tests to determine if the DHCP server saw the requests and responded
to them. (I assume the DHCP server is getting them, and responding,
as I can always get a successful DHCP response to the X5000/20
when using an add-on Ethernet PICe card on the same subnet).

I will setup some more direct machine-to-machine testing to
see what else I can glean from the network traffic.

Please have a look at the attached dts files, maybe there is something
obvious there we are not seeing.

Also, given that the X5000/20 uses Micrel KSZ9021RN PHYs in RGMII
mode, what changes to the DPAA hardware configuration should we
expect to see so that the DPAA is configured to talk to them?

> Madalin
>
-- 

Best Regards,

Jamie Krueger
BITbyBIT Software Group LLC

>> Here is the results from my latest tests. They were performed using
>> the linux-4.10.17 ppc64, since that represents when the DPAA Ethernet
>> code was introduced.
>>
>> Similar tests, with similar results, were also performed
>> using the latest Linux kernels:
>>
>> linux-4.15-rc5
>> linux-4.15-rc6
>> linux-4.15-rc7
>>
>> (Hence the reason for falling back to test the kernel right
>>    after the introduction of the DPAA Ethernet driver sources)
>>
>> ---
>>
>> All Kernel builds had the DPAA Ethernet enabled in the kernel,
>> and are using the correct cyrus_p5020.eth.dtb device tree file
>> (for use on the X5000/20).
>>
>> The results are quite similar for all kernels in regards to the DPAA
>> Ethernet.
>>
>> All tested kernels setup the two Ethernet interfaces correctly
>> as eth0 and eth1, and pull the correct MAC addresses from U-Boot
>> environment variables ethaddr and eth1addr respectively.
>>
>> So at this point Linux has what it believes is fully configured
>> hardware, waiting to have an IP Address/Netmask/Gateway
>> to be set and to bring the interface online.
>>
>> However, all attempts to communicate with the outside world
>> do not make it out the physical (PHY) hardware - or do they?
>>
>> ** The following results were captured under linux-4.10.17 **
>>
>> When I bring the interface up using a static address, in this case
>> 192.168.1.21, I see the following (NOTE TX bytes says 154.0 KB,
>> while RX bytes says 0.0 B):
>>
>> jamie@X5000-Linux:$ ifconfig
>> eth0      Link encap:Ethernet  HWaddr 00:80:10:11:11:11
>>             inet addr:192.168.1.21  Bcast:192.168.1.255 Mask:255.255.255.0
>>             inet6 addr: fe80::280:10ff:fe11:1111/64 Scope:Link
>>             UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>             RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>>             TX packets:1428 errors:0 dropped:0 overruns:0 carrier:0
>>             collisions:0 txqueuelen:1000
>>             RX bytes:0 (0.0 B)  TX bytes:154066 (154.0 KB)
>>             Memory:fe4e6000-fe4e6fff
>>
>> eth1      Link encap:Ethernet  HWaddr 00:80:10:22:22:22
>>             UP BROADCAST MULTICAST  MTU:1500  Metric:1
>>             RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>>             TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>>             collisions:0 txqueuelen:1000
>>             RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
>>             Memory:fe4e8000-fe4e8fff
>>
>> lo        Link encap:Local Loopback
>>             inet addr:127.0.0.1  Mask:255.0.0.0
>>             inet6 addr: ::1/128 Scope:Host
>>             UP LOOPBACK RUNNING  MTU:65536  Metric:1
>>             RX packets:1869 errors:0 dropped:0 overruns:0 frame:0
>>             TX packets:1869 errors:0 dropped:0 overruns:0 carrier:0
>>             collisions:0 txqueuelen:1000
>>             RX bytes:156932 (156.9 KB)  TX bytes:156932 (156.9 KB)
>>
>> Checking the routing table, everything looks fine there:
>>
>> jamie@X5000-Linux:$ netstat -r
>> Kernel IP routing table
>> Destination     Gateway         Genmask         Flags   MSS Window  irtt
>> Iface
>> default         192.168.1.1     0.0.0.0         UG        0 0          0
>> eth0
>> link-local      *               255.255.0.0     U         0 0          0
>> eth0
>> 192.168.1.0     *               255.255.255.0   U         0 0          0
>> eth0
>>
>> Attempting to PING the interface itself works:
>>
>> jamie@X5000-Linux:$ ping 192.168.1.21
>> PING 192.168.1.21 (192.168.1.21) 56(84) bytes of data.
>> 64 bytes from 192.168.1.21: icmp_seq=1 ttl=64 time=0.037 ms
>> 64 bytes from 192.168.1.21: icmp_seq=2 ttl=64 time=0.045 ms
>> 64 bytes from 192.168.1.21: icmp_seq=3 ttl=64 time=0.033 ms
>> ^C
>> --- 192.168.1.21 ping statistics ---
>> 3 packets transmitted, 3 received, 0% packet loss, time 2043ms
>>
>> However, attempts to PING the gateway (192.168.1.1) fail as unreachable:
>>
>> jamie@X5000-Linux:$ ping 192.168.1.1
>> PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
>>   From 192.168.1.21 icmp_seq=1 Destination Host Unreachable
>>   From 192.168.1.21 icmp_seq=2 Destination Host Unreachable
>>   From 192.168.1.21 icmp_seq=3 Destination Host Unreachable
>> ^C
>> --- 192.168.1.1 ping statistics ---
>> 7 packets transmitted, 0 received, +3 errors, 100% packet loss, time
>> 6077ms
>>
>> In order to take a closer look at what is going on I installed Wireshark
>> both on my test X5000/20 Linux install (Ubuntu 16.04.3 LTS), and on
>> another Linux box connected to the same network switch (in this case
>> at IP address 192.168.1.210)
>>
>> In this test I start the capture on eth0 (X5000/20) before it is put
>> online,
>> and attempt to bring it up using DHCP to obtain it's address.
>>
>> What I found was that network traffic *was* being attempted over eth0.
>> Here is a plain text export of the transmit side (the X5000/20) that
>> was captured using Wireshark.
>>
>> (There were more network packets being sent from the X5000/20,
>>    however, I am only showing DHCP traffic to save space in this post):
>>
>> ---
>> No.     Time           Source                Destination Protocol Length
>> Info
>>         2 0.042259843    0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 2: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        16 3.830001152    0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 16: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        21 9.308914533    0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 21: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        23 18.906405343   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 23: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        25 36.390926450   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 25: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        26 44.048328412   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 26: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        30 44.889049203   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 30: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        44 48.254495304   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 44: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        49 54.299052732   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 49: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        51 62.672007482   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 51: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        52 77.485896202   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 52: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        56 89.895304152   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x5df47c84
>>
>> Frame 56: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        71 93.828837008   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x5df47c84
>>
>> Frame 71: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        74 97.948453158   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x5df47c84
>>
>> Frame 74: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>> ---
>>
>> Now, over on the external Linux machine (192.168.1.210), I setup a
>> Wireshark capture
>> which filtered for any traffic to/from the MAC address of the X5000/20's
>> eth0, in this case
>> shown as Commodor_11:11:11 (00:80:10:11:11:11) below:
>>
>> This export shows only the DHCP traffic seen from outside the X5000/20,
>> and as you can see, a matching set of DHCP requests *do in fact* make
>> it to the outside network.
>>
>> ---
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        39 5.671762509    0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 39: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>        73 9.451895404    0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 73: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>       154 14.919944480   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 154: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>       269 24.498335996   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 269: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>       630 41.948018648   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 630: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>       701 49.590211264   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x655d91e8
>>
>> Frame 701: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>       706 50.429265938   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 706: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>       744 53.788035317   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 744: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>       797 59.820568614   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 797: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>       852 68.176833686   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 852: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>       990 82.961224895   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x421bade3
>>
>> Frame 990: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
>> on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>      3827 95.345964418   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x5df47c84
>>
>> Frame 3827: 342 bytes on wire (2736 bits), 342 bytes captured (2736
>> bits) on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>      3887 99.271668572   0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x5df47c84
>>
>> Frame 3887: 342 bytes on wire (2736 bits), 342 bytes captured (2736
>> bits) on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>>
>> No.     Time           Source                Destination Protocol Length
>> Info
>>      3943 103.383072429  0.0.0.0               255.255.255.255 DHCP
>> 342    DHCP Discover - Transaction ID 0x5df47c84
>>
>> Frame 3943: 342 bytes on wire (2736 bits), 342 bytes captured (2736
>> bits) on interface 0
>> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
>> (ff:ff:ff:ff:ff:ff)
>>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
>>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
>>       Type: IPv4 (0x0800)
>> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
>> User Datagram Protocol, Src Port: 68, Dst Port: 67
>> Bootstrap Protocol (Discover)
>> ---
>>
>> The odd thing here is that while the DHCP requests were broadcast to the
>> outside network (confirming that at least the transmit to the PHY is
>> working),
>> I could see no responses from my network's DHCP server to answer these
>> requests.
>>
>> It is not a physical networking or routing issue, as I always get a
>> successful
>> DHCP response to the X5000/20 when I enable the Realtek 8169 interface
>> (also
>> installed [PCIe card] in the X5000/20).
>>
>> Since initial outgoing traffic *appears* to be working from the DPAA
>> Ethernet
>> on the X5000/20, is it possible we are missing an interrupt mapping from
>> the
>> Frame Manager to catch the received data?
>>
>> Any help would be appreciated. Thanks.
>>
>> --
>> Best Regards,
>>
>> Jamie Krueger
>> BITbyBIT Software Group LLC


[-- Attachment #2: cyrus-pre.dtsi --]
[-- Type: text/plain, Size: 3260 bytes --]

/*
 * P5020/P5010 Silicon/SoC Device Tree Source (pre include)
 *
 * Copyright 2011 - 2015 Freescale Semiconductor Inc.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of Freescale Semiconductor nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 *
 *
 * ALTERNATIVELY, this software may be distributed under the terms of the
 * GNU General Public License ("GPL") as published by the Free Software
 * Foundation, either version 2 of that License or (at your option) any
 * later version.
 *
 * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

/dts-v1/;

/include/ "e5500_power_isa.dtsi"

/ {
	compatible = "fsl,P5020";
	#address-cells = <2>;
	#size-cells = <2>;
	interrupt-parent = <&mpic>;

	aliases {
		ccsr = &soc;
		dcsr = &dcsr;

		serial0 = &serial0;
		serial1 = &serial1;
		serial2 = &serial2;
		serial3 = &serial3;
		pci0 = &pci0;
		pci1 = &pci1;
		pci2 = &pci2;
		pci3 = &pci3;
		usb0 = &usb0;
		usb1 = &usb1;
		dma0 = &dma0;
		dma1 = &dma1;
		sdhc = &sdhc;
		msi0 = &msi0;
		msi1 = &msi1;
		msi2 = &msi2;

		crypto = &crypto;
		sec_jr0 = &sec_jr0;
		sec_jr1 = &sec_jr1;
		sec_jr2 = &sec_jr2;
		sec_jr3 = &sec_jr3;
		rtic_a = &rtic_a;
		rtic_b = &rtic_b;
		rtic_c = &rtic_c;
		rtic_d = &rtic_d;
		sec_mon = &sec_mon;

		raideng = &raideng;
		raideng_jr0 = &raideng_jr0;
		raideng_jr1 = &raideng_jr1;
		raideng_jr2 = &raideng_jr2;
		raideng_jr3 = &raideng_jr3;

		fman0 = &fman0;
		ethernet0 = &enet3;
		ethernet1 = &enet4;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: PowerPC,e5500@0 {
			device_type = "cpu";
			reg = <0>;
			clocks = <&mux0>;
			next-level-cache = <&L2_0>;
			fsl,portid-mapping = <0x80000000>;
			L2_0: l2-cache {
				next-level-cache = <&cpc>;
			};
		};
		cpu1: PowerPC,e5500@1 {
			device_type = "cpu";
			reg = <1>;
			clocks = <&mux1>;
			next-level-cache = <&L2_1>;
			fsl,portid-mapping = <0x40000000>;
			L2_1: l2-cache {
				next-level-cache = <&cpc>;
			};
		};
	};
};

[-- Attachment #3: cyrus_p5020.eth.dts --]
[-- Type: text/plain, Size: 3807 bytes --]

/*
 * Cyrus 5020 Device Tree Source, based on p5020ds.dts
 *
 * Copyright 2015 Andy Fleming
 *
 * p5020ds.dts copyright:
 * Copyright 2010 - 2014 Freescale Semiconductor Inc.
 *
 * This program is free software; you can redistribute  it and/or modify it
 * under  the terms of  the GNU General  Public License as published by the
 * Free Software Foundation;  either version 2 of the  License, or (at your
 * option) any later version.
 */

/include/ "cyrus-pre.dtsi"

/ {
	model = "varisys,CYRUS";
	compatible = "varisys,CYRUS";
	#address-cells = <2>;
	#size-cells = <2>;
	interrupt-parent = <&mpic>;

	aliases {
		phy_rgmii_3 = &phy_rgmii_3;
		phy_rgmii_7 = &phy_rgmii_7;
	};

	memory {
		device_type = "memory";
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		bman_fbpr: bman-fbpr {
			size = <0 0x1000000>;
			alignment = <0 0x1000000>;
		};
		qman_fqd: qman-fqd {
			size = <0 0x400000>;
			alignment = <0 0x400000>;
		};
		qman_pfdr: qman-pfdr {
			size = <0 0x2000000>;
			alignment = <0 0x2000000>;
		};
	};

	dcsr: dcsr@f00000000 {
		ranges = <0x00000000 0xf 0x00000000 0x01008000>;
	};

	bportals: bman-portals@ff4000000 {
		ranges = <0x0 0xf 0xf4000000 0x200000>;
	};

	qportals: qman-portals@ff4200000 {
		ranges = <0x0 0xf 0xf4200000 0x200000>;
	};

	soc: soc@ffe000000 {
		ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
		reg = <0xf 0xfe000000 0 0x00001000>;
		spi@110000 {
		};

		i2c@118100 {
		};

		i2c@119100 {
			rtc@6f {
				compatible = "microchip,mcp7941x";
				reg = <0x6f>;
			};
		};
		fman@400000 {

			mdio@e1120 {

				phy_rgmii_3: ethernet-phy@3 {
					reg = <0x3>;
				};

				phy_rgmii_7: ethernet-phy@7 {
					reg = <0x7>;
				};
			};

			ethernet@e6000 {
				phy-handle = <&phy_rgmii_3>;
				phy-connection-type = "rgmii";
			};

			ethernet@e8000 {
				phy-handle = <&phy_rgmii_7>;
				phy-connection-type = "rgmii";
			};

		};
	};

	rio: rapidio@ffe0c0000 {
		reg = <0xf 0xfe0c0000 0 0x11000>;

		port1 {
			ranges = <0 0 0xc 0x20000000 0 0x10000000>;
		};
		port2 {
			ranges = <0 0 0xc 0x30000000 0 0x10000000>;
		};
	};

	lbc: localbus@ffe124000 {
		reg = <0xf 0xfe124000 0 0x1000>;
		ranges = <0 0 0xf 0xe8000000 0x08000000
			  2 0 0xf 0xffa00000 0x00040000
			  3 0 0xf 0xffdf0000 0x00008000>;
	};

	pci0: pcie@ffe200000 {
		reg = <0xf 0xfe200000 0 0x1000>;
		ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x20000000
			  0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>;
		pcie@0 {
			ranges = <0x02000000 0 0xe0000000
				  0x02000000 0 0xe0000000
				  0 0x20000000

				  0x01000000 0 0x00000000
				  0x01000000 0 0x00000000
				  0 0x00010000>;
		};
	};

	pci1: pcie@ffe201000 {
		reg = <0xf 0xfe201000 0 0x1000>;
		ranges = <0x02000000 0x0 0xe0000000 0xc 0x20000000 0x0 0x20000000
			  0x01000000 0x0 0x00000000 0xf 0xf8010000 0x0 0x00010000>;
		pcie@0 {
			ranges = <0x02000000 0 0xe0000000
				  0x02000000 0 0xe0000000
				  0 0x20000000

				  0x01000000 0 0x00000000
				  0x01000000 0 0x00000000
				  0 0x00010000>;
		};
	};

	pci2: pcie@ffe202000 {
		reg = <0xf 0xfe202000 0 0x1000>;
		ranges = <0x02000000 0 0xe0000000 0xc 0x40000000 0 0x20000000
			  0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>;
		pcie@0 {
			ranges = <0x02000000 0 0xe0000000
				  0x02000000 0 0xe0000000
				  0 0x20000000

				  0x01000000 0 0x00000000
				  0x01000000 0 0x00000000
				  0 0x00010000>;
		};
	};

	pci3: pcie@ffe203000 {
		reg = <0xf 0xfe203000 0 0x1000>;
		ranges = <0x02000000 0 0xe0000000 0xc 0x60000000 0 0x20000000
			  0x01000000 0 0x00000000 0xf 0xf8030000 0 0x00010000>;
		pcie@0 {
			ranges = <0x02000000 0 0xe0000000
				  0x02000000 0 0xe0000000
				  0 0x20000000

				  0x01000000 0 0x00000000
				  0x01000000 0 0x00000000
				  0 0x00010000>;
		};
	};
};

/include/ "p5020si-post.dtsi"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: DPAA Ethernet problems with mainstream Linux kernels
  2018-01-12 16:35   ` Jamie Krueger
@ 2018-01-15 10:44       ` Madalin-cristian Bucur
  0 siblings, 0 replies; 15+ messages in thread
From: Madalin-cristian Bucur @ 2018-01-15 10:44 UTC (permalink / raw)
  To: Jamie Krueger, linuxppc-dev; +Cc: netdev

> -----Original Message-----
> From: Jamie Krueger [mailto:jamie@bitbybitsoftwaregroup.com]
> Sent: Friday, January 12, 2018 6:36 PM
> To: Madalin-cristian Bucur <madalin.bucur@nxp.com>; linuxppc-
> dev@lists.ozlabs.org
> Cc: netdev@vger.kernel.org
> Subject: Re: DPAA Ethernet problems with mainstream Linux kernels
> 
> On 01/12/2018 08:22 AM, Madalin-cristian Bucur wrote:
> >> -----Original Message-----
> >> From: Linuxppc-dev [mailto:linuxppc-dev-
> >> bounces+madalin.bucur=nxp.com@lists.ozlabs.org] On Behalf Of Jamie
> Krueger
> >> Sent: Wednesday, January 10, 2018 5:57 PM
> >> To: linuxppc-dev@lists.ozlabs.org
> >> Subject: DPAA Ethernet problems with mainstream Linux kernels
> >>
> >> Hello all @ linuxppc-dev,
> >>
> >> I have been working with a team of people maintaining PowerPC
> >> Linux for the new AmigaONE X5000/20 (a Freescale p5020 SoC based
> >> machine).
> >>
> >> We are trying to determine why the submitted Data Path Acceleration
> >> Architecture (DPAA) Ethernet Driver is not fully functional with
> >> the mainstream Linux kernels.
> > Hi Jamie,
> Hi Madalin,
> > We are testing the DPAA driver on several DS and RDB platforms and it
> > is working properly. The issues you encounter with it on the X5000/20
> > are likely caused by some issues specific to that particular platform.
> It is good to hear that the DPAA driver is functioning correctly
> on the reference platforms. I am positive you are correct that
> the issue is the difference in implementation on the X5000/20
> (Cyrus) motherboard, as compared to the reference boards.
> 
> Can you verify which Linux Kernel sources your tests are being
> performed on? We have been testing using the mainstream
> Linux sources up to linux-4.15-rc6 thus far.

Latest run is on 4.15.0-rc7-00200-gc92a9a4.

> > The device tree that you mention, cyrus_p5020.eth.dts is not found in
> > the Linux kernel sources. The cyrus_p5020.dts file from the fsl ppc
> > device tree folder does not include the PHY information for the DPAA
> > interfaces. The problems that you experience may be caused by some
> > issues with the PHY configuration (i.e. internal delay).
> The cyrus_p5020.eth.dts is a modified version of the cyrus_p5020.dts,
> which of course was based off the original p5020ds.dts file. As you
> noted, the current cyrus_p5020.dts file is incomplete, and does not
> map the Ethernet connections properly.
> 
> The cyrus_p5020.eth.dts file, along with it's cyrus-pre.dtsi dependent
> file, are an attempt to correctly define the Ethernet hardware, as it is
> implemented on the X5000/20.
> 
> ** I have attached both the cyrus_p5020.eth.dts and cyrus-pre.dtsi
>       files with this email for comparison. Please let me know if you see
>       any corrections that should be made to either file.

At a first glance they look fine to me.

> I am not sure what PHY hardware/configuration you are using on the
> DS and RDB platforms, but I can confirm that AmigaONE X5000/20
> (Cyrus Motherboard with p5020 SoC), has dTSEC 4 and dTSEC 5
> wired to two Micrel KSZ9021RN Gigabit Ethernet PHYs, using the
> RGMII protocol.

Since it's RGMII, I think you should look into RGMII internal delay
requirements for this board.

> >   I suggest
> > that you connect the DPAA interface to a traffic analyzer or directly
> > to another device on which you can capture the incoming traffic and
> > check that the received frames are correct.
> I have started testing along that line, using Wireshark to view the
> traffic on the X5000/20 itself, and from another machine connected
> on the same subnet. So far (as indicated by some details of in my
> initial email), I can see outgoing broadcast requests (for DHCP)
> being sent out from the X5000/20, and these requests are correctly
> constructed and visible outside the X5000/20.
> 
> However, no responses to the DHCP broadcasts appear to reach
> to X5000/20's DPAA Ethernet. I will need to setup some further
> tests to determine if the DHCP server saw the requests and responded
> to them. (I assume the DHCP server is getting them, and responding,
> as I can always get a successful DHCP response to the X5000/20
> when using an add-on Ethernet PICe card on the same subnet).
> 
> I will setup some more direct machine-to-machine testing to
> see what else I can glean from the network traffic.

That will provide more clarity to the actual issue.

> Please have a look at the attached dts files, maybe there is something
> obvious there we are not seeing.
> 
> Also, given that the X5000/20 uses Micrel KSZ9021RN PHYs in RGMII
> mode, what changes to the DPAA hardware configuration should we
> expect to see so that the DPAA is configured to talk to them?

The phy-connection-type = "rgmii"; should take care of that.
Try to check the link information reported by the PHY.

> > Madalin
> >
> --
> 
> Best Regards,
> 
> Jamie Krueger
> BITbyBIT Software Group LLC
> 
> >> Here is the results from my latest tests. They were performed using
> >> the linux-4.10.17 ppc64, since that represents when the DPAA Ethernet
> >> code was introduced.
> >>
> >> Similar tests, with similar results, were also performed
> >> using the latest Linux kernels:
> >>
> >> linux-4.15-rc5
> >> linux-4.15-rc6
> >> linux-4.15-rc7
> >>
> >> (Hence the reason for falling back to test the kernel right
> >>    after the introduction of the DPAA Ethernet driver sources)
> >>
> >> ---
> >>
> >> All Kernel builds had the DPAA Ethernet enabled in the kernel,
> >> and are using the correct cyrus_p5020.eth.dtb device tree file
> >> (for use on the X5000/20).
> >>
> >> The results are quite similar for all kernels in regards to the DPAA
> >> Ethernet.
> >>
> >> All tested kernels setup the two Ethernet interfaces correctly
> >> as eth0 and eth1, and pull the correct MAC addresses from U-Boot
> >> environment variables ethaddr and eth1addr respectively.
> >>
> >> So at this point Linux has what it believes is fully configured
> >> hardware, waiting to have an IP Address/Netmask/Gateway
> >> to be set and to bring the interface online.
> >>
> >> However, all attempts to communicate with the outside world
> >> do not make it out the physical (PHY) hardware - or do they?
> >>
> >> ** The following results were captured under linux-4.10.17 **
> >>
> >> When I bring the interface up using a static address, in this case
> >> 192.168.1.21, I see the following (NOTE TX bytes says 154.0 KB,
> >> while RX bytes says 0.0 B):
> >>
> >> jamie@X5000-Linux:$ ifconfig
> >> eth0      Link encap:Ethernet  HWaddr 00:80:10:11:11:11
> >>             inet addr:192.168.1.21  Bcast:192.168.1.255
> Mask:255.255.255.0
> >>             inet6 addr: fe80::280:10ff:fe11:1111/64 Scope:Link
> >>             UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
> >>             RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> >>             TX packets:1428 errors:0 dropped:0 overruns:0 carrier:0
> >>             collisions:0 txqueuelen:1000
> >>             RX bytes:0 (0.0 B)  TX bytes:154066 (154.0 KB)
> >>             Memory:fe4e6000-fe4e6fff
> >>
> >> eth1      Link encap:Ethernet  HWaddr 00:80:10:22:22:22
> >>             UP BROADCAST MULTICAST  MTU:1500  Metric:1
> >>             RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> >>             TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> >>             collisions:0 txqueuelen:1000
> >>             RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
> >>             Memory:fe4e8000-fe4e8fff
> >>
> >> lo        Link encap:Local Loopback
> >>             inet addr:127.0.0.1  Mask:255.0.0.0
> >>             inet6 addr: ::1/128 Scope:Host
> >>             UP LOOPBACK RUNNING  MTU:65536  Metric:1
> >>             RX packets:1869 errors:0 dropped:0 overruns:0 frame:0
> >>             TX packets:1869 errors:0 dropped:0 overruns:0 carrier:0
> >>             collisions:0 txqueuelen:1000
> >>             RX bytes:156932 (156.9 KB)  TX bytes:156932 (156.9 KB)
> >>
> >> Checking the routing table, everything looks fine there:
> >>
> >> jamie@X5000-Linux:$ netstat -r
> >> Kernel IP routing table
> >> Destination     Gateway         Genmask         Flags   MSS
> Window  irtt
> >> Iface
> >> default         192.168.1.1     0.0.0.0         UG        0
> 0          0
> >> eth0
> >> link-local      *               255.255.0.0     U         0
> 0          0
> >> eth0
> >> 192.168.1.0     *               255.255.255.0   U         0
> 0          0
> >> eth0
> >>
> >> Attempting to PING the interface itself works:
> >>
> >> jamie@X5000-Linux:$ ping 192.168.1.21
> >> PING 192.168.1.21 (192.168.1.21) 56(84) bytes of data.
> >> 64 bytes from 192.168.1.21: icmp_seq=1 ttl=64 time=0.037 ms
> >> 64 bytes from 192.168.1.21: icmp_seq=2 ttl=64 time=0.045 ms
> >> 64 bytes from 192.168.1.21: icmp_seq=3 ttl=64 time=0.033 ms
> >> ^C
> >> --- 192.168.1.21 ping statistics ---
> >> 3 packets transmitted, 3 received, 0% packet loss, time 2043ms
> >>
> >> However, attempts to PING the gateway (192.168.1.1) fail as
> unreachable:
> >>
> >> jamie@X5000-Linux:$ ping 192.168.1.1
> >> PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
> >>   From 192.168.1.21 icmp_seq=1 Destination Host Unreachable
> >>   From 192.168.1.21 icmp_seq=2 Destination Host Unreachable
> >>   From 192.168.1.21 icmp_seq=3 Destination Host Unreachable
> >> ^C
> >> --- 192.168.1.1 ping statistics ---
> >> 7 packets transmitted, 0 received, +3 errors, 100% packet loss, time
> >> 6077ms
> >>
> >> In order to take a closer look at what is going on I installed
> Wireshark
> >> both on my test X5000/20 Linux install (Ubuntu 16.04.3 LTS), and on
> >> another Linux box connected to the same network switch (in this case
> >> at IP address 192.168.1.210)
> >>
> >> In this test I start the capture on eth0 (X5000/20) before it is put
> >> online,
> >> and attempt to bring it up using DHCP to obtain it's address.
> >>
> >> What I found was that network traffic *was* being attempted over eth0.
> >> Here is a plain text export of the transmit side (the X5000/20) that
> >> was captured using Wireshark.
> >>
> >> (There were more network packets being sent from the X5000/20,
> >>    however, I am only showing DHCP traffic to save space in this post):
> >>
> >> ---
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>         2 0.042259843    0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 2: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        16 3.830001152    0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 16: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        21 9.308914533    0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 21: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        23 18.906405343   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 23: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        25 36.390926450   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 25: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        26 44.048328412   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 26: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        30 44.889049203   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 30: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        44 48.254495304   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 44: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        49 54.299052732   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 49: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        51 62.672007482   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 51: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        52 77.485896202   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 52: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        56 89.895304152   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x5df47c84
> >>
> >> Frame 56: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        71 93.828837008   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x5df47c84
> >>
> >> Frame 71: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        74 97.948453158   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x5df47c84
> >>
> >> Frame 74: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >> ---
> >>
> >> Now, over on the external Linux machine (192.168.1.210), I setup a
> >> Wireshark capture
> >> which filtered for any traffic to/from the MAC address of the
> X5000/20's
> >> eth0, in this case
> >> shown as Commodor_11:11:11 (00:80:10:11:11:11) below:
> >>
> >> This export shows only the DHCP traffic seen from outside the X5000/20,
> >> and as you can see, a matching set of DHCP requests *do in fact* make
> >> it to the outside network.
> >>
> >> ---
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        39 5.671762509    0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 39: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>        73 9.451895404    0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 73: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>       154 14.919944480   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 154: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>       269 24.498335996   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 269: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>       630 41.948018648   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 630: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>       701 49.590211264   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x655d91e8
> >>
> >> Frame 701: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>       706 50.429265938   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 706: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>       744 53.788035317   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 744: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>       797 59.820568614   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 797: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>       852 68.176833686   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 852: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>       990 82.961224895   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x421bade3
> >>
> >> Frame 990: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> bits)
> >> on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>      3827 95.345964418   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x5df47c84
> >>
> >> Frame 3827: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> >> bits) on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>      3887 99.271668572   0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x5df47c84
> >>
> >> Frame 3887: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> >> bits) on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >>
> >> No.     Time           Source                Destination Protocol
> Length
> >> Info
> >>      3943 103.383072429  0.0.0.0               255.255.255.255 DHCP
> >> 342    DHCP Discover - Transaction ID 0x5df47c84
> >>
> >> Frame 3943: 342 bytes on wire (2736 bits), 342 bytes captured (2736
> >> bits) on interface 0
> >> Ethernet II, Src: Commodor_11:11:11 (00:80:10:11:11:11), Dst: Broadcast
> >> (ff:ff:ff:ff:ff:ff)
> >>       Destination: Broadcast (ff:ff:ff:ff:ff:ff)
> >>       Source: Commodor_11:11:11 (00:80:10:11:11:11)
> >>       Type: IPv4 (0x0800)
> >> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
> >> User Datagram Protocol, Src Port: 68, Dst Port: 67
> >> Bootstrap Protocol (Discover)
> >> ---
> >>
> >> The odd thing here is that while the DHCP requests were broadcast to
> the
> >> outside network (confirming that at least the transmit to the PHY is
> >> working),
> >> I could see no responses from my network's DHCP server to answer these
> >> requests.
> >>
> >> It is not a physical networking or routing issue, as I always get a
> >> successful
> >> DHCP response to the X5000/20 when I enable the Realtek 8169 interface
> >> (also
> >> installed [PCIe card] in the X5000/20).
> >>
> >> Since initial outgoing traffic *appears* to be working from the DPAA
> >> Ethernet
> >> on the X5000/20, is it possible we are missing an interrupt mapping
> from
> >> the
> >> Frame Manager to catch the received data?
> >>
> >> Any help would be appreciated. Thanks.
> >>
> >> --
> >> Best Regards,
> >>
> >> Jamie Krueger
> >> BITbyBIT Software Group LLC


^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: DPAA Ethernet problems with mainstream Linux kernels
@ 2018-01-15 10:44       ` Madalin-cristian Bucur
  0 siblings, 0 replies; 15+ messages in thread
From: Madalin-cristian Bucur @ 2018-01-15 10:44 UTC (permalink / raw)
  To: Jamie Krueger, linuxppc-dev; +Cc: netdev

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW1pZSBLcnVlZ2VyIFttYWls
dG86amFtaWVAYml0YnliaXRzb2Z0d2FyZWdyb3VwLmNvbV0NCj4gU2VudDogRnJpZGF5LCBKYW51
YXJ5IDEyLCAyMDE4IDY6MzYgUE0NCj4gVG86IE1hZGFsaW4tY3Jpc3RpYW4gQnVjdXIgPG1hZGFs
aW4uYnVjdXJAbnhwLmNvbT47IGxpbnV4cHBjLQ0KPiBkZXZAbGlzdHMub3psYWJzLm9yZw0KPiBD
YzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZw0KPiBTdWJqZWN0OiBSZTogRFBBQSBFdGhlcm5ldCBw
cm9ibGVtcyB3aXRoIG1haW5zdHJlYW0gTGludXgga2VybmVscw0KPiANCj4gT24gMDEvMTIvMjAx
OCAwODoyMiBBTSwgTWFkYWxpbi1jcmlzdGlhbiBCdWN1ciB3cm90ZToNCj4gPj4gLS0tLS1Pcmln
aW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogTGludXhwcGMtZGV2IFttYWlsdG86bGludXhw
cGMtZGV2LQ0KPiA+PiBib3VuY2VzK21hZGFsaW4uYnVjdXI9bnhwLmNvbUBsaXN0cy5vemxhYnMu
b3JnXSBPbiBCZWhhbGYgT2YgSmFtaWUNCj4gS3J1ZWdlcg0KPiA+PiBTZW50OiBXZWRuZXNkYXks
IEphbnVhcnkgMTAsIDIwMTggNTo1NyBQTQ0KPiA+PiBUbzogbGludXhwcGMtZGV2QGxpc3RzLm96
bGFicy5vcmcNCj4gPj4gU3ViamVjdDogRFBBQSBFdGhlcm5ldCBwcm9ibGVtcyB3aXRoIG1haW5z
dHJlYW0gTGludXgga2VybmVscw0KPiA+Pg0KPiA+PiBIZWxsbyBhbGwgQCBsaW51eHBwYy1kZXYs
DQo+ID4+DQo+ID4+IEkgaGF2ZSBiZWVuIHdvcmtpbmcgd2l0aCBhIHRlYW0gb2YgcGVvcGxlIG1h
aW50YWluaW5nIFBvd2VyUEMNCj4gPj4gTGludXggZm9yIHRoZSBuZXcgQW1pZ2FPTkUgWDUwMDAv
MjAgKGEgRnJlZXNjYWxlIHA1MDIwIFNvQyBiYXNlZA0KPiA+PiBtYWNoaW5lKS4NCj4gPj4NCj4g
Pj4gV2UgYXJlIHRyeWluZyB0byBkZXRlcm1pbmUgd2h5IHRoZSBzdWJtaXR0ZWQgRGF0YSBQYXRo
IEFjY2VsZXJhdGlvbg0KPiA+PiBBcmNoaXRlY3R1cmUgKERQQUEpIEV0aGVybmV0IERyaXZlciBp
cyBub3QgZnVsbHkgZnVuY3Rpb25hbCB3aXRoDQo+ID4+IHRoZSBtYWluc3RyZWFtIExpbnV4IGtl
cm5lbHMuDQo+ID4gSGkgSmFtaWUsDQo+IEhpIE1hZGFsaW4sDQo+ID4gV2UgYXJlIHRlc3Rpbmcg
dGhlIERQQUEgZHJpdmVyIG9uIHNldmVyYWwgRFMgYW5kIFJEQiBwbGF0Zm9ybXMgYW5kIGl0DQo+
ID4gaXMgd29ya2luZyBwcm9wZXJseS4gVGhlIGlzc3VlcyB5b3UgZW5jb3VudGVyIHdpdGggaXQg
b24gdGhlIFg1MDAwLzIwDQo+ID4gYXJlIGxpa2VseSBjYXVzZWQgYnkgc29tZSBpc3N1ZXMgc3Bl
Y2lmaWMgdG8gdGhhdCBwYXJ0aWN1bGFyIHBsYXRmb3JtLg0KPiBJdCBpcyBnb29kIHRvIGhlYXIg
dGhhdCB0aGUgRFBBQSBkcml2ZXIgaXMgZnVuY3Rpb25pbmcgY29ycmVjdGx5DQo+IG9uIHRoZSBy
ZWZlcmVuY2UgcGxhdGZvcm1zLiBJIGFtIHBvc2l0aXZlIHlvdSBhcmUgY29ycmVjdCB0aGF0DQo+
IHRoZSBpc3N1ZSBpcyB0aGUgZGlmZmVyZW5jZSBpbiBpbXBsZW1lbnRhdGlvbiBvbiB0aGUgWDUw
MDAvMjANCj4gKEN5cnVzKSBtb3RoZXJib2FyZCwgYXMgY29tcGFyZWQgdG8gdGhlIHJlZmVyZW5j
ZSBib2FyZHMuDQo+IA0KPiBDYW4geW91IHZlcmlmeSB3aGljaCBMaW51eCBLZXJuZWwgc291cmNl
cyB5b3VyIHRlc3RzIGFyZSBiZWluZw0KPiBwZXJmb3JtZWQgb24/IFdlIGhhdmUgYmVlbiB0ZXN0
aW5nIHVzaW5nIHRoZSBtYWluc3RyZWFtDQo+IExpbnV4IHNvdXJjZXMgdXAgdG8gbGludXgtNC4x
NS1yYzYgdGh1cyBmYXIuDQoNCkxhdGVzdCBydW4gaXMgb24gNC4xNS4wLXJjNy0wMDIwMC1nYzky
YTlhNC4NCg0KPiA+IFRoZSBkZXZpY2UgdHJlZSB0aGF0IHlvdSBtZW50aW9uLCBjeXJ1c19wNTAy
MC5ldGguZHRzIGlzIG5vdCBmb3VuZCBpbg0KPiA+IHRoZSBMaW51eCBrZXJuZWwgc291cmNlcy4g
VGhlIGN5cnVzX3A1MDIwLmR0cyBmaWxlIGZyb20gdGhlIGZzbCBwcGMNCj4gPiBkZXZpY2UgdHJl
ZSBmb2xkZXIgZG9lcyBub3QgaW5jbHVkZSB0aGUgUEhZIGluZm9ybWF0aW9uIGZvciB0aGUgRFBB
QQ0KPiA+IGludGVyZmFjZXMuIFRoZSBwcm9ibGVtcyB0aGF0IHlvdSBleHBlcmllbmNlIG1heSBi
ZSBjYXVzZWQgYnkgc29tZQ0KPiA+IGlzc3VlcyB3aXRoIHRoZSBQSFkgY29uZmlndXJhdGlvbiAo
aS5lLiBpbnRlcm5hbCBkZWxheSkuDQo+IFRoZSBjeXJ1c19wNTAyMC5ldGguZHRzIGlzIGEgbW9k
aWZpZWQgdmVyc2lvbiBvZiB0aGUgY3lydXNfcDUwMjAuZHRzLA0KPiB3aGljaCBvZiBjb3Vyc2Ug
d2FzIGJhc2VkIG9mZiB0aGUgb3JpZ2luYWwgcDUwMjBkcy5kdHMgZmlsZS4gQXMgeW91DQo+IG5v
dGVkLCB0aGUgY3VycmVudCBjeXJ1c19wNTAyMC5kdHMgZmlsZSBpcyBpbmNvbXBsZXRlLCBhbmQg
ZG9lcyBub3QNCj4gbWFwIHRoZSBFdGhlcm5ldCBjb25uZWN0aW9ucyBwcm9wZXJseS4NCj4gDQo+
IFRoZSBjeXJ1c19wNTAyMC5ldGguZHRzIGZpbGUsIGFsb25nIHdpdGggaXQncyBjeXJ1cy1wcmUu
ZHRzaSBkZXBlbmRlbnQNCj4gZmlsZSwgYXJlIGFuIGF0dGVtcHQgdG8gY29ycmVjdGx5IGRlZmlu
ZSB0aGUgRXRoZXJuZXQgaGFyZHdhcmUsIGFzIGl0IGlzDQo+IGltcGxlbWVudGVkIG9uIHRoZSBY
NTAwMC8yMC4NCj4gDQo+ICoqIEkgaGF2ZSBhdHRhY2hlZCBib3RoIHRoZSBjeXJ1c19wNTAyMC5l
dGguZHRzIGFuZCBjeXJ1cy1wcmUuZHRzaQ0KPiAgwqDCoMKgwqAgZmlsZXMgd2l0aCB0aGlzIGVt
YWlsIGZvciBjb21wYXJpc29uLiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IHNlZQ0KPiAgwqDC
oMKgwqAgYW55IGNvcnJlY3Rpb25zIHRoYXQgc2hvdWxkIGJlIG1hZGUgdG8gZWl0aGVyIGZpbGUu
DQoNCkF0IGEgZmlyc3QgZ2xhbmNlIHRoZXkgbG9vayBmaW5lIHRvIG1lLg0KDQo+IEkgYW0gbm90
IHN1cmUgd2hhdCBQSFkgaGFyZHdhcmUvY29uZmlndXJhdGlvbiB5b3UgYXJlIHVzaW5nIG9uIHRo
ZQ0KPiBEUyBhbmQgUkRCIHBsYXRmb3JtcywgYnV0IEkgY2FuIGNvbmZpcm0gdGhhdCBBbWlnYU9O
RSBYNTAwMC8yMA0KPiAoQ3lydXMgTW90aGVyYm9hcmQgd2l0aCBwNTAyMCBTb0MpLCBoYXMgZFRT
RUMgNCBhbmQgZFRTRUMgNQ0KPiB3aXJlZCB0byB0d28gTWljcmVsIEtTWjkwMjFSTiBHaWdhYml0
IEV0aGVybmV0IFBIWXMsIHVzaW5nIHRoZQ0KPiBSR01JSSBwcm90b2NvbC4NCg0KU2luY2UgaXQn
cyBSR01JSSwgSSB0aGluayB5b3Ugc2hvdWxkIGxvb2sgaW50byBSR01JSSBpbnRlcm5hbCBkZWxh
eQ0KcmVxdWlyZW1lbnRzIGZvciB0aGlzIGJvYXJkLg0KDQo+ID4gICBJIHN1Z2dlc3QNCj4gPiB0
aGF0IHlvdSBjb25uZWN0IHRoZSBEUEFBIGludGVyZmFjZSB0byBhIHRyYWZmaWMgYW5hbHl6ZXIg
b3IgZGlyZWN0bHkNCj4gPiB0byBhbm90aGVyIGRldmljZSBvbiB3aGljaCB5b3UgY2FuIGNhcHR1
cmUgdGhlIGluY29taW5nIHRyYWZmaWMgYW5kDQo+ID4gY2hlY2sgdGhhdCB0aGUgcmVjZWl2ZWQg
ZnJhbWVzIGFyZSBjb3JyZWN0Lg0KPiBJIGhhdmUgc3RhcnRlZCB0ZXN0aW5nIGFsb25nIHRoYXQg
bGluZSwgdXNpbmcgV2lyZXNoYXJrIHRvIHZpZXcgdGhlDQo+IHRyYWZmaWMgb24gdGhlIFg1MDAw
LzIwIGl0c2VsZiwgYW5kIGZyb20gYW5vdGhlciBtYWNoaW5lIGNvbm5lY3RlZA0KPiBvbiB0aGUg
c2FtZSBzdWJuZXQuIFNvIGZhciAoYXMgaW5kaWNhdGVkIGJ5IHNvbWUgZGV0YWlscyBvZiBpbiBt
eQ0KPiBpbml0aWFsIGVtYWlsKSwgSSBjYW4gc2VlIG91dGdvaW5nIGJyb2FkY2FzdCByZXF1ZXN0
cyAoZm9yIERIQ1ApDQo+IGJlaW5nIHNlbnQgb3V0IGZyb20gdGhlIFg1MDAwLzIwLCBhbmQgdGhl
c2UgcmVxdWVzdHMgYXJlIGNvcnJlY3RseQ0KPiBjb25zdHJ1Y3RlZCBhbmQgdmlzaWJsZSBvdXRz
aWRlIHRoZSBYNTAwMC8yMC4NCj4gDQo+IEhvd2V2ZXIsIG5vIHJlc3BvbnNlcyB0byB0aGUgREhD
UCBicm9hZGNhc3RzIGFwcGVhciB0byByZWFjaA0KPiB0byBYNTAwMC8yMCdzIERQQUEgRXRoZXJu
ZXQuIEkgd2lsbCBuZWVkIHRvIHNldHVwIHNvbWUgZnVydGhlcg0KPiB0ZXN0cyB0byBkZXRlcm1p
bmUgaWYgdGhlIERIQ1Agc2VydmVyIHNhdyB0aGUgcmVxdWVzdHMgYW5kIHJlc3BvbmRlZA0KPiB0
byB0aGVtLiAoSSBhc3N1bWUgdGhlIERIQ1Agc2VydmVyIGlzIGdldHRpbmcgdGhlbSwgYW5kIHJl
c3BvbmRpbmcsDQo+IGFzIEkgY2FuIGFsd2F5cyBnZXQgYSBzdWNjZXNzZnVsIERIQ1AgcmVzcG9u
c2UgdG8gdGhlIFg1MDAwLzIwDQo+IHdoZW4gdXNpbmcgYW4gYWRkLW9uIEV0aGVybmV0IFBJQ2Ug
Y2FyZCBvbiB0aGUgc2FtZSBzdWJuZXQpLg0KPiANCj4gSSB3aWxsIHNldHVwIHNvbWUgbW9yZSBk
aXJlY3QgbWFjaGluZS10by1tYWNoaW5lIHRlc3RpbmcgdG8NCj4gc2VlIHdoYXQgZWxzZSBJIGNh
biBnbGVhbiBmcm9tIHRoZSBuZXR3b3JrIHRyYWZmaWMuDQoNClRoYXQgd2lsbCBwcm92aWRlIG1v
cmUgY2xhcml0eSB0byB0aGUgYWN0dWFsIGlzc3VlLg0KDQo+IFBsZWFzZSBoYXZlIGEgbG9vayBh
dCB0aGUgYXR0YWNoZWQgZHRzIGZpbGVzLCBtYXliZSB0aGVyZSBpcyBzb21ldGhpbmcNCj4gb2J2
aW91cyB0aGVyZSB3ZSBhcmUgbm90IHNlZWluZy4NCj4gDQo+IEFsc28sIGdpdmVuIHRoYXQgdGhl
IFg1MDAwLzIwIHVzZXMgTWljcmVsIEtTWjkwMjFSTiBQSFlzIGluIFJHTUlJDQo+IG1vZGUsIHdo
YXQgY2hhbmdlcyB0byB0aGUgRFBBQSBoYXJkd2FyZSBjb25maWd1cmF0aW9uIHNob3VsZCB3ZQ0K
PiBleHBlY3QgdG8gc2VlIHNvIHRoYXQgdGhlIERQQUEgaXMgY29uZmlndXJlZCB0byB0YWxrIHRv
IHRoZW0/DQoNClRoZSBwaHktY29ubmVjdGlvbi10eXBlID0gInJnbWlpIjsgc2hvdWxkIHRha2Ug
Y2FyZSBvZiB0aGF0Lg0KVHJ5IHRvIGNoZWNrIHRoZSBsaW5rIGluZm9ybWF0aW9uIHJlcG9ydGVk
IGJ5IHRoZSBQSFkuDQoNCj4gPiBNYWRhbGluDQo+ID4NCj4gLS0NCj4gDQo+IEJlc3QgUmVnYXJk
cywNCj4gDQo+IEphbWllIEtydWVnZXINCj4gQklUYnlCSVQgU29mdHdhcmUgR3JvdXAgTExDDQo+
IA0KPiA+PiBIZXJlIGlzIHRoZSByZXN1bHRzIGZyb20gbXkgbGF0ZXN0IHRlc3RzLiBUaGV5IHdl
cmUgcGVyZm9ybWVkIHVzaW5nDQo+ID4+IHRoZSBsaW51eC00LjEwLjE3IHBwYzY0LCBzaW5jZSB0
aGF0IHJlcHJlc2VudHMgd2hlbiB0aGUgRFBBQSBFdGhlcm5ldA0KPiA+PiBjb2RlIHdhcyBpbnRy
b2R1Y2VkLg0KPiA+Pg0KPiA+PiBTaW1pbGFyIHRlc3RzLCB3aXRoIHNpbWlsYXIgcmVzdWx0cywg
d2VyZSBhbHNvIHBlcmZvcm1lZA0KPiA+PiB1c2luZyB0aGUgbGF0ZXN0IExpbnV4IGtlcm5lbHM6
DQo+ID4+DQo+ID4+IGxpbnV4LTQuMTUtcmM1DQo+ID4+IGxpbnV4LTQuMTUtcmM2DQo+ID4+IGxp
bnV4LTQuMTUtcmM3DQo+ID4+DQo+ID4+IChIZW5jZSB0aGUgcmVhc29uIGZvciBmYWxsaW5nIGJh
Y2sgdG8gdGVzdCB0aGUga2VybmVsIHJpZ2h0DQo+ID4+ICAgwqBhZnRlciB0aGUgaW50cm9kdWN0
aW9uIG9mIHRoZSBEUEFBIEV0aGVybmV0IGRyaXZlciBzb3VyY2VzKQ0KPiA+Pg0KPiA+PiAtLS0N
Cj4gPj4NCj4gPj4gQWxsIEtlcm5lbCBidWlsZHMgaGFkIHRoZSBEUEFBIEV0aGVybmV0IGVuYWJs
ZWQgaW4gdGhlIGtlcm5lbCwNCj4gPj4gYW5kIGFyZSB1c2luZyB0aGUgY29ycmVjdCBjeXJ1c19w
NTAyMC5ldGguZHRiIGRldmljZSB0cmVlIGZpbGUNCj4gPj4gKGZvciB1c2Ugb24gdGhlIFg1MDAw
LzIwKS4NCj4gPj4NCj4gPj4gVGhlIHJlc3VsdHMgYXJlIHF1aXRlIHNpbWlsYXIgZm9yIGFsbCBr
ZXJuZWxzIGluIHJlZ2FyZHMgdG8gdGhlIERQQUENCj4gPj4gRXRoZXJuZXQuDQo+ID4+DQo+ID4+
IEFsbCB0ZXN0ZWQga2VybmVscyBzZXR1cCB0aGUgdHdvIEV0aGVybmV0IGludGVyZmFjZXMgY29y
cmVjdGx5DQo+ID4+IGFzIGV0aDAgYW5kIGV0aDEsIGFuZCBwdWxsIHRoZSBjb3JyZWN0IE1BQyBh
ZGRyZXNzZXMgZnJvbSBVLUJvb3QNCj4gPj4gZW52aXJvbm1lbnQgdmFyaWFibGVzIGV0aGFkZHIg
YW5kIGV0aDFhZGRyIHJlc3BlY3RpdmVseS4NCj4gPj4NCj4gPj4gU28gYXQgdGhpcyBwb2ludCBM
aW51eCBoYXMgd2hhdCBpdCBiZWxpZXZlcyBpcyBmdWxseSBjb25maWd1cmVkDQo+ID4+IGhhcmR3
YXJlLCB3YWl0aW5nIHRvIGhhdmUgYW4gSVAgQWRkcmVzcy9OZXRtYXNrL0dhdGV3YXkNCj4gPj4g
dG8gYmUgc2V0IGFuZCB0byBicmluZyB0aGUgaW50ZXJmYWNlIG9ubGluZS4NCj4gPj4NCj4gPj4g
SG93ZXZlciwgYWxsIGF0dGVtcHRzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIG91dHNpZGUgd29y
bGQNCj4gPj4gZG8gbm90IG1ha2UgaXQgb3V0IHRoZSBwaHlzaWNhbCAoUEhZKSBoYXJkd2FyZSAt
IG9yIGRvIHRoZXk/DQo+ID4+DQo+ID4+ICoqIFRoZSBmb2xsb3dpbmcgcmVzdWx0cyB3ZXJlIGNh
cHR1cmVkIHVuZGVyIGxpbnV4LTQuMTAuMTcgKioNCj4gPj4NCj4gPj4gV2hlbiBJIGJyaW5nIHRo
ZSBpbnRlcmZhY2UgdXAgdXNpbmcgYSBzdGF0aWMgYWRkcmVzcywgaW4gdGhpcyBjYXNlDQo+ID4+
IDE5Mi4xNjguMS4yMSwgSSBzZWUgdGhlIGZvbGxvd2luZyAoTk9URSBUWCBieXRlcyBzYXlzIDE1
NC4wIEtCLA0KPiA+PiB3aGlsZSBSWCBieXRlcyBzYXlzIDAuMCBCKToNCj4gPj4NCj4gPj4gamFt
aWVAWDUwMDAtTGludXg6JCBpZmNvbmZpZw0KPiA+PiBldGgwwqDCoMKgwqDCoCBMaW5rIGVuY2Fw
OkV0aGVybmV0wqAgSFdhZGRyIDAwOjgwOjEwOjExOjExOjExDQo+ID4+ICAgwqDCoMKgwqDCoMKg
wqDCoMKgIGluZXQgYWRkcjoxOTIuMTY4LjEuMjHCoCBCY2FzdDoxOTIuMTY4LjEuMjU1DQo+IE1h
c2s6MjU1LjI1NS4yNTUuMA0KPiA+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoCBpbmV0NiBhZGRyOiBm
ZTgwOjoyODA6MTBmZjpmZTExOjExMTEvNjQgU2NvcGU6TGluaw0KPiA+PiAgIMKgwqDCoMKgwqDC
oMKgwqDCoCBVUCBCUk9BRENBU1QgUlVOTklORyBNVUxUSUNBU1TCoCBNVFU6MTUwMMKgIE1ldHJp
YzoxDQo+ID4+ICAgwqDCoMKgwqDCoMKgwqDCoMKgIFJYIHBhY2tldHM6MCBlcnJvcnM6MCBkcm9w
cGVkOjAgb3ZlcnJ1bnM6MCBmcmFtZTowDQo+ID4+ICAgwqDCoMKgwqDCoMKgwqDCoMKgIFRYIHBh
Y2tldHM6MTQyOCBlcnJvcnM6MCBkcm9wcGVkOjAgb3ZlcnJ1bnM6MCBjYXJyaWVyOjANCj4gPj4g
ICDCoMKgwqDCoMKgwqDCoMKgwqAgY29sbGlzaW9uczowIHR4cXVldWVsZW46MTAwMA0KPiA+PiAg
IMKgwqDCoMKgwqDCoMKgwqDCoCBSWCBieXRlczowICgwLjAgQinCoCBUWCBieXRlczoxNTQwNjYg
KDE1NC4wIEtCKQ0KPiA+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoCBNZW1vcnk6ZmU0ZTYwMDAtZmU0
ZTZmZmYNCj4gPj4NCj4gPj4gZXRoMcKgwqDCoMKgwqAgTGluayBlbmNhcDpFdGhlcm5ldMKgIEhX
YWRkciAwMDo4MDoxMDoyMjoyMjoyMg0KPiA+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoCBVUCBCUk9B
RENBU1QgTVVMVElDQVNUwqAgTVRVOjE1MDDCoCBNZXRyaWM6MQ0KPiA+PiAgIMKgwqDCoMKgwqDC
oMKgwqDCoCBSWCBwYWNrZXRzOjAgZXJyb3JzOjAgZHJvcHBlZDowIG92ZXJydW5zOjAgZnJhbWU6
MA0KPiA+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoCBUWCBwYWNrZXRzOjAgZXJyb3JzOjAgZHJvcHBl
ZDowIG92ZXJydW5zOjAgY2FycmllcjowDQo+ID4+ICAgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbGxp
c2lvbnM6MCB0eHF1ZXVlbGVuOjEwMDANCj4gPj4gICDCoMKgwqDCoMKgwqDCoMKgwqAgUlggYnl0
ZXM6MCAoMC4wIEIpwqAgVFggYnl0ZXM6MCAoMC4wIEIpDQo+ID4+ICAgwqDCoMKgwqDCoMKgwqDC
oMKgIE1lbW9yeTpmZTRlODAwMC1mZTRlOGZmZg0KPiA+Pg0KPiA+PiBsb8KgwqDCoMKgwqDCoMKg
IExpbmsgZW5jYXA6TG9jYWwgTG9vcGJhY2sNCj4gPj4gICDCoMKgwqDCoMKgwqDCoMKgwqAgaW5l
dCBhZGRyOjEyNy4wLjAuMcKgIE1hc2s6MjU1LjAuMC4wDQo+ID4+ICAgwqDCoMKgwqDCoMKgwqDC
oMKgIGluZXQ2IGFkZHI6IDo6MS8xMjggU2NvcGU6SG9zdA0KPiA+PiAgIMKgwqDCoMKgwqDCoMKg
wqDCoCBVUCBMT09QQkFDSyBSVU5OSU5HwqAgTVRVOjY1NTM2wqAgTWV0cmljOjENCj4gPj4gICDC
oMKgwqDCoMKgwqDCoMKgwqAgUlggcGFja2V0czoxODY5IGVycm9yczowIGRyb3BwZWQ6MCBvdmVy
cnVuczowIGZyYW1lOjANCj4gPj4gICDCoMKgwqDCoMKgwqDCoMKgwqAgVFggcGFja2V0czoxODY5
IGVycm9yczowIGRyb3BwZWQ6MCBvdmVycnVuczowIGNhcnJpZXI6MA0KPiA+PiAgIMKgwqDCoMKg
wqDCoMKgwqDCoCBjb2xsaXNpb25zOjAgdHhxdWV1ZWxlbjoxMDAwDQo+ID4+ICAgwqDCoMKgwqDC
oMKgwqDCoMKgIFJYIGJ5dGVzOjE1NjkzMiAoMTU2LjkgS0IpwqAgVFggYnl0ZXM6MTU2OTMyICgx
NTYuOSBLQikNCj4gPj4NCj4gPj4gQ2hlY2tpbmcgdGhlIHJvdXRpbmcgdGFibGUsIGV2ZXJ5dGhp
bmcgbG9va3MgZmluZSB0aGVyZToNCj4gPj4NCj4gPj4gamFtaWVAWDUwMDAtTGludXg6JCBuZXRz
dGF0IC1yDQo+ID4+IEtlcm5lbCBJUCByb3V0aW5nIHRhYmxlDQo+ID4+IERlc3RpbmF0aW9uwqDC
oMKgwqAgR2F0ZXdhecKgwqDCoMKgwqDCoMKgwqAgR2VubWFza8KgwqDCoMKgwqDCoMKgwqAgRmxh
Z3PCoMKgIE1TUw0KPiBXaW5kb3fCoCBpcnR0DQo+ID4+IElmYWNlDQo+ID4+IGRlZmF1bHTCoMKg
wqDCoMKgwqDCoMKgIDE5Mi4xNjguMS4xwqDCoMKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqAg
VUfCoMKgwqDCoMKgwqDCoCAwDQo+IDDCoMKgwqDCoMKgwqDCoMKgwqAgMA0KPiA+PiBldGgwDQo+
ID4+IGxpbmstbG9jYWzCoMKgwqDCoMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1
NS4yNTUuMC4wwqDCoMKgwqAgVcKgwqDCoMKgwqDCoMKgwqAgMA0KPiAwwqDCoMKgwqDCoMKgwqDC
oMKgIDANCj4gPj4gZXRoMA0KPiA+PiAxOTIuMTY4LjEuMMKgwqDCoMKgICrCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjDCoMKgIFXCoMKgwqDCoMKgwqDCoMKgIDANCj4g
MMKgwqDCoMKgwqDCoMKgwqDCoCAwDQo+ID4+IGV0aDANCj4gPj4NCj4gPj4gQXR0ZW1wdGluZyB0
byBQSU5HIHRoZSBpbnRlcmZhY2UgaXRzZWxmIHdvcmtzOg0KPiA+Pg0KPiA+PiBqYW1pZUBYNTAw
MC1MaW51eDokIHBpbmcgMTkyLjE2OC4xLjIxDQo+ID4+IFBJTkcgMTkyLjE2OC4xLjIxICgxOTIu
MTY4LjEuMjEpIDU2KDg0KSBieXRlcyBvZiBkYXRhLg0KPiA+PiA2NCBieXRlcyBmcm9tIDE5Mi4x
NjguMS4yMTogaWNtcF9zZXE9MSB0dGw9NjQgdGltZT0wLjAzNyBtcw0KPiA+PiA2NCBieXRlcyBm
cm9tIDE5Mi4xNjguMS4yMTogaWNtcF9zZXE9MiB0dGw9NjQgdGltZT0wLjA0NSBtcw0KPiA+PiA2
NCBieXRlcyBmcm9tIDE5Mi4xNjguMS4yMTogaWNtcF9zZXE9MyB0dGw9NjQgdGltZT0wLjAzMyBt
cw0KPiA+PiBeQw0KPiA+PiAtLS0gMTkyLjE2OC4xLjIxIHBpbmcgc3RhdGlzdGljcyAtLS0NCj4g
Pj4gMyBwYWNrZXRzIHRyYW5zbWl0dGVkLCAzIHJlY2VpdmVkLCAwJSBwYWNrZXQgbG9zcywgdGlt
ZSAyMDQzbXMNCj4gPj4NCj4gPj4gSG93ZXZlciwgYXR0ZW1wdHMgdG8gUElORyB0aGUgZ2F0ZXdh
eSAoMTkyLjE2OC4xLjEpIGZhaWwgYXMNCj4gdW5yZWFjaGFibGU6DQo+ID4+DQo+ID4+IGphbWll
QFg1MDAwLUxpbnV4OiQgcGluZyAxOTIuMTY4LjEuMQ0KPiA+PiBQSU5HIDE5Mi4xNjguMS4xICgx
OTIuMTY4LjEuMSkgNTYoODQpIGJ5dGVzIG9mIGRhdGEuDQo+ID4+ICAgRnJvbSAxOTIuMTY4LjEu
MjEgaWNtcF9zZXE9MSBEZXN0aW5hdGlvbiBIb3N0IFVucmVhY2hhYmxlDQo+ID4+ICAgRnJvbSAx
OTIuMTY4LjEuMjEgaWNtcF9zZXE9MiBEZXN0aW5hdGlvbiBIb3N0IFVucmVhY2hhYmxlDQo+ID4+
ICAgRnJvbSAxOTIuMTY4LjEuMjEgaWNtcF9zZXE9MyBEZXN0aW5hdGlvbiBIb3N0IFVucmVhY2hh
YmxlDQo+ID4+IF5DDQo+ID4+IC0tLSAxOTIuMTY4LjEuMSBwaW5nIHN0YXRpc3RpY3MgLS0tDQo+
ID4+IDcgcGFja2V0cyB0cmFuc21pdHRlZCwgMCByZWNlaXZlZCwgKzMgZXJyb3JzLCAxMDAlIHBh
Y2tldCBsb3NzLCB0aW1lDQo+ID4+IDYwNzdtcw0KPiA+Pg0KPiA+PiBJbiBvcmRlciB0byB0YWtl
IGEgY2xvc2VyIGxvb2sgYXQgd2hhdCBpcyBnb2luZyBvbiBJIGluc3RhbGxlZA0KPiBXaXJlc2hh
cmsNCj4gPj4gYm90aCBvbiBteSB0ZXN0IFg1MDAwLzIwIExpbnV4IGluc3RhbGwgKFVidW50dSAx
Ni4wNC4zIExUUyksIGFuZCBvbg0KPiA+PiBhbm90aGVyIExpbnV4IGJveCBjb25uZWN0ZWQgdG8g
dGhlIHNhbWUgbmV0d29yayBzd2l0Y2ggKGluIHRoaXMgY2FzZQ0KPiA+PiBhdCBJUCBhZGRyZXNz
IDE5Mi4xNjguMS4yMTApDQo+ID4+DQo+ID4+IEluIHRoaXMgdGVzdCBJIHN0YXJ0IHRoZSBjYXB0
dXJlIG9uIGV0aDAgKFg1MDAwLzIwKSBiZWZvcmUgaXQgaXMgcHV0DQo+ID4+IG9ubGluZSwNCj4g
Pj4gYW5kIGF0dGVtcHQgdG8gYnJpbmcgaXQgdXAgdXNpbmcgREhDUCB0byBvYnRhaW4gaXQncyBh
ZGRyZXNzLg0KPiA+Pg0KPiA+PiBXaGF0IEkgZm91bmQgd2FzIHRoYXQgbmV0d29yayB0cmFmZmlj
ICp3YXMqIGJlaW5nIGF0dGVtcHRlZCBvdmVyIGV0aDAuDQo+ID4+IEhlcmUgaXMgYSBwbGFpbiB0
ZXh0IGV4cG9ydCBvZiB0aGUgdHJhbnNtaXQgc2lkZSAodGhlIFg1MDAwLzIwKSB0aGF0DQo+ID4+
IHdhcyBjYXB0dXJlZCB1c2luZyBXaXJlc2hhcmsuDQo+ID4+DQo+ID4+IChUaGVyZSB3ZXJlIG1v
cmUgbmV0d29yayBwYWNrZXRzIGJlaW5nIHNlbnQgZnJvbSB0aGUgWDUwMDAvMjAsDQo+ID4+ICAg
wqBob3dldmVyLCBJIGFtIG9ubHkgc2hvd2luZyBESENQIHRyYWZmaWMgdG8gc2F2ZSBzcGFjZSBp
biB0aGlzIHBvc3QpOg0KPiA+Pg0KPiA+PiAtLS0NCj4gPj4gTm8uwqDCoMKgwqAgVGltZcKgwqDC
oMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEZXN0
aW5hdGlvbiBQcm90b2NvbA0KPiBMZW5ndGgNCj4gPj4gSW5mbw0KPiA+PiAgIMKgwqDCoMKgwqAg
MiAwLjA0MjI1OTg0M8KgwqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAy
NTUuMjU1LjI1NS4yNTUgREhDUA0KPiA+PiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5z
YWN0aW9uIElEIDB4NjU1ZDkxZTgNCj4gPj4NCj4gPj4gRnJhbWUgMjogMzQyIGJ5dGVzIG9uIHdp
cmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiA+PiBvbiBp
bnRlcmZhY2UgMA0KPiA+PiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6
ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiA+PiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYp
DQo+ID4+IEludGVybmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1
NS4yNTUuMjU1LjI1NQ0KPiA+PiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDogNjgs
IERzdCBQb3J0OiA2Nw0KPiA+PiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiA+Pg0K
PiA+PiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291cmNlwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29sDQo+IExlbmd0aA0KPiA+
PiBJbmZvDQo+ID4+ICAgwqDCoMKgwqAgMTYgMy44MzAwMDExNTLCoMKgwqAgMC4wLjAuMMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gPj4gMzQywqDC
oMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDY1NWQ5MWU4DQo+ID4+DQo+ID4+
IEZyYW1lIDE2OiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1
cmVkICgyNzM2IGJpdHMpDQo+ID4+IG9uIGludGVyZmFjZSAwDQo+ID4+IEV0aGVybmV0IElJLCBT
cmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDogQnJvYWRjYXN0
DQo+ID4+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lv
biA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+ID4+IFVzZXIgRGF0YWdy
YW0gUHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+ID4+IEJvb3RzdHJhcCBQ
cm90b2NvbCAoRGlzY292ZXIpDQo+ID4+DQo+ID4+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKg
wqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRp
b24gUHJvdG9jb2wNCj4gTGVuZ3RoDQo+ID4+IEluZm8NCj4gPj4gICDCoMKgwqDCoCAyMSA5LjMw
ODkxNDUzM8KgwqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1
LjI1NS4yNTUgREhDUA0KPiA+PiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9u
IElEIDB4NjU1ZDkxZTgNCj4gPj4NCj4gPj4gRnJhbWUgMjE6IDM0MiBieXRlcyBvbiB3aXJlICgy
NzM2IGJpdHMpLCAzNDIgYnl0ZXMgY2FwdHVyZWQgKDI3MzYgYml0cykNCj4gPj4gb24gaW50ZXJm
YWNlIDANCj4gPj4gRXRoZXJuZXQgSUksIFNyYzogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEw
OjExOjExOjExKSwgRHN0OiBCcm9hZGNhc3QNCj4gPj4gKGZmOmZmOmZmOmZmOmZmOmZmKQ0KPiA+
PiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1
LjI1NS4yNTUNCj4gPj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3Qg
UG9ydDogNjcNCj4gPj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gPj4NCj4gPj4g
Tm8uwqDCoMKgwqAgVGltZcKgwqDCoMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBEZXN0aW5hdGlvbiBQcm90b2NvbA0KPiBMZW5ndGgNCj4gPj4gSW5m
bw0KPiA+PiAgIMKgwqDCoMKgIDIzIDE4LjkwNjQwNTM0M8KgwqAgMC4wLjAuMMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gPj4gMzQywqDCoMKgIERI
Q1AgRGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDY1NWQ5MWU4DQo+ID4+DQo+ID4+IEZyYW1l
IDIzOiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVkICgy
NzM2IGJpdHMpDQo+ID4+IG9uIGludGVyZmFjZSAwDQo+ID4+IEV0aGVybmV0IElJLCBTcmM6IENv
bW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDogQnJvYWRjYXN0DQo+ID4+
IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lvbiA0LCBT
cmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+ID4+IFVzZXIgRGF0YWdyYW0gUHJv
dG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+ID4+IEJvb3RzdHJhcCBQcm90b2Nv
bCAoRGlzY292ZXIpDQo+ID4+DQo+ID4+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKg
wqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJv
dG9jb2wNCj4gTGVuZ3RoDQo+ID4+IEluZm8NCj4gPj4gICDCoMKgwqDCoCAyNSAzNi4zOTA5MjY0
NTDCoMKgIDAuMC4wLjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1
NSBESENQDQo+ID4+IDM0MsKgwqDCoCBESENQIERpc2NvdmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg2
NTVkOTFlOA0KPiA+Pg0KPiA+PiBGcmFtZSAyNTogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0
cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiA+PiBvbiBpbnRlcmZhY2UgMA0K
PiA+PiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6
MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiA+PiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+IEludGVy
bmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4yNTUuMjU1LjI1
NQ0KPiA+PiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQb3J0OiA2
Nw0KPiA+PiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiA+Pg0KPiA+PiBOby7CoMKg
wqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29sDQo+IExlbmd0aA0KPiA+PiBJbmZvDQo+ID4+
ICAgwqDCoMKgwqAgMjYgNDQuMDQ4MzI4NDEywqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiA+PiAzNDLCoMKgwqAgREhDUCBEaXNj
b3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NjU1ZDkxZTgNCj4gPj4NCj4gPj4gRnJhbWUgMjY6IDM0
MiBieXRlcyBvbiB3aXJlICgyNzM2IGJpdHMpLCAzNDIgYnl0ZXMgY2FwdHVyZWQgKDI3MzYgYml0
cykNCj4gPj4gb24gaW50ZXJmYWNlIDANCj4gPj4gRXRoZXJuZXQgSUksIFNyYzogQ29tbW9kb3Jf
MTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKSwgRHN0OiBCcm9hZGNhc3QNCj4gPj4gKGZmOmZm
OmZmOmZmOmZmOmZmKQ0KPiA+PiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4w
LjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gPj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwg
U3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gPj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNj
b3ZlcikNCj4gPj4NCj4gPj4gTm8uwqDCoMKgwqAgVGltZcKgwqDCoMKgwqDCoMKgwqDCoMKgIFNv
dXJjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEZXN0aW5hdGlvbiBQcm90b2NvbA0K
PiBMZW5ndGgNCj4gPj4gSW5mbw0KPiA+PiAgIMKgwqDCoMKgIDMwIDQ0Ljg4OTA0OTIwM8KgwqAg
MC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1AN
Cj4gPj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDQyMWJhZGUz
DQo+ID4+DQo+ID4+IEZyYW1lIDMwOiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQy
IGJ5dGVzIGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+ID4+IG9uIGludGVyZmFjZSAwDQo+ID4+IEV0
aGVybmV0IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERz
dDogQnJvYWRjYXN0DQo+ID4+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gSW50ZXJuZXQgUHJv
dG9jb2wgVmVyc2lvbiA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+ID4+
IFVzZXIgRGF0YWdyYW0gUHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+ID4+
IEJvb3RzdHJhcCBQcm90b2NvbCAoRGlzY292ZXIpDQo+ID4+DQo+ID4+IE5vLsKgwqDCoMKgIFRp
bWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgRGVzdGluYXRpb24gUHJvdG9jb2wNCj4gTGVuZ3RoDQo+ID4+IEluZm8NCj4gPj4gICDCoMKg
wqDCoCA0NCA0OC4yNTQ0OTUzMDTCoMKgIDAuMC4wLjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIDI1NS4yNTUuMjU1LjI1NSBESENQDQo+ID4+IDM0MsKgwqDCoCBESENQIERpc2NvdmVyIC0g
VHJhbnNhY3Rpb24gSUQgMHg0MjFiYWRlMw0KPiA+Pg0KPiA+PiBGcmFtZSA0NDogMzQyIGJ5dGVz
IG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiA+
PiBvbiBpbnRlcmZhY2UgMA0KPiA+PiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMTox
MSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiA+PiAoZmY6ZmY6ZmY6ZmY6
ZmY6ZmYpDQo+ID4+IEludGVybmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBE
c3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiA+PiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9y
dDogNjgsIERzdCBQb3J0OiA2Nw0KPiA+PiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0K
PiA+Pg0KPiA+PiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291cmNlwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29sDQo+IExlbmd0
aA0KPiA+PiBJbmZvDQo+ID4+ICAgwqDCoMKgwqAgNDkgNTQuMjk5MDUyNzMywqDCoCAwLjAuMC4w
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiA+PiAz
NDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NDIxYmFkZTMNCj4gPj4N
Cj4gPj4gRnJhbWUgNDk6IDM0MiBieXRlcyBvbiB3aXJlICgyNzM2IGJpdHMpLCAzNDIgYnl0ZXMg
Y2FwdHVyZWQgKDI3MzYgYml0cykNCj4gPj4gb24gaW50ZXJmYWNlIDANCj4gPj4gRXRoZXJuZXQg
SUksIFNyYzogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKSwgRHN0OiBCcm9h
ZGNhc3QNCj4gPj4gKGZmOmZmOmZmOmZmOmZmOmZmKQ0KPiA+PiBJbnRlcm5ldCBQcm90b2NvbCBW
ZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gPj4gVXNlciBE
YXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gPj4gQm9vdHN0
cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gPj4NCj4gPj4gTm8uwqDCoMKgwqAgVGltZcKgwqDC
oMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEZXN0
aW5hdGlvbiBQcm90b2NvbA0KPiBMZW5ndGgNCj4gPj4gSW5mbw0KPiA+PiAgIMKgwqDCoMKgIDUx
IDYyLjY3MjAwNzQ4MsKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1
LjI1NS4yNTUuMjU1IERIQ1ANCj4gPj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2Fj
dGlvbiBJRCAweDQyMWJhZGUzDQo+ID4+DQo+ID4+IEZyYW1lIDUxOiAzNDIgYnl0ZXMgb24gd2ly
ZSAoMjczNiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+ID4+IG9uIGlu
dGVyZmFjZSAwDQo+ID4+IEV0aGVybmV0IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4
MDoxMDoxMToxMToxMSksIERzdDogQnJvYWRjYXN0DQo+ID4+IChmZjpmZjpmZjpmZjpmZjpmZikN
Cj4gPj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lvbiA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1
LjI1NS4yNTUuMjU1DQo+ID4+IFVzZXIgRGF0YWdyYW0gUHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwg
RHN0IFBvcnQ6IDY3DQo+ID4+IEJvb3RzdHJhcCBQcm90b2NvbCAoRGlzY292ZXIpDQo+ID4+DQo+
ID4+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wNCj4gTGVuZ3RoDQo+ID4+
IEluZm8NCj4gPj4gICDCoMKgwqDCoCA1MiA3Ny40ODU4OTYyMDLCoMKgIDAuMC4wLjDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1NSBESENQDQo+ID4+IDM0MsKgwqDC
oCBESENQIERpc2NvdmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg0MjFiYWRlMw0KPiA+Pg0KPiA+PiBG
cmFtZSA1MjogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJl
ZCAoMjczNiBiaXRzKQ0KPiA+PiBvbiBpbnRlcmZhY2UgMA0KPiA+PiBFdGhlcm5ldCBJSSwgU3Jj
OiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0K
PiA+PiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+IEludGVybmV0IFByb3RvY29sIFZlcnNpb24g
NCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiA+PiBVc2VyIERhdGFncmFt
IFByb3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQb3J0OiA2Nw0KPiA+PiBCb290c3RyYXAgUHJv
dG9jb2wgKERpc2NvdmVyKQ0KPiA+Pg0KPiA+PiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKg
wqDCoMKgwqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9u
IFByb3RvY29sDQo+IExlbmd0aA0KPiA+PiBJbmZvDQo+ID4+ICAgwqDCoMKgwqAgNTYgODkuODk1
MzA0MTUywqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1
NS4yNTUgREhDUA0KPiA+PiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElE
IDB4NWRmNDdjODQNCj4gPj4NCj4gPj4gRnJhbWUgNTY6IDM0MiBieXRlcyBvbiB3aXJlICgyNzM2
IGJpdHMpLCAzNDIgYnl0ZXMgY2FwdHVyZWQgKDI3MzYgYml0cykNCj4gPj4gb24gaW50ZXJmYWNl
IDANCj4gPj4gRXRoZXJuZXQgSUksIFNyYzogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjEx
OjExOjExKSwgRHN0OiBCcm9hZGNhc3QNCj4gPj4gKGZmOmZmOmZmOmZmOmZmOmZmKQ0KPiA+PiBJ
bnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1
NS4yNTUNCj4gPj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9y
dDogNjcNCj4gPj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gPj4NCj4gPj4gTm8u
wqDCoMKgwqAgVGltZcKgwqDCoMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBEZXN0aW5hdGlvbiBQcm90b2NvbA0KPiBMZW5ndGgNCj4gPj4gSW5mbw0K
PiA+PiAgIMKgwqDCoMKgIDcxIDkzLjgyODgzNzAwOMKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gPj4gMzQywqDCoMKgIERIQ1Ag
RGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDVkZjQ3Yzg0DQo+ID4+DQo+ID4+IEZyYW1lIDcx
OiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVkICgyNzM2
IGJpdHMpDQo+ID4+IG9uIGludGVyZmFjZSAwDQo+ID4+IEV0aGVybmV0IElJLCBTcmM6IENvbW1v
ZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDogQnJvYWRjYXN0DQo+ID4+IChm
ZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lvbiA0LCBTcmM6
IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+ID4+IFVzZXIgRGF0YWdyYW0gUHJvdG9j
b2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+ID4+IEJvb3RzdHJhcCBQcm90b2NvbCAo
RGlzY292ZXIpDQo+ID4+DQo+ID4+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDC
oCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9j
b2wNCj4gTGVuZ3RoDQo+ID4+IEluZm8NCj4gPj4gICDCoMKgwqDCoCA3NCA5Ny45NDg0NTMxNTjC
oMKgIDAuMC4wLjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1NSBE
SENQDQo+ID4+IDM0MsKgwqDCoCBESENQIERpc2NvdmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg1ZGY0
N2M4NA0KPiA+Pg0KPiA+PiBGcmFtZSA3NDogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyks
IDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNiBiaXRzKQ0KPiA+PiBvbiBpbnRlcmZhY2UgMA0KPiA+
PiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEp
LCBEc3Q6IEJyb2FkY2FzdA0KPiA+PiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+IEludGVybmV0
IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4yNTUuMjU1LjI1NQ0K
PiA+PiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQb3J0OiA2Nw0K
PiA+PiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiA+PiAtLS0NCj4gPj4NCj4gPj4g
Tm93LCBvdmVyIG9uIHRoZSBleHRlcm5hbCBMaW51eCBtYWNoaW5lICgxOTIuMTY4LjEuMjEwKSwg
SSBzZXR1cCBhDQo+ID4+IFdpcmVzaGFyayBjYXB0dXJlDQo+ID4+IHdoaWNoIGZpbHRlcmVkIGZv
ciBhbnkgdHJhZmZpYyB0by9mcm9tIHRoZSBNQUMgYWRkcmVzcyBvZiB0aGUNCj4gWDUwMDAvMjAn
cw0KPiA+PiBldGgwLCBpbiB0aGlzIGNhc2UNCj4gPj4gc2hvd24gYXMgQ29tbW9kb3JfMTE6MTE6
MTEgKDAwOjgwOjEwOjExOjExOjExKSBiZWxvdzoNCj4gPj4NCj4gPj4gVGhpcyBleHBvcnQgc2hv
d3Mgb25seSB0aGUgREhDUCB0cmFmZmljIHNlZW4gZnJvbSBvdXRzaWRlIHRoZSBYNTAwMC8yMCwN
Cj4gPj4gYW5kIGFzIHlvdSBjYW4gc2VlLCBhIG1hdGNoaW5nIHNldCBvZiBESENQIHJlcXVlc3Rz
ICpkbyBpbiBmYWN0KiBtYWtlDQo+ID4+IGl0IHRvIHRoZSBvdXRzaWRlIG5ldHdvcmsuDQo+ID4+
DQo+ID4+IC0tLQ0KPiA+PiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291
cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29sDQo+
IExlbmd0aA0KPiA+PiBJbmZvDQo+ID4+ICAgwqDCoMKgwqAgMzkgNS42NzE3NjI1MDnCoMKgwqAg
MC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1AN
Cj4gPj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDY1NWQ5MWU4
DQo+ID4+DQo+ID4+IEZyYW1lIDM5OiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQy
IGJ5dGVzIGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+ID4+IG9uIGludGVyZmFjZSAwDQo+ID4+IEV0
aGVybmV0IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERz
dDogQnJvYWRjYXN0DQo+ID4+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gICDCoMKgwqAgRGVz
dGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+ICAgwqDCoMKgIFNv
dXJjZTogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKQ0KPiA+PiAgIMKgwqDC
oCBUeXBlOiBJUHY0ICgweDA4MDApDQo+ID4+IEludGVybmV0IFByb3RvY29sIFZlcnNpb24gNCwg
U3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiA+PiBVc2VyIERhdGFncmFtIFBy
b3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQb3J0OiA2Nw0KPiA+PiBCb290c3RyYXAgUHJvdG9j
b2wgKERpc2NvdmVyKQ0KPiA+Pg0KPiA+PiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDC
oMKgwqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFBy
b3RvY29sDQo+IExlbmd0aA0KPiA+PiBJbmZvDQo+ID4+ICAgwqDCoMKgwqAgNzMgOS40NTE4OTU0
MDTCoMKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUu
MjU1IERIQ1ANCj4gPj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAw
eDY1NWQ5MWU4DQo+ID4+DQo+ID4+IEZyYW1lIDczOiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBi
aXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVkICgyNzM2IGJpdHMpDQo+ID4+IG9uIGludGVyZmFjZSAw
DQo+ID4+IEV0aGVybmV0IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMTox
MToxMSksIERzdDogQnJvYWRjYXN0DQo+ID4+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gICDC
oMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+ICAg
wqDCoMKgIFNvdXJjZTogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKQ0KPiA+
PiAgIMKgwqDCoCBUeXBlOiBJUHY0ICgweDA4MDApDQo+ID4+IEludGVybmV0IFByb3RvY29sIFZl
cnNpb24gNCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiA+PiBVc2VyIERh
dGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQb3J0OiA2Nw0KPiA+PiBCb290c3Ry
YXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiA+Pg0KPiA+PiBOby7CoMKgwqDCoCBUaW1lwqDCoMKg
wqDCoMKgwqDCoMKgwqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3Rp
bmF0aW9uIFByb3RvY29sDQo+IExlbmd0aA0KPiA+PiBJbmZvDQo+ID4+ICAgwqDCoMKgIDE1NCAx
NC45MTk5NDQ0ODDCoMKgIDAuMC4wLjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4y
NTUuMjU1LjI1NSBESENQDQo+ID4+IDM0MsKgwqDCoCBESENQIERpc2NvdmVyIC0gVHJhbnNhY3Rp
b24gSUQgMHg2NTVkOTFlOA0KPiA+Pg0KPiA+PiBGcmFtZSAxNTQ6IDM0MiBieXRlcyBvbiB3aXJl
ICgyNzM2IGJpdHMpLCAzNDIgYnl0ZXMgY2FwdHVyZWQgKDI3MzYNCj4gYml0cykNCj4gPj4gb24g
aW50ZXJmYWNlIDANCj4gPj4gRXRoZXJuZXQgSUksIFNyYzogQ29tbW9kb3JfMTE6MTE6MTEgKDAw
OjgwOjEwOjExOjExOjExKSwgRHN0OiBCcm9hZGNhc3QNCj4gPj4gKGZmOmZmOmZmOmZmOmZmOmZm
KQ0KPiA+PiAgIMKgwqDCoCBEZXN0aW5hdGlvbjogQnJvYWRjYXN0IChmZjpmZjpmZjpmZjpmZjpm
ZikNCj4gPj4gICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6
MTE6MTEpDQo+ID4+ICAgwqDCoMKgIFR5cGU6IElQdjQgKDB4MDgwMCkNCj4gPj4gSW50ZXJuZXQg
UHJvdG9jb2wgVmVyc2lvbiA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+
ID4+IFVzZXIgRGF0YWdyYW0gUHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+
ID4+IEJvb3RzdHJhcCBQcm90b2NvbCAoRGlzY292ZXIpDQo+ID4+DQo+ID4+IE5vLsKgwqDCoMKg
IFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wNCj4gTGVuZ3RoDQo+ID4+IEluZm8NCj4gPj4gICDC
oMKgwqAgMjY5IDI0LjQ5ODMzNTk5NsKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gPj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIg
LSBUcmFuc2FjdGlvbiBJRCAweDY1NWQ5MWU4DQo+ID4+DQo+ID4+IEZyYW1lIDI2OTogMzQyIGJ5
dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNg0KPiBiaXRz
KQ0KPiA+PiBvbiBpbnRlcmZhY2UgMA0KPiA+PiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8x
MToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiA+PiAoZmY6ZmY6
ZmY6ZmY6ZmY6ZmYpDQo+ID4+ICAgwqDCoMKgIERlc3RpbmF0aW9uOiBCcm9hZGNhc3QgKGZmOmZm
OmZmOmZmOmZmOmZmKQ0KPiA+PiAgIMKgwqDCoCBTb3VyY2U6IENvbW1vZG9yXzExOjExOjExICgw
MDo4MDoxMDoxMToxMToxMSkNCj4gPj4gICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiA+
PiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1
LjI1NS4yNTUNCj4gPj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3Qg
UG9ydDogNjcNCj4gPj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gPj4NCj4gPj4g
Tm8uwqDCoMKgwqAgVGltZcKgwqDCoMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBEZXN0aW5hdGlvbiBQcm90b2NvbA0KPiBMZW5ndGgNCj4gPj4gSW5m
bw0KPiA+PiAgIMKgwqDCoCA2MzAgNDEuOTQ4MDE4NjQ4wqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiA+PiAzNDLCoMKgwqAgREhD
UCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NjU1ZDkxZTgNCj4gPj4NCj4gPj4gRnJhbWUg
NjMwOiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVkICgy
NzM2DQo+IGJpdHMpDQo+ID4+IG9uIGludGVyZmFjZSAwDQo+ID4+IEV0aGVybmV0IElJLCBTcmM6
IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDogQnJvYWRjYXN0DQo+
ID4+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2Fk
Y2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+ICAgwqDCoMKgIFNvdXJjZTogQ29tbW9kb3Jf
MTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKQ0KPiA+PiAgIMKgwqDCoCBUeXBlOiBJUHY0ICgw
eDA4MDApDQo+ID4+IEludGVybmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBE
c3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiA+PiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9y
dDogNjgsIERzdCBQb3J0OiA2Nw0KPiA+PiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0K
PiA+Pg0KPiA+PiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291cmNlwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29sDQo+IExlbmd0
aA0KPiA+PiBJbmZvDQo+ID4+ICAgwqDCoMKgIDcwMSA0OS41OTAyMTEyNjTCoMKgIDAuMC4wLjDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NS4yNTUuMjU1LjI1NSBESENQDQo+ID4+IDM0
MsKgwqDCoCBESENQIERpc2NvdmVyIC0gVHJhbnNhY3Rpb24gSUQgMHg2NTVkOTFlOA0KPiA+Pg0K
PiA+PiBGcmFtZSA3MDE6IDM0MiBieXRlcyBvbiB3aXJlICgyNzM2IGJpdHMpLCAzNDIgYnl0ZXMg
Y2FwdHVyZWQgKDI3MzYNCj4gYml0cykNCj4gPj4gb24gaW50ZXJmYWNlIDANCj4gPj4gRXRoZXJu
ZXQgSUksIFNyYzogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKSwgRHN0OiBC
cm9hZGNhc3QNCj4gPj4gKGZmOmZmOmZmOmZmOmZmOmZmKQ0KPiA+PiAgIMKgwqDCoCBEZXN0aW5h
dGlvbjogQnJvYWRjYXN0IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gICDCoMKgwqAgU291cmNl
OiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpDQo+ID4+ICAgwqDCoMKgIFR5
cGU6IElQdjQgKDB4MDgwMCkNCj4gPj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lvbiA0LCBTcmM6
IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+ID4+IFVzZXIgRGF0YWdyYW0gUHJvdG9j
b2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+ID4+IEJvb3RzdHJhcCBQcm90b2NvbCAo
RGlzY292ZXIpDQo+ID4+DQo+ID4+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDC
oCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9j
b2wNCj4gTGVuZ3RoDQo+ID4+IEluZm8NCj4gPj4gICDCoMKgwqAgNzA2IDUwLjQyOTI2NTkzOMKg
wqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERI
Q1ANCj4gPj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDQyMWJh
ZGUzDQo+ID4+DQo+ID4+IEZyYW1lIDcwNjogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyks
IDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNg0KPiBiaXRzKQ0KPiA+PiBvbiBpbnRlcmZhY2UgMA0K
PiA+PiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6
MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiA+PiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+ICAgwqDC
oMKgIERlc3RpbmF0aW9uOiBCcm9hZGNhc3QgKGZmOmZmOmZmOmZmOmZmOmZmKQ0KPiA+PiAgIMKg
wqDCoCBTb3VyY2U6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSkNCj4gPj4g
ICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiA+PiBJbnRlcm5ldCBQcm90b2NvbCBWZXJz
aW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gPj4gVXNlciBEYXRh
Z3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gPj4gQm9vdHN0cmFw
IFByb3RvY29sIChEaXNjb3ZlcikNCj4gPj4NCj4gPj4gTm8uwqDCoMKgwqAgVGltZcKgwqDCoMKg
wqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEZXN0aW5h
dGlvbiBQcm90b2NvbA0KPiBMZW5ndGgNCj4gPj4gSW5mbw0KPiA+PiAgIMKgwqDCoCA3NDQgNTMu
Nzg4MDM1MzE3wqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1
LjI1NS4yNTUgREhDUA0KPiA+PiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9u
IElEIDB4NDIxYmFkZTMNCj4gPj4NCj4gPj4gRnJhbWUgNzQ0OiAzNDIgYnl0ZXMgb24gd2lyZSAo
MjczNiBiaXRzKSwgMzQyIGJ5dGVzIGNhcHR1cmVkICgyNzM2DQo+IGJpdHMpDQo+ID4+IG9uIGlu
dGVyZmFjZSAwDQo+ID4+IEV0aGVybmV0IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4
MDoxMDoxMToxMToxMSksIERzdDogQnJvYWRjYXN0DQo+ID4+IChmZjpmZjpmZjpmZjpmZjpmZikN
Cj4gPj4gICDCoMKgwqAgRGVzdGluYXRpb246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYp
DQo+ID4+ICAgwqDCoMKgIFNvdXJjZTogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjExOjEx
OjExKQ0KPiA+PiAgIMKgwqDCoCBUeXBlOiBJUHY0ICgweDA4MDApDQo+ID4+IEludGVybmV0IFBy
b3RvY29sIFZlcnNpb24gNCwgU3JjOiAwLjAuMC4wLCBEc3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiA+
PiBVc2VyIERhdGFncmFtIFByb3RvY29sLCBTcmMgUG9ydDogNjgsIERzdCBQb3J0OiA2Nw0KPiA+
PiBCb290c3RyYXAgUHJvdG9jb2wgKERpc2NvdmVyKQ0KPiA+Pg0KPiA+PiBOby7CoMKgwqDCoCBU
aW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAgU291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIERlc3RpbmF0aW9uIFByb3RvY29sDQo+IExlbmd0aA0KPiA+PiBJbmZvDQo+ID4+ICAgwqDC
oMKgIDc5NyA1OS44MjA1Njg2MTTCoMKgIDAuMC4wLjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIDI1NS4yNTUuMjU1LjI1NSBESENQDQo+ID4+IDM0MsKgwqDCoCBESENQIERpc2NvdmVyIC0g
VHJhbnNhY3Rpb24gSUQgMHg0MjFiYWRlMw0KPiA+Pg0KPiA+PiBGcmFtZSA3OTc6IDM0MiBieXRl
cyBvbiB3aXJlICgyNzM2IGJpdHMpLCAzNDIgYnl0ZXMgY2FwdHVyZWQgKDI3MzYNCj4gYml0cykN
Cj4gPj4gb24gaW50ZXJmYWNlIDANCj4gPj4gRXRoZXJuZXQgSUksIFNyYzogQ29tbW9kb3JfMTE6
MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKSwgRHN0OiBCcm9hZGNhc3QNCj4gPj4gKGZmOmZmOmZm
OmZmOmZmOmZmKQ0KPiA+PiAgIMKgwqDCoCBEZXN0aW5hdGlvbjogQnJvYWRjYXN0IChmZjpmZjpm
ZjpmZjpmZjpmZikNCj4gPj4gICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6
ODA6MTA6MTE6MTE6MTEpDQo+ID4+ICAgwqDCoMKgIFR5cGU6IElQdjQgKDB4MDgwMCkNCj4gPj4g
SW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lvbiA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4y
NTUuMjU1DQo+ID4+IFVzZXIgRGF0YWdyYW0gUHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBv
cnQ6IDY3DQo+ID4+IEJvb3RzdHJhcCBQcm90b2NvbCAoRGlzY292ZXIpDQo+ID4+DQo+ID4+IE5v
LsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24gUHJvdG9jb2wNCj4gTGVuZ3RoDQo+ID4+IEluZm8N
Cj4gPj4gICDCoMKgwqAgODUyIDY4LjE3NjgzMzY4NsKgwqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1ANCj4gPj4gMzQywqDCoMKgIERIQ1Ag
RGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDQyMWJhZGUzDQo+ID4+DQo+ID4+IEZyYW1lIDg1
MjogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYgYml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjcz
Ng0KPiBiaXRzKQ0KPiA+PiBvbiBpbnRlcmZhY2UgMA0KPiA+PiBFdGhlcm5ldCBJSSwgU3JjOiBD
b21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiA+
PiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+ICAgwqDCoMKgIERlc3RpbmF0aW9uOiBCcm9hZGNh
c3QgKGZmOmZmOmZmOmZmOmZmOmZmKQ0KPiA+PiAgIMKgwqDCoCBTb3VyY2U6IENvbW1vZG9yXzEx
OjExOjExICgwMDo4MDoxMDoxMToxMToxMSkNCj4gPj4gICDCoMKgwqAgVHlwZTogSVB2NCAoMHgw
ODAwKQ0KPiA+PiBJbnRlcm5ldCBQcm90b2NvbCBWZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0
OiAyNTUuMjU1LjI1NS4yNTUNCj4gPj4gVXNlciBEYXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6
IDY4LCBEc3QgUG9ydDogNjcNCj4gPj4gQm9vdHN0cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4g
Pj4NCj4gPj4gTm8uwqDCoMKgwqAgVGltZcKgwqDCoMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEZXN0aW5hdGlvbiBQcm90b2NvbA0KPiBMZW5ndGgN
Cj4gPj4gSW5mbw0KPiA+PiAgIMKgwqDCoCA5OTAgODIuOTYxMjI0ODk1wqDCoCAwLjAuMC4wwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4yNTUgREhDUA0KPiA+PiAzNDLC
oMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4NDIxYmFkZTMNCj4gPj4NCj4g
Pj4gRnJhbWUgOTkwOiAzNDIgYnl0ZXMgb24gd2lyZSAoMjczNiBiaXRzKSwgMzQyIGJ5dGVzIGNh
cHR1cmVkICgyNzM2DQo+IGJpdHMpDQo+ID4+IG9uIGludGVyZmFjZSAwDQo+ID4+IEV0aGVybmV0
IElJLCBTcmM6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSksIERzdDogQnJv
YWRjYXN0DQo+ID4+IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gICDCoMKgwqAgRGVzdGluYXRp
b246IEJyb2FkY2FzdCAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+ICAgwqDCoMKgIFNvdXJjZTog
Q29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKQ0KPiA+PiAgIMKgwqDCoCBUeXBl
OiBJUHY0ICgweDA4MDApDQo+ID4+IEludGVybmV0IFByb3RvY29sIFZlcnNpb24gNCwgU3JjOiAw
LjAuMC4wLCBEc3Q6IDI1NS4yNTUuMjU1LjI1NQ0KPiA+PiBVc2VyIERhdGFncmFtIFByb3RvY29s
LCBTcmMgUG9ydDogNjgsIERzdCBQb3J0OiA2Nw0KPiA+PiBCb290c3RyYXAgUHJvdG9jb2wgKERp
c2NvdmVyKQ0KPiA+Pg0KPiA+PiBOby7CoMKgwqDCoCBUaW1lwqDCoMKgwqDCoMKgwqDCoMKgwqAg
U291cmNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERlc3RpbmF0aW9uIFByb3RvY29s
DQo+IExlbmd0aA0KPiA+PiBJbmZvDQo+ID4+ICAgwqDCoCAzODI3IDk1LjM0NTk2NDQxOMKgwqAg
MC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1NS4yNTUuMjU1IERIQ1AN
Cj4gPj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlvbiBJRCAweDVkZjQ3Yzg0
DQo+ID4+DQo+ID4+IEZyYW1lIDM4Mjc6IDM0MiBieXRlcyBvbiB3aXJlICgyNzM2IGJpdHMpLCAz
NDIgYnl0ZXMgY2FwdHVyZWQgKDI3MzYNCj4gPj4gYml0cykgb24gaW50ZXJmYWNlIDANCj4gPj4g
RXRoZXJuZXQgSUksIFNyYzogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgwOjEwOjExOjExOjExKSwg
RHN0OiBCcm9hZGNhc3QNCj4gPj4gKGZmOmZmOmZmOmZmOmZmOmZmKQ0KPiA+PiAgIMKgwqDCoCBE
ZXN0aW5hdGlvbjogQnJvYWRjYXN0IChmZjpmZjpmZjpmZjpmZjpmZikNCj4gPj4gICDCoMKgwqAg
U291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6MTEpDQo+ID4+ICAgwqDC
oMKgIFR5cGU6IElQdjQgKDB4MDgwMCkNCj4gPj4gSW50ZXJuZXQgUHJvdG9jb2wgVmVyc2lvbiA0
LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+ID4+IFVzZXIgRGF0YWdyYW0g
UHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+ID4+IEJvb3RzdHJhcCBQcm90
b2NvbCAoRGlzY292ZXIpDQo+ID4+DQo+ID4+IE5vLsKgwqDCoMKgIFRpbWXCoMKgwqDCoMKgwqDC
oMKgwqDCoCBTb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGVzdGluYXRpb24g
UHJvdG9jb2wNCj4gTGVuZ3RoDQo+ID4+IEluZm8NCj4gPj4gICDCoMKgIDM4ODcgOTkuMjcxNjY4
NTcywqDCoCAwLjAuMC4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNTUuMjU1LjI1NS4y
NTUgREhDUA0KPiA+PiAzNDLCoMKgwqAgREhDUCBEaXNjb3ZlciAtIFRyYW5zYWN0aW9uIElEIDB4
NWRmNDdjODQNCj4gPj4NCj4gPj4gRnJhbWUgMzg4NzogMzQyIGJ5dGVzIG9uIHdpcmUgKDI3MzYg
Yml0cyksIDM0MiBieXRlcyBjYXB0dXJlZCAoMjczNg0KPiA+PiBiaXRzKSBvbiBpbnRlcmZhY2Ug
MA0KPiA+PiBFdGhlcm5ldCBJSSwgU3JjOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6
MTE6MTEpLCBEc3Q6IEJyb2FkY2FzdA0KPiA+PiAoZmY6ZmY6ZmY6ZmY6ZmY6ZmYpDQo+ID4+ICAg
wqDCoMKgIERlc3RpbmF0aW9uOiBCcm9hZGNhc3QgKGZmOmZmOmZmOmZmOmZmOmZmKQ0KPiA+PiAg
IMKgwqDCoCBTb3VyY2U6IENvbW1vZG9yXzExOjExOjExICgwMDo4MDoxMDoxMToxMToxMSkNCj4g
Pj4gICDCoMKgwqAgVHlwZTogSVB2NCAoMHgwODAwKQ0KPiA+PiBJbnRlcm5ldCBQcm90b2NvbCBW
ZXJzaW9uIDQsIFNyYzogMC4wLjAuMCwgRHN0OiAyNTUuMjU1LjI1NS4yNTUNCj4gPj4gVXNlciBE
YXRhZ3JhbSBQcm90b2NvbCwgU3JjIFBvcnQ6IDY4LCBEc3QgUG9ydDogNjcNCj4gPj4gQm9vdHN0
cmFwIFByb3RvY29sIChEaXNjb3ZlcikNCj4gPj4NCj4gPj4gTm8uwqDCoMKgwqAgVGltZcKgwqDC
oMKgwqDCoMKgwqDCoMKgIFNvdXJjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEZXN0
aW5hdGlvbiBQcm90b2NvbA0KPiBMZW5ndGgNCj4gPj4gSW5mbw0KPiA+PiAgIMKgwqAgMzk0MyAx
MDMuMzgzMDcyNDI5wqAgMC4wLjAuMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjU1LjI1
NS4yNTUuMjU1IERIQ1ANCj4gPj4gMzQywqDCoMKgIERIQ1AgRGlzY292ZXIgLSBUcmFuc2FjdGlv
biBJRCAweDVkZjQ3Yzg0DQo+ID4+DQo+ID4+IEZyYW1lIDM5NDM6IDM0MiBieXRlcyBvbiB3aXJl
ICgyNzM2IGJpdHMpLCAzNDIgYnl0ZXMgY2FwdHVyZWQgKDI3MzYNCj4gPj4gYml0cykgb24gaW50
ZXJmYWNlIDANCj4gPj4gRXRoZXJuZXQgSUksIFNyYzogQ29tbW9kb3JfMTE6MTE6MTEgKDAwOjgw
OjEwOjExOjExOjExKSwgRHN0OiBCcm9hZGNhc3QNCj4gPj4gKGZmOmZmOmZmOmZmOmZmOmZmKQ0K
PiA+PiAgIMKgwqDCoCBEZXN0aW5hdGlvbjogQnJvYWRjYXN0IChmZjpmZjpmZjpmZjpmZjpmZikN
Cj4gPj4gICDCoMKgwqAgU291cmNlOiBDb21tb2Rvcl8xMToxMToxMSAoMDA6ODA6MTA6MTE6MTE6
MTEpDQo+ID4+ICAgwqDCoMKgIFR5cGU6IElQdjQgKDB4MDgwMCkNCj4gPj4gSW50ZXJuZXQgUHJv
dG9jb2wgVmVyc2lvbiA0LCBTcmM6IDAuMC4wLjAsIERzdDogMjU1LjI1NS4yNTUuMjU1DQo+ID4+
IFVzZXIgRGF0YWdyYW0gUHJvdG9jb2wsIFNyYyBQb3J0OiA2OCwgRHN0IFBvcnQ6IDY3DQo+ID4+
IEJvb3RzdHJhcCBQcm90b2NvbCAoRGlzY292ZXIpDQo+ID4+IC0tLQ0KPiA+Pg0KPiA+PiBUaGUg
b2RkIHRoaW5nIGhlcmUgaXMgdGhhdCB3aGlsZSB0aGUgREhDUCByZXF1ZXN0cyB3ZXJlIGJyb2Fk
Y2FzdCB0bw0KPiB0aGUNCj4gPj4gb3V0c2lkZSBuZXR3b3JrIChjb25maXJtaW5nIHRoYXQgYXQg
bGVhc3QgdGhlIHRyYW5zbWl0IHRvIHRoZSBQSFkgaXMNCj4gPj4gd29ya2luZyksDQo+ID4+IEkg
Y291bGQgc2VlIG5vIHJlc3BvbnNlcyBmcm9tIG15IG5ldHdvcmsncyBESENQIHNlcnZlciB0byBh
bnN3ZXIgdGhlc2UNCj4gPj4gcmVxdWVzdHMuDQo+ID4+DQo+ID4+IEl0IGlzIG5vdCBhIHBoeXNp
Y2FsIG5ldHdvcmtpbmcgb3Igcm91dGluZyBpc3N1ZSwgYXMgSSBhbHdheXMgZ2V0IGENCj4gPj4g
c3VjY2Vzc2Z1bA0KPiA+PiBESENQIHJlc3BvbnNlIHRvIHRoZSBYNTAwMC8yMCB3aGVuIEkgZW5h
YmxlIHRoZSBSZWFsdGVrIDgxNjkgaW50ZXJmYWNlDQo+ID4+IChhbHNvDQo+ID4+IGluc3RhbGxl
ZCBbUENJZSBjYXJkXSBpbiB0aGUgWDUwMDAvMjApLg0KPiA+Pg0KPiA+PiBTaW5jZSBpbml0aWFs
IG91dGdvaW5nIHRyYWZmaWMgKmFwcGVhcnMqIHRvIGJlIHdvcmtpbmcgZnJvbSB0aGUgRFBBQQ0K
PiA+PiBFdGhlcm5ldA0KPiA+PiBvbiB0aGUgWDUwMDAvMjAsIGlzIGl0IHBvc3NpYmxlIHdlIGFy
ZSBtaXNzaW5nIGFuIGludGVycnVwdCBtYXBwaW5nDQo+IGZyb20NCj4gPj4gdGhlDQo+ID4+IEZy
YW1lIE1hbmFnZXIgdG8gY2F0Y2ggdGhlIHJlY2VpdmVkIGRhdGE/DQo+ID4+DQo+ID4+IEFueSBo
ZWxwIHdvdWxkIGJlIGFwcHJlY2lhdGVkLiBUaGFua3MuDQo+ID4+DQo+ID4+IC0tDQo+ID4+IEJl
c3QgUmVnYXJkcywNCj4gPj4NCj4gPj4gSmFtaWUgS3J1ZWdlcg0KPiA+PiBCSVRieUJJVCBTb2Z0
d2FyZSBHcm91cCBMTEMNCg0K

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: DPAA Ethernet problems with mainstream Linux kernels
  2018-01-15 10:44       ` Madalin-cristian Bucur
@ 2018-01-15 22:39         ` Darren Stevens
  -1 siblings, 0 replies; 15+ messages in thread
From: Darren Stevens @ 2018-01-15 22:39 UTC (permalink / raw)
  To: Madalin-cristian Bucur; +Cc: Jamie Krueger, linuxppc-dev, netdev

Hello Madalin-cristian

On 15/01/2018, Madalin-cristian Bucur wrote:
>> > The device tree that you mention, cyrus_p5020.eth.dts is not found in
>> > the Linux kernel sources. The cyrus_p5020.dts file from the fsl ppc
>> > device tree folder does not include the PHY information for the DPAA
>> > interfaces. The problems that you experience may be caused by some
>> > issues with the PHY configuration (i.e. internal delay).
>> The cyrus_p5020.eth.dts is a modified version of the cyrus_p5020.dts,
>> which of course was based off the original p5020ds.dts file. As you
>> noted, the current cyrus_p5020.dts file is incomplete, and does not
>> map the Ethernet connections properly.

This is because the current linux kernel version of cyrus_p5020.dts includes 'p5020si-pre.dtsi' and 'p5020si-post.dtsi' include files, which orginally gave us working ethernet (when we used the SDK kernel) However at some point you moved the ethernet aliases from the board dts file to the p5020si-pre.dtsi file breaking the linkages for our board.

cyrus-pre.dtsi is simply p5020si-pre.dtsi with only the correct aliases in.

>> ** I have attached both the cyrus_p5020.eth.dts and cyrus-pre.dtsi
>>       files with this email for comparison. Please let me know if you see
>>       any corrections that should be made to either file.
>
> At a first glance they look fine to me.

That's good to know.

>> I have started testing along that line, using Wireshark to view the
>> traffic on the X5000/20 itself, and from another machine connected
>> on the same subnet. So far (as indicated by some details of in my
>> initial email), I can see outgoing broadcast requests (for DHCP)
>> being sent out from the X5000/20, and these requests are correctly
>> constructed and visible outside the X5000/20.
>> 
>> However, no responses to the DHCP broadcasts appear to reach
>> to X5000/20's DPAA Ethernet. I will need to setup some further
>> tests to determine if the DHCP server saw the requests and responded
>> to them. (I assume the DHCP server is getting them, and responding,
>> as I can always get a successful DHCP response to the X5000/20
>> when using an add-on Ethernet PICe card on the same subnet).

This matches what I see, the interface I have connected to the network shows an increasing number of transmitted packets, but no received ones.

Jamie also noticed the following error in dmesg (right after the ethernet port becomes active)

[    4.112165] fsl_dpa dpaa-ethernet.0 eth0: Probed interface eth0
[    4.116616] fsl_dpa dpaa-ethernet.1 eth1: Probed interface eth1
[ ... ]
[  106.501055] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[  106.570944] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[  106.605044] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  106.674918] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  108.702771] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  109.032798] fsl-pamu: pamu_av_isr: access violation interrupt
[  109.032806] fsl-pamu: pamu_av_isr: POES1=00000000
[  109.032808] fsl-pamu: pamu_av_isr: POES2=00000000
[  109.032809] fsl-pamu: pamu_av_isr: AVS1=002d0081
[  109.032811] fsl-pamu: pamu_av_isr: AVS2=00000081
[  109.032813] fsl-pamu: pamu_av_isr: AVA=00000001f1328000
[  109.032815] fsl-pamu: pamu_av_isr: UDAD=002d0001
[  109.032817] fsl-pamu: pamu_av_isr: POEA=0000000000000000

I haven't seen this anywhere else, and wondered if it is relevant.

Regards
Darren

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: DPAA Ethernet problems with mainstream Linux kernels
@ 2018-01-15 22:39         ` Darren Stevens
  0 siblings, 0 replies; 15+ messages in thread
From: Darren Stevens @ 2018-01-15 22:39 UTC (permalink / raw)
  To: Madalin-cristian Bucur; +Cc: Jamie Krueger, linuxppc-dev, netdev

Hello Madalin-cristian

On 15/01/2018, Madalin-cristian Bucur wrote:
>> > The device tree that you mention, cyrus_p5020.eth.dts is not found in
>> > the Linux kernel sources. The cyrus_p5020.dts file from the fsl ppc
>> > device tree folder does not include the PHY information for the DPAA
>> > interfaces. The problems that you experience may be caused by some
>> > issues with the PHY configuration (i.e. internal delay).
>> The cyrus_p5020.eth.dts is a modified version of the cyrus_p5020.dts,
>> which of course was based off the original p5020ds.dts file. As you
>> noted, the current cyrus_p5020.dts file is incomplete, and does not
>> map the Ethernet connections properly.

This is because the current linux kernel version of cyrus_p5020.dts includ=
es 'p5020si-pre.dtsi' and 'p5020si-post.dtsi' include files, which orginal=
ly gave us working ethernet (when we used the SDK kernel) However at some =
point you moved the ethernet aliases from the board dts file to the p5020s=
i-pre.dtsi file breaking the linkages for our board.

cyrus-pre.dtsi is simply p5020si-pre.dtsi with only the correct aliases in=
.

>> ** I have attached both the cyrus_p5020.eth.dts and cyrus-pre.dtsi
>>  =A0=A0=A0=A0 files with this email for comparison. Please let me know =
if you see
>>  =A0=A0=A0=A0 any corrections that should be made to either file.
>
> At a first glance they look fine to me.

That's good to know.

>> I have started testing along that line, using Wireshark to view the
>> traffic on the X5000/20 itself, and from another machine connected
>> on the same subnet. So far (as indicated by some details of in my
>> initial email), I can see outgoing broadcast requests (for DHCP)
>> being sent out from the X5000/20, and these requests are correctly
>> constructed and visible outside the X5000/20.
>> =

>> However, no responses to the DHCP broadcasts appear to reach
>> to X5000/20's DPAA Ethernet. I will need to setup some further
>> tests to determine if the DHCP server saw the requests and responded
>> to them. (I assume the DHCP server is getting them, and responding,
>> as I can always get a successful DHCP response to the X5000/20
>> when using an add-on Ethernet PICe card on the same subnet).

This matches what I see, the interface I have connected to the network sho=
ws an increasing number of transmitted packets, but no received ones.

Jamie also noticed the following error in dmesg (right after the ethernet =
port becomes active)

[    4.112165] fsl_dpa dpaa-ethernet.0 eth0: Probed interface eth0
[    4.116616] fsl_dpa dpaa-ethernet.1 eth1: Probed interface eth1
[ ... ]
[  106.501055] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[  106.570944] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[  106.605044] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  106.674918] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  108.702771] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  109.032798] fsl-pamu: pamu_av_isr: access violation interrupt
[  109.032806] fsl-pamu: pamu_av_isr: POES1=3D00000000
[  109.032808] fsl-pamu: pamu_av_isr: POES2=3D00000000
[  109.032809] fsl-pamu: pamu_av_isr: AVS1=3D002d0081
[  109.032811] fsl-pamu: pamu_av_isr: AVS2=3D00000081
[  109.032813] fsl-pamu: pamu_av_isr: AVA=3D00000001f1328000
[  109.032815] fsl-pamu: pamu_av_isr: UDAD=3D002d0001
[  109.032817] fsl-pamu: pamu_av_isr: POEA=3D0000000000000000

I haven't seen this anywhere else, and wondered if it is relevant.

Regards
Darren

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: DPAA Ethernet problems with mainstream Linux kernels
  2018-01-15 22:39         ` Darren Stevens
@ 2018-01-16 17:33           ` Madalin-cristian Bucur
  -1 siblings, 0 replies; 15+ messages in thread
From: Madalin-cristian Bucur @ 2018-01-16 17:33 UTC (permalink / raw)
  To: Darren Stevens; +Cc: Jamie Krueger, linuxppc-dev, netdev

> -----Original Message-----
> From: Darren Stevens [mailto:darren@stevens-zone.net]
> Sent: Tuesday, January 16, 2018 12:40 AM
> To: Madalin-cristian Bucur <madalin.bucur@nxp.com>
> Cc: Jamie Krueger <jamie@bitbybitsoftwaregroup.com>; linuxppc-
> dev@lists.ozlabs.org; netdev@vger.kernel.org
> Subject: Re: DPAA Ethernet problems with mainstream Linux kernels
> 
> Hello Madalin-cristian
> 
> On 15/01/2018, Madalin-cristian Bucur wrote:
> >> > The device tree that you mention, cyrus_p5020.eth.dts is not found in
> >> > the Linux kernel sources. The cyrus_p5020.dts file from the fsl ppc
> >> > device tree folder does not include the PHY information for the DPAA
> >> > interfaces. The problems that you experience may be caused by some
> >> > issues with the PHY configuration (i.e. internal delay).
> >> The cyrus_p5020.eth.dts is a modified version of the cyrus_p5020.dts,
> >> which of course was based off the original p5020ds.dts file. As you
> >> noted, the current cyrus_p5020.dts file is incomplete, and does not
> >> map the Ethernet connections properly.
> 
> This is because the current linux kernel version of cyrus_p5020.dts
> includes 'p5020si-pre.dtsi' and 'p5020si-post.dtsi' include files, which
> orginally gave us working ethernet (when we used the SDK kernel) However
> at some point you moved the ethernet aliases from the board dts file to
> the p5020si-pre.dtsi file breaking the linkages for our board.
> 
> cyrus-pre.dtsi is simply p5020si-pre.dtsi with only the correct aliases
> in.
> 
> >> ** I have attached both the cyrus_p5020.eth.dts and cyrus-pre.dtsi
> >>       files with this email for comparison. Please let me know if you
> see
> >>       any corrections that should be made to either file.
> >
> > At a first glance they look fine to me.
> 
> That's good to know.
> 
> >> I have started testing along that line, using Wireshark to view the
> >> traffic on the X5000/20 itself, and from another machine connected
> >> on the same subnet. So far (as indicated by some details of in my
> >> initial email), I can see outgoing broadcast requests (for DHCP)
> >> being sent out from the X5000/20, and these requests are correctly
> >> constructed and visible outside the X5000/20.
> >>
> >> However, no responses to the DHCP broadcasts appear to reach
> >> to X5000/20's DPAA Ethernet. I will need to setup some further
> >> tests to determine if the DHCP server saw the requests and responded
> >> to them. (I assume the DHCP server is getting them, and responding,
> >> as I can always get a successful DHCP response to the X5000/20
> >> when using an add-on Ethernet PICe card on the same subnet).
> 
> This matches what I see, the interface I have connected to the network
> shows an increasing number of transmitted packets, but no received ones.
> 
> Jamie also noticed the following error in dmesg (right after the ethernet
> port becomes active)
> 
> [    4.112165] fsl_dpa dpaa-ethernet.0 eth0: Probed interface eth0
> [    4.116616] fsl_dpa dpaa-ethernet.1 eth1: Probed interface eth1
> [ ... ]
> [  106.501055] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
> [  106.570944] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
> [  106.605044] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> [  106.674918] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> [  108.702771] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> [  109.032798] fsl-pamu: pamu_av_isr: access violation interrupt
> [  109.032806] fsl-pamu: pamu_av_isr: POES1=00000000
> [  109.032808] fsl-pamu: pamu_av_isr: POES2=00000000
> [  109.032809] fsl-pamu: pamu_av_isr: AVS1=002d0081
> [  109.032811] fsl-pamu: pamu_av_isr: AVS2=00000081
> [  109.032813] fsl-pamu: pamu_av_isr: AVA=00000001f1328000
> [  109.032815] fsl-pamu: pamu_av_isr: UDAD=002d0001
> [  109.032817] fsl-pamu: pamu_av_isr: POEA=0000000000000000
> 
> I haven't seen this anywhere else, and wondered if it is relevant.
> 
> Regards
> Darren

The PAMU related errors may be relevant to the issue, if you have incorrect
settings you may have no traffic passing through. The PAMU configuration
should be made by the bootloader. Can you try to disable CONFIG_FSL_PAMU?

Madalin

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: DPAA Ethernet problems with mainstream Linux kernels
@ 2018-01-16 17:33           ` Madalin-cristian Bucur
  0 siblings, 0 replies; 15+ messages in thread
From: Madalin-cristian Bucur @ 2018-01-16 17:33 UTC (permalink / raw)
  To: Darren Stevens; +Cc: Jamie Krueger, linuxppc-dev, netdev

> -----Original Message-----
> From: Darren Stevens [mailto:darren@stevens-zone.net]
> Sent: Tuesday, January 16, 2018 12:40 AM
> To: Madalin-cristian Bucur <madalin.bucur@nxp.com>
> Cc: Jamie Krueger <jamie@bitbybitsoftwaregroup.com>; linuxppc-
> dev@lists.ozlabs.org; netdev@vger.kernel.org
> Subject: Re: DPAA Ethernet problems with mainstream Linux kernels
>=20
> Hello Madalin-cristian
>=20
> On 15/01/2018, Madalin-cristian Bucur wrote:
> >> > The device tree that you mention, cyrus_p5020.eth.dts is not found i=
n
> >> > the Linux kernel sources. The cyrus_p5020.dts file from the fsl ppc
> >> > device tree folder does not include the PHY information for the DPAA
> >> > interfaces. The problems that you experience may be caused by some
> >> > issues with the PHY configuration (i.e. internal delay).
> >> The cyrus_p5020.eth.dts is a modified version of the cyrus_p5020.dts,
> >> which of course was based off the original p5020ds.dts file. As you
> >> noted, the current cyrus_p5020.dts file is incomplete, and does not
> >> map the Ethernet connections properly.
>=20
> This is because the current linux kernel version of cyrus_p5020.dts
> includes 'p5020si-pre.dtsi' and 'p5020si-post.dtsi' include files, which
> orginally gave us working ethernet (when we used the SDK kernel) However
> at some point you moved the ethernet aliases from the board dts file to
> the p5020si-pre.dtsi file breaking the linkages for our board.
>=20
> cyrus-pre.dtsi is simply p5020si-pre.dtsi with only the correct aliases
> in.
>=20
> >> ** I have attached both the cyrus_p5020.eth.dts and cyrus-pre.dtsi
> >>  =A0=A0=A0=A0 files with this email for comparison. Please let me know=
 if you
> see
> >>  =A0=A0=A0=A0 any corrections that should be made to either file.
> >
> > At a first glance they look fine to me.
>=20
> That's good to know.
>=20
> >> I have started testing along that line, using Wireshark to view the
> >> traffic on the X5000/20 itself, and from another machine connected
> >> on the same subnet. So far (as indicated by some details of in my
> >> initial email), I can see outgoing broadcast requests (for DHCP)
> >> being sent out from the X5000/20, and these requests are correctly
> >> constructed and visible outside the X5000/20.
> >>
> >> However, no responses to the DHCP broadcasts appear to reach
> >> to X5000/20's DPAA Ethernet. I will need to setup some further
> >> tests to determine if the DHCP server saw the requests and responded
> >> to them. (I assume the DHCP server is getting them, and responding,
> >> as I can always get a successful DHCP response to the X5000/20
> >> when using an add-on Ethernet PICe card on the same subnet).
>=20
> This matches what I see, the interface I have connected to the network
> shows an increasing number of transmitted packets, but no received ones.
>=20
> Jamie also noticed the following error in dmesg (right after the ethernet
> port becomes active)
>=20
> [    4.112165] fsl_dpa dpaa-ethernet.0 eth0: Probed interface eth0
> [    4.116616] fsl_dpa dpaa-ethernet.1 eth1: Probed interface eth1
> [ ... ]
> [  106.501055] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
> [  106.570944] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
> [  106.605044] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> [  106.674918] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> [  108.702771] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> [  109.032798] fsl-pamu: pamu_av_isr: access violation interrupt
> [  109.032806] fsl-pamu: pamu_av_isr: POES1=3D00000000
> [  109.032808] fsl-pamu: pamu_av_isr: POES2=3D00000000
> [  109.032809] fsl-pamu: pamu_av_isr: AVS1=3D002d0081
> [  109.032811] fsl-pamu: pamu_av_isr: AVS2=3D00000081
> [  109.032813] fsl-pamu: pamu_av_isr: AVA=3D00000001f1328000
> [  109.032815] fsl-pamu: pamu_av_isr: UDAD=3D002d0001
> [  109.032817] fsl-pamu: pamu_av_isr: POEA=3D0000000000000000
>=20
> I haven't seen this anywhere else, and wondered if it is relevant.
>=20
> Regards
> Darren

The PAMU related errors may be relevant to the issue, if you have incorrect
settings you may have no traffic passing through. The PAMU configuration
should be made by the bootloader. Can you try to disable CONFIG_FSL_PAMU?

Madalin

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: DPAA Ethernet problems with mainstream Linux kernels
  2018-01-16 17:33           ` Madalin-cristian Bucur
  (?)
@ 2018-01-16 20:42           ` Christian Zigotzky
  -1 siblings, 0 replies; 15+ messages in thread
From: Christian Zigotzky @ 2018-01-16 20:42 UTC (permalink / raw)
  To: Madalin-cristian Bucur, Darren Stevens, Jamie Krueger,
	linuxppc-dev, netdev

Hi All,

I compiled the RC8 of kernel 4.15 for the X5000 without PAMU support today.

Download: http://www.xenosoft.de/uImage_without_pamu.tar.gz

Please test it on your AmigaOne X5000.

Thanks,
Christian


On 16 January 2018 at 6:33PM, Madalin-cristian Bucur wrote:
>> The PAMU related errors may be relevant to the issue, if you have incorrect
>> settings you may have no traffic passing through. The PAMU configuration
>> should be made by the bootloader. Can you try to disable CONFIG_FSL_PAMU?
>>
>> Madalin
>>
>>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: DPAA Ethernet problems with mainstream Linux kernels
  2018-01-16 17:33           ` Madalin-cristian Bucur
  (?)
  (?)
@ 2018-01-18  1:59           ` Jamie Krueger
  2018-01-18  7:52               ` Christian Zigotzky
  -1 siblings, 1 reply; 15+ messages in thread
From: Jamie Krueger @ 2018-01-18  1:59 UTC (permalink / raw)
  To: Madalin-cristian Bucur, Darren Stevens; +Cc: linuxppc-dev, netdev

[-- Attachment #1: Type: text/plain, Size: 5707 bytes --]

Hi Madalin,

On 01/16/2018 11:33 AM, Madalin-cristian Bucur wrote:
>> -----Original Message-----
>> From: Darren Stevens [mailto:darren@stevens-zone.net]
>> Sent: Tuesday, January 16, 2018 12:40 AM
>> To: Madalin-cristian Bucur <madalin.bucur@nxp.com>
>> Cc: Jamie Krueger <jamie@bitbybitsoftwaregroup.com>; linuxppc-
>> dev@lists.ozlabs.org; netdev@vger.kernel.org
>> Subject: Re: DPAA Ethernet problems with mainstream Linux kernels
>>
>> Hello Madalin-cristian
>>
>> On 15/01/2018, Madalin-cristian Bucur wrote:
>>>>> The device tree that you mention, cyrus_p5020.eth.dts is not found in
>>>>> the Linux kernel sources. The cyrus_p5020.dts file from the fsl ppc
>>>>> device tree folder does not include the PHY information for the DPAA
>>>>> interfaces. The problems that you experience may be caused by some
>>>>> issues with the PHY configuration (i.e. internal delay).
>>>> The cyrus_p5020.eth.dts is a modified version of the cyrus_p5020.dts,
>>>> which of course was based off the original p5020ds.dts file. As you
>>>> noted, the current cyrus_p5020.dts file is incomplete, and does not
>>>> map the Ethernet connections properly.
>> This is because the current linux kernel version of cyrus_p5020.dts
>> includes 'p5020si-pre.dtsi' and 'p5020si-post.dtsi' include files, which
>> orginally gave us working ethernet (when we used the SDK kernel) However
>> at some point you moved the ethernet aliases from the board dts file to
>> the p5020si-pre.dtsi file breaking the linkages for our board.
>>
>> cyrus-pre.dtsi is simply p5020si-pre.dtsi with only the correct aliases
>> in.
>>
>>>> ** I have attached both the cyrus_p5020.eth.dts and cyrus-pre.dtsi
>>>>        files with this email for comparison. Please let me know if you
>> see
>>>>        any corrections that should be made to either file.
>>> At a first glance they look fine to me.
>> That's good to know.
>>
>>>> I have started testing along that line, using Wireshark to view the
>>>> traffic on the X5000/20 itself, and from another machine connected
>>>> on the same subnet. So far (as indicated by some details of in my
>>>> initial email), I can see outgoing broadcast requests (for DHCP)
>>>> being sent out from the X5000/20, and these requests are correctly
>>>> constructed and visible outside the X5000/20.
>>>>
>>>> However, no responses to the DHCP broadcasts appear to reach
>>>> to X5000/20's DPAA Ethernet. I will need to setup some further
>>>> tests to determine if the DHCP server saw the requests and responded
>>>> to them. (I assume the DHCP server is getting them, and responding,
>>>> as I can always get a successful DHCP response to the X5000/20
>>>> when using an add-on Ethernet PICe card on the same subnet).
>> This matches what I see, the interface I have connected to the network
>> shows an increasing number of transmitted packets, but no received ones.
>>
>> Jamie also noticed the following error in dmesg (right after the ethernet
>> port becomes active)
>>
>> [    4.112165] fsl_dpa dpaa-ethernet.0 eth0: Probed interface eth0
>> [    4.116616] fsl_dpa dpaa-ethernet.1 eth1: Probed interface eth1
>> [ ... ]
>> [  106.501055] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
>> [  106.570944] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
>> [  106.605044] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
>> [  106.674918] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
>> [  108.702771] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
>> [  109.032798] fsl-pamu: pamu_av_isr: access violation interrupt
>> [  109.032806] fsl-pamu: pamu_av_isr: POES1=00000000
>> [  109.032808] fsl-pamu: pamu_av_isr: POES2=00000000
>> [  109.032809] fsl-pamu: pamu_av_isr: AVS1=002d0081
>> [  109.032811] fsl-pamu: pamu_av_isr: AVS2=00000081
>> [  109.032813] fsl-pamu: pamu_av_isr: AVA=00000001f1328000
>> [  109.032815] fsl-pamu: pamu_av_isr: UDAD=002d0001
>> [  109.032817] fsl-pamu: pamu_av_isr: POEA=0000000000000000
>>
>> I haven't seen this anywhere else, and wondered if it is relevant.
>>
>> Regards
>> Darren
> The PAMU related errors may be relevant to the issue, if you have incorrect
> settings you may have no traffic passing through. The PAMU configuration
> should be made by the bootloader. Can you try to disable CONFIG_FSL_PAMU?
>
> Madalin
>

Here are some results from testing on the X5000/20 with 4.15.0-rc8
(w/CONFIG_FSL_PAMU disabled):

In my tests I can now get the interface to obtain an IP Address via DHCP,
at least *part* of the time that is.

Here is a link to a screenshot of a Wireshark capture which shows
a successful DHCP request/response for the X5000/20, followed by some
failed ping attempts.

(This traffic was captured on an external machine on the same subnet, 
and not from the X5000/20 itself)
http://bitbybitsoftwaregroup.com/share/X5000-DHCP-Answered-Wireshark.png

Additionally, here is a link to the export of the packet data shown in 
the above image:
http://bitbybitsoftwaregroup.com/share/Wireshark-X5000-DHCP-Success.html

As you can see by this example, even when the interface does obtain an 
IP address via
DHCP (about half the time), subsequent traffic still fails to receive 
responses.

In this example, I attempt to ping the gateway (192.168.1.1), and one or 
two other
local addresses, and nothing pings back (even when trying Skateman's 
suggestion
of expanding the buffers for the interface -

"A workaround to keep the nic alive a bit longer.... is the following 
command
ip link set eth0 qlen 10000"

For reference:

I have attached the Kernel config that the version I tested was built with.
Also, I have attached the dmesg output I am currently seeing.

-- 
Best Regards,

Jamie Krueger
BITbyBIT Software Group LLC


[-- Attachment #2: proc_config-4.15.0-rc8-NO_PAMU.txt --]
[-- Type: text/plain, Size: 136814 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/powerpc 4.15.0-rc8 Kernel Configuration
#
CONFIG_PPC64=y

#
# Processor support
#
# CONFIG_PPC_BOOK3S_64 is not set
CONFIG_PPC_BOOK3E_64=y
# CONFIG_GENERIC_CPU is not set
CONFIG_E5500_CPU=y
# CONFIG_E6500_CPU is not set
CONFIG_PPC_BOOK3E=y
CONFIG_E500=y
CONFIG_PPC_E500MC=y
CONFIG_PPC_FPU=y
CONFIG_FSL_EMB_PERFMON=y
CONFIG_FSL_EMB_PERF_EVENT=y
CONFIG_FSL_EMB_PERF_EVENT_E500=y
CONFIG_BOOKE=y
CONFIG_PPC_FSL_BOOK3E=y
CONFIG_PTE_64BIT=y
CONFIG_PHYS_64BIT=y
# CONFIG_ALTIVEC is not set
CONFIG_PPC_MMU_NOHASH=y
CONFIG_PPC_BOOK3E_MMU=y
# CONFIG_PPC_MM_SLICES is not set
# CONFIG_FORCE_SMP is not set
CONFIG_SMP=y
CONFIG_NR_CPUS=4
CONFIG_PPC_DOORBELL=y
CONFIG_VDSO32=y
CONFIG_CPU_BIG_ENDIAN=y
CONFIG_64BIT=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_BITS_MIN=18
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NR_IRQS=512
CONFIG_NMI_IPI=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK=y
CONFIG_PPC=y
# CONFIG_GENERIC_CSUM is not set
CONFIG_EARLY_PRINTK=y
CONFIG_PANIC_TIMEOUT=180
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_UDBG_16550=y
# CONFIG_GENERIC_TBSYNC is not set
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_EPAPR_BOOT is not set
CONFIG_DEFAULT_UIMAGE=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
# CONFIG_PPC_DCR_NATIVE is not set
# CONFIG_PPC_DCR_MMIO is not set
# CONFIG_PPC_OF_PLATFORM_PCI is not set
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_PPC_ADV_DEBUG_REGS=y
CONFIG_PPC_ADV_DEBUG_IACS=2
CONFIG_PPC_ADV_DEBUG_DACS=2
CONFIG_PPC_ADV_DEBUG_DVCS=0
CONFIG_ZONE_DMA32=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE="powerpc-linux-gnu-"
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION="_A-EON_A1-X5000"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_KERNEL_GZIP=y
CONFIG_DEFAULT_HOSTNAME="AmigaOneX5000"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_USELIB=y
# CONFIG_AUDIT is not set
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_IRQ_DOMAIN=y
CONFIG_GENERIC_MSI_IRQ=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_ARCH_HAS_TICK_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_CPU_ISOLATION is not set

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_SRCU=y
CONFIG_TREE_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
CONFIG_CGROUPS=y
# CONFIG_MEMCG is not set
# CONFIG_BLK_CGROUP is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_CGROUP_PIDS is not set
# CONFIG_CGROUP_RDMA is not set
# CONFIG_CGROUP_FREEZER is not set
# CONFIG_CPUSETS is not set
# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_CGROUP_PERF is not set
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_SOCK_CGROUP_DATA is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_BPF=y
CONFIG_EXPERT=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_PRINTK_NMI=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set
CONFIG_KALLSYMS_BASE_RELATIVE=y
# CONFIG_BPF_SYSCALL is not set
# CONFIG_USERFAULTFD is not set
CONFIG_EMBEDDED=y
CONFIG_HAVE_PERF_EVENTS=y
# CONFIG_PC104 is not set

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SYSTEM_DATA_VERIFICATION=y
# CONFIG_PROFILING is not set
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
# CONFIG_UPROBES is not set
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_HAVE_NMI=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_RCU_TABLE_FREE=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_WEAK_RELEASE_ACQUIRE=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_GCC_PLUGINS=y
# CONFIG_GCC_PLUGINS is not set
# CONFIG_CC_STACKPROTECTOR is not set
CONFIG_THIN_ARCHIVES=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_ARCH_MMAP_RND_BITS=18
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
# CONFIG_HAVE_ARCH_HASH is not set
# CONFIG_ISA_BUS_API is not set
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND=y
CONFIG_COMPAT_OLD_SIGACTION=y
# CONFIG_CPU_NO_EFFICIENT_FFS is not set
# CONFIG_HAVE_ARCH_VMAP_STACK is not set
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
# CONFIG_ARCH_HAS_STRICT_KERNEL_RWX is not set
# CONFIG_ARCH_HAS_STRICT_MODULE_RWX is not set
# CONFIG_REFCOUNT_FULL is not set

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLK_SCSI_REQUEST=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
# CONFIG_BLK_DEV_ZONED is not set
# CONFIG_BLK_CMDLINE_PARSER is not set
# CONFIG_BLK_WBT is not set
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_SED_OPAL is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_AIX_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
CONFIG_BLOCK_COMPAT=y
CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
# CONFIG_IOSCHED_BFQ is not set
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_ASN1=y
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
CONFIG_INLINE_READ_UNLOCK=y
CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
# CONFIG_FREEZER is not set
CONFIG_PPC_MSI_BITMAP=y
# CONFIG_PPC_XICS is not set
# CONFIG_PPC_ICP_NATIVE is not set
# CONFIG_PPC_ICP_HV is not set
# CONFIG_PPC_ICS_RTAS is not set
# CONFIG_PPC_XIVE is not set
# CONFIG_PPC_XIVE_SPAPR is not set
# CONFIG_GE_FPGA is not set
CONFIG_FSL_CORENET_RCPM=y

#
# Platform support
#
# CONFIG_PPC_CELL is not set
# CONFIG_PPC_CELL_NATIVE is not set
# CONFIG_PQ2ADS is not set
CONFIG_FSL_SOC_BOOKE=y
# CONFIG_PPC_QEMU_E500 is not set
CONFIG_CORENET_GENERIC=y
CONFIG_KVM_GUEST=y
CONFIG_EPAPR_PARAVIRT=y
# CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
CONFIG_PPC_SMP_MUXED_IPI=y
# CONFIG_IPIC is not set
CONFIG_MPIC=y
CONFIG_MPIC_TIMER=y
# CONFIG_FSL_MPIC_TIMER_WAKEUP is not set
CONFIG_PPC_EPAPR_HV_PIC=y
# CONFIG_MPIC_WEIRD is not set
CONFIG_MPIC_MSGR=y
# CONFIG_PPC_I8259 is not set
# CONFIG_U3_DART is not set
# CONFIG_PPC_RTAS is not set
# CONFIG_MMIO_NVRAM is not set
# CONFIG_MPIC_U3_HT_IRQS is not set
# CONFIG_PPC_MPC106 is not set
# CONFIG_PPC_970_NAP is not set
# CONFIG_PPC_P7_NAP is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set

#
# CPUIdle driver
#

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y

#
# POWERPC CPU Idle Drivers
#
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
# CONFIG_FSL_ULI1575 is not set
# CONFIG_GEN_RTC is not set
# CONFIG_SIMPLE_GPIO is not set

#
# Kernel options
#
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
CONFIG_MATH_EMULATION=y
CONFIG_MATH_EMULATION_FULL=y
# CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED is not set
# CONFIG_LD_HEAD_STUB_CATCH is not set
CONFIG_IOMMU_HELPER=y
CONFIG_SWIOTLB=y
CONFIG_HOTPLUG_CPU=y
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_KEXEC=y
# CONFIG_KEXEC_FILE is not set
# CONFIG_RELOCATABLE is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SYS_SUPPORTS_HUGETLBFS=y
CONFIG_ILLEGAL_POINTER_VALUE=0x5deadbeef0000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_HAVE_GENERIC_GUP=y
CONFIG_NO_BOOTMEM=y
CONFIG_MEMORY_ISOLATION=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_BOUNCE=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_ARCH_WANTS_THP_SWAP is not set
CONFIG_CLEANCACHE=y
CONFIG_FRONTSWAP=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUG is not set
# CONFIG_CMA_DEBUGFS is not set
CONFIG_CMA_AREAS=7
CONFIG_ZSWAP=y
CONFIG_ZPOOL=y
CONFIG_ZBUD=y
# CONFIG_Z3FOLD is not set
CONFIG_ZSMALLOC=y
CONFIG_PGTABLE_MAPPING=y
CONFIG_ZSMALLOC_STAT=y
CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_FRAME_VECTOR=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_BENCHMARK is not set
CONFIG_PPC_4K_PAGES=y
CONFIG_THREAD_SHIFT=14
CONFIG_FORCE_MAX_ZONEORDER=13
# CONFIG_PPC_COPRO_BASE is not set
# CONFIG_SCHED_SMT is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=ttyS0,115200 console=tty0 mem=3500M"
# CONFIG_CMDLINE_FORCE is not set
CONFIG_EXTRA_TARGETS=""
# CONFIG_HIBERNATION is not set
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_SECCOMP=y
CONFIG_ISA_DMA_API=y

#
# Bus options
#
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_PPC_INDIRECT_PCI=y
CONFIG_FSL_SOC=y
CONFIG_FSL_PCI=y
CONFIG_FSL_LBC=y
CONFIG_PPC_PCI_CHOICE=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_SYSCALL=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
# CONFIG_PCIE_ECRC is not set
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
# CONFIG_PCIE_PTM is not set
CONFIG_PCI_BUS_ADDR_T_64BIT=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_HOTPLUG_PCI is not set

#
# DesignWare PCI Core Support
#

#
# PCI host controller drivers
#

#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# CONFIG_PCCARD is not set
CONFIG_HAS_RAPIDIO=y
CONFIG_RAPIDIO=y
CONFIG_FSL_RIO=y
# CONFIG_RAPIDIO_TSI721 is not set
CONFIG_RAPIDIO_DISC_TIMEOUT=30
# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set
# CONFIG_RAPIDIO_DMA_ENGINE is not set
# CONFIG_RAPIDIO_DEBUG is not set
# CONFIG_RAPIDIO_ENUM_BASIC is not set
# CONFIG_RAPIDIO_CHMAN is not set
# CONFIG_RAPIDIO_MPORT_CDEV is not set

#
# RapidIO Switch drivers
#
# CONFIG_RAPIDIO_TSI57X is not set
# CONFIG_RAPIDIO_CPS_XX is not set
# CONFIG_RAPIDIO_TSI568 is not set
# CONFIG_RAPIDIO_CPS_GEN2 is not set
# CONFIG_RAPIDIO_RXS_GEN3 is not set
# CONFIG_NONSTATIC_KERNEL is not set
CONFIG_PAGE_OFFSET=0xc000000000000000
CONFIG_KERNEL_START=0xc000000000000000
CONFIG_PHYSICAL_START=0x00000000
# CONFIG_ARCH_RANDOM is not set
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_DIAG is not set
CONFIG_UNIX=y
# CONFIG_UNIX_DIAG is not set
# CONFIG_TLS is not set
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
# CONFIG_NET_IPGRE_DEMUX is not set
CONFIG_NET_IP_TUNNEL=y
# CONFIG_IP_MROUTE is not set
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=y
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
# CONFIG_INET_ESP_OFFLOAD is not set
CONFIG_INET_IPCOMP=y
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_INET_UDP_DIAG is not set
# CONFIG_INET_RAW_DIAG is not set
# CONFIG_INET_DIAG_DESTROY is not set
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
# CONFIG_TCP_CONG_NV is not set
CONFIG_TCP_CONG_SCALABLE=y
CONFIG_TCP_CONG_LP=y
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
CONFIG_TCP_CONG_ILLINOIS=y
CONFIG_TCP_CONG_DCTCP=y
CONFIG_TCP_CONG_CDG=y
# CONFIG_TCP_CONG_BBR is not set
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_HYBLA is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_VENO is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_DCTCP is not set
# CONFIG_DEFAULT_CDG is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
# CONFIG_INET6_ESP_OFFLOAD is not set
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_ILA=y
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=y
CONFIG_IPV6_VTI=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_FOU=y
CONFIG_IPV6_FOU_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_IPV6_SEG6_LWTUNNEL is not set
# CONFIG_IPV6_SEG6_HMAC is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
# CONFIG_NETFILTER_NETLINK_ACCT is not set
# CONFIG_NETFILTER_NETLINK_QUEUE is not set
# CONFIG_NETFILTER_NETLINK_LOG is not set
# CONFIG_NF_CONNTRACK is not set
# CONFIG_NF_LOG_NETDEV is not set
# CONFIG_NF_TABLES is not set
# CONFIG_NETFILTER_XTABLES is not set
# CONFIG_IP_SET is not set
# CONFIG_IP_VS is not set

#
# IP: Netfilter Configuration
#
# CONFIG_NF_DEFRAG_IPV4 is not set
# CONFIG_NF_SOCKET_IPV4 is not set
# CONFIG_NF_DUP_IPV4 is not set
# CONFIG_NF_LOG_ARP is not set
# CONFIG_NF_LOG_IPV4 is not set
# CONFIG_NF_REJECT_IPV4 is not set
# CONFIG_IP_NF_IPTABLES is not set
# CONFIG_IP_NF_ARPTABLES is not set

#
# IPv6: Netfilter Configuration
#
# CONFIG_NF_DEFRAG_IPV6 is not set
# CONFIG_NF_SOCKET_IPV6 is not set
# CONFIG_NF_DUP_IPV6 is not set
# CONFIG_NF_REJECT_IPV6 is not set
# CONFIG_NF_LOG_IPV6 is not set
# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y

#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_COOKIE_HMAC_SHA1 is not set
CONFIG_INET_SCTP_DIAG=y
CONFIG_RDS=y
CONFIG_RDS_TCP=y
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=y
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=y
# CONFIG_L2TP_DEBUGFS is not set
# CONFIG_L2TP_V3 is not set
# CONFIG_BRIDGE is not set
CONFIG_HAVE_NET_DSA=y
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
CONFIG_6LOWPAN=y
# CONFIG_6LOWPAN_DEBUGFS is not set
CONFIG_6LOWPAN_NHC=y
CONFIG_6LOWPAN_NHC_DEST=y
CONFIG_6LOWPAN_NHC_FRAGMENT=y
CONFIG_6LOWPAN_NHC_HOP=y
CONFIG_6LOWPAN_NHC_IPV6=y
CONFIG_6LOWPAN_NHC_MOBILITY=y
CONFIG_6LOWPAN_NHC_ROUTING=y
CONFIG_6LOWPAN_NHC_UDP=y
# CONFIG_6LOWPAN_GHC_EXT_HDR_HOP is not set
# CONFIG_6LOWPAN_GHC_UDP is not set
# CONFIG_6LOWPAN_GHC_ICMPV6 is not set
# CONFIG_6LOWPAN_GHC_EXT_HDR_DEST is not set
# CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG is not set
# CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=y
# CONFIG_BATMAN_ADV_BLA is not set
# CONFIG_BATMAN_ADV_DAT is not set
# CONFIG_BATMAN_ADV_NC is not set
# CONFIG_BATMAN_ADV_MCAST is not set
CONFIG_BATMAN_ADV_DEBUGFS=y
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_OPENVSWITCH is not set
# CONFIG_VSOCKETS is not set
# CONFIG_NETLINK_DIAG is not set
# CONFIG_MPLS is not set
# CONFIG_NET_NSH is not set
# CONFIG_HSR is not set
# CONFIG_NET_SWITCHDEV is not set
# CONFIG_NET_L3_MASTER_DEV is not set
# CONFIG_NET_NCSI is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
# CONFIG_CGROUP_NET_PRIO is not set
# CONFIG_CGROUP_NET_CLASSID is not set
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
# CONFIG_BPF_JIT is not set
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
CONFIG_BT=m
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
CONFIG_BT_HS=y
CONFIG_BT_LE=y
# CONFIG_BT_6LOWPAN is not set
CONFIG_BT_LEDS=y
# CONFIG_BT_SELFTEST is not set
CONFIG_BT_DEBUGFS=y

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
CONFIG_BT_QCA=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_3WIRE=y
CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIUART_AG6XX=y
CONFIG_BT_HCIUART_MRVL=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
# CONFIG_STREAM_PARSER is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_CFG80211_WEXT_EXPORT=y
# CONFIG_LIB80211 is not set
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
# CONFIG_MAC80211_RC_MINSTREL_VHT is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
# CONFIG_MAC80211_MESH is not set
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
# CONFIG_RFKILL_INPUT is not set
# CONFIG_RFKILL_GPIO is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set
# CONFIG_PSAMPLE is not set
# CONFIG_NET_IFE is not set
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
# CONFIG_NET_DEVLINK is not set
CONFIG_MAY_USE_DEVLINK=y
CONFIG_HAVE_EBPF_JIT=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE="radeon/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/ARUBA_rlc.bin radeon/BARTS_mc.bin radeon/BARTS_me.bin radeon/BARTS_pfp.bin radeon/BARTS_smc.bin radeon/bonaire_ce.bin radeon/bonaire_mc.bin radeon/bonaire_me.bin radeon/bonaire_mec.bin  radeon/bonaire_pfp.bin radeon/bonaire_rlc.bin radeon/bonaire_sdma.bin radeon/bonaire_smc.bin radeon/BONAIRE_uvd.bin radeon/BONAIRE_vce.bin radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/CAYMAN_mc.bin radeon/CAYMAN_me.bin radeon/CAYMAN_pfp.bin radeon/CAYMAN_rlc.bin radeon/CAYMAN_smc.bin radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin radeon/CEDAR_smc.bin radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin radeon/CYPRESS_smc.bin radeon/CYPRESS_uvd.bin radeon/hainan_ce.bin radeon/hainan_mc.bin radeon/hainan_me.bin radeon/hainan_pfp.bin radeon/hainan_rlc.bin radeon/hainan_smc.bin radeon/hawaii_ce.bin radeon/hawaii_mc.bin radeon/hawaii_me.bin radeon/hawaii_mec.bin radeon/hawaii_pfp.bin radeon/hawaii_rlc.bin radeon/hawaii_sdma.bin radeon/hawaii_smc.bin radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin radeon/JUNIPER_smc.bin radeon/kabini_ce.bin radeon/kabini_me.bin radeon/kabini_mec.bin radeon/kabini_pfp.bin radeon/kabini_rlc.bin radeon/kabini_sdma.bin radeon/kaveri_ce.bin radeon/kaveri_me.bin radeon/kaveri_mec2.bin radeon/kaveri_mec.bin radeon/kaveri_pfp.bin radeon/kaveri_rlc.bin radeon/kaveri_sdma.bin radeon/mullins_ce.bin radeon/mullins_me.bin radeon/mullins_mec.bin radeon/mullins_pfp.bin radeon/mullins_rlc.bin radeon/mullins_sdma.bin radeon/oland_ce.bin radeon/oland_mc.bin radeon/oland_me.bin radeon/oland_pfp.bin radeon/oland_rlc.bin radeon/oland_smc.bin radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/pitcairn_ce.bin radeon/pitcairn_k_smc.bin radeon/pitcairn_mc.bin radeon/pitcairn_me.bin radeon/pitcairn_pfp.bin radeon/pitcairn_rlc.bin radeon/pitcairn_smc.bin radeon/R100_cp.bin radeon/R200_cp.bin radeon/R300_cp.bin radeon/R420_cp.bin radeon/R520_cp.bin radeon/R600_me.bin radeon/R600_pfp.bin radeon/R600_rlc.bin radeon/R600_uvd.bin radeon/R700_rlc.bin radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin radeon/REDWOOD_rlc.bin radeon/REDWOOD_smc.bin radeon/RS600_cp.bin radeon/RS690_cp.bin radeon/RS780_me.bin radeon/RS780_pfp.bin radeon/RS780_uvd.bin radeon/RV610_me.bin radeon/RV610_pfp.bin radeon/RV620_me.bin radeon/RV620_pfp.bin radeon/RV630_me.bin radeon/RV630_pfp.bin radeon/RV635_me.bin radeon/RV635_pfp.bin radeon/RV670_me.bin radeon/RV670_pfp.bin radeon/RV710_me.bin radeon/RV710_pfp.bin radeon/RV710_smc.bin radeon/RV710_uvd.bin radeon/RV730_me.bin radeon/RV730_pfp.bin radeon/RV730_smc.bin radeon/RV740_smc.bin radeon/RV770_me.bin radeon/RV770_pfp.bin radeon/RV770_smc.bin radeon/RV770_uvd.bin radeon/SUMO2_me.bin radeon/SUMO2_pfp.bin radeon/SUMO_me.bin radeon/SUMO_pfp.bin radeon/SUMO_rlc.bin radeon/SUMO_uvd.bin radeon/tahiti_ce.bin radeon/tahiti_mc.bin radeon/tahiti_me.bin radeon/tahiti_pfp.bin radeon/tahiti_rlc.bin radeon/tahiti_smc.bin radeon/TAHITI_uvd.bin radeon/TAHITI_vce.bin radeon/TURKS_mc.bin radeon/TURKS_me.bin radeon/TURKS_pfp.bin radeon/TURKS_smc.bin radeon/verde_ce.bin radeon/verde_mc.bin radeon/verde_me.bin radeon/verde_pfp.bin radeon/verde_rlc.bin radeon/verde_smc.bin radeon/si58_mc.bin radeon/hawaii_k_smc.bin radeon/hainan_k_smc.bin radeon/bonaire_k_smc.bin radeon/tahiti_k_smc.bin radeon/oland_k_smc.bin radeon/verde_k_smc.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
CONFIG_WANT_DEV_COREDUMP=y
# CONFIG_ALLOW_DEV_COREDUMP is not set
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_SOC_BUS=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set

#
# Bus devices
#
# CONFIG_SIMPLE_PM_BUS is not set
# CONFIG_CONNECTOR is not set
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_OF_PARTS=y
# CONFIG_MTD_AR7_PARTS is not set

#
# Partition parsers
#

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_FTL=y
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
# CONFIG_MTD_SWAP is not set
# CONFIG_MTD_PARTITIONED_MASTER is not set

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_M25P80 is not set
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_SST25L is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_ECC_BCH is not set
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_DENALI_PCI is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
# CONFIG_MTD_NAND_RICOH is not set
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_DOCG4 is not set
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND_PLATFORM is not set
CONFIG_MTD_NAND_FSL_ELBC=y
CONFIG_MTD_NAND_FSL_IFC=y
# CONFIG_MTD_ONENAND is not set

#
# LPDDR & LPDDR2 PCM memory drivers
#
# CONFIG_MTD_LPDDR is not set
CONFIG_MTD_SPI_NOR=y
# CONFIG_MTD_MT81xx_NOR is not set
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_BLOCK is not set
CONFIG_DTC=y
CONFIG_OF=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_KOBJ=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_ADDRESS_PCI=y
CONFIG_OF_IRQ=y
CONFIG_OF_NET=y
CONFIG_OF_MDIO=y
CONFIG_OF_PCI=y
CONFIG_OF_PCI_IRQ=y
CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=y
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SKD is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=131072
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_VIRTIO_BLK is not set
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_RSXX is not set

#
# NVME Support
#
CONFIG_NVME_CORE=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_NVME_MULTIPATH is not set
# CONFIG_NVME_FC is not set
# CONFIG_NVME_TARGET is not set

#
# Misc devices
#
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_PHANTOM is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_USB_SWITCH_FSA9480 is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
CONFIG_EEPROM_LEGACY=y
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_CB710_CORE is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# CONFIG_SENSORS_LIS3_SPI is not set
# CONFIG_SENSORS_LIS3_I2C is not set
CONFIG_ALTERA_STAPL=m

#
# Intel MIC & related support
#

#
# Intel MIC Bus Driver
#

#
# SCIF Bus Driver
#

#
# VOP Bus Driver
#

#
# Intel MIC Host Driver
#

#
# Intel MIC Card Driver
#

#
# SCIF Driver
#

#
# Intel MIC Coprocessor State Management (COSM) Drivers
#

#
# VOP Driver
#
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
# CONFIG_CXL_BASE is not set
# CONFIG_CXL_AFU_DRIVER_OPS is not set
# CONFIG_CXL_LIB is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_NETLINK is not set
# CONFIG_SCSI_MQ_DEFAULT is not set
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_HPSA is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
# CONFIG_AHCI_CEVA is not set
CONFIG_AHCI_QORIQ=y
CONFIG_SATA_FSL=y
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
CONFIG_SATA_SIL24=y
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
CONFIG_SATA_SX4=y
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
# CONFIG_ATA_PIIX is not set
# CONFIG_SATA_DWC is not set
CONFIG_SATA_MV=y
# CONFIG_SATA_NV is not set
CONFIG_SATA_PROMISE=y
CONFIG_SATA_SIL=y
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
CONFIG_PATA_JMICRON=y
CONFIG_PATA_MARVELL=y
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
CONFIG_PATA_SIL680=y
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PLATFORM is not set
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
CONFIG_BCACHE=y
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_MQ_DEFAULT is not set
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_THIN_PROVISIONING is not set
# CONFIG_DM_CACHE is not set
# CONFIG_DM_ERA is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_RAID is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_DM_FLAKEY is not set
# CONFIG_DM_VERITY is not set
# CONFIG_DM_SWITCH is not set
# CONFIG_DM_LOG_WRITES is not set
# CONFIG_DM_INTEGRITY is not set
# CONFIG_TARGET_CORE is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=y
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
# CONFIG_NET_TEAM is not set
# CONFIG_MACVLAN is not set
# CONFIG_VXLAN is not set
# CONFIG_GENEVE is not set
# CONFIG_GTP is not set
# CONFIG_MACSEC is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_RIONET is not set
CONFIG_TUN=m
# CONFIG_TUN_VNET_CROSS_LE is not set
# CONFIG_VETH is not set
CONFIG_VIRTIO_NET=m
# CONFIG_NLMON is not set
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
# CONFIG_ATM_TCP is not set
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set

#
# CAIF transport drivers
#

#
# Distributed Switch Architecture drivers
#
CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
CONFIG_NET_VENDOR_ALACRITECH=y
# CONFIG_SLICOSS is not set
# CONFIG_NET_VENDOR_ALTEON is not set
# CONFIG_ALTERA_TSE is not set
# CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AMD is not set
CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_NET_VENDOR_AURORA is not set
# CONFIG_NET_CADENCE is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_EXAR is not set
CONFIG_NET_VENDOR_FREESCALE=y
CONFIG_FSL_FMAN=y
CONFIG_FSL_PQ_MDIO=y
CONFIG_FSL_XGMAC_MDIO=y
CONFIG_GIANFAR=y
CONFIG_FSL_DPAA_ETH=y
# CONFIG_NET_VENDOR_HP is not set
CONFIG_NET_VENDOR_HUAWEI=y
CONFIG_NET_VENDOR_INTEL=y
# CONFIG_E100 is not set
# CONFIG_E1000 is not set
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGB_HWMON=y
# CONFIG_IGBVF is not set
# CONFIG_IXGB is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_FM10K is not set
CONFIG_NET_VENDOR_I825XX=y
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_MICREL is not set
CONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_ENC28J60 is not set
# CONFIG_ENCX24J600 is not set
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_PACKET_ENGINE is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_8139CP=y
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=y
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
# CONFIG_SFC is not set
# CONFIG_SFC_FALCON is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_BITBANG is not set
CONFIG_MDIO_BUS_MUX=y
CONFIG_MDIO_BUS_MUX_GPIO=y
CONFIG_MDIO_BUS_MUX_MMIOREG=y
# CONFIG_MDIO_HISI_FEMAC is not set
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set

#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
CONFIG_AQUANTIA_PHY=y
# CONFIG_AT803X_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_DP83822_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
CONFIG_FIXED_PHY=y
# CONFIG_ICPLUS_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MICREL_PHY is not set
CONFIG_MICROCHIP_PHY=y
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_QSEMI_PHY is not set
CONFIG_REALTEK_PHY=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
CONFIG_VITESSE_PHY=y
# CONFIG_XILINX_GMII2RGMII is not set
# CONFIG_MICREL_KS8995MA is not set
CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
# CONFIG_PPPOATM is not set
CONFIG_PPPOE=y
# CONFIG_PPPOL2TP is not set
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
# CONFIG_SLIP is not set
CONFIG_SLHC=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_AX88179_178A=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_CDC_NCM=m
CONFIG_USB_NET_HUAWEI_CDC_NCM=m
CONFIG_USB_NET_CDC_MBIM=m
CONFIG_USB_NET_DM9601=m
CONFIG_USB_NET_SR9700=m
CONFIG_USB_NET_SR9800=m
CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
CONFIG_USB_NET_KALMIA=m
CONFIG_USB_NET_QMI_WWAN=m
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
CONFIG_USB_VL600=m
CONFIG_USB_NET_CH9200=m
CONFIG_WLAN=y
# CONFIG_WIRELESS_WDS is not set
CONFIG_WLAN_VENDOR_ADMTEK=y
CONFIG_ADM8211=m
CONFIG_ATH_COMMON=m
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set
# CONFIG_ATH9K is not set
# CONFIG_ATH9K_HTC is not set
CONFIG_CARL9170=m
CONFIG_CARL9170_LEDS=y
CONFIG_CARL9170_WPC=y
# CONFIG_CARL9170_HWRNG is not set
# CONFIG_ATH6KL is not set
# CONFIG_AR5523 is not set
# CONFIG_WIL6210 is not set
# CONFIG_ATH10K is not set
# CONFIG_WCN36XX is not set
CONFIG_WLAN_VENDOR_ATMEL=y
# CONFIG_ATMEL is not set
CONFIG_AT76C50X_USB=m
CONFIG_WLAN_VENDOR_BROADCOM=y
CONFIG_B43=m
CONFIG_B43_BCMA=y
CONFIG_B43_SSB=y
CONFIG_B43_BUSES_BCMA_AND_SSB=y
# CONFIG_B43_BUSES_BCMA is not set
# CONFIG_B43_BUSES_SSB is not set
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
# CONFIG_B43_SDIO is not set
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_PIO=y
# CONFIG_B43_PHY_G is not set
# CONFIG_B43_PHY_N is not set
# CONFIG_B43_PHY_LP is not set
# CONFIG_B43_PHY_HT is not set
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
# CONFIG_B43LEGACY is not set
# CONFIG_BRCMSMAC is not set
# CONFIG_BRCMFMAC is not set
CONFIG_WLAN_VENDOR_CISCO=y
# CONFIG_AIRO is not set
CONFIG_WLAN_VENDOR_INTEL=y
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
# CONFIG_IWL4965 is not set
# CONFIG_IWL3945 is not set
# CONFIG_IWLWIFI is not set
CONFIG_WLAN_VENDOR_INTERSIL=y
# CONFIG_HOSTAP is not set
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=m
# CONFIG_TMD_HERMES is not set
# CONFIG_NORTEL_HERMES is not set
CONFIG_PCI_HERMES=m
# CONFIG_ORINOCO_USB is not set
# CONFIG_P54_COMMON is not set
CONFIG_PRISM54=m
CONFIG_WLAN_VENDOR_MARVELL=y
# CONFIG_LIBERTAS is not set
# CONFIG_LIBERTAS_THINFIRM is not set
# CONFIG_MWIFIEX is not set
# CONFIG_MWL8K is not set
CONFIG_WLAN_VENDOR_MEDIATEK=y
# CONFIG_MT7601U is not set
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
# CONFIG_RT2400PCI is not set
# CONFIG_RT2500PCI is not set
# CONFIG_RT61PCI is not set
CONFIG_RT2800PCI=m
CONFIG_RT2800PCI_RT33XX=y
CONFIG_RT2800PCI_RT35XX=y
CONFIG_RT2800PCI_RT53XX=y
CONFIG_RT2800PCI_RT3290=y
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
CONFIG_RT2800USB_RT33XX=y
CONFIG_RT2800USB_RT35XX=y
# CONFIG_RT2800USB_RT3573 is not set
# CONFIG_RT2800USB_RT53XX is not set
# CONFIG_RT2800USB_RT55XX is not set
# CONFIG_RT2800USB_UNKNOWN is not set
CONFIG_RT2800_LIB=m
CONFIG_RT2800_LIB_MMIO=m
CONFIG_RT2X00_LIB_MMIO=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
CONFIG_WLAN_VENDOR_REALTEK=y
# CONFIG_RTL8180 is not set
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
CONFIG_RTL_CARDS=m
# CONFIG_RTL8192CE is not set
# CONFIG_RTL8192SE is not set
# CONFIG_RTL8192DE is not set
# CONFIG_RTL8723AE is not set
# CONFIG_RTL8723BE is not set
# CONFIG_RTL8188EE is not set
# CONFIG_RTL8192EE is not set
# CONFIG_RTL8821AE is not set
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
CONFIG_RTLWIFI_USB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTL8192C_COMMON=m
# CONFIG_RTL8XXXU is not set
CONFIG_WLAN_VENDOR_RSI=y
# CONFIG_RSI_91X is not set
CONFIG_WLAN_VENDOR_ST=y
# CONFIG_CW1200 is not set
CONFIG_WLAN_VENDOR_TI=y
# CONFIG_WL1251 is not set
# CONFIG_WL12XX is not set
# CONFIG_WL18XX is not set
# CONFIG_WLCORE is not set
CONFIG_WLAN_VENDOR_ZYDAS=y
CONFIG_USB_ZD1201=m
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
CONFIG_WLAN_VENDOR_QUANTENNA=y
# CONFIG_QTNFMAC_PEARL_PCIE is not set
# CONFIG_MAC80211_HWSIM is not set
CONFIG_USB_NET_RNDIS_WLAN=m

#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
# CONFIG_NVM is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CAP11XX is not set
# CONFIG_KEYBOARD_BCM is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
CONFIG_MOUSE_PS2_SMBUS=y
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_ELAN_I2C is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_GPIO is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
CONFIG_MOUSE_SYNAPTICS_USB=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
CONFIG_JOYSTICK_ADI=m
CONFIG_JOYSTICK_COBRA=m
CONFIG_JOYSTICK_GF2K=m
CONFIG_JOYSTICK_GRIP=m
CONFIG_JOYSTICK_GRIP_MP=m
CONFIG_JOYSTICK_GUILLEMOT=m
CONFIG_JOYSTICK_INTERACT=m
CONFIG_JOYSTICK_SIDEWINDER=m
CONFIG_JOYSTICK_TMDC=m
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
CONFIG_JOYSTICK_IFORCE_232=y
CONFIG_JOYSTICK_WARRIOR=m
CONFIG_JOYSTICK_MAGELLAN=m
CONFIG_JOYSTICK_SPACEORB=m
CONFIG_JOYSTICK_SPACEBALL=m
CONFIG_JOYSTICK_STINGER=m
CONFIG_JOYSTICK_TWIDJOY=m
# CONFIG_JOYSTICK_ZHENHUA is not set
CONFIG_JOYSTICK_AS5011=m
CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
# CONFIG_JOYSTICK_PSXPAD_SPI is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
CONFIG_TABLET_USB_GTCO=m
CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
# CONFIG_TABLET_USB_PEGASUS is not set
CONFIG_TABLET_SERIAL_WACOM4=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_PROPERTIES=y
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_AD7877=m
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
CONFIG_TOUCHSCREEN_AD7879_SPI=m
CONFIG_TOUCHSCREEN_AR1021_I2C=m
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
CONFIG_TOUCHSCREEN_BU21013=m
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
# CONFIG_TOUCHSCREEN_CYTTSP_I2C is not set
# CONFIG_TOUCHSCREEN_CYTTSP_SPI is not set
CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m
# CONFIG_TOUCHSCREEN_CYTTSP4_I2C is not set
# CONFIG_TOUCHSCREEN_CYTTSP4_SPI is not set
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_EGALAX=m
CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m
# CONFIG_TOUCHSCREEN_EXC3000 is not set
CONFIG_TOUCHSCREEN_FUJITSU=m
# CONFIG_TOUCHSCREEN_GOODIX is not set
# CONFIG_TOUCHSCREEN_HIDEEP is not set
CONFIG_TOUCHSCREEN_ILI210X=m
# CONFIG_TOUCHSCREEN_S6SY761 is not set
CONFIG_TOUCHSCREEN_GUNZE=m
# CONFIG_TOUCHSCREEN_EKTF2127 is not set
CONFIG_TOUCHSCREEN_ELAN=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
CONFIG_TOUCHSCREEN_MAX11801=m
CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MMS114=m
CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
CONFIG_TOUCHSCREEN_MTOUCH=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
CONFIG_TOUCHSCREEN_INEXIO=m
# CONFIG_TOUCHSCREEN_MK712 is not set
CONFIG_TOUCHSCREEN_PENMOUNT=m
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_PIXCIR=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
CONFIG_TOUCHSCREEN_TSC_SERIO=m
CONFIG_TOUCHSCREEN_TSC200X_CORE=m
CONFIG_TOUCHSCREEN_TSC2004=m
CONFIG_TOUCHSCREEN_TSC2005=m
CONFIG_TOUCHSCREEN_TSC2007=m
# CONFIG_TOUCHSCREEN_RM_TS is not set
# CONFIG_TOUCHSCREEN_SILEAD is not set
# CONFIG_TOUCHSCREEN_SIS_I2C is not set
CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_STMFTS is not set
# CONFIG_TOUCHSCREEN_SUR40 is not set
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
CONFIG_TOUCHSCREEN_SX8654=m
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_TOUCHSCREEN_ZET6223 is not set
# CONFIG_TOUCHSCREEN_ZFORCE is not set
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_E3X0_BUTTON is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_GP2A is not set
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
# CONFIG_INPUT_GPIO_DECODER is not set
CONFIG_INPUT_ATI_REMOTE2=m
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_KXTJ9 is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
CONFIG_INPUT_CM109=m
# CONFIG_INPUT_UINPUT is not set
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IMS_PCU is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
# CONFIG_INPUT_DRV260X_HAPTICS is not set
# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
# CONFIG_RMI4_CORE is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_XILINX_XPS_PS2 is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_SERIO_APBPS2 is not set
# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_USERIO=y
CONFIG_GAMEPORT=y
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_FM801 is not set

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_PPC_EPAPR_HV_BYTECHAN=y
# CONFIG_PPC_EARLY_DEBUG_EHV_BC is not set
CONFIG_DEVMEM=y
CONFIG_DEVKMEM=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_EXAR=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_FSL=y
# CONFIG_SERIAL_8250_DW is not set
CONFIG_SERIAL_8250_RT288X=y
# CONFIG_SERIAL_8250_MOXA is not set
# CONFIG_SERIAL_OF_PLATFORM is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_IFX6X60 is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
# CONFIG_SERIAL_DEV_BUS is not set
# CONFIG_TTY_PRINTK is not set
CONFIG_HVC_DRIVER=y
# CONFIG_HVC_UDBG is not set
CONFIG_VIRTIO_CONSOLE=m
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_VIRTIO is not set
CONFIG_HW_RANDOM_TPM=m
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=m
# CONFIG_TCG_TIS is not set
# CONFIG_TCG_TIS_SPI is not set
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_VTPM_PROXY is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
CONFIG_DEVPORT=y
# CONFIG_XILLYBUS is not set

#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
CONFIG_I2C_MUX_GPIO=y
# CONFIG_I2C_MUX_GPMUX is not set
# CONFIG_I2C_MUX_LTC4306 is not set
# CONFIG_I2C_MUX_PCA9541 is not set
CONFIG_I2C_MUX_PCA954x=y
# CONFIG_I2C_MUX_REG is not set
# CONFIG_I2C_MUX_MLXCPLD is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_MPC=y
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_SLAVE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
CONFIG_SPI_BITBANG=y
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_GPIO=y
CONFIG_SPI_FSL_LIB=y
CONFIG_SPI_FSL_CPM=y
CONFIG_SPI_FSL_SPI=y
CONFIG_SPI_FSL_ESPI=y
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_ZYNQMP_GQSPI is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_GIANFAR=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
# CONFIG_PINCTRL is not set
CONFIG_GPIOLIB=y
CONFIG_OF_GPIO=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_GENERIC=y

#
# Memory mapped GPIO drivers
#
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_EXAR is not set
# CONFIG_GPIO_FTGPIO010 is not set
CONFIG_GPIO_GENERIC_PLATFORM=y
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_MOCKUP is not set
CONFIG_GPIO_MPC8XXX=y
# CONFIG_GPIO_XILINX is not set

#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set

#
# MFD GPIO expanders
#

#
# PCI GPIO expanders
#
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_RDC321X is not set

#
# SPI GPIO expanders
#
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_XRA1403 is not set

#
# USB GPIO expanders
#
# CONFIG_W1 is not set
# CONFIG_POWER_AVS is not set
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_GPIO=y
CONFIG_POWER_RESET_GPIO_RESTART=y
# CONFIG_POWER_RESET_LTC2952 is not set
# CONFIG_POWER_RESET_RESTART is not set
# CONFIG_POWER_RESET_SYSCON is not set
# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_MANAGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_CHARGER_RT9455 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
# CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7310 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_ASPEED is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_POWR1220 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4222 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4260 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31722 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_ADCXX is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
CONFIG_SENSORS_LM90=y
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHTC1 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not set
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_ADC128D818 is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_OF=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
# CONFIG_THERMAL_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
# CONFIG_CLOCK_THERMAL is not set
# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_QORIQ_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
# CONFIG_SSB_SDIOHOST is not set
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
# CONFIG_SSB_DRIVER_GPIO is not set
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=m
CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not set
CONFIG_BCMA_DRIVER_PCI=y
# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
# CONFIG_BCMA_DRIVER_GPIO is not set
# CONFIG_BCMA_DEBUG is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=m
# CONFIG_MFD_ACT8945A is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_AS3722 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# CONFIG_MFD_ATMEL_HLCDC is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_HI6421_PMIC is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_HTC_I2CPLD is not set
# CONFIG_LPC_ICH is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77620 is not set
# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_UCB1400_CORE is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RTSX_PCI is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_SEC_CORE is not set
CONFIG_MFD_SI476X_CORE=m
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_SMSC is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_STMPE is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TPS65218 is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_MFD_TPS80031 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_REGULATOR is not set
CONFIG_RC_CORE=m
# CONFIG_RC_MAP is not set
CONFIG_RC_DECODERS=y
# CONFIG_LIRC is not set
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
CONFIG_IR_JVC_DECODER=m
CONFIG_IR_SONY_DECODER=m
CONFIG_IR_SANYO_DECODER=m
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
CONFIG_IR_XMP_DECODER=m
CONFIG_RC_DEVICES=y
CONFIG_RC_ATI_REMOTE=m
# CONFIG_IR_HIX5HD2 is not set
CONFIG_IR_IMON=m
CONFIG_IR_MCEUSB=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
# CONFIG_IR_IGORPLUGUSB is not set
CONFIG_IR_IGUANA=m
CONFIG_IR_TTUSBIR=m
CONFIG_RC_LOOPBACK=m
CONFIG_IR_GPIO_CIR=m
# CONFIG_IR_SERIAL is not set
# CONFIG_IR_SIR is not set
CONFIG_MEDIA_SUPPORT=m

#
# Multimedia core support
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
# CONFIG_MEDIA_CEC_SUPPORT is not set
CONFIG_MEDIA_CONTROLLER=y
# CONFIG_MEDIA_CONTROLLER_DVB is not set
CONFIG_VIDEO_DEV=m
# CONFIG_VIDEO_V4L2_SUBDEV_API is not set
CONFIG_VIDEO_V4L2=m
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_TUNER=m
CONFIG_V4L2_FWNODE=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEOBUF2_CORE=m
CONFIG_VIDEOBUF2_MEMOPS=m
CONFIG_VIDEOBUF2_VMALLOC=m
CONFIG_VIDEOBUF2_DMA_SG=m
CONFIG_VIDEOBUF2_DVB=m
CONFIG_DVB_CORE=m
CONFIG_DVB_NET=y
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_MAX_ADAPTERS=8
# CONFIG_DVB_DYNAMIC_MINORS is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set

#
# Media drivers
#
CONFIG_MEDIA_USB_SUPPORT=y

#
# Webcam devices
#
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
# CONFIG_USB_M5602 is not set
# CONFIG_USB_STV06XX is not set
# CONFIG_USB_GL860 is not set
# CONFIG_USB_GSPCA_BENQ is not set
# CONFIG_USB_GSPCA_CONEX is not set
# CONFIG_USB_GSPCA_CPIA1 is not set
# CONFIG_USB_GSPCA_DTCS033 is not set
# CONFIG_USB_GSPCA_ETOMS is not set
# CONFIG_USB_GSPCA_FINEPIX is not set
# CONFIG_USB_GSPCA_JEILINJ is not set
# CONFIG_USB_GSPCA_JL2005BCD is not set
# CONFIG_USB_GSPCA_KINECT is not set
# CONFIG_USB_GSPCA_KONICA is not set
# CONFIG_USB_GSPCA_MARS is not set
# CONFIG_USB_GSPCA_MR97310A is not set
# CONFIG_USB_GSPCA_NW80X is not set
# CONFIG_USB_GSPCA_OV519 is not set
# CONFIG_USB_GSPCA_OV534 is not set
# CONFIG_USB_GSPCA_OV534_9 is not set
# CONFIG_USB_GSPCA_PAC207 is not set
# CONFIG_USB_GSPCA_PAC7302 is not set
# CONFIG_USB_GSPCA_PAC7311 is not set
# CONFIG_USB_GSPCA_SE401 is not set
# CONFIG_USB_GSPCA_SN9C2028 is not set
# CONFIG_USB_GSPCA_SN9C20X is not set
# CONFIG_USB_GSPCA_SONIXB is not set
# CONFIG_USB_GSPCA_SONIXJ is not set
# CONFIG_USB_GSPCA_SPCA500 is not set
# CONFIG_USB_GSPCA_SPCA501 is not set
# CONFIG_USB_GSPCA_SPCA505 is not set
# CONFIG_USB_GSPCA_SPCA506 is not set
# CONFIG_USB_GSPCA_SPCA508 is not set
# CONFIG_USB_GSPCA_SPCA561 is not set
# CONFIG_USB_GSPCA_SPCA1528 is not set
# CONFIG_USB_GSPCA_SQ905 is not set
# CONFIG_USB_GSPCA_SQ905C is not set
# CONFIG_USB_GSPCA_SQ930X is not set
# CONFIG_USB_GSPCA_STK014 is not set
# CONFIG_USB_GSPCA_STK1135 is not set
# CONFIG_USB_GSPCA_STV0680 is not set
# CONFIG_USB_GSPCA_SUNPLUS is not set
# CONFIG_USB_GSPCA_T613 is not set
# CONFIG_USB_GSPCA_TOPRO is not set
# CONFIG_USB_GSPCA_TOUPTEK is not set
# CONFIG_USB_GSPCA_TV8532 is not set
# CONFIG_USB_GSPCA_VC032X is not set
# CONFIG_USB_GSPCA_VICAM is not set
# CONFIG_USB_GSPCA_XIRLINK_CIT is not set
# CONFIG_USB_GSPCA_ZC3XX is not set
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_VIDEO_CPIA2=m
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
CONFIG_VIDEO_USBTV=m

#
# Analog TV USB devices
#
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160=m
# CONFIG_VIDEO_GO7007 is not set

#
# Analog/digital TV USB devices
#
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_AU0828_V4L2=y
# CONFIG_VIDEO_AU0828_RC is not set
CONFIG_VIDEO_CX231XX=m
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=m
CONFIG_VIDEO_CX231XX_DVB=m
CONFIG_VIDEO_TM6000=m
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000_DVB=m

#
# Digital TV USB devices
#
CONFIG_DVB_USB=m
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_DIB3000MC=m
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_DIBUSB_MB=m
CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
CONFIG_DVB_USB_DIBUSB_MC=m
CONFIG_DVB_USB_DIB0700=m
CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_CXUSB=m
CONFIG_DVB_USB_M920X=m
CONFIG_DVB_USB_DIGITV=m
CONFIG_DVB_USB_VP7045=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_GP8PSK=m
CONFIG_DVB_USB_NOVA_T_USB2=m
CONFIG_DVB_USB_TTUSB2=m
CONFIG_DVB_USB_DTT200U=m
CONFIG_DVB_USB_OPERA1=m
# CONFIG_DVB_USB_AF9005 is not set
CONFIG_DVB_USB_PCTV452E=m
CONFIG_DVB_USB_DW2102=m
CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_FRIIO=m
CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_USB_TECHNISAT_USB2=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_USB_AF9035=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_AU6610=m
CONFIG_DVB_USB_AZ6007=m
CONFIG_DVB_USB_CE6230=m
CONFIG_DVB_USB_EC168=m
CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_MXL111SF=m
CONFIG_DVB_USB_RTL28XXU=m
# CONFIG_DVB_USB_DVBSKY is not set
# CONFIG_DVB_USB_ZD1301 is not set
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_SMS_USB_DRV=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
# CONFIG_DVB_AS102 is not set

#
# Webcam, TV (analog/digital) USB devices
#
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_V4L2=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_VIDEO_EM28XX_RC=m

#
# Software defined radio USB devices
#
# CONFIG_USB_AIRSPY is not set
# CONFIG_USB_HACKRF is not set
# CONFIG_USB_MSI2500 is not set
CONFIG_MEDIA_PCI_SUPPORT=y

#
# Media capture support
#
# CONFIG_VIDEO_SOLO6X10 is not set
# CONFIG_VIDEO_TW5864 is not set
# CONFIG_VIDEO_TW68 is not set
# CONFIG_VIDEO_TW686X is not set

#
# Media capture/analog TV support
#
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV_ALSA=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_MXB=m
# CONFIG_VIDEO_DT3155 is not set

#
# Media capture/analog/hybrid TV support
#
CONFIG_VIDEO_CX18=m
CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_CX23885=m
CONFIG_MEDIA_ALTERA_CI=m
CONFIG_VIDEO_CX25821=m
CONFIG_VIDEO_CX25821_ALSA=m
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_ALSA=m
CONFIG_VIDEO_CX88_BLACKBIRD=m
CONFIG_VIDEO_CX88_DVB=m
CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_CX88_MPEG=m
CONFIG_VIDEO_BT848=m
CONFIG_DVB_BT8XX=m
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_SAA7164=m

#
# Media digital TV PCI Adapters
#
CONFIG_DVB_AV7110_IR=y
CONFIG_DVB_AV7110=m
# CONFIG_DVB_AV7110_OSD is not set
CONFIG_DVB_BUDGET_CORE=m
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_B2C2_FLEXCOP_PCI=m
# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
CONFIG_DVB_PLUTO2=m
CONFIG_DVB_DM1105=m
CONFIG_DVB_PT1=m
# CONFIG_DVB_PT3 is not set
CONFIG_MANTIS_CORE=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_NGENE=m
CONFIG_DVB_DDBRIDGE=m
# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_SMIPCIE is not set
# CONFIG_DVB_NETUP_UNIDVB is not set
CONFIG_V4L_PLATFORM_DRIVERS=y
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
# CONFIG_V4L_MEM2MEM_DRIVERS is not set
CONFIG_V4L_TEST_DRIVERS=y
# CONFIG_VIDEO_VIVID is not set
# CONFIG_VIDEO_VIM2M is not set
# CONFIG_DVB_PLATFORM_DRIVERS is not set
# CONFIG_SDR_PLATFORM_DRIVERS is not set

#
# Supported MMC/SDIO adapters
#
# CONFIG_SMS_SDIO_DRV is not set
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_TEA575X=m
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
CONFIG_I2C_SI470X=m
CONFIG_RADIO_SI4713=m
CONFIG_USB_SI4713=m
CONFIG_PLATFORM_SI4713=m
CONFIG_I2C_SI4713=m
CONFIG_USB_MR800=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_SHARK=m
CONFIG_RADIO_SHARK2=m
CONFIG_USB_KEENE=m
CONFIG_USB_RAREMONO=m
CONFIG_USB_MA901=m
CONFIG_RADIO_TEA5764=m
CONFIG_RADIO_SAA7706H=m
CONFIG_RADIO_TEF6862=m
CONFIG_RADIO_WL1273=m

#
# Texas Instruments WL128x FM driver (ST based)
#

#
# Supported FireWire (IEEE 1394) Adapters
#
# CONFIG_DVB_FIREDTV is not set
CONFIG_MEDIA_COMMON_OPTIONS=y

#
# common driver options
#
CONFIG_VIDEO_CX2341X=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_CYPRESS_FIRMWARE=m
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_SMS_SIANO_MDTV=m
CONFIG_SMS_SIANO_RC=y

#
# Media ancillary drivers (tuners, sensors, i2c, spi, frontends)
#
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
CONFIG_MEDIA_ATTACH=y
CONFIG_VIDEO_IR_I2C=m

#
# Audio decoders, processors and mixers
#
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_TDA9840=m
CONFIG_VIDEO_TEA6415C=m
CONFIG_VIDEO_TEA6420=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS3308=m
CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m

#
# RDS decoders
#
CONFIG_VIDEO_SAA6588=m

#
# Video decoders
#
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_TVP5150=m

#
# Video and audio decoders
#
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_CX25840=m

#
# Video encoders
#
CONFIG_VIDEO_SAA7127=m

#
# Camera sensor devices
#
CONFIG_VIDEO_OV2640=m
CONFIG_VIDEO_MT9V011=m

#
# Flash devices
#

#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=m
CONFIG_VIDEO_UPD64083=m

#
# Audio/Video compression chips
#
CONFIG_VIDEO_SAA6752HS=m

#
# SDR tuner chips
#

#
# Miscellaneous helper chips
#
CONFIG_VIDEO_M52790=m

#
# Sensors used on soc_camera driver
#
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_MT2060=m
CONFIG_MEDIA_TUNER_MT2063=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_MT2131=m
CONFIG_MEDIA_TUNER_QT1010=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_XC4000=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_TDA18218=m
CONFIG_MEDIA_TUNER_FC0011=m
CONFIG_MEDIA_TUNER_FC0012=m
CONFIG_MEDIA_TUNER_FC0013=m
CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_MEDIA_TUNER_E4000=m
CONFIG_MEDIA_TUNER_FC2580=m
CONFIG_MEDIA_TUNER_M88RS6000T=m
CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_SI2157=m
CONFIG_MEDIA_TUNER_IT913X=m
CONFIG_MEDIA_TUNER_R820T=m
CONFIG_MEDIA_TUNER_QM1D1C0042=m

#
# Multistandard (satellite) frontends
#
CONFIG_DVB_STB0899=m
CONFIG_DVB_STB6100=m
CONFIG_DVB_STV090x=m
CONFIG_DVB_STV0910=m
CONFIG_DVB_STV6110x=m
CONFIG_DVB_STV6111=m
CONFIG_DVB_MXL5XX=m
CONFIG_DVB_M88DS3103=m

#
# Multistandard (cable + terrestrial) frontends
#
CONFIG_DVB_DRXK=m
CONFIG_DVB_TDA18271C2DD=m
CONFIG_DVB_SI2165=m
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
CONFIG_DVB_ZL10036=m
CONFIG_DVB_ZL10039=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_STV6110=m
CONFIG_DVB_STV0900=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_CX24117=m
CONFIG_DVB_CX24120=m
CONFIG_DVB_SI21XX=m
CONFIG_DVB_TS2020=m
CONFIG_DVB_DS3000=m
CONFIG_DVB_MB86A16=m
CONFIG_DVB_TDA10071=m

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
CONFIG_DVB_DRXD=m
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
CONFIG_DVB_MT352=m
CONFIG_DVB_ZL10353=m
CONFIG_DVB_DIB3000MB=m
CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m
CONFIG_DVB_CXD2841ER=m
CONFIG_DVB_RTL2830=m
CONFIG_DVB_RTL2832=m
CONFIG_DVB_RTL2832_SDR=m
CONFIG_DVB_SI2168=m
# CONFIG_DVB_AS102_FE is not set
CONFIG_DVB_GP8PSK_FE=m

#
# DVB-C (cable) frontends
#
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_LGDT3305=m
CONFIG_DVB_LGDT3306A=m
CONFIG_DVB_LG2160=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_AU8522_DTV=m
CONFIG_DVB_AU8522_V4L=m
CONFIG_DVB_S5H1411=m

#
# ISDB-T (terrestrial) frontends
#
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m

#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
CONFIG_DVB_TC90522=m

#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
CONFIG_DVB_TUNER_DIB0090=m

#
# SEC control devices for DVB-S
#
CONFIG_DVB_DRX39XYJ=m
CONFIG_DVB_LNBH25=m
CONFIG_DVB_LNBP21=m
CONFIG_DVB_LNBP22=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_ISL6423=m
CONFIG_DVB_A8293=m
CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_ATBM8830=m
CONFIG_DVB_TDA665x=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_M88RS2000=m
CONFIG_DVB_AF9033=m

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set

#
# Graphics support
#
# CONFIG_AGP is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=3
CONFIG_DRM=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_TTM=y

#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
CONFIG_DRM_RADEON=y
# CONFIG_DRM_RADEON_USERPTR is not set
# CONFIG_DRM_AMDGPU is not set

#
# ACP (Audio CoProcessor) Configuration
#

#
# AMD Library routines
#
# CONFIG_CHASH is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_VGEM=m
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_RCAR_DW_HDMI is not set
CONFIG_DRM_QXL=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_VIRTIO_GPU=m
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_LVDS_ENCODER is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_SII9234 is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_ARCPGU is not set
# CONFIG_DRM_HISI_HIBMC is not set
# CONFIG_DRM_MXSFB is not set
# CONFIG_DRM_TINYDRM is not set
# CONFIG_DRM_LEGACY is not set
# CONFIG_DRM_LIB_RANDOM is not set

#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_OF is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_FSL_DIU is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
# CONFIG_FB_SIMPLE is not set
# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
# CONFIG_LCD_PLATFORM is not set
# CONFIG_LCD_S6E63M0 is not set
# CONFIG_LCD_LD9040 is not set
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
# CONFIG_BACKLIGHT_PM8941_WLED is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# CONFIG_VGASTATE is not set
CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
CONFIG_SND_DEBUG_VERBOSE=y
# CONFIG_SND_PCM_XRUN_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=y
CONFIG_SND_SEQ_MIDI=y
CONFIG_SND_SEQ_MIDI_EMUL=y
CONFIG_SND_SEQ_VIRMIDI=y
CONFIG_SND_MPU401_UART=y
CONFIG_SND_OPL3_LIB=y
CONFIG_SND_OPL3_LIB_SEQ=y
# CONFIG_SND_OPL4_LIB_SEQ is not set
CONFIG_SND_AC97_CODEC=y
CONFIG_SND_DRIVERS=y
CONFIG_SND_DUMMY=m
CONFIG_SND_ALOOP=m
CONFIG_SND_VIRMIDI=y
CONFIG_SND_MTPAV=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
CONFIG_SND_CA0106=m
CONFIG_SND_CMIPCI=y
CONFIG_SND_OXYGEN_LIB=m
CONFIG_SND_OXYGEN=m
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
CONFIG_SND_CTXFI=m
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
CONFIG_SND_EMU10K1=y
CONFIG_SND_EMU10K1_SEQ=y
CONFIG_SND_EMU10K1X=y
CONFIG_SND_ENS1370=m
CONFIG_SND_ENS1371=m
CONFIG_SND_ES1938=m
CONFIG_SND_ES1968=m
# CONFIG_SND_ES1968_INPUT is not set
# CONFIG_SND_ES1968_RADIO is not set
CONFIG_SND_FM801=y
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
CONFIG_SND_ICE1712=y
CONFIG_SND_ICE1724=y
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set

#
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_CODEC_ANALOG=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_CODEC_SIGMATEL=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_CODEC_VIA=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_CODEC_CONEXANT=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_CODEC_CA0110=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_CODEC_CA0132=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_CODEC_CA0132_DSP=y
CONFIG_SND_HDA_CODEC_CMEDIA=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_CODEC_SI3054=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_GENERIC=m

#
# Set to Y if you want auto-loading the codec driver
#
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_DSP_LOADER=y
CONFIG_SND_HDA_PREALLOC_SIZE=64
# CONFIG_SND_PPC is not set
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_USB_UA101=y
CONFIG_SND_USB_USX2Y=y
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_6FIRE=m
CONFIG_SND_USB_HIFACE=m
CONFIG_SND_BCD2000=m
CONFIG_SND_USB_LINE6=m
CONFIG_SND_USB_POD=m
CONFIG_SND_USB_PODHD=m
CONFIG_SND_USB_TONEPORT=m
CONFIG_SND_USB_VARIAX=m
CONFIG_SND_FIREWIRE=y
# CONFIG_SND_DICE is not set
# CONFIG_SND_OXFW is not set
# CONFIG_SND_ISIGHT is not set
# CONFIG_SND_FIREWORKS is not set
# CONFIG_SND_BEBOB is not set
# CONFIG_SND_FIREWIRE_DIGI00X is not set
# CONFIG_SND_FIREWIRE_TASCAM is not set
# CONFIG_SND_FIREWIRE_MOTU is not set
# CONFIG_SND_FIREFACE is not set
# CONFIG_SND_SOC is not set
CONFIG_SND_SYNTH_EMUX=y
CONFIG_AC97_BUS=y

#
# HID support
#
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
# CONFIG_HID_ACCUTOUCH is not set
# CONFIG_HID_ACRUX is not set
CONFIG_HID_APPLE=y
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_ASUS is not set
# CONFIG_HID_AUREAL is not set
CONFIG_HID_BELKIN=y
# CONFIG_HID_BETOP_FF is not set
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
# CONFIG_HID_CORSAIR is not set
# CONFIG_HID_PRODIKEYS is not set
# CONFIG_HID_CMEDIA is not set
# CONFIG_HID_CP2112 is not set
CONFIG_HID_CYPRESS=y
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_ELO is not set
CONFIG_HID_EZKEY=y
# CONFIG_HID_GEMBIRD is not set
# CONFIG_HID_GFRM is not set
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_GT683R is not set
# CONFIG_HID_KEYTOUCH is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_ICADE is not set
# CONFIG_HID_ITE is not set
# CONFIG_HID_TWINHAN is not set
CONFIG_HID_KENSINGTON=y
# CONFIG_HID_LCPOWER is not set
# CONFIG_HID_LED is not set
# CONFIG_HID_LENOVO is not set
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=y
CONFIG_HID_LOGITECH_HIDPP=y
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
# CONFIG_LOGIWHEELS_FF is not set
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_MAYFLASH is not set
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
# CONFIG_HID_MULTITOUCH is not set
# CONFIG_HID_NTI is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PENMOUNT is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
CONFIG_HID_PLANTRONICS=m
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_RETRODE is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SONY is not set
CONFIG_HID_SPEEDLINK=m
# CONFIG_HID_STEELSERIES is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_RMI is not set
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TIVO is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_HID_THINGM is not set
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_UDRAW_PS3 is not set
CONFIG_HID_WACOM=m
# CONFIG_HID_WIIMOTE is not set
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_SENSOR_HUB is not set
# CONFIG_HID_ALPS is not set

#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y

#
# I2C HID support
#
# CONFIG_I2C_HID is not set
CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
CONFIG_USB_MON=y
# CONFIG_USB_WUSB_CBAF is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
CONFIG_USB_EHCI_FSL=y
CONFIG_USB_EHCI_HCD_PPC_OF=y
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
# CONFIG_USB_FOTG210_HCD is not set
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
CONFIG_USB_OHCI_HCD_PPC_OF=y
CONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_BCMA is not set
# CONFIG_USB_HCD_SSB is not set
# CONFIG_USB_HCD_TEST_MODE is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=m
# CONFIG_USB_TMC is not set

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_UAS is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set
# CONFIG_USB_ISP1760 is not set

#
# USB port drivers
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=m
CONFIG_USB_SERIAL_AIRCABLE=m
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_CH341 is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP210X is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=y
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
CONFIG_USB_SERIAL_IR=m
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_F81232 is not set
# CONFIG_USB_SERIAL_F8153X is not set
CONFIG_USB_SERIAL_GARMIN=m
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_METRO is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_MXUPORT is not set
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_QCAUX is not set
# CONFIG_USB_SERIAL_QUALCOMM is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_SAFE is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
# CONFIG_USB_SERIAL_SYMBOL is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_XSENS_MT is not set
# CONFIG_USB_SERIAL_WISHBONE is not set
# CONFIG_USB_SERIAL_SSU100 is not set
# CONFIG_USB_SERIAL_QT2 is not set
# CONFIG_USB_SERIAL_UPD78F0730 is not set
# CONFIG_USB_SERIAL_DEBUG is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
CONFIG_USB_TRANCEVIBRATOR=m
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_CHAOSKEY is not set
# CONFIG_USB_ATM is not set

#
# USB Physical Layer drivers
#
# CONFIG_USB_PHY is not set
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_USB_ISP1301 is not set
# CONFIG_USB_GADGET is not set
# CONFIG_TYPEC is not set
CONFIG_USB_LED_TRIG=y
CONFIG_USB_ULPI_BUS=y
# CONFIG_UWB is not set
CONFIG_MMC=y
CONFIG_PWRSEQ_EMMC=y
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=8
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_PLTFM=y
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
CONFIG_MMC_SDHCI_OF_ESDHC=y
# CONFIG_MMC_SDHCI_OF_HLWD is not set
# CONFIG_MMC_SDHCI_CADENCE is not set
# CONFIG_MMC_SDHCI_F_SDH30 is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
# CONFIG_MMC_VUB300 is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MMC_USDHI6ROL0 is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_MMC_MTK is not set
# CONFIG_MMC_SDHCI_XENON is not set
# CONFIG_MMC_SDHCI_OMAP is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLASS_FLASH=y
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set

#
# LED drivers
#
# CONFIG_LEDS_AS3645A is not set
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP3952 is not set
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_LP5562 is not set
# CONFIG_LEDS_LP8501 is not set
# CONFIG_LEDS_LP8860 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_LT3593 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_KTD2692 is not set
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_USER is not set

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_DISK=y
# CONFIG_LEDS_TRIGGER_MTD is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_CPU=y
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y

#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_LEDS_TRIGGER_TRANSIENT=y
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
# CONFIG_EDAC_MPC85XX is not set
# CONFIG_EDAC_CPC925 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
CONFIG_RTC_NVMEM=y

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABX80X is not set
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_DS1307_HWMON=y
# CONFIG_RTC_DRV_DS1307_CENTURY is not set
CONFIG_RTC_DRV_DS1374=y
# CONFIG_RTC_DRV_DS1374_WDT is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV8803 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1302 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6916 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RX4581 is not set
# CONFIG_RTC_DRV_RX6110 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_MCP795 is not set
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set

#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
# CONFIG_RTC_DRV_ZYNQMP is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_GENERIC is not set
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_SNVS is not set
# CONFIG_RTC_DRV_R7301 is not set

#
# HID Sensor RTC drivers
#
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_OF=y
# CONFIG_ALTERA_MSGDMA is not set
CONFIG_FSL_DMA=y
CONFIG_FSL_EDMA=y
# CONFIG_INTEL_IDMA64 is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
# CONFIG_AUXDISPLAY is not set
CONFIG_UIO=m
# CONFIG_UIO_CIF is not set
CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_UIO_DMEM_GENIRQ=m
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_SERCOS3 is not set
CONFIG_UIO_PCI_GENERIC=m
# CONFIG_UIO_NETX is not set
# CONFIG_UIO_FSL_ELBC_GPCM is not set
# CONFIG_UIO_PRUSS is not set
# CONFIG_UIO_MF624 is not set
CONFIG_IRQ_BYPASS_MANAGER=y
CONFIG_VIRT_DRIVERS=y
CONFIG_FSL_HV_MANAGER=y
CONFIG_VIRTIO=m

#
# Virtio drivers
#
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV_TSCPAGE is not set
# CONFIG_STAGING is not set
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y

#
# Common Clock Framework
#
# CONFIG_CLK_HSDK is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI570 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
CONFIG_CLK_QORIQ=y
# CONFIG_COMMON_CLK_NXP is not set
# CONFIG_COMMON_CLK_PXA is not set
# CONFIG_COMMON_CLK_PIC32 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_HWSPINLOCK is not set

#
# Clock Source drivers
#
# CONFIG_ATMEL_PIT is not set
# CONFIG_SH_TIMER_CMT is not set
# CONFIG_SH_TIMER_MTU2 is not set
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not set
CONFIG_MAILBOX=y
# CONFIG_PLATFORM_MHU is not set
CONFIG_ALTERA_MBOX=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
# CONFIG_FSL_PAMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#

#
# Broadcom SoC drivers
#
CONFIG_FSL_DPAA=y
# CONFIG_FSL_DPAA_CHECKING is not set
# CONFIG_FSL_BMAN_TEST is not set
# CONFIG_FSL_QMAN_TEST is not set
CONFIG_FSL_GUTS=y

#
# i.MX SoC drivers
#

#
# Qualcomm SoC drivers
#
# CONFIG_SUNXI_SRAM is not set
# CONFIG_SOC_TI is not set
CONFIG_PM_DEVFREQ=y

#
# DEVFREQ Governors
#
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
CONFIG_DEVFREQ_GOV_POWERSAVE=y
CONFIG_DEVFREQ_GOV_USERSPACE=y
CONFIG_DEVFREQ_GOV_PASSIVE=y

#
# DEVFREQ Drivers
#
CONFIG_PM_DEVFREQ_EVENT=y
# CONFIG_EXTCON is not set
CONFIG_MEMORY=y
CONFIG_FSL_CORENET_CF=y
CONFIG_FSL_IFC=y
# CONFIG_IIO is not set
# CONFIG_NTB is not set
# CONFIG_VME_BUS is not set
# CONFIG_PWM is not set

#
# IRQ chip support
#
CONFIG_IRQCHIP=y
CONFIG_ARM_GIC_MAX_NR=1
# CONFIG_ARM_GIC_V3_ITS is not set
# CONFIG_IPACK_BUS is not set
CONFIG_RESET_CONTROLLER=y
# CONFIG_RESET_ATH79 is not set
# CONFIG_RESET_AXS10X is not set
# CONFIG_RESET_BERLIN is not set
# CONFIG_RESET_IMX7 is not set
# CONFIG_RESET_LANTIQ is not set
# CONFIG_RESET_LPC18XX is not set
# CONFIG_RESET_MESON is not set
# CONFIG_RESET_PISTACHIO is not set
# CONFIG_RESET_SIMPLE is not set
# CONFIG_RESET_SUNXI is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_ZYNQ is not set
# CONFIG_RESET_TEGRA_BPMP is not set
# CONFIG_FMC is not set

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
# CONFIG_BCM_KONA_USB2_PHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
# CONFIG_PHY_TUSB1210 is not set
CONFIG_POWERCAP=y
# CONFIG_MCB is not set

#
# Performance monitor support
#
CONFIG_RAS=y

#
# Android
#
# CONFIG_ANDROID is not set
# CONFIG_LIBNVDIMM is not set
CONFIG_DAX=y
CONFIG_NVMEM=y
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# CONFIG_FPGA is not set

#
# FSI support
#
# CONFIG_FSI is not set
CONFIG_PM_OPP=y

#
# File systems
#
CONFIG_FS_IOMAP=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_ENCRYPTION=y
CONFIG_EXT4_FS_ENCRYPTION=y
CONFIG_EXT4_DEBUG=y
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
# CONFIG_XFS_ONLINE_SCRUB is not set
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=y
# CONFIG_BTRFS_FS_POSIX_ACL is not set
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
# CONFIG_BTRFS_FS_REF_VERIFY is not set
CONFIG_NILFS2_FS=m
CONFIG_F2FS_FS=m
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
# CONFIG_F2FS_FS_SECURITY is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FS_ENCRYPTION is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
# CONFIG_FS_DAX is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
# CONFIG_EXPORTFS_BLOCK_OPS is not set
CONFIG_FILE_LOCKING=y
CONFIG_MANDATORY_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
# CONFIG_QUOTA is not set
# CONFIG_QUOTA_NETLINK_INTERFACE is not set
CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
# CONFIG_CUSE is not set
CONFIG_OVERLAY_FS=y
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
# CONFIG_OVERLAY_FS_INDEX is not set

#
# Caches
#
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_HISTOGRAM is not set
# CONFIG_FSCACHE_DEBUG is not set
# CONFIG_FSCACHE_OBJECT_LIST is not set
CONFIG_CACHEFILES=y
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
# CONFIG_PROC_CHILDREN is not set
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=y
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
CONFIG_ADFS_FS=m
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=m
CONFIG_ECRYPT_FS=m
# CONFIG_ECRYPT_FS_MESSAGING is not set
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_HFSPLUS_FS_POSIX_ACL=y
CONFIG_BEFS_FS=m
# CONFIG_BEFS_DEBUG is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_UBIFS_FS is not set
CONFIG_CRAMFS=m
CONFIG_CRAMFS_BLOCKDEV=y
# CONFIG_CRAMFS_MTD is not set
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_ZSTD is not set
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
CONFIG_SQUASHFS_EMBEDDED=y
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
CONFIG_QNX4FS_FS=m
# CONFIG_QNX6FS_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_ROMFS_BACKED_BY_BLOCK=y
# CONFIG_ROMFS_BACKED_BY_MTD is not set
# CONFIG_ROMFS_BACKED_BY_BOTH is not set
CONFIG_ROMFS_ON_BLOCK=y
# CONFIG_PSTORE is not set
CONFIG_SYSV_FS=y
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_SWAP is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFS_FSCACHE is not set
# CONFIG_NFSD is not set
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=y
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_WEAK_PW_HASH=y
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
# CONFIG_CIFS_DFS_UPCALL is not set
CONFIG_CIFS_SMB311=y
# CONFIG_CIFS_FSCACHE is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set
# CONFIG_BINARY_PRINTF is not set

#
# Library routines
#
CONFIG_RAID6_PQ=y
CONFIG_BITREVERSE=y
# CONFIG_HAVE_ARCH_BITREVERSE is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC32_SELFTEST=y
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC4 is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=y
CONFIG_CRC8=m
CONFIG_XXHASH=y
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
CONFIG_XZ_DEC_POWERPC=y
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_ARM is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_INTERVAL_TREE=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
# CONFIG_DMA_NOOP_OPS is not set
# CONFIG_DMA_VIRT_OPS is not set
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
CONFIG_CORDIC=m
CONFIG_DDR=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_FONT_SUPPORT=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_6x10 is not set
# CONFIG_FONT_10x18 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_SG_SPLIT is not set
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_SG_CHAIN=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_SBITMAP=y
# CONFIG_STRING_SELFTEST is not set

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_DYNAMIC_DEBUG is not set

#
# Compile-time checks and compiler options
#
# CONFIG_DEBUG_INFO is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_PAGE_OWNER is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_DEBUG_KERNEL=y

#
# Memory Debugging
#
CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_PAGE_POISONING is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_SHIRQ is not set

#
# Debug Lockups and Hangs
#
# CONFIG_SOFTLOCKUP_DETECTOR is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_WQ_WATCHDOG is not set
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
# CONFIG_SCHED_DEBUG is not set
# CONFIG_SCHED_INFO is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_SCHED_STACK_END_CHECK is not set
# CONFIG_DEBUG_TIMEKEEPING is not set

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_STACKTRACE is not set
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set

#
# RCU Debugging
#
# CONFIG_PROVE_RCU is not set
# CONFIG_TORTURE_TEST is not set
# CONFIG_RCU_PERF_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=21
CONFIG_RCU_TRACE=y
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_TRACE_CLOCK=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
# CONFIG_DMA_API_DEBUG is not set

#
# Runtime Testing
#
# CONFIG_LKDTM is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_SORT is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_HASH is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_FIND_BIT is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_MEMTEST is not set
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set
# CONFIG_UBSAN is not set
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_PPC_DISABLE_WERROR is not set
CONFIG_PPC_WERROR=y
CONFIG_PRINT_STACK_DEPTH=64
CONFIG_PPC_EMULATED_STATS=y
# CONFIG_CODE_PATCHING_SELFTEST is not set
# CONFIG_FTR_FIXUP_SELFTEST is not set
# CONFIG_MSI_BITMAP_SELFTEST is not set
# CONFIG_XMON is not set
# CONFIG_PPC_EARLY_DEBUG is not set
# CONFIG_PPC_PTDUMP is not set

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_COMPAT=y
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_BIG_KEYS is not set
# CONFIG_TRUSTED_KEYS is not set
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_KEY_DH_OPERATIONS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
CONFIG_SECURITYFS=y
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
# CONFIG_HARDENED_USERCOPY is not set
# CONFIG_FORTIFY_SOURCE is not set
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_RSA=y
# CONFIG_CRYPTO_DH is not set
CONFIG_CRYPTO_ECDH=m
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
# CONFIG_CRYPTO_PCRYPT is not set
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_MCRYPTD=m
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set

#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y

#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=m
# CONFIG_CRYPTO_PCBC is not set
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_KEYWRAP=m

#
# Hash modes
#
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set

#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_GHASH=y
# CONFIG_CRYPTO_POLY1305 is not set
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MD5_PPC is not set
CONFIG_CRYPTO_MICHAEL_MIC=m
# CONFIG_CRYPTO_RMD128 is not set
CONFIG_CRYPTO_RMD160=m
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1_PPC=m
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=m
# CONFIG_CRYPTO_SHA3 is not set
# CONFIG_CRYPTO_SM3 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_TI is not set
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_ARC4=y
# CONFIG_CRYPTO_BLOWFISH is not set
CONFIG_CRYPTO_CAMELLIA=m
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_CHACHA20 is not set
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_TEA is not set
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
CONFIG_CRYPTO_LZ4=y
# CONFIG_CRYPTO_LZ4HC is not set

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_USER_API_RNG=m
CONFIG_CRYPTO_USER_API_AEAD=m
CONFIG_CRYPTO_HASH_INFO=y
# CONFIG_CRYPTO_HW is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set

#
# Certificates for signature checking
#
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_MMIO=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_KVM_BOOKE_HV=y
# CONFIG_KVM_EXIT_TIMING is not set
CONFIG_KVM_E500MC=y
CONFIG_KVM_MPIC=y
CONFIG_VHOST_NET=m
CONFIG_VHOST=m
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set

[-- Attachment #3: fsl_dmesg_output.txt --]
[-- Type: text/plain, Size: 4761 bytes --]

[    0.000000] OF: reserved mem: initialized node qman-fqd, compatible id fsl,qman-fqd
[    0.000000] OF: reserved mem: initialized node qman-pfdr, compatible id fsl,qman-pfdr
[    0.000000] OF: reserved mem: initialized node bman-fbpr, compatible id fsl,bman-fbpr
[    0.053008] fsl-pci ffe200000.pcie: PCI host bridge to bus 0000:00
[    0.056385] fsl-pci ffe201000.pcie: PCI host bridge to bus 1000:00
[    0.080433] fsl-of-rio ffe0c0000.rapidio: Of-device full name /rapidio@ffe0c0000
[    0.080442] fsl-of-rio ffe0c0000.rapidio: Regs: [mem 0xffe0c0000-0xffe0d0fff]
[    0.080454] fsl-of-rio ffe0c0000.rapidio: No valid fsl,srio-rmu-handle property
[    0.080470] fsl-of-rio: probe of ffe0c0000.rapidio failed with error -2
[    0.230143] fsl-elo-dma ffe100300.dma: #0 (fsl,eloplus-dma-channel), irq 28
[    0.230184] fsl-elo-dma ffe100300.dma: #1 (fsl,eloplus-dma-channel), irq 29
[    0.230222] fsl-elo-dma ffe100300.dma: #2 (fsl,eloplus-dma-channel), irq 30
[    0.230260] fsl-elo-dma ffe100300.dma: #3 (fsl,eloplus-dma-channel), irq 31
[    0.230485] fsl-elo-dma ffe101300.dma: #0 (fsl,eloplus-dma-channel), irq 32
[    0.230523] fsl-elo-dma ffe101300.dma: #1 (fsl,eloplus-dma-channel), irq 33
[    0.230563] fsl-elo-dma ffe101300.dma: #2 (fsl,eloplus-dma-channel), irq 34
[    0.230601] fsl-elo-dma ffe101300.dma: #3 (fsl,eloplus-dma-channel), irq 35
[    4.709339] fsl-sata ffe220000.sata: Sata FSL Platform/CSB Driver init
[    4.709734] scsi host4: sata_fsl
[    4.709989] fsl-sata ffe221000.sata: Sata FSL Platform/CSB Driver init
[    4.710369] scsi host5: sata_fsl
[    4.711608] fsl_espi ffe110000.spi: at 0x        (ptrval) (irq = 53)
[    4.739590] fsl_dpaa_mac ffe4e6000.ethernet: FMan dTSEC version: 0x08240101
[    4.743879] fsl_dpaa_mac ffe4e6000.ethernet: FMan MAC address: 00:80:10:11:11:11
[    4.748136] fsl_dpaa_mac ffe4e8000.ethernet: FMan dTSEC version: 0x08240101
[    4.752461] fsl_dpaa_mac ffe4e8000.ethernet: FMan MAC address: 00:80:10:22:22:22
[    4.756674] fsl_dpaa_mac ffe4e0000.ethernet: of_get_mac_address(/soc@ffe000000/fman@400000/ethernet@e0000) failed
[    4.760954] fsl_dpaa_mac: probe of ffe4e0000.ethernet failed with error -22
[    4.765324] fsl_dpaa_mac ffe4e2000.ethernet: of_get_mac_address(/soc@ffe000000/fman@400000/ethernet@e2000) failed
[    4.769799] fsl_dpaa_mac: probe of ffe4e2000.ethernet failed with error -22
[    4.774277] fsl_dpaa_mac ffe4e4000.ethernet: of_get_mac_address(/soc@ffe000000/fman@400000/ethernet@e4000) failed
[    4.778897] fsl_dpaa_mac: probe of ffe4e4000.ethernet failed with error -22
[    4.783587] fsl_dpaa_mac ffe4f0000.ethernet: of_get_mac_address(/soc@ffe000000/fman@400000/ethernet@f0000) failed
[    4.788414] fsl_dpaa_mac: probe of ffe4f0000.ethernet failed with error -22
[    4.795390] fsl_dpaa_mac ffe4e6000.ethernet eth0: Probed interface eth0
[    4.802355] fsl_dpaa_mac ffe4e8000.ethernet eth1: Probed interface eth1
[    4.870506] ehci-fsl: Freescale EHCI Host controller driver
[    4.896374] fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
[    4.901654] fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
[    4.916527] fsl-ehci fsl-ehci.0: irq 44, io mem 0xffe210000
[    4.927829] fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
[    4.954474] usb usb1: SerialNumber: fsl-ehci.0
[    4.970693] fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
[    4.976117] fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
[    4.991216] fsl-ehci fsl-ehci.1: irq 45, io mem 0xffe211000
[    5.002827] fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
[    5.040763] usb usb2: SerialNumber: fsl-ehci.1
[    5.314826] usb 1-1: new high-speed USB device number 2 using fsl-ehci
[    5.347646] fsl-hv: no hypervisor found
[    5.385831] usb 2-1: new high-speed USB device number 2 using fsl-ehci
[    5.852850] usb 2-1.4: new high-speed USB device number 3 using fsl-ehci
[    5.978071] usb 1-1.1: new low-speed USB device number 3 using fsl-ehci
[    6.109571] input: CHICONY USB Keyboard as /devices/platform/ffe000000.soc/ffe210000.usb/fsl-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/0003:04F2:0116.0001/input/input1
[    6.167144] hid-generic 0003:04F2:0116.0001: input,hidraw0: USB HID v1.10 Keyboard [CHICONY USB Keyboard] on usb-fsl-ehci.0-1.1/input0
[    6.248828] usb 1-1.3: new low-speed USB device number 4 using fsl-ehci
[    6.355611] input: Logitech USB-PS/2 Optical Mouse as /devices/platform/ffe000000.soc/ffe210000.usb/fsl-ehci.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:046D:C050.0002/input/input2
[    6.355781] hid-generic 0003:046D:C050.0002: input,hidraw1: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-fsl-ehci.0-1.3/input0
[   55.555491] [c0000001ffbcfbc0] [c00000000002c8b4] .fsl_error_int_handler+0xac/0xf4

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: DPAA Ethernet problems with mainstream Linux kernels
  2018-01-18  1:59           ` Jamie Krueger
@ 2018-01-18  7:52               ` Christian Zigotzky
  0 siblings, 0 replies; 15+ messages in thread
From: Christian Zigotzky @ 2018-01-18  7:52 UTC (permalink / raw)
  To: Jamie Krueger
  Cc: Madalin-cristian Bucur, Darren Stevens, netdev, linuxppc-dev

Hi Jamie,

Many thanks for your effort. If you need a new kernel for testing please let me know.

Cheers,
Christian

Sent from my iPhone

> On 18. Jan 2018, at 02:59, Jamie Krueger <jamie@bitbybitsoftwaregroup.com> wrote:
> 
> Hi Madalin,
> 
> On 01/16/2018 11:33 AM, Madalin-cristian Bucur wrote:
> 
> Here are some results from testing on the X5000/20 with 4.15.0-rc8
> (w/CONFIG_FSL_PAMU disabled):
> 
> In my tests I can now get the interface to obtain an IP Address via DHCP,
> at least *part* of the time that is.
> 
> Here is a link to a screenshot of a Wireshark capture which shows
> a successful DHCP request/response for the X5000/20, followed by some
> failed ping attempts.
> 
> (This traffic was captured on an external machine on the same subnet, and not from the X5000/20 itself)
> http://bitbybitsoftwaregroup.com/share/X5000-DHCP-Answered-Wireshark.png
> 
> Additionally, here is a link to the export of the packet data shown in the above image:
> http://bitbybitsoftwaregroup.com/share/Wireshark-X5000-DHCP-Success.html
> 
> As you can see by this example, even when the interface does obtain an IP address via
> DHCP (about half the time), subsequent traffic still fails to receive responses.
> 
> In this example, I attempt to ping the gateway (192.168.1.1), and one or two other
> local addresses, and nothing pings back (even when trying Skateman's suggestion
> of expanding the buffers for the interface -
> 
> "A workaround to keep the nic alive a bit longer.... is the following command
> ip link set eth0 qlen 10000"
> 
> For reference:
> 
> I have attached the Kernel config that the version I tested was built with.
> Also, I have attached the dmesg output I am currently seeing.
> 
> -- 
> Best Regards,
> 
> Jamie Krueger
> BITbyBIT Software Group LLC
> 
> <proc_config-4.15.0-rc8-NO_PAMU.txt>
> <fsl_dmesg_output.txt>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: DPAA Ethernet problems with mainstream Linux kernels
@ 2018-01-18  7:52               ` Christian Zigotzky
  0 siblings, 0 replies; 15+ messages in thread
From: Christian Zigotzky @ 2018-01-18  7:52 UTC (permalink / raw)
  To: Jamie Krueger
  Cc: Madalin-cristian Bucur, Darren Stevens, netdev, linuxppc-dev

Hi Jamie,

Many thanks for your effort. If you need a new kernel for testing please let=
 me know.

Cheers,
Christian

Sent from my iPhone

> On 18. Jan 2018, at 02:59, Jamie Krueger <jamie@bitbybitsoftwaregroup.com>=
 wrote:
>=20
> Hi Madalin,
>=20
> On 01/16/2018 11:33 AM, Madalin-cristian Bucur wrote:
>=20
> Here are some results from testing on the X5000/20 with 4.15.0-rc8
> (w/CONFIG_FSL_PAMU disabled):
>=20
> In my tests I can now get the interface to obtain an IP Address via DHCP,
> at least *part* of the time that is.
>=20
> Here is a link to a screenshot of a Wireshark capture which shows
> a successful DHCP request/response for the X5000/20, followed by some
> failed ping attempts.
>=20
> (This traffic was captured on an external machine on the same subnet, and n=
ot from the X5000/20 itself)
> http://bitbybitsoftwaregroup.com/share/X5000-DHCP-Answered-Wireshark.png
>=20
> Additionally, here is a link to the export of the packet data shown in the=
 above image:
> http://bitbybitsoftwaregroup.com/share/Wireshark-X5000-DHCP-Success.html
>=20
> As you can see by this example, even when the interface does obtain an IP a=
ddress via
> DHCP (about half the time), subsequent traffic still fails to receive resp=
onses.
>=20
> In this example, I attempt to ping the gateway (192.168.1.1), and one or t=
wo other
> local addresses, and nothing pings back (even when trying Skateman's sugge=
stion
> of expanding the buffers for the interface -
>=20
> "A workaround to keep the nic alive a bit longer.... is the following comm=
and
> ip link set eth0 qlen 10000"
>=20
> For reference:
>=20
> I have attached the Kernel config that the version I tested was built with=
.
> Also, I have attached the dmesg output I am currently seeing.
>=20
> --=20
> Best Regards,
>=20
> Jamie Krueger
> BITbyBIT Software Group LLC
>=20
> <proc_config-4.15.0-rc8-NO_PAMU.txt>
> <fsl_dmesg_output.txt>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* PASEMI: PCI_SCAN_ALL_PCIE_DEVS
  2018-01-15 10:44       ` Madalin-cristian Bucur
  (?)
  (?)
@ 2018-02-26 23:11       ` Christian Zigotzky
  -1 siblings, 0 replies; 15+ messages in thread
From: Christian Zigotzky @ 2018-02-26 23:11 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Olof Johansson

Hi All,

Could you please add Olof's patch?

---

arch/powerpc/platforms/pasemi/pci.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/platforms/pasemi/pci.c 
b/arch/powerpc/platforms/pasemi/pci.c
index 5ff6108..ea54ed2 100644
--- a/arch/powerpc/platforms/pasemi/pci.c
+++ b/arch/powerpc/platforms/pasemi/pci.c
@@ -224,6 +224,8 @@ void __init pas_pci_init(void)
          return;
      }

+    pci_set_flags(PCI_SCAN_ALL_PCIE_DEVS);
+
      for (np = NULL; (np = of_get_next_child(root, np)) != NULL;)
          if (np->name && !strcmp(np->name, "pxp") && !pas_add_bridge(np))
              of_node_get(np);

---

Thanks,
Christian

^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2018-02-26 23:11 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-10 15:56 DPAA Ethernet problems with mainstream Linux kernels Jamie Krueger
2018-01-12 14:22 ` Madalin-cristian Bucur
2018-01-12 14:22   ` Madalin-cristian Bucur
2018-01-12 16:35   ` Jamie Krueger
2018-01-15 10:44     ` Madalin-cristian Bucur
2018-01-15 10:44       ` Madalin-cristian Bucur
2018-01-15 22:39       ` Darren Stevens
2018-01-15 22:39         ` Darren Stevens
2018-01-16 17:33         ` Madalin-cristian Bucur
2018-01-16 17:33           ` Madalin-cristian Bucur
2018-01-16 20:42           ` Christian Zigotzky
2018-01-18  1:59           ` Jamie Krueger
2018-01-18  7:52             ` Christian Zigotzky
2018-01-18  7:52               ` Christian Zigotzky
2018-02-26 23:11       ` PASEMI: PCI_SCAN_ALL_PCIE_DEVS Christian Zigotzky

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.