aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2013-09-04 13:25:44 -0400
committerAlex Williamson <alex.williamson@redhat.com>2013-09-04 13:25:44 -0400
commit3bc4f3993b93dbf1f6402e2034a2e20eb07db807 (patch)
tree592283e59e121b76355836295d6016fe33cfc5d1 /include/uapi/linux
parent17638db1b88184d8895f3f4551c936d7480a1d3f (diff)
parentcb3e4330e697dffaf3d9cefebc9c7e7d39c89f2e (diff)
Merge remote branch 'origin/master' into next-merge
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/cm4000_cs.h1
-rw-r--r--include/uapi/linux/ip.h34
-rw-r--r--include/uapi/linux/pci_regs.h113
-rw-r--r--include/uapi/linux/perf_event.h123
-rw-r--r--include/uapi/linux/pkt_sched.h10
-rw-r--r--include/uapi/linux/serial_core.h3
-rw-r--r--include/uapi/linux/snmp.h2
7 files changed, 217 insertions, 69 deletions
diff --git a/include/uapi/linux/cm4000_cs.h b/include/uapi/linux/cm4000_cs.h
index bc51f77db918..1217f751a1bc 100644
--- a/include/uapi/linux/cm4000_cs.h
+++ b/include/uapi/linux/cm4000_cs.h
@@ -2,6 +2,7 @@
2#define _UAPI_CM4000_H_ 2#define _UAPI_CM4000_H_
3 3
4#include <linux/types.h> 4#include <linux/types.h>
5#include <linux/ioctl.h>
5 6
6#define MAX_ATR 33 7#define MAX_ATR 33
7 8
diff --git a/include/uapi/linux/ip.h b/include/uapi/linux/ip.h
index 6cf06bfd841b..2fee45bdec0a 100644
--- a/include/uapi/linux/ip.h
+++ b/include/uapi/linux/ip.h
@@ -133,4 +133,38 @@ struct ip_beet_phdr {
133 __u8 reserved; 133 __u8 reserved;
134}; 134};
135 135
136/* index values for the variables in ipv4_devconf */
137enum
138{
139 IPV4_DEVCONF_FORWARDING=1,
140 IPV4_DEVCONF_MC_FORWARDING,
141 IPV4_DEVCONF_PROXY_ARP,
142 IPV4_DEVCONF_ACCEPT_REDIRECTS,
143 IPV4_DEVCONF_SECURE_REDIRECTS,
144 IPV4_DEVCONF_SEND_REDIRECTS,
145 IPV4_DEVCONF_SHARED_MEDIA,
146 IPV4_DEVCONF_RP_FILTER,
147 IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE,
148 IPV4_DEVCONF_BOOTP_RELAY,
149 IPV4_DEVCONF_LOG_MARTIANS,
150 IPV4_DEVCONF_TAG,
151 IPV4_DEVCONF_ARPFILTER,
152 IPV4_DEVCONF_MEDIUM_ID,
153 IPV4_DEVCONF_NOXFRM,
154 IPV4_DEVCONF_NOPOLICY,
155 IPV4_DEVCONF_FORCE_IGMP_VERSION,
156 IPV4_DEVCONF_ARP_ANNOUNCE,
157 IPV4_DEVCONF_ARP_IGNORE,
158 IPV4_DEVCONF_PROMOTE_SECONDARIES,
159 IPV4_DEVCONF_ARP_ACCEPT,
160 IPV4_DEVCONF_ARP_NOTIFY,
161 IPV4_DEVCONF_ACCEPT_LOCAL,
162 IPV4_DEVCONF_SRC_VMARK,
163 IPV4_DEVCONF_PROXY_ARP_PVLAN,
164 IPV4_DEVCONF_ROUTE_LOCALNET,
165 __IPV4_DEVCONF_MAX
166};
167
168#define IPV4_DEVCONF_MAX (__IPV4_DEVCONF_MAX - 1)
169
136#endif /* _UAPI_LINUX_IP_H */ 170#endif /* _UAPI_LINUX_IP_H */
diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h
index c3cc01d474b0..baa7852468ef 100644
--- a/include/uapi/linux/pci_regs.h
+++ b/include/uapi/linux/pci_regs.h
@@ -421,24 +421,24 @@
421#define PCI_EXP_TYPE_ROOT_PORT 0x4 /* Root Port */ 421#define PCI_EXP_TYPE_ROOT_PORT 0x4 /* Root Port */
422#define PCI_EXP_TYPE_UPSTREAM 0x5 /* Upstream Port */ 422#define PCI_EXP_TYPE_UPSTREAM 0x5 /* Upstream Port */
423#define PCI_EXP_TYPE_DOWNSTREAM 0x6 /* Downstream Port */ 423#define PCI_EXP_TYPE_DOWNSTREAM 0x6 /* Downstream Port */
424#define PCI_EXP_TYPE_PCI_BRIDGE 0x7 /* PCI/PCI-X Bridge */ 424#define PCI_EXP_TYPE_PCI_BRIDGE 0x7 /* PCIe to PCI/PCI-X Bridge */
425#define PCI_EXP_TYPE_PCIE_BRIDGE 0x8 /* PCI/PCI-X to PCIE Bridge */ 425#define PCI_EXP_TYPE_PCIE_BRIDGE 0x8 /* PCI/PCI-X to PCIe Bridge */
426#define PCI_EXP_TYPE_RC_END 0x9 /* Root Complex Integrated Endpoint */ 426#define PCI_EXP_TYPE_RC_END 0x9 /* Root Complex Integrated Endpoint */
427#define PCI_EXP_TYPE_RC_EC 0xa /* Root Complex Event Collector */ 427#define PCI_EXP_TYPE_RC_EC 0xa /* Root Complex Event Collector */
428#define PCI_EXP_FLAGS_SLOT 0x0100 /* Slot implemented */ 428#define PCI_EXP_FLAGS_SLOT 0x0100 /* Slot implemented */
429#define PCI_EXP_FLAGS_IRQ 0x3e00 /* Interrupt message number */ 429#define PCI_EXP_FLAGS_IRQ 0x3e00 /* Interrupt message number */
430#define PCI_EXP_DEVCAP 4 /* Device capabilities */ 430#define PCI_EXP_DEVCAP 4 /* Device capabilities */
431#define PCI_EXP_DEVCAP_PAYLOAD 0x07 /* Max_Payload_Size */ 431#define PCI_EXP_DEVCAP_PAYLOAD 0x00000007 /* Max_Payload_Size */
432#define PCI_EXP_DEVCAP_PHANTOM 0x18 /* Phantom functions */ 432#define PCI_EXP_DEVCAP_PHANTOM 0x00000018 /* Phantom functions */
433#define PCI_EXP_DEVCAP_EXT_TAG 0x20 /* Extended tags */ 433#define PCI_EXP_DEVCAP_EXT_TAG 0x00000020 /* Extended tags */
434#define PCI_EXP_DEVCAP_L0S 0x1c0 /* L0s Acceptable Latency */ 434#define PCI_EXP_DEVCAP_L0S 0x000001c0 /* L0s Acceptable Latency */
435#define PCI_EXP_DEVCAP_L1 0xe00 /* L1 Acceptable Latency */ 435#define PCI_EXP_DEVCAP_L1 0x00000e00 /* L1 Acceptable Latency */
436#define PCI_EXP_DEVCAP_ATN_BUT 0x1000 /* Attention Button Present */ 436#define PCI_EXP_DEVCAP_ATN_BUT 0x00001000 /* Attention Button Present */
437#define PCI_EXP_DEVCAP_ATN_IND 0x2000 /* Attention Indicator Present */ 437#define PCI_EXP_DEVCAP_ATN_IND 0x00002000 /* Attention Indicator Present */
438#define PCI_EXP_DEVCAP_PWR_IND 0x4000 /* Power Indicator Present */ 438#define PCI_EXP_DEVCAP_PWR_IND 0x00004000 /* Power Indicator Present */
439#define PCI_EXP_DEVCAP_RBER 0x8000 /* Role-Based Error Reporting */ 439#define PCI_EXP_DEVCAP_RBER 0x00008000 /* Role-Based Error Reporting */
440#define PCI_EXP_DEVCAP_PWR_VAL 0x3fc0000 /* Slot Power Limit Value */ 440#define PCI_EXP_DEVCAP_PWR_VAL 0x03fc0000 /* Slot Power Limit Value */
441#define PCI_EXP_DEVCAP_PWR_SCL 0xc000000 /* Slot Power Limit Scale */ 441#define PCI_EXP_DEVCAP_PWR_SCL 0x0c000000 /* Slot Power Limit Scale */
442#define PCI_EXP_DEVCAP_FLR 0x10000000 /* Function Level Reset */ 442#define PCI_EXP_DEVCAP_FLR 0x10000000 /* Function Level Reset */
443#define PCI_EXP_DEVCTL 8 /* Device Control */ 443#define PCI_EXP_DEVCTL 8 /* Device Control */
444#define PCI_EXP_DEVCTL_CERE 0x0001 /* Correctable Error Reporting En. */ 444#define PCI_EXP_DEVCTL_CERE 0x0001 /* Correctable Error Reporting En. */
@@ -454,16 +454,16 @@
454#define PCI_EXP_DEVCTL_READRQ 0x7000 /* Max_Read_Request_Size */ 454#define PCI_EXP_DEVCTL_READRQ 0x7000 /* Max_Read_Request_Size */
455#define PCI_EXP_DEVCTL_BCR_FLR 0x8000 /* Bridge Configuration Retry / FLR */ 455#define PCI_EXP_DEVCTL_BCR_FLR 0x8000 /* Bridge Configuration Retry / FLR */
456#define PCI_EXP_DEVSTA 10 /* Device Status */ 456#define PCI_EXP_DEVSTA 10 /* Device Status */
457#define PCI_EXP_DEVSTA_CED 0x01 /* Correctable Error Detected */ 457#define PCI_EXP_DEVSTA_CED 0x0001 /* Correctable Error Detected */
458#define PCI_EXP_DEVSTA_NFED 0x02 /* Non-Fatal Error Detected */ 458#define PCI_EXP_DEVSTA_NFED 0x0002 /* Non-Fatal Error Detected */
459#define PCI_EXP_DEVSTA_FED 0x04 /* Fatal Error Detected */ 459#define PCI_EXP_DEVSTA_FED 0x0004 /* Fatal Error Detected */
460#define PCI_EXP_DEVSTA_URD 0x08 /* Unsupported Request Detected */ 460#define PCI_EXP_DEVSTA_URD 0x0008 /* Unsupported Request Detected */
461#define PCI_EXP_DEVSTA_AUXPD 0x10 /* AUX Power Detected */ 461#define PCI_EXP_DEVSTA_AUXPD 0x0010 /* AUX Power Detected */
462#define PCI_EXP_DEVSTA_TRPND 0x20 /* Transactions Pending */ 462#define PCI_EXP_DEVSTA_TRPND 0x0020 /* Transactions Pending */
463#define PCI_EXP_LNKCAP 12 /* Link Capabilities */ 463#define PCI_EXP_LNKCAP 12 /* Link Capabilities */
464#define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */ 464#define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */
465#define PCI_EXP_LNKCAP_SLS_2_5GB 0x1 /* LNKCAP2 SLS Vector bit 0 (2.5GT/s) */ 465#define PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001 /* LNKCAP2 SLS Vector bit 0 */
466#define PCI_EXP_LNKCAP_SLS_5_0GB 0x2 /* LNKCAP2 SLS Vector bit 1 (5.0GT/s) */ 466#define PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002 /* LNKCAP2 SLS Vector bit 1 */
467#define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */ 467#define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
468#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */ 468#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */
469#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */ 469#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */
@@ -475,21 +475,21 @@
475#define PCI_EXP_LNKCAP_PN 0xff000000 /* Port Number */ 475#define PCI_EXP_LNKCAP_PN 0xff000000 /* Port Number */
476#define PCI_EXP_LNKCTL 16 /* Link Control */ 476#define PCI_EXP_LNKCTL 16 /* Link Control */
477#define PCI_EXP_LNKCTL_ASPMC 0x0003 /* ASPM Control */ 477#define PCI_EXP_LNKCTL_ASPMC 0x0003 /* ASPM Control */
478#define PCI_EXP_LNKCTL_ASPM_L0S 0x01 /* L0s Enable */ 478#define PCI_EXP_LNKCTL_ASPM_L0S 0x0001 /* L0s Enable */
479#define PCI_EXP_LNKCTL_ASPM_L1 0x02 /* L1 Enable */ 479#define PCI_EXP_LNKCTL_ASPM_L1 0x0002 /* L1 Enable */
480#define PCI_EXP_LNKCTL_RCB 0x0008 /* Read Completion Boundary */ 480#define PCI_EXP_LNKCTL_RCB 0x0008 /* Read Completion Boundary */
481#define PCI_EXP_LNKCTL_LD 0x0010 /* Link Disable */ 481#define PCI_EXP_LNKCTL_LD 0x0010 /* Link Disable */
482#define PCI_EXP_LNKCTL_RL 0x0020 /* Retrain Link */ 482#define PCI_EXP_LNKCTL_RL 0x0020 /* Retrain Link */
483#define PCI_EXP_LNKCTL_CCC 0x0040 /* Common Clock Configuration */ 483#define PCI_EXP_LNKCTL_CCC 0x0040 /* Common Clock Configuration */
484#define PCI_EXP_LNKCTL_ES 0x0080 /* Extended Synch */ 484#define PCI_EXP_LNKCTL_ES 0x0080 /* Extended Synch */
485#define PCI_EXP_LNKCTL_CLKREQ_EN 0x100 /* Enable clkreq */ 485#define PCI_EXP_LNKCTL_CLKREQ_EN 0x0100 /* Enable clkreq */
486#define PCI_EXP_LNKCTL_HAWD 0x0200 /* Hardware Autonomous Width Disable */ 486#define PCI_EXP_LNKCTL_HAWD 0x0200 /* Hardware Autonomous Width Disable */
487#define PCI_EXP_LNKCTL_LBMIE 0x0400 /* Link Bandwidth Management Interrupt Enable */ 487#define PCI_EXP_LNKCTL_LBMIE 0x0400 /* Link Bandwidth Management Interrupt Enable */
488#define PCI_EXP_LNKCTL_LABIE 0x0800 /* Lnk Autonomous Bandwidth Interrupt Enable */ 488#define PCI_EXP_LNKCTL_LABIE 0x0800 /* Lnk Autonomous Bandwidth Interrupt Enable */
489#define PCI_EXP_LNKSTA 18 /* Link Status */ 489#define PCI_EXP_LNKSTA 18 /* Link Status */
490#define PCI_EXP_LNKSTA_CLS 0x000f /* Current Link Speed */ 490#define PCI_EXP_LNKSTA_CLS 0x000f /* Current Link Speed */
491#define PCI_EXP_LNKSTA_CLS_2_5GB 0x01 /* Current Link Speed 2.5GT/s */ 491#define PCI_EXP_LNKSTA_CLS_2_5GB 0x0001 /* Current Link Speed 2.5GT/s */
492#define PCI_EXP_LNKSTA_CLS_5_0GB 0x02 /* Current Link Speed 5.0GT/s */ 492#define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 /* Current Link Speed 5.0GT/s */
493#define PCI_EXP_LNKSTA_NLW 0x03f0 /* Nogotiated Link Width */ 493#define PCI_EXP_LNKSTA_NLW 0x03f0 /* Nogotiated Link Width */
494#define PCI_EXP_LNKSTA_NLW_SHIFT 4 /* start of NLW mask in link status */ 494#define PCI_EXP_LNKSTA_NLW_SHIFT 4 /* start of NLW mask in link status */
495#define PCI_EXP_LNKSTA_LT 0x0800 /* Link Training */ 495#define PCI_EXP_LNKSTA_LT 0x0800 /* Link Training */
@@ -534,44 +534,49 @@
534#define PCI_EXP_SLTSTA_EIS 0x0080 /* Electromechanical Interlock Status */ 534#define PCI_EXP_SLTSTA_EIS 0x0080 /* Electromechanical Interlock Status */
535#define PCI_EXP_SLTSTA_DLLSC 0x0100 /* Data Link Layer State Changed */ 535#define PCI_EXP_SLTSTA_DLLSC 0x0100 /* Data Link Layer State Changed */
536#define PCI_EXP_RTCTL 28 /* Root Control */ 536#define PCI_EXP_RTCTL 28 /* Root Control */
537#define PCI_EXP_RTCTL_SECEE 0x01 /* System Error on Correctable Error */ 537#define PCI_EXP_RTCTL_SECEE 0x0001 /* System Error on Correctable Error */
538#define PCI_EXP_RTCTL_SENFEE 0x02 /* System Error on Non-Fatal Error */ 538#define PCI_EXP_RTCTL_SENFEE 0x0002 /* System Error on Non-Fatal Error */
539#define PCI_EXP_RTCTL_SEFEE 0x04 /* System Error on Fatal Error */ 539#define PCI_EXP_RTCTL_SEFEE 0x0004 /* System Error on Fatal Error */
540#define PCI_EXP_RTCTL_PMEIE 0x08 /* PME Interrupt Enable */ 540#define PCI_EXP_RTCTL_PMEIE 0x0008 /* PME Interrupt Enable */
541#define PCI_EXP_RTCTL_CRSSVE 0x10 /* CRS Software Visibility Enable */ 541#define PCI_EXP_RTCTL_CRSSVE 0x0010 /* CRS Software Visibility Enable */
542#define PCI_EXP_RTCAP 30 /* Root Capabilities */ 542#define PCI_EXP_RTCAP 30 /* Root Capabilities */
543#define PCI_EXP_RTSTA 32 /* Root Status */ 543#define PCI_EXP_RTSTA 32 /* Root Status */
544#define PCI_EXP_RTSTA_PME 0x10000 /* PME status */ 544#define PCI_EXP_RTSTA_PME 0x00010000 /* PME status */
545#define PCI_EXP_RTSTA_PENDING 0x20000 /* PME pending */ 545#define PCI_EXP_RTSTA_PENDING 0x00020000 /* PME pending */
546/* 546/*
547 * Note that the following PCI Express 'Capability Structure' registers 547 * The Device Capabilities 2, Device Status 2, Device Control 2,
548 * were introduced with 'Capability Version' 0x2 (v2). These registers 548 * Link Capabilities 2, Link Status 2, Link Control 2,
549 * do not exist on devices with Capability Version 1. Use pci_pcie_cap2() 549 * Slot Capabilities 2, Slot Status 2, and Slot Control 2 registers
550 * to use these fields safely. 550 * are only present on devices with PCIe Capability version 2.
551 * Use pcie_capability_read_word() and similar interfaces to use them
552 * safely.
551 */ 553 */
552#define PCI_EXP_DEVCAP2 36 /* Device Capabilities 2 */ 554#define PCI_EXP_DEVCAP2 36 /* Device Capabilities 2 */
553#define PCI_EXP_DEVCAP2_ARI 0x20 /* Alternative Routing-ID */ 555#define PCI_EXP_DEVCAP2_ARI 0x00000020 /* Alternative Routing-ID */
554#define PCI_EXP_DEVCAP2_LTR 0x800 /* Latency tolerance reporting */ 556#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
555#define PCI_EXP_OBFF_MASK 0xc0000 /* OBFF support mechanism */ 557#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
556#define PCI_EXP_OBFF_MSG 0x40000 /* New message signaling */ 558#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
557#define PCI_EXP_OBFF_WAKE 0x80000 /* Re-use WAKE# for OBFF */ 559#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
558#define PCI_EXP_DEVCTL2 40 /* Device Control 2 */ 560#define PCI_EXP_DEVCTL2 40 /* Device Control 2 */
559#define PCI_EXP_DEVCTL2_ARI 0x20 /* Alternative Routing-ID */ 561#define PCI_EXP_DEVCTL2_ARI 0x20 /* Alternative Routing-ID */
560#define PCI_EXP_IDO_REQ_EN 0x100 /* ID-based ordering request enable */ 562#define PCI_EXP_DEVCTL2_IDO_REQ_EN 0x0100 /* Allow IDO for requests */
561#define PCI_EXP_IDO_CMP_EN 0x200 /* ID-based ordering completion enable */ 563#define PCI_EXP_DEVCTL2_IDO_CMP_EN 0x0200 /* Allow IDO for completions */
562#define PCI_EXP_LTR_EN 0x400 /* Latency tolerance reporting */ 564#define PCI_EXP_DEVCTL2_LTR_EN 0x0400 /* Enable LTR mechanism */
563#define PCI_EXP_OBFF_MSGA_EN 0x2000 /* OBFF enable with Message type A */ 565#define PCI_EXP_DEVCTL2_OBFF_MSGA_EN 0x2000 /* Enable OBFF Message type A */
564#define PCI_EXP_OBFF_MSGB_EN 0x4000 /* OBFF enable with Message type B */ 566#define PCI_EXP_DEVCTL2_OBFF_MSGB_EN 0x4000 /* Enable OBFF Message type B */
565#define PCI_EXP_OBFF_WAKE_EN 0x6000 /* OBFF using WAKE# signaling */ 567#define PCI_EXP_DEVCTL2_OBFF_WAKE_EN 0x6000 /* OBFF using WAKE# signaling */
568#define PCI_EXP_DEVSTA2 42 /* Device Status 2 */
566#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 44 /* v2 endpoints end here */ 569#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 44 /* v2 endpoints end here */
567#define PCI_EXP_LNKCAP2 44 /* Link Capability 2 */ 570#define PCI_EXP_LNKCAP2 44 /* Link Capabilities 2 */
568#define PCI_EXP_LNKCAP2_SLS_2_5GB 0x02 /* Supported Link Speed 2.5GT/s */ 571#define PCI_EXP_LNKCAP2_SLS_2_5GB 0x00000002 /* Supported Speed 2.5GT/s */
569#define PCI_EXP_LNKCAP2_SLS_5_0GB 0x04 /* Supported Link Speed 5.0GT/s */ 572#define PCI_EXP_LNKCAP2_SLS_5_0GB 0x00000004 /* Supported Speed 5.0GT/s */
570#define PCI_EXP_LNKCAP2_SLS_8_0GB 0x08 /* Supported Link Speed 8.0GT/s */ 573#define PCI_EXP_LNKCAP2_SLS_8_0GB 0x00000008 /* Supported Speed 8.0GT/s */
571#define PCI_EXP_LNKCAP2_CROSSLINK 0x100 /* Crosslink supported */ 574#define PCI_EXP_LNKCAP2_CROSSLINK 0x00000100 /* Crosslink supported */
572#define PCI_EXP_LNKCTL2 48 /* Link Control 2 */ 575#define PCI_EXP_LNKCTL2 48 /* Link Control 2 */
573#define PCI_EXP_LNKSTA2 50 /* Link Status 2 */ 576#define PCI_EXP_LNKSTA2 50 /* Link Status 2 */
577#define PCI_EXP_SLTCAP2 52 /* Slot Capabilities 2 */
574#define PCI_EXP_SLTCTL2 56 /* Slot Control 2 */ 578#define PCI_EXP_SLTCTL2 56 /* Slot Control 2 */
579#define PCI_EXP_SLTSTA2 58 /* Slot Status 2 */
575 580
576/* Extended Capabilities (PCI-X 2.0 and Express) */ 581/* Extended Capabilities (PCI-X 2.0 and Express) */
577#define PCI_EXT_CAP_ID(header) (header & 0x0000ffff) 582#define PCI_EXT_CAP_ID(header) (header & 0x0000ffff)
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h
index 0b1df41691e8..ca1d90bcb74d 100644
--- a/include/uapi/linux/perf_event.h
+++ b/include/uapi/linux/perf_event.h
@@ -109,6 +109,7 @@ enum perf_sw_ids {
109 PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6, 109 PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6,
110 PERF_COUNT_SW_ALIGNMENT_FAULTS = 7, 110 PERF_COUNT_SW_ALIGNMENT_FAULTS = 7,
111 PERF_COUNT_SW_EMULATION_FAULTS = 8, 111 PERF_COUNT_SW_EMULATION_FAULTS = 8,
112 PERF_COUNT_SW_DUMMY = 9,
112 113
113 PERF_COUNT_SW_MAX, /* non-ABI */ 114 PERF_COUNT_SW_MAX, /* non-ABI */
114}; 115};
@@ -134,8 +135,9 @@ enum perf_event_sample_format {
134 PERF_SAMPLE_STACK_USER = 1U << 13, 135 PERF_SAMPLE_STACK_USER = 1U << 13,
135 PERF_SAMPLE_WEIGHT = 1U << 14, 136 PERF_SAMPLE_WEIGHT = 1U << 14,
136 PERF_SAMPLE_DATA_SRC = 1U << 15, 137 PERF_SAMPLE_DATA_SRC = 1U << 15,
138 PERF_SAMPLE_IDENTIFIER = 1U << 16,
137 139
138 PERF_SAMPLE_MAX = 1U << 16, /* non-ABI */ 140 PERF_SAMPLE_MAX = 1U << 17, /* non-ABI */
139}; 141};
140 142
141/* 143/*
@@ -275,8 +277,9 @@ struct perf_event_attr {
275 277
276 exclude_callchain_kernel : 1, /* exclude kernel callchains */ 278 exclude_callchain_kernel : 1, /* exclude kernel callchains */
277 exclude_callchain_user : 1, /* exclude user callchains */ 279 exclude_callchain_user : 1, /* exclude user callchains */
280 mmap2 : 1, /* include mmap with inode data */
278 281
279 __reserved_1 : 41; 282 __reserved_1 : 40;
280 283
281 union { 284 union {
282 __u32 wakeup_events; /* wakeup every n events */ 285 __u32 wakeup_events; /* wakeup every n events */
@@ -321,6 +324,7 @@ struct perf_event_attr {
321#define PERF_EVENT_IOC_PERIOD _IOW('$', 4, __u64) 324#define PERF_EVENT_IOC_PERIOD _IOW('$', 4, __u64)
322#define PERF_EVENT_IOC_SET_OUTPUT _IO ('$', 5) 325#define PERF_EVENT_IOC_SET_OUTPUT _IO ('$', 5)
323#define PERF_EVENT_IOC_SET_FILTER _IOW('$', 6, char *) 326#define PERF_EVENT_IOC_SET_FILTER _IOW('$', 6, char *)
327#define PERF_EVENT_IOC_ID _IOR('$', 7, u64 *)
324 328
325enum perf_event_ioc_flags { 329enum perf_event_ioc_flags {
326 PERF_IOC_FLAG_GROUP = 1U << 0, 330 PERF_IOC_FLAG_GROUP = 1U << 0,
@@ -375,9 +379,12 @@ struct perf_event_mmap_page {
375 __u64 time_running; /* time event on cpu */ 379 __u64 time_running; /* time event on cpu */
376 union { 380 union {
377 __u64 capabilities; 381 __u64 capabilities;
378 __u64 cap_usr_time : 1, 382 struct {
379 cap_usr_rdpmc : 1, 383 __u64 cap_usr_time : 1,
380 cap_____res : 62; 384 cap_usr_rdpmc : 1,
385 cap_usr_time_zero : 1,
386 cap_____res : 61;
387 };
381 }; 388 };
382 389
383 /* 390 /*
@@ -418,12 +425,29 @@ struct perf_event_mmap_page {
418 __u16 time_shift; 425 __u16 time_shift;
419 __u32 time_mult; 426 __u32 time_mult;
420 __u64 time_offset; 427 __u64 time_offset;
428 /*
429 * If cap_usr_time_zero, the hardware clock (e.g. TSC) can be calculated
430 * from sample timestamps.
431 *
432 * time = timestamp - time_zero;
433 * quot = time / time_mult;
434 * rem = time % time_mult;
435 * cyc = (quot << time_shift) + (rem << time_shift) / time_mult;
436 *
437 * And vice versa:
438 *
439 * quot = cyc >> time_shift;
440 * rem = cyc & ((1 << time_shift) - 1);
441 * timestamp = time_zero + quot * time_mult +
442 * ((rem * time_mult) >> time_shift);
443 */
444 __u64 time_zero;
421 445
422 /* 446 /*
423 * Hole for extension of the self monitor capabilities 447 * Hole for extension of the self monitor capabilities
424 */ 448 */
425 449
426 __u64 __reserved[120]; /* align to 1k */ 450 __u64 __reserved[119]; /* align to 1k */
427 451
428 /* 452 /*
429 * Control data for the mmap() data buffer. 453 * Control data for the mmap() data buffer.
@@ -471,13 +495,28 @@ enum perf_event_type {
471 /* 495 /*
472 * If perf_event_attr.sample_id_all is set then all event types will 496 * If perf_event_attr.sample_id_all is set then all event types will
473 * have the sample_type selected fields related to where/when 497 * have the sample_type selected fields related to where/when
474 * (identity) an event took place (TID, TIME, ID, CPU, STREAM_ID) 498 * (identity) an event took place (TID, TIME, ID, STREAM_ID, CPU,
475 * described in PERF_RECORD_SAMPLE below, it will be stashed just after 499 * IDENTIFIER) described in PERF_RECORD_SAMPLE below, it will be stashed
476 * the perf_event_header and the fields already present for the existing 500 * just after the perf_event_header and the fields already present for
477 * fields, i.e. at the end of the payload. That way a newer perf.data 501 * the existing fields, i.e. at the end of the payload. That way a newer
478 * file will be supported by older perf tools, with these new optional 502 * perf.data file will be supported by older perf tools, with these new
479 * fields being ignored. 503 * optional fields being ignored.
504 *
505 * struct sample_id {
506 * { u32 pid, tid; } && PERF_SAMPLE_TID
507 * { u64 time; } && PERF_SAMPLE_TIME
508 * { u64 id; } && PERF_SAMPLE_ID
509 * { u64 stream_id;} && PERF_SAMPLE_STREAM_ID
510 * { u32 cpu, res; } && PERF_SAMPLE_CPU
511 * { u64 id; } && PERF_SAMPLE_IDENTIFIER
512 * } && perf_event_attr::sample_id_all
480 * 513 *
514 * Note that PERF_SAMPLE_IDENTIFIER duplicates PERF_SAMPLE_ID. The
515 * advantage of PERF_SAMPLE_IDENTIFIER is that its position is fixed
516 * relative to header.size.
517 */
518
519 /*
481 * The MMAP events record the PROT_EXEC mappings so that we can 520 * The MMAP events record the PROT_EXEC mappings so that we can
482 * correlate userspace IPs to code. They have the following structure: 521 * correlate userspace IPs to code. They have the following structure:
483 * 522 *
@@ -498,6 +537,7 @@ enum perf_event_type {
498 * struct perf_event_header header; 537 * struct perf_event_header header;
499 * u64 id; 538 * u64 id;
500 * u64 lost; 539 * u64 lost;
540 * struct sample_id sample_id;
501 * }; 541 * };
502 */ 542 */
503 PERF_RECORD_LOST = 2, 543 PERF_RECORD_LOST = 2,
@@ -508,6 +548,7 @@ enum perf_event_type {
508 * 548 *
509 * u32 pid, tid; 549 * u32 pid, tid;
510 * char comm[]; 550 * char comm[];
551 * struct sample_id sample_id;
511 * }; 552 * };
512 */ 553 */
513 PERF_RECORD_COMM = 3, 554 PERF_RECORD_COMM = 3,
@@ -518,6 +559,7 @@ enum perf_event_type {
518 * u32 pid, ppid; 559 * u32 pid, ppid;
519 * u32 tid, ptid; 560 * u32 tid, ptid;
520 * u64 time; 561 * u64 time;
562 * struct sample_id sample_id;
521 * }; 563 * };
522 */ 564 */
523 PERF_RECORD_EXIT = 4, 565 PERF_RECORD_EXIT = 4,
@@ -528,6 +570,7 @@ enum perf_event_type {
528 * u64 time; 570 * u64 time;
529 * u64 id; 571 * u64 id;
530 * u64 stream_id; 572 * u64 stream_id;
573 * struct sample_id sample_id;
531 * }; 574 * };
532 */ 575 */
533 PERF_RECORD_THROTTLE = 5, 576 PERF_RECORD_THROTTLE = 5,
@@ -539,6 +582,7 @@ enum perf_event_type {
539 * u32 pid, ppid; 582 * u32 pid, ppid;
540 * u32 tid, ptid; 583 * u32 tid, ptid;
541 * u64 time; 584 * u64 time;
585 * struct sample_id sample_id;
542 * }; 586 * };
543 */ 587 */
544 PERF_RECORD_FORK = 7, 588 PERF_RECORD_FORK = 7,
@@ -549,6 +593,7 @@ enum perf_event_type {
549 * u32 pid, tid; 593 * u32 pid, tid;
550 * 594 *
551 * struct read_format values; 595 * struct read_format values;
596 * struct sample_id sample_id;
552 * }; 597 * };
553 */ 598 */
554 PERF_RECORD_READ = 8, 599 PERF_RECORD_READ = 8,
@@ -557,6 +602,13 @@ enum perf_event_type {
557 * struct { 602 * struct {
558 * struct perf_event_header header; 603 * struct perf_event_header header;
559 * 604 *
605 * #
606 * # Note that PERF_SAMPLE_IDENTIFIER duplicates PERF_SAMPLE_ID.
607 * # The advantage of PERF_SAMPLE_IDENTIFIER is that its position
608 * # is fixed relative to header.
609 * #
610 *
611 * { u64 id; } && PERF_SAMPLE_IDENTIFIER
560 * { u64 ip; } && PERF_SAMPLE_IP 612 * { u64 ip; } && PERF_SAMPLE_IP
561 * { u32 pid, tid; } && PERF_SAMPLE_TID 613 * { u32 pid, tid; } && PERF_SAMPLE_TID
562 * { u64 time; } && PERF_SAMPLE_TIME 614 * { u64 time; } && PERF_SAMPLE_TIME
@@ -596,11 +648,32 @@ enum perf_event_type {
596 * u64 dyn_size; } && PERF_SAMPLE_STACK_USER 648 * u64 dyn_size; } && PERF_SAMPLE_STACK_USER
597 * 649 *
598 * { u64 weight; } && PERF_SAMPLE_WEIGHT 650 * { u64 weight; } && PERF_SAMPLE_WEIGHT
599 * { u64 data_src; } && PERF_SAMPLE_DATA_SRC 651 * { u64 data_src; } && PERF_SAMPLE_DATA_SRC
600 * }; 652 * };
601 */ 653 */
602 PERF_RECORD_SAMPLE = 9, 654 PERF_RECORD_SAMPLE = 9,
603 655
656 /*
657 * The MMAP2 records are an augmented version of MMAP, they add
658 * maj, min, ino numbers to be used to uniquely identify each mapping
659 *
660 * struct {
661 * struct perf_event_header header;
662 *
663 * u32 pid, tid;
664 * u64 addr;
665 * u64 len;
666 * u64 pgoff;
667 * u32 maj;
668 * u32 min;
669 * u64 ino;
670 * u64 ino_generation;
671 * char filename[];
672 * struct sample_id sample_id;
673 * };
674 */
675 PERF_RECORD_MMAP2 = 10,
676
604 PERF_RECORD_MAX, /* non-ABI */ 677 PERF_RECORD_MAX, /* non-ABI */
605}; 678};
606 679
@@ -685,4 +758,28 @@ union perf_mem_data_src {
685#define PERF_MEM_S(a, s) \ 758#define PERF_MEM_S(a, s) \
686 (((u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT) 759 (((u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT)
687 760
761/*
762 * single taken branch record layout:
763 *
764 * from: source instruction (may not always be a branch insn)
765 * to: branch target
766 * mispred: branch target was mispredicted
767 * predicted: branch target was predicted
768 *
769 * support for mispred, predicted is optional. In case it
770 * is not supported mispred = predicted = 0.
771 *
772 * in_tx: running in a hardware transaction
773 * abort: aborting a hardware transaction
774 */
775struct perf_branch_entry {
776 __u64 from;
777 __u64 to;
778 __u64 mispred:1, /* target mispredicted */
779 predicted:1,/* target predicted */
780 in_tx:1, /* in transaction */
781 abort:1, /* transaction abort */
782 reserved:60;
783};
784
688#endif /* _UAPI_LINUX_PERF_EVENT_H */ 785#endif /* _UAPI_LINUX_PERF_EVENT_H */
diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h
index dbd71b0c7d8c..09d62b9228ff 100644
--- a/include/uapi/linux/pkt_sched.h
+++ b/include/uapi/linux/pkt_sched.h
@@ -73,9 +73,17 @@ struct tc_estimator {
73#define TC_H_ROOT (0xFFFFFFFFU) 73#define TC_H_ROOT (0xFFFFFFFFU)
74#define TC_H_INGRESS (0xFFFFFFF1U) 74#define TC_H_INGRESS (0xFFFFFFF1U)
75 75
76/* Need to corrospond to iproute2 tc/tc_core.h "enum link_layer" */
77enum tc_link_layer {
78 TC_LINKLAYER_UNAWARE, /* Indicate unaware old iproute2 util */
79 TC_LINKLAYER_ETHERNET,
80 TC_LINKLAYER_ATM,
81};
82#define TC_LINKLAYER_MASK 0x0F /* limit use to lower 4 bits */
83
76struct tc_ratespec { 84struct tc_ratespec {
77 unsigned char cell_log; 85 unsigned char cell_log;
78 unsigned char __reserved; 86 __u8 linklayer; /* lower 4 bits */
79 unsigned short overhead; 87 unsigned short overhead;
80 short cell_align; 88 short cell_align;
81 unsigned short mpu; 89 unsigned short mpu;
diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h
index 9119cc0977bf..e40ebe124ced 100644
--- a/include/uapi/linux/serial_core.h
+++ b/include/uapi/linux/serial_core.h
@@ -232,4 +232,7 @@
232/* SH-SCI */ 232/* SH-SCI */
233#define PORT_HSCIF 104 233#define PORT_HSCIF 104
234 234
235/* ST ASC type numbers */
236#define PORT_ASC 105
237
235#endif /* _UAPILINUX_SERIAL_CORE_H */ 238#endif /* _UAPILINUX_SERIAL_CORE_H */
diff --git a/include/uapi/linux/snmp.h b/include/uapi/linux/snmp.h
index af0a674cc677..a1356d3b54df 100644
--- a/include/uapi/linux/snmp.h
+++ b/include/uapi/linux/snmp.h
@@ -253,7 +253,7 @@ enum
253 LINUX_MIB_TCPFASTOPENLISTENOVERFLOW, /* TCPFastOpenListenOverflow */ 253 LINUX_MIB_TCPFASTOPENLISTENOVERFLOW, /* TCPFastOpenListenOverflow */
254 LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */ 254 LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */
255 LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */ 255 LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */
256 LINUX_MIB_LOWLATENCYRXPACKETS, /* LowLatencyRxPackets */ 256 LINUX_MIB_BUSYPOLLRXPACKETS, /* BusyPollRxPackets */
257 __LINUX_MIB_MAX 257 __LINUX_MIB_MAX
258}; 258};
259 259