summaryrefslogtreecommitdiff
path: root/usr/src/uts/sun4u/sys/pci/pci_space.h
blob: 004e38c555519c7c5e874c3c42216030feb47fec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */
/*
 * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */

#ifndef	_SYS_PCI_SPACE_H
#define	_SYS_PCI_SPACE_H

#pragma ident	"%Z%%M%	%I%	%E% SMI"

#ifdef	__cplusplus
extern "C" {
#endif

#define	PCI_SPURINTR_MSG_DEFAULT -1ull

extern uint_t tomatillo_disallow_bypass;

extern uint_t pci_interrupt_priorities_property;
extern uint_t pci_config_space_size_zero;
extern int pci_pbm_dma_sync_wait;
extern int pci_dvma_sync_before_unmap;
extern int pci_sync_lock;
extern int tomatillo_store_store_wrka;
extern uint_t tm_mtlb_maxpgs;
extern uint_t tm_mtlb_gc;
extern uint_t tm_mtlb_gc_manual;
extern uint32_t pci_spurintr_duration;
extern uint64_t pci_spurintr_msgs;


extern ushort_t pci_command_default;
extern uint_t pci_set_latency_timer_register;
extern uint_t pci_set_cache_line_size_register;

#ifdef DEBUG
extern uint64_t pci_debug_flags;
extern uint_t pci_warn_pp0;
#endif
extern uint_t pci_disable_pass1_workarounds;
extern uint_t pci_disable_pass2_workarounds;
extern uint_t pci_disable_pass3_workarounds;
extern uint_t pci_disable_plus_workarounds;
extern uint_t pci_disable_default_workarounds;
extern uint_t ecc_error_intr_enable;
extern uint_t pci_sbh_error_intr_enable;
extern uint_t pci_mmu_error_intr_enable;
extern uint_t pci_stream_buf_enable;
extern uint_t pci_stream_buf_exists;
extern uint_t pci_rerun_disable;
extern uint_t pci_enable_periodic_loopback_dma;
extern uint_t pci_enable_retry_arb;

extern uint_t pci_bus_parking_enable;
extern uint_t pci_error_intr_enable;
extern uint_t pci_retry_disable;
extern uint_t pci_retry_enable;
extern uint_t pci_dwsync_disable;
extern uint_t pci_intsync_disable;
extern uint_t pci_b_arb_enable;
extern uint_t pci_a_arb_enable;
extern uint_t pci_ecc_afsr_retries;

extern uint_t pci_intr_retry_intv;
extern uint8_t pci_latency_timer;
extern uint_t pci_panic_on_sbh_errors;
extern uint_t pci_panic_on_fatal_errors;
extern uint_t pci_thermal_intr_fatal;
extern uint_t pci_buserr_interrupt;
extern uint_t pci_set_dto_value;
extern uint_t pci_dto_value;
extern uint_t pci_lock_sbuf;
extern uint_t pci_use_contexts;
extern uint_t pci_sc_use_contexts;
extern uint_t pci_context_minpages;
extern uint_t pci_ctx_flush_warn;
extern uint_t pci_ctx_unsuccess_count;
extern uint_t pci_ctx_no_active_flush;
extern uint_t pci_ctx_no_compat;

extern uint_t pci_check_all_handlers;
extern uint_t pci_unclaimed_intr_max;
extern ulong_t pci_iommu_dvma_end;
extern uint_t pci_lock_tlb;

extern uint64_t pci_dvma_debug_on;
extern uint64_t pci_dvma_debug_off;
extern uint32_t pci_dvma_debug_rec;
extern uint_t pci_dvma_page_cache_entries;
extern uint_t pci_dvma_page_cache_clustsz;
#ifdef PCI_DMA_PROF
extern uint_t pci_dvmaft_npages;
extern uint_t pci_dvmaft_limit;
extern uint_t pci_dvmaft_free;
extern uint_t pci_dvmaft_success;
extern uint_t pci_dvmaft_exhaust;
extern uint_t pci_dvma_vmem_alloc;
extern uint_t pci_dvma_vmem_xalloc;
extern uint_t pci_dvma_vmem_free;
extern uint_t pci_dvma_vmem_xfree;
#endif
extern uint_t pci_disable_fdvma;

extern uint_t pci_iommu_ctx_lock_failure;
extern uint_t pci_preserve_iommu_tsb;

extern uint64_t pci_perr_enable;
extern uint64_t pci_serr_enable;
extern uint64_t pci_perr_fatal;
extern uint64_t pci_serr_fatal;
extern hrtime_t pci_intrpend_timeout;
extern hrtime_t pci_sync_buf_timeout;
extern hrtime_t pci_cdma_intr_timeout;
extern uint32_t pci_cdma_intr_count;

extern uint32_t pci_dto_fault_warn;
extern uint64_t pci_dto_intr_enable;
extern uint64_t pci_dto_count;
extern uint64_t pci_errtrig_pa;

extern uintptr_t pci_kmem_clid;
extern uint_t pci_intr_dma_sync;
extern uint_t pci_xmits_sc_max_prf;
extern uint64_t xmits_error_intr_enable;
extern uint_t xmits_perr_recov_int_enable;
extern uint_t xmits_max_transactions;
extern uint_t xmits_max_read_bytes;
extern uint_t xmits_upper_retry_counter;
extern uint_t xmits_pcix_diag_bugcntl_pcix;
extern uint_t xmits_pcix_diag_bugcntl_pci;

extern int pci_dvma_remap_enabled;
extern kthread_t *pci_reloc_thread;
extern kmutex_t pci_reloc_mutex;
extern kcondvar_t pci_reloc_cv;
extern int pci_reloc_presuspend;
extern int pci_reloc_suspend;
extern id_t pci_dvma_cbid;
extern id_t pci_fast_dvma_cbid;
extern int pci_dma_panic_on_leak;

#ifdef	__cplusplus
}
#endif

#endif	/* _SYS_PCI_SPACE_H */